第04章-软件设计-02-软件体系架构

第04章-软件设计-02-软件体系架构

ID:20042771

大小:1.15 MB

页数:84页

时间:2018-10-09

第04章-软件设计-02-软件体系架构_第1页
第04章-软件设计-02-软件体系架构_第2页
第04章-软件设计-02-软件体系架构_第3页
第04章-软件设计-02-软件体系架构_第4页
第04章-软件设计-02-软件体系架构_第5页
资源描述:

《第04章-软件设计-02-软件体系架构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件设计第二部分软件体系结构1为什么需要研究软件体系结构规模增加复杂性增加需要演化算法+数据结构”对于软件的描述不全面需要提高对软件总体结构的认识构成成分、成分之间的关系提供交流基础反映高层设计便于系统演化2什么是软件体系结构SoftwareArchitecture是对子系统、软件系统组件以及它们之间相互关系的描述。子系统和组件一般定义在不同的视图内,以显示软件系统的相关功能性属性和非功能性属性。对系统结构的总体设计与说明是一种高层设计关注三方面问题:组件、组件间关系、关系约束2什么是软件体系结构(cont.)构件软件系统由哪些部分构成例如:数据库、服务器、客户、层、过滤器、监听器等构件

2、间的关系:这些部分之间的交互关系是什么例如:RPC、共享内存、管道等关系的约束:这些关系有什么约束例如:互斥等更具体的,体系架构讨论系统元素如何组织?系统如何实现所需功能?系统如何满足预期性能、可靠性和其它质量特性安全、并发、错误恢复、系统管理等系统需要什么技术?分布式、集中式、J2EE、SOA等等系统内部组织的结构是否能够弹性响应功能、技术、平台变化?和原有系统如何集成?数据持久化问题?标准是否能够确保系统开发始终保持一致?采用什么设计模式?经济上和技术上的冲突和平衡美学上的意义其它的软件体系结构定义(cont.)DewaynePerry和A1exWo1f曾这样定义:软件体系结构是具有

3、一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持2)Kruchten指出,软件体系结构有四个角度,它们从不同方面对系统进行描述:概念角度描述系统的主要构件及它们之间的关系;模块角度包含功能分解与层次结构;运行角度描述了一个系统的动态结构;代码角度描述了各种代码和库函数在开发环境中的组织。其它的软件体系结构定义(cont.)1997年,Bass,Ctements和Kazman在《实用软件

4、体系结构》一书中给出如下的定义:一个程序或计算机系统的软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。其中,"软件外部的可见特性"是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。我们知道...体系结构和设计是同一件事;体系结构和基础结构是相同的;一个好的体系结构是简单的结构;体系结构一个蓝图就足够了;体系结构就是结构;系统体系结构优先于软件结构;体系结构不能被标准化和验证;体系结构是科学;体系结构是艺术;好的体系结构的特征可伸缩性的简单亲切的关系清楚明了职责分布明确效益和技术平衡3体系结构设计原则合适性结构稳定性可扩展性可复用性抽象封装信息隐蔽模块

5、化事务分离-注意点分散(层次化)(SeparationofConcerns)耦合和内聚充分性、完整性和原始性策略和实现的分离接口和实现的分离分而制之(Divide-and-conquer)体系结构设计流程1设计准备任务、工具2确定影响系统设计的约束因素本系统应当遵循的标准或规范软件、硬件环境(包括运行环境和开发环境)的约束接口/协议的约束用户界面的约束软件质量的约束,如正确性、健壮性、可靠性、性能、易用性、清晰性、安全性、可扩展性、兼容性、可移植性等等3确定设计策略根据产品的需求,以及本产品的发展战略,确定设计策略,如:设计模式。根据本产品的功能性需求和非功能性需求,确定体系结构设计模式

6、。扩展策略。说明为了方便本系统在将来扩展功能,现在有什么措施。复用策略。说明本系统在当前“复用什么”以及将来“如何被复用”。折衷策略。说明当两个目标难以同时被优化时如何折衷,例如“时-空”效率折衷,复杂性与实用性之间的折衷4系统分解与设计按照体系结构设计模式,将系统分解为若干子系统,确定每个子系统的功能以及子系统之间的关系。绘制系统的总体结构图(包括物理图和逻辑图)。将子系统分解为若干模块,确定每个模块的功能以及模块之间的关系,绘制子系统的结构图。确定系统开发、测试、运行所需的软硬件环境5撰写体系结构设计文档6设计评审4软件体系架构的演变1.逻辑应用体系结构的演变RelationalDa

7、tabase图形用户界面关系数据库图形用户界面商业对象模型图形用户界面商业对象模型关系数据库2.物理应用程序体系结构关系数据库C客户端WWWBrowserWeb服务器HTMLCGIASPJava商业对象服务商业对象引擎应用商业对象服务A客户端商业对象引擎廋客户端,胖服务器B客户端Application商业对象服务商业对象引擎商业逻辑服务器DCOMADO/RCORBABeansCOMMTSBeansETS复杂的Internet系统客户

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。