当前位置:文档之家› 软件体系结构 知识点概要

软件体系结构 知识点概要

第一章软件体系结构概论1 什么是软件危机?主要特点、表现形式、策略软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题软件危机的表现形式:1)软件成本的日益增长:相反,计算机硬件随着技术的进步、生产规模的扩大,价格却在不断的下降,这样一来,软件成本在计算机中占有的比例越来越大2)开发进度难以控制:用户需求变化等各种意想不到的情况层出不穷,常常令软件开发过程很难保证按预定的计划实现,给项目计划和论证工作带来很大的困难3)软件质量差4)软件维护困难软件危机的成因:1 用户需求不明确2 缺乏正确的理论指导3 软件规模越来越大4软件复杂度越来越高如何克服软件危机(策略):用工程的方法进行软件生产的可能性,即应用现代工程的概念、原理、技术和方法进行计算机软件的开发、管理和维护软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法。

软件工程包括三要素:方法、工具和过程2软件构件的概念构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。

简单地说,构件是具有一定功能,能够独立工作或能同其他构件装配起来协调工作的程序体,构件的使用同它的开发、生产无关。

构件模型是对构件本质特征的抽象描述3构件重用的概念构件开发的目的是重用,为了让构件在新的软件项目中发挥作用,库的使用者必须完成以下工作:检索与提取构件,理解与评价构件,修改构件,最后将构件组装到新的软件产品中4软件重用的定义软件重用是指在两次或多次不同的软件开发过程中,重复使用相同或相近软件元素的过程。

软件元素(即软构件)包括:程序代码、测试用例、设计文档、设计过程、需求分析文档、领域知识等。

5 管理重用的方法(列举,不用扩展)有效进行软件重用的业界经验总结(1)关注特定领域的软件资源(2)正确命名软件资源(3)慎重考虑是否具备重用的必要(4)迭代演进可重用的资源(5)保持一致性要比遵循行业标准更重要(6)进行代码审查(7)没有自动化的回归测试套件,就不要发布可重用的软件资源(8)理解业务需求之后再去说服别人(9)尽可能与开发团队一起创建可重用的软件资产(10)从生产支持人员那里获取可重用资源的需求6软件体系结构的概念概念:软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。

软件体系结构不仅定义了系统的组织结构和拓扑结构,并且显示系统需求和构成系统元素之间的对应关系,提供了一些涉及决策的基本原理。

7 软件体系结构核心研究内容,包含的含义,具体构架,模式和框架软件体系结构的意义:1 体系结构是风险承担者进行交流的手段2 体系结构是早期设计决策的体现3 软件体系结构是可传递和可重用的模型软件体系结构研究的内容:1结构性问题2系统的组织,由哪些组件构成3全局性的控制结构4通讯、同步或访问的协议5将功能分配到不同的系统组成部分6设计元素的组成7系统的物理分布8可扩展性、性能软件体系结构的主要内容:1)对系统组成元素的描述2)这些元素相互之间的交互3)系统组成的模式4)模式的约束软件体系结构的研究领域1 通过提供一种新的体系结构描述语言解决体系结构描述问题。

2 体系结构领域知识的总结性研究。

3 针对特定领域的框架的研究。

4 软件体系结构形式化支持的研究。

软件体系结构的核心研究内容:1体系结构风格2 设计模式3 应用框架体系结构风格:1体系结构风格是描述特定系统组织方式的惯用范例,强调组织模式和惯用范例。

2组织模式即静态表述的样例,惯用范例是反映众多系统共有的结构和语义。

3体系结构风格独立于实际问题,强调软件系统中通用的组织结构。

设计模式:1设计模式是软件问题高效和成熟的设计模板,模板包含了固有问题的解决方案。

2设计模式可以看成规范了的小粒度的结构成分,独立于编程语言或编程范例。

3每个模式处理系统设计或实现中一种特殊的重复出现的问题。

应用框架:1应用框架是整个或部分系统的可重用设计,表现为一组抽象构件的集合以及构件实例间交互的方法。

2一个框架是一个可重用的设计构件,它规定了应用的体系结构,协作构件之间的关系,为构件复用提供上下文关系第二章软件体系结构建模1体系结构进行模型构建的五大类:1结构模型这是一个最直观、最普遍的建模方法。

这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质等。

研究结构模型的核心是体系结构描述语言2框架模型框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。

框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构。

3动态模型动态模型是对结构或框架模型的补充,研究系统的“大颗粒”的行为。

例如,描述系统的重新配置或演化。

动态可以指系统总体结构的配置、建立或拆除通信通道或计算的过程。

4过程模型过程模型研究构造系统的步骤和过程。

结构是遵循某些过程脚本的结果5功能模型功能模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。

功能模型可以看作是一种特殊的框架模型。

2 4+1视图“4+1”视图模型从5个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。

每一个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。

3 软件体系结构核心模型(1)构件:计算或存储数据单元,包含多种属性,如接口、类型、语义、约束、演化和非功能属性等。

