- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
系统架构的概念 定义很多,许多架构大师都给架构下过定义,包括Boehm,Woods等。我们这里给出IEEE的定义。 IEEE:架构是以组件、组件之间的关系、组件与环境之间的关系为内容的某一系统的基本组织结构。 理解架构所做的工作并不难,因为“架构关注的是软件的分割与交互”。 架构将系统划分为计算机组件及组件之间的交互。 只是,划分的方式不同。 架构与子系统、框架、类库的区别和联系 3)类库 类库是类的集合,这些类之间可能是相互独立的。应用开发者系统使用类库的人可以直接调用,而不必重写。 框架也是类库的集合,框架中的类并不是孤立的,框架中的类通过业务逻辑“连”在一起,在它们之间建立协作关系。 经典架构模式 所谓“模式”,就是解决相似问题的通用方法,世界是无限的,但模式是有限的。 1)分层 2)MVC 3)微内核 特点:将应用相关部分和通用部分分离,再将通用部分中的基本服务内核和众多扩展服务分离。 优点:可扩展、可移植、适应新技术。 缺点:设计复杂、实现复杂、效率低。 经典案例:OS。 管道过滤器 相当于MVC中控制对象和实体对象形成的一道流水线 架构视图的概念 架构视图的概念 Philippe Kruchten在其著作《Rational统一过程引论》写道:“一个架构视图是对于从某一视角或某一点上看到的系统所作的简化描述,描述中涵盖了系统的某一特定方面,而省略了与此方面无关的实体。 软件架构的每个视图分别关注不同的方面,针对不同的目标和用途。 RUP(Rational Unified Process)中提出4+1视图模型。 用例视图:对系统功能性需求对模,描述系统的行为,揭示 系统“是什么” 逻辑视图:描述系统设计模型,包含与系统结构最重要意义的部分,比如,系统分解成为的子系统,子系统分解成多个类,以及这些元素的职责,关系,操作和属性 进程视图:描述系统分解成线程及进程的过程,描述线程 (进程)通讯模试等 部署视图:描述运行系统的物理硬件(包含网络)配置,说明每个节点的计算机,CPU,操作系统以及它们互联的情况,还要包括进程到节点之间的映射关系。 实施视图:描述系统在构建时的分解后的子系统(包)的情况,特别是包括哪些组成部分由哪些团队开发,以及购入,外包,开发进度等内容。项目经理应该对这个视图最感兴趣。 表1 超市系统案例:理解需求种类的复杂性 非功能需求又可以分为如下三类 约束:要开发出用户满意的软件并不是件容易的事,而全面理解要设计的软件系统所面临的约束可以使你向成功迈进一步。约束性需求既包括企业级的商业考虑(例如项目预算有限),也包括最终用户级的实际情况(例如用户的平均电脑操作水平偏低);既可能包括具体技术的明确要求(例如要求能在Linux上运行),又可能需要考虑开发团队的真实状况(例如开发人员分散在不同地点)。这些约束性需求当然对架构设计影响很大,比如受到项目预算有限的限制,架构师就不应选择昂贵的技术或中间件等,而考虑到开发人员分散在不同地点,就更应注重软件模块职责划分的合理性、松耦合性等等。 运行期质量属性:这类需求主要指软件系统在运行期间表现出的质量水平。运行期质量属性非常关键,因为它们直接影响着客户对软件系统的满意度,大多数客户也不会接受运行期质量属性拙劣的软件系统。常见的运行期质量属性包括软件系统的易用性、性能、可伸缩性、持续可用性、鲁棒性、安全性等。在我们的超市系统的案例中,用户对高性能提出了具体要求(真正的性能需求应该量化,我们的表1没体现),他们不能容忍金额合计超过 2秒的延时。 开发期质量属性:这类非功能需求中的某些项人们倒是念念不忘,可惜很多人并没有意识到开发期质量属性和 运行期质量属性对架构设计的影响到底有何不同。开发期质量属性是开发人员最为关心的,要达到怎样的目标应根据项目的具体情况而定,而过度设计(overengineering)会花费额外的代价。 一个架构视图是对于从某一视角或某一点上看到的系统所做的简化描述,描述中涵盖了系统的某一特定方面,而省略了于此方面无关的实体。 逻辑视图:当采用面向对象的设计方法时,逻辑视图即对 象模型。* 开发视图:描述软件在开发环境下的静态组织。* 处理视图:描述系统的并发和同步方面的设计。* 物理视图:描述软件如何映射到硬件,反映系统在分布方 面的设计 逻辑视图。逻辑视图关注功能,不仅包括用户可见的功能,还包括为实现用户功能而必须提供的“辅助功能模块”;它们可能是逻辑层、功能模块等。 开发视图。开发视图关注程序包,不仅包括要编写的源程序,还包括可以直接使用的第三方SDK和现成框架、类库,以及
您可能关注的文档
最近下载
- T∕CAPE 10002-2018 设备管理体系 实施指南.docx VIP
- 参考学习资料 石油天然气 金属矿床开采技术新进展.ppt VIP
- “读懂日本”系列之一:日本经济,逃逸第四个“失去的十年”-240504-国金证券-32页.pdf VIP
- 小学主题班会 预防近视 爱眼护眼 课件(18张ppt).pptx VIP
- 《河南省市政工程预算定额》HAAl312016.pdf VIP
- HJ 75-2017 固定污染源烟气(SO2、NOX、颗粒物)排放连续监测技术规范.docx VIP
- 门式脚手架的专项施工方案.docx VIP
- 孕产妇保健课件ppt.pptx VIP
- 立式水轮发电机轴线分析与处理..ppt VIP
- 《颈椎病分型》课件.ppt VIP
文档评论(0)