打字猴:1.700417613e+09
1700417613
1700417614 在定量地标示测试结果的方法中,有“涂色检查”和“覆盖测试”等方法。“涂色检查”的做法是一个个地确认“系统功能需求规格文档”中的功能,如果该功能实现了,就用红笔把它涂红。“覆盖测试”则是一种表示有多少代码的行为已经经过确认的方法。“通过涂色检查,已确认了系统95%的功能,剩下的5%虽然有问题,但已经查明了原因,可以在1周内修正”、“已完成了99%的覆盖测试,由于剩余的1%是不可达代码(Dead Code,绝不会被执行的代码),所以可以删除。”如果能像这样给出定量的测试结果,就很容易判定系统是否合格了
1700417615
1700417616 如果测试合格,就会进入“部署、维护”阶段。“部署”指的是将计算机系统引进(安装)到客户的环境中,让客户使用。“维护”指的是定期检查计算机系统是否能正常工作,根据需要进行文件备份或根据应用场景的变化对系统进行部分改造。只要客户还在使用该计算机系统,这这个阶段就会一直持续下去。在这一阶段要书写的文档是“部署手册”和“维护手册”
1700417617
1700417618
1700417619
1700417620
1700417621 计算机是怎样跑起来的 [:1700412751]
1700417622 计算机是怎样跑起来的 12.5 所谓设计就是拆解
1700417623
1700417624 下面先回到图12.1所示的瀑布模型,从上游到下游再回顾一遍该模型中的各个开发阶段。从需求分析到程序设计,所进行的工作都是拆解业务,把将要为计算机系统所替代的手工业务拆解为细小的要素。从编码实现到部署、维护阶段,所进行的工作则是集成,把拆解后的细小要素转换成程序的模块,再把这些模块拼装在一起构成计算机系统。
1700417625
1700417626 庞大复杂的事物往往无法直接做出来。这个道理不仅适用于计算机系统,也同样适用于建筑物、飞机……人们往往要把庞大复杂的事物先分解成细小简单的要素来进行设计。有了各个要素的设计图,整体的设计图也就出来了。先根据每个要素的设计图制成小零件(程序中的模块),待每个小零件的测试(单元测试)都通过了,剩下的就只是一边看着整体的设计图,一边把这些零件组装起来了。然后再来一轮测试(集成测试),测试组装起来的零件是否能正确地协作运转。大型的计算机系统就是这样构建出来的(如图12.3所示)
1700417627
1700417628 图12.3 把小的模块组装起来,构成大的计算机系统
1700417629
1700417630
1700417631
1700417632
1700417633 可以说,所谓计算机系统的设计,就是拆解。老一辈工程师们已经发明出了可作为规范的各种各样的设计方法,这些方法之间的差异只是拆解时的关注点不同,这里先把几个具有代表性的程序设计方法列在表12.3中
1700417634
1700417635 表12.3 具有代表性的程序设计方法
1700417636
1700417637 设计方法            拆解时所关注的事物
1700417638
1700417639 通用功能分割法        在整个计算机系统中通用的功能
1700417640
1700417641 STS法                数据流(输入、变换、输出)
1700417642
1700417643 TR法                 事务(数据的处理单位)
1700417644
1700417645 Jackson法            输入数据和输出数据
1700417646
1700417647 Warnier法            输入数据
1700417648
1700417649 面向对象法            构成计算机系统的事物(对象)
1700417650
1700417651 STS:Source, Transofrm, Sink
1700417652
1700417653 TR:Transaction
1700417654
1700417655 下面回忆一下第1章中的“计算机三大原则”
1700417656
1700417657 原则1:计算机只能够做输入、运算、输出三种操作
1700417658
1700417659 原则2:程序是指令和数据的集合
1700417660
1700417661 原则3:计算机有自己的处理方法
1700417662
[ 上一页 ]  [ :1.700417613e+09 ]  [ 下一页 ]