程序开发与实践 (31).

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第5章软件概要设计•5.1概要设计综述•5.1.1概要设计的任务•在需求分析阶段,系统要解决的问题是:系统“做什么”。•在概要设计阶段,系统要解决的问题是:系统“怎么做”。•即将软件“做什么”的逻辑模型变换为“怎么做”的物理模型,其任务是根据需求分析阶段得到的逻辑模型来设计系统的物理模型。结构化概要设计的过程:•(1)确定体系结构;•(2)进行模块划分;•(3)确定系统接口;•(4)制定设计规范;•(5)确定用户主界面;•(6)确定主要的算法;•(7)异常处理设计;•(8)书写概要设计说明书•(1).模块化。•(2)自顶向下逐步求精•(3)模块的独立性•(4)信息隐蔽5.1.3概要设计原则•5.2.1IPO图5.2概要设计工具输入数据处理过程输出结果输入处理输出•一个IPO图仅能够描述单个处理功能的输入数据、数据处理和输出数据之间的关系,对于整个软件系统的总体结构不能进行清晰的描述。因此在软件设计中,我们通常将HIPO图和IPO图相结合,利用这两个工具同共来表达系统的总体结构和模块的处理功能。•HIPO图称为层次结构图,即分层的IPO图,是系统设计的描述工具,是IBM公司于70年代中期在层次结构图的基础上推出的一种描述系统结构和模块内部处理功能的工具。HIPO图由以下两部分组成:•(1)层次结构图:描述整个系统的设计结以及各类模块之间的关系。•(2)IPO图:描述某个特定模块内部的处理过程和输入/输出关系。检索2题名检索1ISBN号检索3作者检索图5-5HIPO图图5-6IPO图5.2.2模块结构图模块名模块:用矩形框表示,并用模块的名字标记。调用关系:箭头从调用模块指被调用模块。被调用模块执行完成后,控制又返回到调用模块。模块间的数据传递:用尾端带有空心圆的短箭头表示数据信息。模块间的控制信息传递:用尾端带有实心圆短箭头表示控制信息。循环调用下层模块:选择调用下层模块:数据存储:模块结构图的三种基本结构•模块之间的调用关系主要有三种:直接调用、选择调用和循环调用。模块结构图中的模块类型•(1)传入模块•传入模块从下属模块取得数据,经过某些处理,再将其传送给上级模块。见图6-14(a)。变换型数据流程图的输入模块以及事务型数据流图中的接受事务模块均属于此类模块。•(2)传出模块•传出模块从上级模块中获取数据,进行某些处理,再将其传送给下属模块。见图6-14(b)。如变换型数据流图及事务型数据流图中的输出模块均属于此类模块。•(3)变换模块•也叫加工模块,它从上级模块取得数据,进行特定的处理,转换成其他形式,再传送回上级模块。见图6.14(c)。如事务型数据流图中的调度模块就属于此类模块。•(4)协调模块•对所有的下属模块进行协调和管理的模块,在一个较好的模块结构图中,该模块应在较高层出现。见图6-14(d)。如变换型数据流图的总控模块以及事务型数据流图中的事务中心块均属于此类模块。模块间调用的规则•(1)每个模块有自身的任务,只有接收到上级模块的调用命令时才能执行。•(2)模块之间的通信只限于其直接上、下级模块,任何模块不能直接与其他上下级模块或同级模块发生通信联系。•(3)若有某模块要与非直接上、下级的其他模块发生通信联系,必须通过其上下级模块进行传递。•(4)模块调用顺序为自上而下。模块结构图的示例模块结构图的改进•(1)完善模块的功能•(2)提高模块独立性•(3)合理确定模块结构的规模,尽可能减少高扇出的结构,随深度增加而增大扇入。•模块的规模包括两个方面:模块结构的深度和模块结构的宽度。•深度表示模块结构中的层数,它往往能粗略地标志一个系统的大小和复杂程度。模块结构图一般不要超过7层。•宽度是模块结构图内同一个层次上的模块总数的最大值。一般来说,宽度越大系统越复杂。•一个模块的扇入指直接调用该模块的上级模块的数目。扇入越大则共享该模块的上级模块数目越多。如果一个模块的扇入数过大,例如超过8,而这个模块又不是公用模块,说明该模块包含多个功能,这时应对它进行功能分解。AEHIDFGBCMJPLKXY扇出扇入深度•(4)模块的作用范围应该在控制范围之内•(5)模块大小应该适中•(6)设计单入口单出口的模块•单入口单出口的模块可以降低模块接口的复杂程度,设计的软件也是易理解、易维护的,因此不要使模块间出现内容藕合。•(7)模块功能应该能够预测,同时要防止模块功能过于受局限。5.3结构化设计方法•5.3.1事务设计•1.事务流•2.将具有事物流的数据流程图转换成模块结构的步骤•(1)在数据流程图中识别事务源,判断数据流程图是否具有事务型特征。•(2)对每一事务建立一个事务处理模块,得出程序结构图。•(3)对每一种类型的事务,分别建立专门的事务模块,对它进行独立的处理。确定出每一种事务以及它所需要的处理动作。•(4)合并具有相同处理功能的模块。•(5)必要时对动作模块进一步分解。•例如,图5-12(a)为某账务处理系统的一级数据流程图,可以看出账务处理包含3类事务,即凭证管理、账务管理和报表管理,我们按事务设计的方法可将其转换为如图5-12(b)所示的模块结构图。账务处理系统报表管理账务管理凭证管理5.3.2变换设计•1.变换流•2.将具有变换流的数据流程图转换成模块结构的步骤•(1)仔细分析数据流程图,识别出系统的输入数据、变换中心和输出数据。•(2)设计模块结构图的顶层和第一层•(3)设计中、下层模块•例:图5-15(a)为某账务处理系统中的二级细化的数据流程图,是系统中“凭证管理模块”的细化。由图可见“凭证管理模块”有4个基本处理功能,即输入、汇总、审核、打印。其中输入功能分属第一类输入功能;汇总、审核功能分属第二类执行功能;打印功能分属第三类输出功能。据此可以画出“凭证管理”的模块结构图,见图5-15(b)。图5-24(a)凭证管理打印凭证汇总凭证审核凭证输入凭证图5-24(b)5.4概要设计说明书格式•1引言•2编写目的•3项目背景•4任务概述•5定义•6运行环境•7需求概述•8条件与限制;•9总体设计•10接口设计•11数据结构设计•12运行设计•13出错处理设计•14安全保密设计•15参考资料再见!!!

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功