as title.
准备用面向对象的技术重新构建一下这个程序
现在看来,我写的这个程序基本上是按结构化的方法来分析的,没有用面向对象的分析方法,为了学习面向对象的技术,我应该重新构建一下这个程序。按可研->需求分析建模->设计->实现的标准过程来进行,并用UML语言作为开发方法。
第七章 软件测试
第七章 软件测试
7、1 软件测试的目的及原则
1、目的:为了发现错误,好的测试能发现至今尚未被发现的错误,成功的测试发现了至今尚未发现的错误
2、原则:由输入和输出组成,还要选择不合理的输入,还要检查程序是否做了它不该做的事,严格执行测试计划,长期保存测试用例,错误多的程序段深入测试,程序员避免测试自己的程序
********
7、2 测试方法
1、表态测试与动态测试
1)、表态测试:人工检测,计算机辅助静态分析
2)、动态测试:黑盒和白盒
2、黑盒测试法和白盒测试法
1)黑盒法:发现:不正确或漏了的功能,接口上能否正确地接受输入数据和产生正确的输出信息,访问外部信息是否有错,性能是否满足要求
2)白盒法:对程序中尽可能多的逻辑路径进行测试
7、3 测试用例的设计(简单应用)
第六章 软件编码
第六章 软件编码
6、1 程序设计语言的特性及选择
1、程序设计语言特性
1)、心理特性:歧义性,简洁性,局部性和顺序性,传统性
2)、工程特性:可移植性,开发工具的可利用性,软件的可重用性,可维护性
3)、技术特性:
2、程序设计语言的选择
1)、项目的应用领域:科学工程计算,数据处理与数据库应用,实时处理,系统软件,人工智能
2)、软件的开发方法
3)、软件执行的环境
4)、算法和数据结构的复杂性
5)、软件开发人员的知识
**********
6、2 程序设计风格
1、源程序文档化:标识符应按意取名,程序应加注释(含序言性注释和功能性注释)
2、数据说明:说明顺序应规范化,变量名按字典顺序,复杂数据结构应加注释
3、语句构造:简单直接
4、输入和输出:格式尽量简单,输入数据合法性,用数据或文件结束标志来控制输入数据,交互式输入时提供可用的选择和边界值,输入格式的一致性,输出数据表格化和图形化
5、效率:是一个性能要求,首先保证程序正确和清晰,提高程序效率的根本途径在于选择良好的设计方法和良好的数据数据结构与算法而不是靠编程时对程序语句做调整(这句话要牢记!)
14天!好快啊
昨天感冒了,整个晚上都在发烧,影响了复习进度。再加上最近有好多科目要考试,真是焦头烂额啊。
明天把上午题复习完,转入下午题。
昨天的汇编试验报告简直不是不堪入目,我都不好意思写名字了。
下午完善一个小程序,其中使用到了mysql数据库。我保证程序是对的,但是从SQLException中getMessage()得到的信息是: null, message from server: "#HY000Host 'localhost.localdomain' is not allowed to connect to this MySQL server",为什么会拒绝呢?想不通。
前天和昨天都不能登陆,不知道什么原因。所以直到现在才来更新。
CONCAT,LENGTH函数
CONCAT(str1,str2)--连接str1和str2;
LENGTH(str)--str的长度(一个汉字的长度是2,一个字符的长度是1)
update article set articlename=CONCAT('cs:',articlename) where LENGTH(articleName)<5 AND userName='xxxxx';
automobile读音
automobile:汽车auto,mo,bile三个音节都可读成重音。
问题:jsp中文显示,的值可否是对象?me
(注:这个问题已解决:见:http://www.learndiary.com/disDiaryContentAction.do?goalID=292)
1、直接写在jsp页面的中文显示不正常,用“native2ascii -encoding gb2312 old.jsp new.jsp"也不行,gb2312换成utf-8也不行,
但是,在<% out.println(用“native2ascii -encoding gb2312 old.jsp new.jsp”) %>却正常,在javascript里显示的此类处理过的中文也正常,
我是按照网上别人的方法试的,但是就是不行,明天再试试。
2、jstl中的<c:set>标签的值是否可为自定义的对象还不清楚?
见下:
来自:jbas, 时间:2004-10-19 13:42:00, ID:2854482 [显示:小字体 | 大字体]
这是我程序的一部分:
<jsp:useBean id="idCommunity" class="com.beltino.communitymedical.community.Community" scope="page" />
<c:set var="id" value="${param.id}"/>
<c:set var="action" value="${param.action}"/>
<c:set var="retList"/>
<c:if test="${empty id}">
<c:set var="action" value="new"/>
</c:if>
<c:if test="${!empty id}">
<c:set var="action" value="edit"/>
/*用inCommunity中含有“return this;”的方法getCommunityInformation(id)返回类Community的一个
*对象,这个对象的唯一标识ID是"id".
*/
<c:set var="idCommunity" value="${idCommunity.getCommunityInformation(id)}"/> //有问题
/*返回这个对象的子对象的一个列表retList*/
<c:set var="retList" value="${idCommunity.getCommunityChildByPId(id)}"/>
</c:if>
........
现在 <c:set var="idCommunity" value="${idCommunity.getCommunityInformation(id)}"/>这样写有问题,页面提示出错:
org.apache.jasper.JasperException: /webapp/community/editCommunity.jsp(24,3) The function getCommunityInformation must be used with a prefix when a default namespace is not specified
可是如果我在resin下可以的。如果我调用不带参数的也是可以的
3、在jsp+struts页面中怎么样加meta标记呢?如果转换成了utf-8, 这个meta还起作用吗?我不知道。
第五章 软件详细设计(疑问:jsp方法?)
5、1详细设计的任务:详细算法设计,模块内数据结构设计,数据库的物理设计,其他设计(代码设计,I/0设计,人机对话设计,详细设计说明书,评审
**********
5、2结构化程序设计方法(SP)
要点:自顶向下、逐步求精,三种基本结构,主程序员制
***********
5、3 详细设计描述法(简单应用)
1、程序流程图:缺点是:流程随意,不易反映逐步求精的过程,不易表示数据结构
2、PAD图:优点是:层次清晰,逐步求精,方便,结构化,自动生成程序
3、过程设计语言(Process Design Language:PDL), 也称程序描述语言,也称伪码
特点:关键字固定语法,处理过程无严格的语法,数据说明机制,模块定义和调用机制
结构:顺序,选择,重复,出口,模块定义与调用,数据定义,I/0
优点:机制比图形更全面,可作为注释嵌入在源码中作为文档,可自动生成代码
**********
5。4 Jackson方法(简单应用)
1、概述:面向数据结构:JSP(Jackson Structured Programming),JSD(Jackson System Development)
2、Jackson结构图
3种基本结构:顺序,选择,重复
特点:可表层次结构,形象,可表数据结构和程序结构
3、JSP设计步骤:输入和输出数据的逻辑结构,输入和输出数据结构有无对应关系,导出程序结构,列出基本操作和条件,伪码写出程序
举例:(不懂??P68)
4、Jackson方法小结:结构冲突,主要体现在程序结构的设计并不明确地划分概要设计和详细设计,用于规模不大的数据处理系统
第四章 软件概要设计(疑问:DFD转化为软件结
4、1 软件概要设计的基本任务
1、基本任务
1)设计软件系统结构:分模块,定模块功能,模块关系,模块接口,模块结构的质量
2)数据结构及数据库设计:数据结构的设计,数据库的设计(含:概念设计,逻辑设计,物理设计)
3)编写概要设计文档:概要设计说明书,数据库设计说明书,用户手册,修定测试计划
4)评审
2、软件概要设计说明书的主要内容。
*********
4、2 软件设计的基本原理
1、模块化
1)模块基本属性:接口,功能,逻辑,状态
2、抽象:
3、信息隐蔽
4、模块独立性
1)耦合性:No Direct Coupling,Data Coupling,Stamp Coupling,Control Coupling,Common Coupling,Content Coupling
降低耦合的措施:在方式上降低模块间接口的复杂性,传递信息类型上尽量用数据耦合,避免控制耦合,有控制的使用公共耦合
2)内聚性:Coincidental Cohesion,Logical Cohesion,Temporal Cohesion,Communicational Cohesion,Sequential Cohesion,Functional Cohesion
******************
4、3 软件结构优化准则
1、软件结构图(Structure Chart,SC):模块用方框,模块的控制关系用单向箭头,信息传递用短箭头,两个附加符号,结构图的形态特征(深度,宽度,扇出,扇入),注意事项
2、优化准则:模块高内聚和低耦合,模块的作用范围在控制范围之内和判定所在的模块应与受其影响的模块在层次上尽量靠近,形态特征适当,模块大小适中,模块接口简单、清晰、含义明确。。
***********
4、4 面向数据流的设计方法
1、类型:变换型数据流图,事务型数据流图
2、设计过程:精化DFD,确定DFD类型,分解上层模块和设计中下层模块,对软件结构求精,描述模块,复查
3、变换分析设计:确定DFD的变换中心等,顶层和第一层变换结构,中、下层模块,设计优化
4、事务分析设计:DFD事务中心,顶层和第一层即事务结构,中、下层设计和优化
5、1)综合DFD的映射:整体类型,局部DFD范围,软件结构
2)分层DFD的映射:主图是变换型而子图是事务型,主图是事务型而子图是变换型
6、实例(不懂??)
7、设计后处理:模块处理说明,接口说明,数据结构说明,设计约束或限制,概要设计评审,优化
**************
4、5基于IDEF0图的设计方法
转换成结构图:父图,单层结构图,模块接口,系统初始结构图,精化
4、6 HIPO图
1、H图:表模块关系
2、IPO图