- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大型软件体系构造
软件体系结构的概念
表示软件高层架构,包括静态和动态属性:
指该系统的结构,包括软件组件,及其外部可见属性,以及组件间的关系
组件:
是一个构造块,通过接口描述其服务的计算或数据仓库的集合。常见组件:类,函数,模块,包,层,文件,数据库,客户端,服务器
组件是逻辑元素,粒度可自由控制,而对象是实现元素,粒度较小,且两者抽象程度不同。
如何定义组件:
组件的函数和职责,以及接口必须被定义
核心设计类需要被定义:核心类实现组件主要功能,实现,但是只有类的Skeleton被提供定义,具体内容需要设计阶段给出
:
允许组件间交互的构造块(不是简单的接口),降低组件间的耦合,同时连接互相不兼容的组件
连接器包括显式的和隐式的,有时仅仅是一个通道,有时包括自己的逻辑和复杂度
常见连接器:
(Implicit)事件,C/S中间件,消息和消息总线,共享变量,过程调用(本地、远程),管道,
(Explicit)代理,适配器
在开发者和其他涉众间提供一个共享的精神模型同时面向问题域和解空间,保证需求可以追踪到实现
是客户的代理,由客户的需求提炼而来不同的涉众关注系统的不同方面,软件架构使得对于一个大且复杂系统的不同关注可以被表达、协商达成一致,从而便于管理
表现功能和非功能需求如何被满足
质量的种类:
系统质量:availability, modifiability, performance, security, testability, usability.
商业质量:投放市场的时间,投入回报,计划周期,目标市场,首次展出计划,遗留系统整合
建筑质量:观念一致性,正确性完整性,可建造性
反映设计决策
往根据架构师的知识背景实现
建立了软件设计和实现的背景,解释一种方法被采用的根本原因,它有什么影响
结构决策是最基本的决策,改变它将会引起很多连锁的反应
架构定义了实现的约束(组件分解,外部可见特性和接口)限定了一个系统的质量属性决定了开发人员的结构组成对于系统资源分配的决策约束了实现
使得修改变得容易控制方便于系统原型的演化
软件架构是系统的基本组织,包含了它的组件,及其关系与环境,以及控制设计和演化的原则
体系结构的关注点
用况视图:
由专门描述可被最终用户、分析人员和测试人员看到的系统行为的用况组成。
用况视图实际上没有描述软件系统的组织,而是描述了形成系统体系结构的动力。
该视图的静态方面由用况图表现;动态方面由通讯图、状态图和活动图表示。
设计视图:
包含了类(系统分解,关键功能)、接口(系统暴露给外界的整体)和协作(实现系统用况),它们形成了问题及其对问题解决方案的术语词汇。
这种视图主要支持系统的功能需求,即系统提供给最终用户的服务。关注于:Functionality、Key Abstractions、Mechanisms、Separation of concerns and distribution of responsibilities
该视图的静态方面由类图和对象图实现,动态方面由图、状态图和活动图表现。
进程视图:
包含了形成系统并发与同步机制的线程和进程。
该视图主要针对性能、可伸缩性和系统的吞吐量。
对进程视图的静态方面和动态方面的表现与设计视图相同,但注重于描述线程和进程的主动类。
实现视图:
包含了用于装配与发布物理系统的构件和文件。
这种视图主要针对系统发布的配置管理,它由一些独立的构件和文件组成,这些构件和文件可以各种方法装配,以产生运行系统。
该视图的静态方面由构件图表现,动态方面由通讯图、状态图和活动图表现。
实施视图
包含了形成系统硬件拓扑结构的节点(系统在其上运行)。
这种视图主要描述对组成物理系统的部件的分布、交互和安装。
该视图的静态方面由实施图表示,动态方面由通讯图、状态图和活动图表现。
序言:软件体系风格:
一系列用结构化模式表示的系统一系列组件,连接器,以及如何结合他们的约束
描述了一系列架构或者有意义的架构片
在反复的实践中发现的一个连贯的设计决策包拥有已知的可重用的属性
以模块为对象的体系结构风格
Main Program and Subroutine Style
结构:
Components: 函数
Connectors: 函数间的调用
特点:
控制从顶层开始,逐渐细化至最低层
层次化分解:先声明后定义
单线程控制
隐含“子系统结构“
层次化推理:一个子过程的正确性取决于它所调用的子过程
使用情景:顺序系统
Object-Oriented Style
结构:
Components: 对象或组件
Connectors: 函数或引用
特点:
信息封装与隐藏
对象有义务维护自己封装信息的一致性
优点:
因为对象对其它对象隐藏它的表示,所以可以改变一个对象的表示,而不影响其它的对
文档评论(0)