欢迎来到天天文库
浏览记录
ID:57050644
大小:3.09 MB
页数:109页
时间:2020-07-28
《软件架构概念与思想课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件架构设计本课件内容参考了温昱演讲内容及中山大学王建民教授课件,谨表感谢!1软件架构设计V2012第一部分软件架构概念与思想2软件架构设计V2012内容提要架构的基本概念子系统、框架和架构概念及关系软件架构在不同情况下的作用深入理解软件架构概念结合实践:子系统和框架在架构设计中的作用软件架构的应用场景单个产品开发产品线开发软件维护架构重构第一章第二章第三章3软件架构设计V2012第一章解析软件架构概念4软件架构设计V2012为什么要有软件架构Hofmeister定义:软件体系结构是:提供一个设计计划---系
2、统蓝图,即是一个有助于管理系统复杂性的概述。软件体系结构的目的不仅仅是向别人描述一些重要的方面,而且还要向架构师展示这些方面,以便于架构师能推敲他们的设计软件体系结构的一些用途:对系统的修改维护;测试保证体系结构的属性,可测试性,可靠性,可用性,可维护性,及性能需求验证项目管理系统操作培训5软件架构设计V2012为什么要有软件体系结构随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明显得越来越重要对于大规模的复杂软件系统,总体的系统结构设计和规格说明比起对计算的算法和数据结构的选择已经变得明显重要
3、得多对软件体系结构的系统、深入的研究将会成为提高软件生产率和解决软件维护问题的新的最有希望的途径6软件架构设计V2012软件架构概念的分类业界中的软件架构,定义归结而言可分为:组成派和决策派两大流派7软件架构设计V2012决策派Booch、Rumbaugh和Jacobson的定义架构是一系列重要决策的集合,这些决策与以下内容有关:软件的组织,构成系统的元素及其接口的选择,这些元素在相互协作中明确表现出的行为,这些结构元素和行为元素进一步组合所构成的更大规模的子系统,以及指导这一组织-包括这些元素及其接口、它们
4、的协作和它们的组合---架构风格EoinWoods的观点软件架构是一系列设计决策,如果作了不正确的决策,你的项目可能最终会被取消8软件架构设计V2012决策派软件架构包含了关于以下问题的重要决策:软件系统的组织;选择组成系统的结构元素和它们之间的接口,以及当这些元素相互协作时所体现的行为;如何组合这些些元素,使它们逐渐合成为更大的子系统;用于指导这个系统组织的架构风格;这些元素以及它们的接口、协作和组合。软件架构是在一些重要方面所作出的决策的集合关注架构实践中的主体——人,以人的决策为描述对象归纳了架构决策的
5、类型,指出架构决策不仅包括关于软件系统的组织、元素、子系统和架构风格等几类决策,还包括关于众多非功能需求的决策9软件架构设计V2012组成派Garlan和Shaw的定义架构包括组件、连接件和约束三大要素。组件可以是一组代码(例如程序模块),也可以是独立的程序(例如数据库服务器)。连接件可以是过程调用、管道和消息等,用于表示组件之间的相互关系。“约束”一般为组件连接时的条件Perry和Wolf的定义软件架构是一组具有特定形式的架构元素,这些元素分为三类:负责完成数据加工的处理元素、作为被加工信息的数据元素及用于
6、把架构的不同部分组合在一起的连接元素10软件架构设计V2012组成派(续)Boehm的定义软件架构包括系统组件、连接件和约束的集合,反应不同涉众需求的集合,以及原理的集合。其中的原理,用于说明由组件、连接件和约束所定义的系统在实现时,是如何满足不同涉众需求的IEEE的定义架构是以组件、组件之间的关系、组件与环境之间的关系为内容的某一系统的基本组织结构,以及指导上述内容设计与演化的原理Bass(SEI)的定义某个软件或计算机系统的软件架构是该系统的一个或多个结构,每个结构均由软件元素、这些元素的外部可见属性、这
7、些元素之间的关系组成11软件架构设计V2012组成派MaryShaw:软件系统的架构将系统描述为计算组件及组件之间的交互“组成派”软件架构概念有如下两个显著特点:关注架构实践中的客体——软件,以软件本身为描述对象分析了软件的组成,即软件由承担不同计算任务的组件组成,这些组件通过相互交互完成更高层次的计算12软件架构设计V2012观点总结组成派的观点更关注软件,倾向于“组件+交互”的思想决策派的观点更关注人,倾向于重大决策集合的思想,除了结构和行为,还关注一些非功能的因素13软件架构设计V2012软件架构关注分
8、割与交互“软件系统的架构将系统描述为计算组件及组件之间的交互”,Shaw的这个定义从“软件组成”角度解析了软件架构的要素:组件及组件之间的交互。Shaw的架构定义高度抽象地将软件架构概括为“组件+交互”,以大家熟悉的MVC架构为例进行说明ModelControllerView创建调用服务读取通知14软件架构设计V2012软件架构是一系列有层次性的决策软件架构可以视为一系列重要决策的集合。架构决策还是
此文档下载收益归作者所有