- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 4 章 总体设计
4.1 总体设计的目标和任务
4.2 软件设计的概念和原理
4.3 设计准则
4.4 总体设计的常用方法及工具;第 4 章 总体设计
软件设计的总体目标是将需求分析阶段得到的目标系统的逻辑模型, 变换为目标系统的物理模型。简单地说, 是根据需求分析的做什么(What to do?),来确定系统应该怎么做(How to do ?)。
软件设计是一个把软件需求变换成软件表示的过程。它包括确定能实现软件功能、性能要求集合的最合理的软件系统结构,设计实现的算法和数据结构。软件设计的结果是软件设计规格说明书。
软件设计通常划分为两个阶段,即概要(总体)设计阶段和详细设计阶段。
;4.1 总体设计的目标和任务
4.1.1 总体设计的任务
在总体设计过程中,系统分析员要先复审软件计划、软件需求分析提供的文档,审定后进入设计。总体设计的具体任务如下:
4.1.1.1 制定规范
(1)阅读和理解需求说明,确认用户要求,确定设计目标,安排优先顺序。
(2)根据目标确定最合适的设计方法。
(3)规定设计文档的编制标准。
(4)规定编码的信息形式、与硬件/操作系统的接口规约等。
(5)制定编程规范,如命名规则、程序的结构等。;4.1.1.2 软件系统结构设计。
(1)选定设计方法,按功能划分模块。
(2)确定每个模块的功能
(3)确定模块间的调用关系
(4)确定模块之间的接口,即模块之间传递的信息。
(5)评价模块结构的质量
4.1.1.3 数据结构及数据库设计
1.数据结构设计
将数据词典中描述的详细数据内容加以细化,转化为数据结构的定义。
2.数据库设计
(1)概念结构设计
设计概念模型(E-R图)。; (2)逻辑结构设计
将概念模型(E-R)转换成DBMS支持的数据模型。
(3)物理结构设计
设计数据模型的一些物理细节,为数据模型在设备上选定合适的存储结构和存取方式.
4.1.1.4 可靠性设计
考虑相应措施,确保软件质量。
4.1.1.5 编写概要设计文档
(1)概要设计说明书
(2)数据库设计说明书
(3)用户手册
(4)测试计划;4.1.1.6 设计审查和复审
及早发现软件缺陷,使各种缺陷在编码、测试和
交付使用前加以改正,这样可明显地减少开发阶段后
期和维护阶段的费用。
4.1.2 总体设计的目标
软件设计的最终目标是要取得最佳方案。一般来
讲,好的软件表现三个特点:其一是能够按照指定的
要求进行工作,功能、性能都符合指定的要求;其二
是软件的可维护的,可方便地进行修改;三是软件不
只是代码,还有一套齐备的文档。所谓“最佳”是指
在所有侯选方案中,节省开发费用、降低资源消耗、
缩短开发时间、能够赢得较高的生产率、较高的可靠
性和可维护性。; 总体设计阶段的任务是采用合适的设计方法进行数据、系统结构、接口的设计。
软件设计是后续开发步骤及软件维护工作的基础。在设计阶段所做的种种决策直接影响软件的质量,如果没有好的软件设计,就没有稳定的系统,也难以维护。; 将分析模型转换为设计; ; 4.2 软件设计的概念和原理;4.2.1.1 结构 软件结构是软件要求的各个元素及相互关系的描述。一般软件元素就是功能模块。通过调用关系,将软件元素组合在一起,即得到软件结构。 由功能模块连接而得到的软件结构最普通的形式就是树型结构和网状结构。; 1. 结构的层次规则
(1)顶层只有一个模块。
(2)底层有若干个模块。
(3)中间层(除顶层以外)有多个模块。任一模块都会有它的邻层(上、下)模块与之有关。
(4)在同层模块之间不发生联系。; 扇入:一个给定模块的直接上属
模块数。
扇出:一个给定模块的直接下属
模块数。
深度:结构图中模块的层次数。
宽度:结构图中同一层模块的最
大模块数。
;深度
(=4); 扇入数越高,则表明共享这一模块的上级模块数就越多,这是我们所追求的目标。扇出数过高,则表明它所调用的下一级模块数过多,过高的扇出会使控制变得复杂化。造成扇出数过高的原因是分解速度过快。当然,扇出数太低也并不可取。
可见,一个好的软件结构的形态准则是:
软件结构应具有瓮形结构,即顶部宽度最小,中部宽度最大,底部宽度次之。在结构顶部有较高的扇出数,在底部有较高的扇入数。;4.2
原创力文档


文档评论(0)