打字猴:1.700417599e+09
1700417599
1700417600 编码实现        模块设计文档、测试计划文档
1700417601
1700417602 测试            测试报告
1700417603
1700417604 部署维护        部署手册、维护手册
1700417605
1700417606 在“需求分析”阶段,SE倾听将要使用计算机系统的客户的需求,调查、分析目前靠手工作业完成的业务内容。作为本阶段的成果,SE要书写“系统策划文档”或“系统功能需求规格文档”
1700417607
1700417608 第二步是设计计算机系统,该过程可分为3个阶段。虽然看起来有些啰嗦。第一个阶段是“外部设计”,进行与外部观察计算机系统相关的设计。设计内容包括系统处理的数据、显示在屏幕上的用户界面以及打印机打印的样式等。第二阶段是“内部设计”,进行与从内部观察计算机系统相关的设计,内部设计的目的是将外部设计的内容具体化,在计算机行业中常会提及“外部”和“内部”,一般情况下,把从用户的角度看到的东西称为“外部”,把从开发者的角度看到的东西称为“内部”。也许这样说会更容易理解,外部设计的是用户看得到的部分,而内部设计的是开发者看得到(用户看不到)的部分。第三个阶段是“程序设计”,为了用程序将内部设计的内容实现出来而做出的更加详细的设计。作为以上3个设计阶段的结果,SE要书写“外部设计文档”、“内部设计文档”和“程序设计文档”
1700417609
1700417610 第三步进入“编程实现”阶段,要进行的工作是编写代码,由程序员根据程序设计文档的内容,把程序输入到计算机。只要经过充分的程序设计,编程就变成一项十分简单的工作了。因为所做的只是把程序设计书上的内容翻译成程序代码,作为本阶段的文档,SE要书写用于说明唾弃构造的“模块设计文档”和用于下一阶段的“测试计划文档”。这里所说的模块,就是拆解出来的构成程序的要素
1700417611
1700417612 到了“测试”阶段,测试人员要根据测试计划文档的内容确认程序的功能。在最后编写的“测试报告”中,还必须定量地(用数字)标示出测试结果。如果只记录了一些含糊的测试结果,比如“已测试”或“没问题”那么就难以判断系统是否合格
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
[ 上一页 ]  [ :1.700417599e+09 ]  [ 下一页 ]