- 1、本文档共54页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章-软件过程设计资料
软件过程设计主要内容 软件设计的基本原理 模块化是解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程 模块化的优点: 降低问题复杂性 减少开发工作量 降低开发成本 提供软件生产率 软件设计的基本原理 模块化是解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程 模块化的优点: 降低问题复杂性 减少开发工作量 降低开发成本 提供软件生产率 在软件的体系结构中,模块是可组合、分解和更换的单元,具有以下几种基本属性: 接口:指模块的输入输出。 功能:模块实现的功能。 逻辑:内部如何实现及所需数据。 状态:模块的运行环境,调用与被调用关系。 逻辑属性反映内部特性,其它属性反映模块的外部特性。 软件设计的基本原理 抽象: 是认识复杂现象过程中使用的思维工具。 抽象是对具体对象(问题)进行概括, 抽出这一类对象的公共性质并加以描述 的过程。 软件结构顶层模块控制系统主要功能并影响全局,底层模块完成具体的处理。 在进行软件设计时,抽象与逐步求精、模块化密切相关,可提高软件的可理解性 信息隐蔽 是指在设计和确定模块时,使得一个模块内包含的信息(过程和数据),对于不需要这些信息的其他模块来说,是不可访问的。它为软件系统的修改、测试及以后的维护都带来好处。 软件设计的基本原理 模块的独立性: 指每个模块只完成系统要求的独立的子功能,并且与其它模块的联系量最少且接口简单。 包括两个度量准则 耦合性:指软件系统结构中各模块间相互联系紧密程度的一种度量。模块间耦合高低取决于接口的复杂性、调用的方式及传递的信息。 内聚性:指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。 软件设计的基本原理 耦合性举例 软件设计的基本原理 应采用的总体原则: 尽量使用数据耦合 少用控制耦合 限制公共耦合的范围 完全不用内容耦合 软件设计的基本原理 软件设计的基本原理 软件结构图形工具 软件结构图(Structure Chart) 结构图的形态特征 深度、宽度、扇入、扇出。 软件结构图举例 软件结构图注意事项 (1)同一名字的模块在结构图中仅能出现一次。 (2)调用关系只能从上到下。 (3)不严格表示模块的调用次序,习惯上从左到右,有时为了减少连线的交叉,适当地调整同一层模块的左右位置,以保证结构图的清晰。 (4)结构图并不指明什么时候调用下层模块,只表明一个模块调用哪些模块,至于模块内还有没有其他成分则完全没有表示。 表示软件结构的HIPO图 表示软件结构的HIPO图 结构化设计方法 变换型数据流图 事务型数据流图 变换分析设计 变换分析设计 变换分析设计 变换分析设计 变换分析设计 变换分析设计 变换分析设计 变换分析设计 变换分析设计 变换分析设计 变换分析设计 变换分析设计 事务分析设计 综合数据流图的映射 混合型的结构设计 分层DFD映射:销售管理系统 分层DFD映射 软件详细设计 详细设计结果基本上决定了最终程序代码的质量。不仅要逻辑正确,性能满足,还要简明易懂。 采用自顶向下,逐步求精的程序设计方法。 使用三种基本控制结构构造程序:顺序、选择、循环。单入口,单出口的共同特点。 主程序员的组织形式:一个主程序员、一个后备程序员和一个程序管理员三人为核心,再加上一些专家、其他技术人员组成小组。 软件详细设计表示法 常用三种工具:图形、表格和语言。 程序流程图(PFC) PAD图 盒图(N-S图) 过程设计语言 PFC:三种基本控制结构 程序流程图 详细设计案例分析 PAD图 盒图(N-S图) 过程设计语言 过程设计语言 案例分析——百货商店业务管理信息系统过程设计 (2)输出部分的求精 为每个物理输出设置专门模块,同时注意把相同或类似的物理输出模块合并在一起,以减低耦合度。 Put B Put A b a a B to A Put B Put A a (3)变换部分的求精:根据设计准则,对模块进行合并和调整。 软件结构的求精,具有很大的经验性。 追求“高内聚,低耦合”方法: 设计有独立功能的模块 模块间传递数据型的参数 模块间共享信息尽量少 例: 分房处理 分房活动 输出分房结果 获得分房资源 获得空房信息 获得分房队列 输出住房结果 获得分房申请 计算分数 事务分析的设计步骤和变换分析的设计步骤大部分相同或类似,主要差别仅在由数据流程图到软件结构的映射方法不同。由事务流映射成的软件结构包括一个接收分支和一个发送分支。 映射出接收分支结构的方法和变换分析映射出输入结构的方法相似,即从事务中心的边界开始,把沿着接收流通路的处理逻辑映射成模块。 发送分支的结构包含一个调度模块,它控制下层的所有活动模块;然后把数据流程图中的每一个活动流通路映射成与它的特征相对应的结构。 总控 调度 A_CTL B_C
文档评论(0)