欢迎来到天天文库
浏览记录
ID:13447395
大小:156.50 KB
页数:7页
时间:2018-07-22
《软件工程--概要设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、概要设计4.1概要设计的基本概念把一个产品分成几部分进行设计:软件模块的划分,数据结构和数据库的设计4.1.1概要设计的任务分解系统、细化系统:把产品分解成零件1模块划分2决定每个模块的功能3决定模块之间的调用关系4决定要传递的参数5设计主要的数据结构,包括数据库设计6设计每个模块的测试计划4.1.2应该提交的文档1概要设计说明书2数据库、数据结构设计说明书3模块测试计划4.1.3结构化(SD)设计方法与结构化的分析相对应自顶向下的设计过程逐层分解的方法:采用结构图的方法进行描述4.1.4描述方法表示反复调用模块A1、A2、A3a31a11AA1A2A3a12a22a21a32
2、表示有条件地调用模块A2结构图:描述模块之间的关系结构表:用表描述各模块之间的调用关系、输入、输出数据流模块名输入输出A1a11a12A2a21a22A3a31a324.1.5模块划分标准没有绝对的标准,但是有划分原则:每个模块相对独立。即:具有自己独特的功能,与上下模块有联系、但与同层的模块之间应该极少联系。模块之间的联系通过调用参数和返回值进行,各模块可以独立调试,全局变量尽量不用。数据文件、数据库文件要职责分明。例如,有的模块只能读文件,有的模块只能修改某些数据等。模块内的联系尽可能:块内联系较大、块外联系较少信息隐蔽信息隐蔽是开发整体程序结构时使用的法则,即将每个程序的
3、成分隐蔽或封装在一个单一的设计模块中,定义每一个模块时尽可能少地显露其内部的处理。信息隐蔽原则对提高软件的可修改性、可测试性和可移植性都有重要的作用。模块独立模块独立是指每个模块完成一个相对独立的子功能,并且与其他模块之间的联系简单。衡量模块独立程度的度量标准有两个:耦合和内聚。耦合是指模块之间联系的紧密程度。耦合度越高则模块的独立性越差。按耦合度从低到高依次有7种耦合方式。非直接耦合(独立运行)数据耦合(用参数表传递简单数据)标记耦合(传递数据结构或者一部分)控制耦合(传递的信息包括控制模块的信息)外部耦合(模块与软件之外的环境有关)公共耦合(多个模块引用同一全局的数据区)内
4、容耦合(访问内部数据,代码重叠或者多个入口)内聚是指模块内部各元素之间联系的紧密程度内聚度越低模块的独立性越差。按内聚度从低到高依次有7种内聚种类。偶然内聚(模块完成的多个任务,任务之间的关系松散)逻辑内聚(模块完成逻辑相关的一组任务)瞬时内聚(模块的所有任务必须在同一时间间隔内执行)过程内聚(模块的处理元素相关而且按照特定的次序执行)通信内聚(模块的所有元素集中在一个数据结构区域上)顺序内聚(模块的处理元素相关,必须顺序执行)功能内聚(模块完成单一的功能,各个部分协调工作,而且不可缺少)4.2结构化设计的过程4.2.1结构化程序设计的原则 结构化程序设计方法的主要原则可
5、以概括为自顶向下,逐步求精,模块化,限制使用goto语句。 1.自顶向下:程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。 2.逐步求精:对复杂问题,应设计一些子目标作为过渡,逐步细化。 3.模块化:一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模块。 4.限制使用goto语句 结构化程序设计方法的起源来自对GOTO语句的认识和争论。肯定的结论是,在块和进程的
6、非正常出口处往往需要用GOTO语句,使用GOTO语句会使程序执行效率较高;在合成程序目标时,GOTO语句往往是有用的,如返回语句用GOTO。否定的结论是,GOTO语句是有害的,是造成程序混乱的祸根,程序的质量与GOTO语句的数量呈反比,应该在所有高级程序设计语言中取消GOTO语句。取消GOTO语句后,程序易于理解、易于排错、容易维护,容易进行正确性证明。作为争论的结论,1974年Knuth发表了令人信服的总结,并证实了: (1)GOTO语句确实有害,应当尽量避免; (2)完全避免使用GOTO语句也并非是个明智的方法,有些地方使用GOTO语句,会使程序流程更清楚、效率
7、更高。 (3)争论的焦点不应该放在是否取消GOTO语句上,而应该放在用什么样的程序结构上。其中最关键的是,应在以提高程序清晰性为目标的结构化方法中限制使用GOTO语句。与结构化的分层数据流图一一对应4.2.2从数据流图导出初始结构图变换结构和事务结构变换型结构:可以从逻辑上划分成3个部分:输入部分―――把输入A变换成所需要的B加工部分―――把B加工成C输出部分―――输出D输入加工输出ABCD具有3部分的数据流图称为变换型结构A3A2A1A事务分类事务型结构:具有事务加工的并行模块事务进
此文档下载收益归作者所有