1、第1页,共93页。可行性分析可行性分析 需求分析需求分析 总体设计总体设计 详细设计详细设计 编码编码 测试测试 运行维护运行维护 软件软件定义定义软件软件开发开发运行运行维护维护What?How?问题定义问题定义 第2页,共93页。第3页,共93页。第4页,共93页。第5页,共93页。概述Information/DatamodelFunctional modelBehavioral modelOther requirementsDesignCodeTestData designArchitectural designProcedural designProgrammodulesIntegra
2、ted&validatedsoftwareInterface design第6页,共93页。分析模型到软件设计的映射第7页,共93页。第8页,共93页。软件设计是后续开发步骤及软件维护工作的根基。软件设计是后续开发步骤及软件维护工作的根基。如果失去设计,所有后续工作就如同一只摇摇欲坠的陀螺如果失去设计,所有后续工作就如同一只摇摇欲坠的陀螺第9页,共93页。一一 设想供选择的方案设想供选择的方案:设想数据流图中的处理分组的各种可:设想数据流图中的处理分组的各种可能的方法,抛弃在技术上行不通的分组方法,余下的分组能的方法,抛弃在技术上行不通的分组方法,余下的分组方法代表可能的实现策略,并且可以启示
3、供选择的物理系方法代表可能的实现策略,并且可以启示供选择的物理系统统二二 选取合理方案选取合理方案:从问题定义和可行性分析阶段确定的工程规模:从问题定义和可行性分析阶段确定的工程规模和目标出发,选取低、中、高成本三种方案,每个方案准备如和目标出发,选取低、中、高成本三种方案,每个方案准备如下资料:下资料:系统流程图系统流程图组成系统的物理元素清单组成系统的物理元素清单成本成本/效益分析效益分析实现进度计划实现进度计划第10页,共93页。第11页,共93页。第12页,共93页。第13页,共93页。第14页,共93页。总体设计阶段更关注的是模块的外部属性总体设计阶段更关注的是模块的外部属性第15页
4、,共93页。第16页,共93页。模块化模块化就是把就是把程序程序划分成独划分成独立命名且可独立访问的模立命名且可独立访问的模块,每个模块完成一个子块,每个模块完成一个子功能,把这些模块集成起功能,把这些模块集成起来构成一个整体,可以完来构成一个整体,可以完成指定的功能满足用户的成指定的功能满足用户的需求。需求。第17页,共93页。第18页,共93页。模块化和软件成本第19页,共93页。第20页,共93页。第21页,共93页。第22页,共93页。第23页,共93页。第24页,共93页。第25页,共93页。第26页,共93页。第27页,共93页。第28页,共93页。第29页,共93页。第30页,共
5、93页。第31页,共93页。第32页,共93页。本月用水量本月用水量本月用电量本月用电量第33页,共93页。第34页,共93页。第35页,共93页。第36页,共93页。接接口口复复杂杂性性接口方式接口方式接口数据接口数据的复杂性的复杂性无接口关系无接口关系直接引用直接引用过程调用语句过程调用语句数据项作参数数据项作参数数据结构,变数据结构,变量名作参数量名作参数内容耦合内容耦合其它耦合其它耦合开关量,起开关量,起控制变量作用控制变量作用公用数据区公用数据区全程变量,全程变量,数据耦合数据耦合标记耦合标记耦合控制耦合控制耦合公共耦合公共耦合非直接耦合非直接耦合第37页,共93页。第38页,共93
6、页。第39页,共93页。第40页,共93页。第41页,共93页。第42页,共93页。第43页,共93页。ABC功能1功能2获得配件单价和库存量配件编号库存量单价通信内聚顺序内聚第44页,共93页。该模块只能执行一个功能吗?功能内聚模块内各组成部分的关系如何?是否次序重要吗?次序重要吗?逻辑相似吗?数据流控制流两者都不是是是是否否否顺序内聚通信内聚过程内聚时间内聚逻辑内聚偶然内聚第45页,共93页。第46页,共93页。第47页,共93页。功能内聚偶然内聚 偶然内聚第48页,共93页。Heuristics:Rules and lessons learnt by system architects
7、after long experiences which result in sound,stable,practical systems第49页,共93页。第50页,共93页。第51页,共93页。第52页,共93页。第53页,共93页。第54页,共93页。第55页,共93页。第56页,共93页。第57页,共93页。图5.3 正文加工系统的层次图5.4.1 层次图和HIPO图第58页,共93页。5.4.1 层次图和HIPO图第59页,共93页。图5.4 带编号的层次图(H图)5.4.1 层次图和HIPO图第60页,共93页。5.4.2 结构图第61页,共93页。第62页,共93页。第63页,共
8、93页。第64页,共93页。5.4.2 结构图第65页,共93页。第66页,共93页。第67页,共93页。输入输入信息信息物理物理输入输入格格式式检检查查处理处理显示显示正确正确信息信息结果结果物理物理输出输出数据数据变换中心变换中心输出输出逻辑逻辑输入输入逻辑逻辑输出输出输入输入第68页,共93页。第69页,共93页。第70页,共93页。图图5.10 5.10 面向数据流方法的设计过程面向数据流方法的设计过程第71页,共93页。第72页,共93页。第73页,共93页。第74页,共93页。图图5.11 5.11 数字仪表板系统的数据流图数字仪表板系统的数据流图第75页,共93页。图图5.12
9、5.12 具有边界的数据流图具有边界的数据流图输入流变换中心输出流第76页,共93页。图5.13 第一级分解的方法第77页,共93页。图5.14 数字仪表板系统的第一级分解第78页,共93页。图5.15 第二级分解的方法第79页,共93页。第80页,共93页。图图5.19 5.19 精化后的数字仪表板系统的软件结构精化后的数字仪表板系统的软件结构第81页,共93页。第82页,共93页。第83页,共93页。图图5.20 5.20 事务分析的映射方法事务分析的映射方法第84页,共93页。第85页,共93页。第86页,共93页。第87页,共93页。第88页,共93页。第89页,共93页。第90页,共93页。第91页,共93页。第92页,共93页。第93页,共93页。