(2)连接件:建立构件间的交互以及支配这些交互规则的体系结构构造模块。

(3)体系结构配置:描述体系结构的构件和连接件的连接图。

用于确定构件是否正确连接、接口是否匹配、连接件构成的通信是否正确,并说明实现要求行为的组合语义。

第三章软件体系结构的风格1 什么是软件体系结构的风格:软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。

核心要素:软件体系结构风格定义的主要内涵:➢定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。

➢词汇表中包含一些构件和连接件类型。

➢约束指出系统是如何将这些构件和连接件组合起来的。

➢(1)提供一个词汇表;➢(2)定义一套配置规则;➢(3)定义一套语义解释原则;➢(4)定义对基于这种风格的系统所进行的分析。

2 经典的软件体系结构风格1 管道/过滤风格2数据抽象和面向对象组织3基于事件的隐式调用4分层系统5 仓库系统及知识库6 C2风格3 客户/服务器风格4 浏览器/服务器风格5异构结构的实例(优缺组成)1)“内外有别”模型在C/S与B/S混合软件体系结构的“内外有别”模型中,企业内部用户通过局域网直接访问数据库服务器,软件系统采用C/S体系结构;企业外部用户通过Internet访问Web服务器,通过Web服务器再访问数据库服务器,软件系统采用B/S体系结构。

优点:外部用户不能直接访问数据库服务器,能保证企业数据库的相对安全。

企业内部用户的交互性较强,数据查询和修改的响应速度较快。

缺点:企业外部用户修改和维护数据时,速度较慢,较繁琐,数据的动态交互性不强。

2 )“查改有别”模型在C/S和B/S混合软件体系结构的“查改有别”模型中,不管用户是通过什么方式(局域网或Internet)连接到系统,凡是需执行维护和修改数据操作的,就使用C/S体系结构;如果只是执行一般的查询和浏览操作,则使用B/S体系结构。

特点:体现了B/S体系结构和C/S体系结构的共同优点。

但因为外部用户能直接通过Internet 连接到数据库服务器,企业数据容易暴露给外部用户,给数据安全造成了一定的威胁。

第五章特定领域的体系结构1什么是特定领域软件体系结构?特定领域软件体系结构(domain specific software architecture),简称DSSA。

DSSA就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构。

2基本活动的划分第一阶段:领域分析这个阶段的主要目标是获得领域模型(Domain Model)。

领域模型描述领域中系统之间的共同需求,并尽可能得识别和描述领域变化性。

准备性的活动包括:(1)定义领域的边界(2)识别信息源第二阶段:领域设计这个阶段的目标是获得领域架构(Domain Specific Software Architecture,即DSSA)。

DSSA的特点:(1)DSSA不是单个系统的表示,而是能够适应领域中多个系统需求的一个高层次的设计。

(2)DSSA要适当的具有变化性。

第三阶段:领域实现这个阶段的主要目标是依据领域模型和DSSA开发和组织可重用信息。

这些可重用信息可能是从现有系统中提取得到的,也可能需要通过新的开发得到,它们依据领域模型和DSSA进行组织,从而支持了系统化的软件重用。

3 DSSA的建立过程(1)定义领域范围(2)定义领域特定的元素(3)定义领域特定的设计和实现需求约束(4)定义领域模型和体系结构(5)产生、搜集可重用的产品单元以上这些过程是一个反复的、逐步求精的过程。

4 DSSA和体系结构风格的比较1 DSSA以问题域为出发点,体系结构风格以解决域为出发点。

2 DSSA只对某一个领域进行设计专家知识的提取、存储和组织,但可以同时使用多种体系结构风格;而在某个体系结构风格中进行体系结构设计专家知识的组织时,可以将提取的公共结构和设计方法扩展到多个应用领域3 DSSA通常选用一个或多个适合所研究领域的体系结构风格,并设计一个该领域专用的体系结构分析设计工具。

4体系结构风格的定义和该风格应用的领域是直交的,提取的设计知识比用DSSA提取的设计专家知识的应用范围要广。

5 DSSA和体系结构风格是互为补充的两种技术第六章软件体系结构描述的概念1软件体系结构描述的概念软件体系结构和软件体系结构描述不同的两个概念1)软件体系结构是附属于系统之中。

只要存在系统,体系结构就存在⏹如:每个石头都会有重量2)软件体系结构描述是将体系结构可视化的手段和产物⏹如:表示一个石头的重量2描述方法的种类1图形表达工具2模块内连接语言3基于软构件的系统描述语言4软件体系结构描述语言3基于软构件的系统描述语言这种表达和描述方式虽然也是较好的一种以构件为单位的软件系统描述方法,但是他们所面向和针对的系统元素仍然是一些层次较低的以程序设计为基础的通信协作软件实体单元,而且这些语言所描述和表达的系统一般而言都是面向特定应用的特殊系统,这些特性使得基于软构件的系统描述仍然不是十分适合软件体系结构的描述和表达。

4核心要素:ADL是在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。

相关主题