- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程导论(第五版)课件-第56章.
第五章 总体设计 第六章 详细设计
一、复习要求
1. 了解软件概要设计(总体设计)和详细设计的内容。
2、了解软件设计的基本原理
2. 掌握软件结构的设计工具(HIPO)。
3. 掌握结构化设计工具。(SC、流程图、盒图、PAD图 PDL)
4. 了解Jackson系统开发方法
二、内容提要
1. 软件设计的过程
1 软件设计在开发阶段中的重要性
在软件需求分析阶段已经完全弄清楚了软件的各种需求,较好地解决了要让所开发的软 件“做什么”的问题,并已在软件需求规格说明和数据要求规格说明中详尽和充分地阐 明了这些需求。下一步就要着手实现软件的需求,即要着手解决“怎么做”的问题。
分析模型中的每一个成份都提供了建立设计模型所需的信息。软件设计的信息流如图所 示。根据用数据、功能和行为模型表示的软件需求,采用某种设计方法进行数据设计、 体系结构设计、接口设计和过程设计。
图 将分析模型转换为软件设计
数据设计将实体―关系图中描述的对象和关系,以及数据词典中描述的详细数据内容转 化为数据结构的定义。
体系结构设计定义软件系统各主要成份之间的关系。
接口设计根据数据流图定义软件内部各成份之间、软件与其它协同系统之间及软件与用 户之间的交互机制。
过程设计则是把结构成份转换成软件的过程性描述。在编码步骤,根据这种过程性描述, 生成源程序代码,然后通过测试最终得到完整有效的软件。
软件设计是开发阶段中最重要的步骤,它是软件开发过程中质量得以保证的关键步骤。
2 软件设计的过程
从工程管理的角度来看,软件设计分两步完成。首先做概要设计,将软件需求转化为数 据结构和软件的系统结构,并建立接口。然后是详细设计,即过程设计。通过对结构表 示进行细化,得到软件的详细的数据结构和算法。
McGlanghlin给出在将需求转换为设计时判断设计好坏的三条特征:
? 设计必须实现分析模型中描述的所有显式需求,必须满足用户希望的所有隐式需求。
? 设计必须是可读、可理解的,使得将来易于编程、易于测试、易于维护。
? 设计应从实现角度出发,给出与数据、功能、行为相关的软件全貌。
以上三点就是软件设计过程的目标。为达到这些目标,必须建立衡量设计的技术标准。
① 设计出来的结构应是分层结构,从而建立软件成份之间的控制。
② 设计应当模块化,从逻辑上将软件划分为完成特定功能或子功能的构件。
③ 设计应当既包含数据抽象,也包含过程抽象。
④ 设计应当建立具有具有独立功能特征的模块。
⑤ 设计应当建立能够降低模块与外部环境之间复杂连接的接口。
⑥ 设计应能根据软件需求分析获取的信息,建立可驱动可重复的方法。
软件设计过程根据基本的设计原则,使用系统化的方法和完全的的设计评审来建立良好 的设计。
三、例题分析
一、 选择题. SD方法的设计总则是 CD 。 A 程序简洁、操作方便B 模块调用少 C 模块内聚性强D 模块之间耦合度低. 软件设计的主要任务是 AB、D 。 A 将分析阶段获得的需求说明转换为计算机中可实现的系统B 完成系统的数据结构和程序结构设计C 完成模块的编码和测试D 对模块内部的过程进行设计. 从工程管理的角度来看,软件设计分两步完成 D 。A ①系统分析模块设计B ①详细设计设计C ①模块设计详细设计D ①总体设计详细设计. 模块独立性准则由以下定性指标来衡量 BD 。A 分解度B 耦合度C 屏蔽性D 内聚性A DFD B PAD C SC D E-R
6. PDL 是下列的什么语言( C )。
A 高级程序设计语言
B 中级程序设计语言
C 伪码
D 低级程序设计语言
7. 结构化程序设计的一种基本方法是( D )。
筛选法
B 递归法
C 迭代法
D 逐步求精法
二、判断题1. 划分模块可以降低软件的复杂度和工作量,所以应该将模块分得越小越好。 ×2. 在网状结构中任何两个模块都是平等的,没有从属关系,所以在软件开发过程中常常被使用。×3. 信息隐蔽原则有利于提高模块的内聚性。√4. 中心变换型的DFD图可看成是对输入数据进行转换而得到输出数据的处理,因此可以使 用事务分析技术得到初始的模块结构图。×5. SD法是一种面向数据结构的设计方法,强调程序结构与问题结构相对应。 ×. JACKSON方法是以数据流、数据封闭性准则逐层分解的。×三、简答题1. 模块内联系和模块间联系有哪些种类?答:块间联系的各种类型的划分,从以下3方面考虑:● 按块间联系的方式(可分为直接引用与过程调用);● 按块间共用信息的作用(可分为数据型、控制型与混合型);● 按块间共用的信息数量多少(信息多联系紧密)。(1) 块间联系的类型,按照耦合
文档评论(0)