- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章体系结构设计【荐】.pdf
软件工程
第六讲 体系结构设计
桂志鹏
ZHIPENG.GUI@WHU.EDU.CN
1
作用域 当前类 同一包内 子孙类 其他包
public √ √ √ √
protected √ √ √ ×
default √ √ × ×
private √ × × ×
Java作用域
目录
1. 体系结构设计决策
2. 体系结构视图
3. 体系结构模式
4. 应用体系结构
2
软件体系结构设计
体系结构设计(Architectural Design)
是一个过程
识别组成系统的子系统
建立系统控制与通讯的框架
需要经验和专业知识
依赖所开发系统的类型
软件体系结构(Software Architecture )
体系结构设计输出的一个描述
是设计过程的初始阶段;
是设计和需求工程过程之间的桥梁;
通常是与一些系统描述活动同时进行的;
职能:识别出系统的主要组件以及它们之间的通信。
打包机器人控制系统的方块图
清晰的软件体系结构的三个好处
信息持有者之间的沟通
◦ 体系结构可以作为不同的项目相关人员之间讨论的焦点。
系统分析
◦ 系统分析对体系结构的设计决策,对系统能否满足非功
能需求具有很大的影响。
大规模复用
◦ 体系结构能在相似需求的系统之间互用,以支持大规模
的软件复用。
1. 体系结构设计决策
是一个充满创意性的过程:过程中活动差别大,
很大程度取决于上所要开发的系统的类型。
然而,所有的设计过程都有一些共同的决策阶段。
因而,可以从决策角度来看待体系结构设计。
体系结构设计决策
是否存在一般性的应用体系结构可以当做模板?
系统将如何分配到多个核和处理器上?
有哪些体系结构模式和风格适合本系统?
有哪些基本方法可以用来构建该系统?
如何将系统中的结构单元分解为子组件?
应该使用什么样的策略来控制系统中单元的操作?
什么样的体系结构组织方式对于交付非功能性的
需要是最好的?
如何评估体系结构设计?
如何记录系统体系结构? (文档化)
非功能性需求与软件体系结构的关系
性能
◦ 定位关键性操作,最大限度内减少子系统之间的通信;
◦ 使用较大粒度的组件;
◦ 并行处理。
信息安全性
◦ 采用分层结构,把重要资源放在内层,并在每层中采用更加严格
的信息安全性验证。
非功能性需求与软件体系结构的关系
安全性
◦ 把与安全相关的操作集中在一个或少数几个子系统中。
可用性
◦ 包括冗余性组件和容错型体系结构设计。
可维护性
◦ 使用小粒度,可更换的组件。
体系结构之间的冲突
性能与可维护性
使用大粒度的组件虽然改进了系统的性能,但却降低了
系统的可维护性;
可用性与信息安全性
引入冗余性数据虽然提高了系统的可用性,但却使系统
的信息安全性变得更困难;
性能与安全性
定位与安全相关的操作意味着增加了子系统之间的通信,
但这样也降低了系统的性能。
2. 体系结构视图
设计和文档化一个系统的体系结构图:
什么样的视图或者角度是有效的?
使用什么样的符号系统来描述体系结构模型?
4+1视图
逻辑视图
文档评论(0)