- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
软件⼯程基础图式(第四章系统设计)
软件⼯程基础图式(第四章系统设计部分)
学习⽬标
1)软件设计过程
2)软件设计的概念和原
3)设计技术
4)⾯向过程的系统设计
5)⾯向对象的系统设计
系统设计⽬标:将需求分析转化为软件内部结构,是连接⽤户需求和软件技术的桥梁
软件需求:解决做什么——“需求规格说明书”
软件设计:解决怎么做——“设计规格说明书”
1、设计⼯程活动
1)软件架构设计(顶层设计)
描述软件的顶层架构和组织,划分不同的组件
2)软件详细设计
详细描述各组件以便能够编码实现(算法和数据结构)
注意:
—软件设计主要为分解设计:将软件映射为各组件
—可以包括系列模式设计
2、好的设计的三个特点
(1)包含所有明确要求(要实现什么,不要实现什么)满⾜客户所期望的所有隐含要求
(2)编码测试、维护⼈员可读可理解
(3)完整视图(概要图)
3、设计指导原
1)模块化
2)含数据、体系结构、接⼝、组件
3)可重复使⽤
4)正确清楚
4、设计质量属性
1)功能性
2)易⽤性
3)可靠性
4)性能
5)可设计性
扩展性
适应性
可维护性
数据流图对应:接⼝设计、软件结构设计
5、设计相关概念
1)抽象
(1)含义:忽略具体的信息将不同事物看成相同事物的过程
(2)软件开发中的丑⾏:参数化、规范化
(3)规范化抽象
—数据抽象:描述数据对象的冠名数据集合
—过程抽象:具有明确和有限功能的指令序列
2)体系结构
体系结构设计可以使⽤⼤量的⼀种或多种模型来表达
3)设计模式
(1)含义:在给定上下⽂环境中⼀类共同问题的共同解决⽅案
(2)微观结构:实体模式、结构模式、⾏为模式
4)模块性
(1)含义:软件被划分为命名和功能相对独⽴的多个组件(通常称为模块),通过这些组件的集成来满⾜问题的需求。
(2)软件的模块性:程序可被智能管理的单⼀属性
(3)模块化降低软件复杂性
(4)模块的基本属性
5)信息隐藏
(1)模块化基本问题:如何分解软件系统以达最佳的模块划分
(2)信息隐藏原则:模块应该具有彼此相互隐藏的特性
即:在设计和确定模块时,使得⼀个模块内包含的信息(过程或数据),不允许其它不需要这些信息的模块访问,独⽴的模块间仅仅交
换为完成系统功能⽽必须交换的信息。
6)功能独⽴
(1)含义:每个模块只解决了需求中特定的⼦功能,并从程序结构的其他部分看该模块具有简单的接⼝
(2)好处:
1》易于开发:功能被划分,接⼝被简化
2》易于维护(和测试):次⽣影响有限,错误传递减少,模块重⽤
(3)定性衡量标准
1》内聚性(块内联系):模块的功能相对强度
1内聚性有六种类型:偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。
2偶然内聚指⼀个模块内的各处理元素之间没有任何联系。这是内聚程度最差的内聚。
3逻辑内聚指模拟内执⾏⼏个逻辑上相似的功能,通过参数确定该模块完成⼀个功能。
4时间内聚为把需要同时执⾏的动作组合在⼀起。
2》耦合性(块间联系):模块之间的相互依赖程度
1⽆直接耦合(低耦合):两个模块没有直接关系,模块独⽴性最强。
2耦合性分类
①数据耦合(低耦合):属松散耦合,通过数据参数交换信息。
②控制耦合(中耦合):模块之间传递的是控制信息(如开关、标志、名字等),控制被调⽤模块的内部逻辑。
③特征耦合(低耦合):两个模块通过传递数据结构加以联系,或都与⼀个数据结构有关系
④公共环境耦合(较强耦合):⼀组模块引⽤同⼀个公⽤数据区(也称全局数据区、公共数据环境)。
公共数据区:
全局数据结构
共享通讯区
内存公共覆盖区等
⑤内容耦合(最强):有下列情况之⼀的。是最不好的耦合形式!
3》模块独⽴性强=⾼内聚低耦合
7)细化
(1)含义:逐步求精的过程
(2)与抽象的关系
1》抽象使设计师确定过程和数据,但不局限于底层细节
原创力文档


文档评论(0)