1 / 94
文档名称:

软件设计与体系结构第三章软件设计基础.ppt

格式:ppt   大小:932KB   页数:94页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件设计与体系结构第三章软件设计基础.ppt

上传人:2623466021 2018/11/16 文件大小:932 KB

下载得到文件列表

软件设计与体系结构第三章软件设计基础.ppt

文档介绍

文档介绍:软件设计基础
教学内容
软件设计的基本概念
软件设计过程
软件设计的质量
软件体系结构设计
高可信软件设计
软件设计规格说明
软件设计评审
软件设计的基本概念
软件设计
主要针对需求分析过程中得到的软件需求规格说明,综合考虑各种制约因素,探求切实可行的软件解决方案并最终给出方案的逻辑表示,包括文档,模型
制约因素
资源:时间,人力,财力、开发工具
技术:方法、技术、平台
最终目标:满足需求的解决方案
明确:设计模型易于理解
可行:在可用的技术平台和软件项目的可用资源条件下,须用预定的开发语言可构造技术可以完整地实现设计模型
高质量:设计模型给出需求的实现方案,非功能需求的约束,设计模型优化
抽象与求精
模块化与信息隐藏
模块划分的准则
可分解性
可组装性
可理解性
连续性
保护
模块独立性(Module independence)
好设计的关键:每个模块完成一个相对独立的子功能,并且与其它模块间的接口简单。
信息隐蔽(Information hiding)
支持模块的并行开发
减少测试和维护的工作量
提高了系统的灵活性和可扩展性
内聚与耦合
内聚性:模块内部各成分之间关联程度的度量
偶然性内聚:一个模块内各成分为完成一组功能而组合在一起,它们相互之间即使用关系,也很松散
逻辑性内聚:模块完成的诸任务逻辑上相关
时序内聚:一个模块包含的任务必须在同一时间内执行
过程性内聚:模块内成分彼此相关,并且必须按特定的次序执行
通信内聚:模块中各成分都将对数据结构的同一区域进行操作
顺序性内聚:各成分均与同一功能相关,且处理按序执行
功能性内聚:所有成分形成一个整体,完成单个功能
内聚与耦合
⑴耦合(Coupling)
Great deal of dependence
Independent
 Highly coupled
Loosely coupled
Uncoupled 
独立性的度量:耦合(Coupling)&内聚(Cohesion)
(Yourdon & Constantine,1978)
内聚与耦合
例1:A访问C的内部数据或不通过正常入口而转入C的内部。
……
A
B
C
D
A:
…………
…………
goto C1
…………
…………
C:
…………
…………
C1:
……
……
独立性由弱到强排列为:
内容耦合(Content Coupling): One module modifies another.
一个模块直接修改或操作另一个模块的数据,或者直接转入另一个模块。
内聚与耦合
例2:部分代码重叠(常出现在汇编程序中)
B
A
例3:一个模块有多个入口(功能)
A:
………………
………………
entry 1:
………………
………………
entry 2:
………………
………………
 The least desirable
内聚与耦合
公共耦合(Common coupling):Data are accessible from mon data 。
Global : V1
V2
A:
…………
…………
A1=V1+V2
…………
…………
B:
…………
…………
V1=B1
…………
…………
Global : V1
V2
A:
…………
…………
V1++
…………
…………
B:
…………
…………
V2=B1+V1
…………
…………
问题: 公共部分的改动将影响所有调用它的模块;
公共部分的数据存取无法控制;
复杂程度随耦合模块的个数增加而增加。