软件工程 5. 总体设计

软件工程 5. 总体设计

ID:43233678

大小:462.50 KB

页数:31页

时间:2019-10-05

软件工程 5. 总体设计_第1页
软件工程 5. 总体设计_第2页
软件工程 5. 总体设计_第3页
软件工程 5. 总体设计_第4页
软件工程 5. 总体设计_第5页
资源描述:

《软件工程 5. 总体设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第五章总体设计设计过程设计原理启发规则描绘软件结构的图形工具面向数据流的设计方法15.1设计过程系统设计阶段:确定系统的具体实现方案结构设计阶段:确定软件结构2典型的总体设计过程(一)1.设想供选择的方案综合考虑各种可能的实现方案,并且力求从中选出最佳方案。需求分析阶段得到的数据流图是极好的出发点。2.选取合理的方案参考需求分析阶段确定的工程规模和目标,从可选方案中选择若干个合理的方案,通常至少选择低成本、中等成本、高成本三种方案。对于每种方案应准备:系统流程图、组成系统的物理元素清单、成本/效益分析、实现系统的进度计划。3.

2、推荐最佳方案综合分析、对比各种合理方案的利弊,推荐一个最佳的方案,并为推荐的最佳方案制定一个详细的实现计划。用户和有关人员评审所推荐的最佳方案。3典型的总体设计过程(二)4.功能分解确定系统有哪些模块构成,以及这些模块之间的关系。对于复杂的功能或模块,结合数据流图,进一步分解。5.设计软件结构系统软件是由实现各个子功能的模块构成,软件结构是指模块组成的层次关系。软件结构用层次图或结构图表示。数据流图细化到适当的层次,可以映射出软件结构。6.设计数据库结合需求分析阶段所确定的系统数据需求,进一步设计数据库。4典型的总体设计过程(

3、三)7.制定测试计划开发早期考虑并制定测试计划,有助于在设计时注意提高软件的可测试性。8.书写文档系统说明:主要包括用系统流程图描绘的系统构成方案,组成系统的物理元素清单,成本/效益分析;对最佳方案的概括描述,精化的数据流图,用层次图或结构图描绘的软件结构,用IPO图或其他工具简要描述的各个模块的算法,模块间的接口关系,以及需求、功能和模块三者之间的交叉参照关系等。用户手册:根据总体设计阶段的结果,更正在需求分析阶段产生的用户手册。测试计划:包括测试策略,测试方案,预期的测试结果,测试进度计划等。详细的实现计划数据库设计结构9

4、.审查和复审技术审查--系统开发方管理复审--系统使用者55.2设计原理模块化抽象逐步求精信息隐藏和局部化模块独立6模块化(一)定义:是指能够相对独立的实现一定功能的程序代码。简单的讲,模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。“复杂的问题分解成许多容易解决的小问题”。表现形式:过程、函数、子程序、宏;面向对象方法学中的对象、对象内的方法。优点:软件结构清晰,便于设计、交流容易测试、调试,有助于提高软件的可靠性提高软件的可修改性有

5、助于软件开发项目的组织与管理7模块化(二)缺点:当模块数目增加时每个模块的规模将减小,开发单个模块需要的成本(工作量)减少了;但是,随着模块数目增加,设计模块间接口所需要的工作量将增加,并且在模块交互时易发生错误。图5.1模块化和软件成本8抽象定义:是指抽出事物的本质特性并加以描述,但是不考虑它们的细节。应用:一个复杂系统可以用一些高级的抽象概念构造和理解,这些高级概念又可以用一些较低级的概念构造和理解,如此进行下去,直至最低层次的具体元素。软件工程过程的每一步都是对软件解法的抽象层次的一次精化。在可行性研究阶段,软件作为系统

6、的一个完整部件;在需求分析期间,软件解法是使用在问题环境内熟悉的方式描述;当由总体设计向详细设计过渡时,抽象的程度随之减少;最后,当源程序实现,即达到抽象的最低层。抽象与模块化的关系:软件结构顶层的模块,控制系统的主要功能并且影响全局;在软件结构底层的模块,完成对数据的一个具体处理,用自顶向下由抽象到具体的方式分配控制,简化软件的设计和实现,提高软件的可理解性和可测试性,并且使软件更容易维护。9逐步求精定义:是一种自顶向下的设计策略:通过逐步分解对功能的宏观陈述而开发出层次结构,直至最终得出用程序设计语言表达的程序。实质:求精

7、就是细化的过程。求精与抽象的关系:互补性:抽象使设计者说明过程和数据,但却忽略低层的细节;逐步求精则帮助设计者在设计过程中逐步揭示出低层的细节。10信息隐藏与局部化定义:划分模块时,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。即隐藏每个模块所包含的私有信息。所谓局部化是指把一些关系密切的软件元素物理地放得彼此靠近。局部化有助于实现信息隐藏。应用:在模块中,隐藏的是模块的实现细节;模块之间的交互是为了完成系统功能而必须交换的信息。优点:易修改。11模块独立(一)定义:是指每个模块完成一个相对

8、独立的特定子功能,并且和其他模块之间的关系很简单。优点:容易设计和开发。功能分割相对独立,可以简化接口,并且便于分工合作开发。独立的模块比较容易测试和维护。度量标准:耦合:衡量不同模块彼此间互相依赖(连接)的紧密程度。内聚:衡量一个模块内部各个元素彼此结合的紧密程度。12模块

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。