软件架构与设计复习资料.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

软软件件架架构构与与设设计计复复习习资资料料

软件架构与设计复习资料

1.组成派和决策派两种流派的软件架构概念的相同和区别

相同:1)组成派和决策派是站不同⾓度的软件架构概念

2)具体的软件架构实践中,总是同时体现两派的架构概念区别:组成派的观点更关注软件,倾向于“组件+交互”的思想;决

策派的观点更关注⼈,倾向于重⼤决策集合的思想,除了结构和⾏为,还关

注⼀些⾮功能的因素。

2.分离关注点的三种⽅法

1)通过职责划分来分离关注点

2)利⽤软件系统各部分的通⽤性不同进⾏关注点的分离

3)通过不同粒度级别分离关注点

3.框架和架构的联系和区别

联系:

1)框架和架构的出现,都是为了解决软件系统⽇益复杂所带来的困难⽽采

取“分⽽治之”思维的结果。先⼤局后局部,就出现了架构;先通⽤后

专⽤,就出现了框架。

2)为了尽早验证架构设计,可以将关键的通⽤机制甚⾄整个架构以框架的

⽅式进⾏实现。

3)软件架构可以借助框架来构造。

区别:

1)框架是软件,架构不是软件。

2)引⼊软件框架之后,整个开发过程变成了“分两步⾛”,⽽架构决策往

往会体现框架之中。

3)架构是问题的抽象解决⽅案,他关注⼤局⽽忽略细节;⽽框架是通⽤半

成品,必须根据具体需求进⼀步定制开发才能变成应⽤系统。

4.简述软件架构的作⽤

软件架构的作⽤包括以下⼏个⽅⾯:

1)对新产品开发的作⽤:完成从⾯向业务到⾯向技术的转换,鸿沟上架

起⼀座桥梁,具体包括:上承业务⽬标,下接技术决策,控制复杂性,

组织开发,利⽤迭代开发和增量交付,提⾼质量。

2)对产品线开发的作⽤:固化核⼼知识,提供可重⽤资源,缩短推出产品

的周期,降低开发和维护总成本,提⾼产品质量,⽀持批量定制。

3)对软件维护的作⽤:软件架构是软件维护的基础。

4)对软件升级的作⽤:软件架构会限制软件的升级⼒度。

5.理解视图的概念以及多种视图多种⾓度进⾏架构设计的意义

视图概念:⼀个架构视图是对于从某⼀视⾓或某⼀点上看到的系统所作的简化描述,描述中涵盖了系统的某⼀特定⽅⾯,⽽省

略了与此⽅⾯⽆关的实体。

多视图多⾓度架构设计的意义:基于多视图的架构设计⽅法⼀定程度上将各类需求分别对待,通过不同的架构设计视图分别

满⾜它们,从⽽确保重要的需求⼀⼀被满⾜。

6.概念性架构和实际架构的区别和共同点

接⼝:实际架构中,借⼝占据⾮常核⼼的地位;⽽概念性架构中没有接⼝的概念。

⼦系统:实际交媾忠实通过⼦系统和模块来分割整个系统;并且⼦系统往往有明确的接⼝;⽽概念性架构中只有抽象的组件,

这些组件没有接⼝只有职责,⼀般是处理组件、数据组件或连接组件中的⼀种。

交互机制:实际架构中的交互机制是“实”的,如基于接⼝编程、消息机制或远程⽅法调⽤等等;⽽概念性构架中的交互机制

是“概念化”的。

共同点:该娘型架构和实际架构都满⾜软件架构的该娘,⽆论是“架构=组件+交互”,还是“架构=重要决策集”。

7.软件架构设计四条策略的策略内容、针对问题和关键点

策略⼀:全⾯认识需求。内容:弥补⾮功能需求的缺失。关键点:是否遗漏了⾄关重要的⾮功能需求。针对问题:对需求的理

解不系统、不全⾯,对⾮功能需求不够重视。

策略⼆:关键需求界定架构。内容:“需求⼊架构出”的理解过于简单粗糙不能适应实践要求。关键点:能否驯服数量巨⼤且频

繁变化的需求。针对问题:对于时间和质量的⽭盾,颁发不⾜,处理草率。

策略三:多视图探寻架构。内容:架构是开展系统化团队开发的基础,应当为不同涉众提供指导和限制。关键点:能否从容地

设计软件架构的不同⽅⾯。针对问题:架构设计⽅案覆盖范围严重不⾜许多关键决定被延迟,由实现⼈员仓促决定。

策略四:尽早验证架构。内容:架构设计⽅案应解决重⼤技术风险,并尽早验证架构。关键点:是否及早验证架构⽅案并做出

了调整。针对问题:假设架构⽅案是颗星的,知道后期才发现问题,造成⼤规模返⼯。

8.理解按问题深度和问题⼴度两个⾓度解决问题的⽅法软件架构设计中的

具体体现

⼀⽅⾯,软件架构从⼤局着⼿,就技术⽅⾯的重⼤问题作出决策,构造⼀个具有⼀定抽象层次的解决⽅案,⽽不是将所有熙街

统统展开,从⽽有效地控制了“技术复杂性”,属于“按问题深度分⽽治之”。

另⼀⽅⾯,有了软件架构设计后,从⽽可以把不同模块分配给不同⼩组分头开发,独⽴地并⾏⼯作。对“⼈尽其才”也有好处,

不同⼩组成员需要精通的技术各不相同。软件架构为开展系统化的团队开发奠定了基础,解决了“管理复杂性”问题,属于“按问

题⼴度分⽽治之”。

9.软件架构要设计到什么程度

由于项⽬、开发团队情况的不同,软件架构设计的成都会有不同;

软件架构应当为开发⼈员提供⾜

文档评论(0)

展翅高飞2020 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档