北京理工大学软件工程实践

北京理工大学软件工程实践

ID:3860385

大小:221.00 KB

页数:51页

时间:2017-11-24

北京理工大学软件工程实践_第1页
北京理工大学软件工程实践_第2页
北京理工大学软件工程实践_第3页
北京理工大学软件工程实践_第4页
北京理工大学软件工程实践_第5页
资源描述:

《北京理工大学软件工程实践》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、北京理工大学 软件工程实践汤铭端中国航天科工集团公司204所第四讲软件设计内容包括软件结构设计和软件详细设计软件设计的概念软件设计的过程软件设计的方法软件设计的产品目的掌握软件设计基本概念掌握软件设计过程了解基本软件设计方法(SC+流程图)了解软件设计说明的内容条目设计设计:为了能够足够详细地定义一种设备、一个处理或一个系统,以便保证其物理实现,而应用各种技术和原则的过程设计者的目标是生成一个随后要构造的实体的一种模型或表示开发模型的过程综合了基于构造类似实体的经验的直觉和判断、一系列指导模型演化路径的原则和直观推断、一系列判断质量的标准以及导出最终设计表示的迭代过程软件

2、设计的任务数据设计:将分析时创建的信息域模型变换为实现软件所需的数据结构结构设计:定义软件系统各主要部件之间的关系接口设计:描述软件内部、软件和协作系统之间以及软件与人之间如何通信过程设计:把系统结构部件转换成软件单元的过程性描述软件设计视图数据设计过程设计结构设计概要设计详细设计管理角度技术观点软件设计的重要性—质量设计是在软件开发中形成质量的环节设计是能将用户需求转化为完整的软件产品或系统的唯一方法设计是软件工程和软件维护的基础软件设计的过程软件设计是一个迭代的过程先进行高层次的结构设计后进行低层次的过程设计穿插进行数据设计和接口设计良好设计的特征(设计目标)设计必须

3、实现所有包含在分析模型中的明示需求,并且必须满足客户希望的所有潜在需求设计对于软件的编码、测试、维护人员必须是可读的、可理解的设计应该提供软件的完整面貌,包括从实现角度所见的数据、功能、流程设计的指南1设计应该展示一种层次化结构2设计应该模块化,即逻辑地划分成完成特定功能和子功能的构件3设计应该包括对数据、结构、界面和部件的清楚表述4设计应该导出适于实现目的和由公认的数据模式导出的数据结构5设计应该导出具有独立功能特征的模块6设计应该导出降低模块和外部环境间连接复杂度的接口7设计应该通过使用可重复的方法来得到,这些方法被来源于软件需求分析的信息所驱动设计原则设计过程不应该

4、受“隧道视野”的限制设计对于分析模型应该是可追踪的设计不应该从头做起设计应该缩短软件和现实世界的“智力距离”设计应该表现出一致性和集成性设计应该构造以适应修改设计应该构造以使得即使遇到异常的数据、事件或操作条件时也能够平滑、轻巧地降级设计不是编码,编码不是设计在创建设计时就应该可以评估质量,而不是在事情完成之后应该复审设计以减少概念性错误设计概念抽象求精模块化软件结构体系控制层次结构划分数据结构软件过程信息隐藏设计的独立性判别内聚:模块相对功能密度的度量耦合:模块间相对独立性的度量内聚内聚指的是一个模块内部各组成部分的处理动作的组合强度,又称块内联系。软件结构设计的设计原

5、则是,要求每一个模块的内部都具有很强的内聚性,它的各个组成部分彼此都密切相关,是为了完成一个共同的功能而组合在一起的。减弱模块之间的耦合和提高模块内的内聚性,是两个相辅相成的设计原则。G.Myers的内聚七等级偶然内聚:模块内各成分无实质性的联系,只是偶然地被凑到一起。逻辑内聚:模块内部各组成部分的处理动作在逻辑上相似,但功能却彼此不同或无关。时间内聚:将若干在同一个时间带内进行的工作集中在一个模块内,但这些工作彼此无关。过程内聚:模块内部包含的各个成分按照某种确定的顺序进行,但所做工作没有什么关系。通讯内聚:模块内的各个组成部分都使用相同的输入数据或产生相同的输出数据。

6、顺序内聚:模块中各个组成部分顺序执行,前一个成分的输出就是后一个成分的输入。功能内聚:模块内的各个组成部分全都为完成同一个功能而存在,共同完成一个单一的功能,并且只完成一个功能。高内聚的要求避免使用低内聚的模块,多用中高内聚、特别是功能内聚的模块,遵守“一个模块,一个功能”原则,它是衡量模块独立性的最高标准耦合耦合(coupling)指的是两个模块之间的相互依赖关系,又称块间联系。模块之间的联系越多或越复杂,它们之间的依赖程度就越高,每一个模块的独立性就越低。要求尽可能地减弱系统中模块之间的耦合程度,提高每一个模块的独立性,这是因为:1)模块之间的耦合程度越弱,相互影响就

7、越小,产生连锁反应的概率就越低;2)在修改一个模块时,要能使修改范围控制在最小限度以内;3)在对一个模块进行维护的时候,不必担心任何其它模块的内部运行程序是否会受到影响。G.Myers的耦合七等级非直接耦合:调用和被调用模块之间不存在直接的数据联系。数据耦合:调用和被调用模块之间存在简单变量这样的数据传递。特征耦合:调用和调用模块之间存在诸如数组这样的数据结构的数据传递。控制耦合:耦合的模块之间传递的不是数据信息,而是控制信息,或称开关量或标志量。外部耦合:允许多个模块访问同一个全局变量。公共耦合:允许多个模块访问同一个全局性

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

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

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