要完成过程设计,是通过对结构表示进行细化,得到软件详细的数据结构和算法)。从技术的角度,采用的方法不同会有所不同:传统的结构化方法将软件设计划分为体系结构设计、数据设计、接口设计及过程设计四部分;面向对象方法则将软件设计划分为体系结构设计、类设计数据设计、接口设计、构件级设计四部分。
创建良好设计的原则:1分而治之:将大型复杂的问题分解为许多容易解决的小问题。(例:软件的体系结构设计和模块化设计)2模块化:将程序划分成独立命名且可独立访问的模块,不同的模块通常具有不同的功能或职责(面向对象中,对象是模块;结构化方法中,模块是过程、函数和子程序)3模块独立性(好的话是高内聚低耦合):概念:模块化,抽象,逐步求精和信息隐藏等概念的直接结果,也是完成有效模块设计得基本标准。软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他模块的接口是简单的。31一般用两个准则独立模块独立性,模块之间的耦合(模块之间相互连接的紧密程度的度量,之间的连接越紧密,联系越多,耦合性就越高,模块独立性就越弱)和模块的内聚(模块内部各个元素彼此结合的紧密程度的度量,模块内部各个元素之间的联系越紧密,则它的内聚性越高,相对地,他与其他模块间的耦合性就会降低,模块独立性就越强)
模块类型与模块独立性间关系(耦合性紧密到松散):内容耦合,公共耦合,控制耦合,标记耦合,数据耦合,例程调用耦合,类型使用耦合,包含引入耦合,外部耦合
内聚类型与模块独立性间关系(内聚性高到低):功能内聚,层内聚,通信内聚,顺序内聚,过程内聚,时间内聚,实用程序内聚。
接口设计:系统的接口设计包括用户界面设计及系统的接口设计,是由穿越边界的数据流定义的,包括三方面内容:模块或软件构件之间的接口设计;软件与其他软硬件系统之间的接口设计;软件与人之间的交互设计。
处理过程设计:要决定各个模块的功能及模型的实现算法,并精确地表达这些算法。PAD图:用结构化程序设计思想表现程序逻辑结构的图形工具,由程序流程图演化而来。优点:1PAD所表达的程序,结构清晰且结构化程度高;2PAD的执行顺序从最左主干线的上端的节点开始,自上而下依次执行;3由于PAD的树形特点,使他比流程图更容易在计算机上处理。HIPO图:由可视目录表(给出系统的功能分层关系)和IPO图组成(为系统的各部分提供具体地工作细节)数据字典:关于数据的信息的集合,也就是对数据流图中r