文章目录
12.1 系统实施阶段的任务
主要包括以下几个方面的任务:
1. 硬件准备
2. 软件准备
-程序开发及测试
-软件产品安装部署
-软件的客户定制
-租用服务
3. 人员培训
4. 数据准备
12.2 制定软件实现策略
结构化方法:通常主张自顶向下实现,尽量先实现上层模块,逐步向下,最后实现下层最基本的模块(也可以自底向上)
面向对象方法:主张基于构件的实现方法,划分构件后,尽量先完成构件接口,然后可实现各构件的并行开发(构件之间存在依赖关系,根据依赖也可以选择自顶向下或自底向上)
面向服务方法:同样是基于构件的实现方法,所有服务及其接口定义好后,具体实现和组装可以并行开展
自顶向下的实现
能有效地解决接口问题。接口解决不好,往往不得不对调试过的程序反复修改,甚至推倒重来,造成重大的返工。
整体性好,结构风险较小。
及早提交菜单、窗口等高层模块/类,鼓舞士气。
自底向上的实现
必须完成全部设计之后进行
具体细节问题能够及早解决
在最后实现高层模块/类并集成时,可能会发现结构的重大问题,低层已实现的模块或构件面临返工
12.3 编程方法(Coding)
做一名好的程序员,应了解以下几个方面:
(1) 了解好程序的判断标准;
(2) 掌握常用的程序设计技术;
(3) 行业认同的编程规范;
程序结构
简单、直接地反映意图
表达式的书写应一气呵成
算法复杂性尽量小
判断、循环嵌套不宜过深
避免使用GOTO语句
避免使用全局变量(部分属于设计问题)
软件质量控制
静态检查:指人工评审软件文档或程序,发现其中的错误(代码审查Inspection 、代码走查Walkthrough、同行评审Peer Review等手段)
动态检查:就是测试。测试是为了发现错误而执行程序的过程。
12.4 系统测试(Testing)
(1) 测试是指“用意在发现错误而执行一个程序的过程”;
(2) 一个好的测试用例是指这个测试用例有很高的概率可以发现一个尚未发现的错误;
(3) 一个成功的测试是指它成功地发现了一个尚未发现的错误。
测试的关键问题:设计有限的测试用例,在有限的研制时间、研制经费的约束下,尽可能多地发现程序中的错误。
测试类型
1 模块测试
也称单元测试。
2 联合测试
也称集成测试,检验模块及系统结构。
3 确认测试
测试对需求的满足,也可称验收测试。
4 系统测试
是对整个信息系统的测试,将硬件、软件、操作人员看作一个整体,来分析系统的功能与执行性能
黑盒测试
这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序模块的详细说明,检查程序的功能是否符合它的功能说明。
黑盒测试又叫做功能测试或数据驱动测试。
白盒测试
此方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有内部逻辑结构进行测试。
通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。
12.5 系统排错(Debuging)
区分调试(Debug)和测试(Test):
-测试是发现缺陷
-调试是定位并排除缺陷
-Bug是通过测试发现的缺陷
-Debug就是要排除它
测试工作主要由测试人员完成,程序员一般仅负责单元测试任务
而调试则通常是程序员的工作
调试方法:
试探法
跟踪法/回溯法
对分查找法
归纳法
演绎法
调试技术:
单步跟踪
设置断点
实时监视和编辑变量
改变执行语句……
12.6 系统交付(Transition)
系统的交付(Transition)即系统的转换或切换
直接切换
直接转换指在某一时刻,老系统停止运行,新系统立即开始运行。
特点:这种切换方式简单,用户没有重复劳动,最省费用,但风险高,结果无比较性。
适用范围:对一些小系统,或者新系统已进行过多次真实测试,或者老系统已完全不能使用。
并行切换
并行切换是新老系统并行工作一段时间,经过这段时间考验,以后新系统代替旧系统。
特点:风险小,有安全感,可以将结果进行对照;重复劳动,费用高。
并行时间一般为3-6个月。
分段切换
该切换方式是前两种切换方式的结合。在新系统正式全部运行前,一部分一部分代替老系统。
特点:低风险,比并行节省费用,可以积累经验,能循序渐进。但新旧系统的子系统间、功能间接口多,实施复杂,技术成本高。
一般较大系统皆采用之。