版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 软件体系结构概论1 什么是软件危机?主要特点、表现形式、策略软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题软件危机的表现形式:1) 软件成本的日益增长:相反,计算机硬件随着技术的进步、生产规模的扩大,价格却在不断的下降,这样一来,软件成本在计算机中占有的比例越来越大2) 开发进度难以控制:用户需求变化等各种意想不到的情况层出不穷,常常令软件开发过程很难保证按预定的计划实现,给项目计划和论证工作带来很大的困难3) 软件质量差4) 软件维护困难软件危机的成因:1 用户需求不明确 2 缺乏正确的理论指导3 软件规模越来越大 4软件复杂度越来越高 如何克服软件危机(策略):
2、用工程的方法进行软件生产的可能性,即应用现代工程的概念、原理、技术和方法进行计算机软件的开发、管理和维护软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法。软件工程包括三要素:方法、工具和过程2软件构件的概念 构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。简单地说,构件是具有一定功能,能够独立工作或能同其他构件装配起来协调工作的程序体,构件的使用同它的开发、生产无关。构件模型是对构件本质特征的抽象描述3构件重用的概念构件开发的目的是重用,为了让构件在新的软件项目中发挥作用,
3、库的使用者必须完成以下工作:检索与提取构件,理解与评价构件,修改构件,最后将构件组装到新的软件产品中4软件重用的定义 软件重用是指在两次或多次不同的软件开发过程中,重复使用相同或相近软件元素的过程。软件元素(即软构件)包括:程序代码、测试用例、设计文档、设计过程、需求分析文档、领域知识等。5 管理重用的方法(列举,不用扩展) 有效进行软件重用的业界经验总结 (1)关注特定领域的软件资源 (2)正确命名软件资源(3)慎重考虑是否具备重用的必要(4)迭代演进可重用的资源(5)保持一致性要比遵循行业标准更重要(6)进行代码审查(7)没有自动化的回归测试套件,就不要发布可重用的软件资源(8)理解业务需
4、求之后再去说服别人(9)尽可能与开发团队一起创建可重用的软件资产(10)从生产支持人员那里获取可重用资源的需求6软件体系结构的概念概念:软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件体系结构不仅定义了系统的组织结构和拓扑结构,并且显示系统需求和构成系统元素之间的对应关系,提供了一些涉及决策的基本原理。7 软件体系结构核心研究内容,包含的含义,具体构架,模式和框架软件体系结构的意义:1 体系结构是风险承担者进行交流的手段2 体系结构是早期设计决策的体现3 软件体系结构是可传递和可重用的模型软件
5、体系结构研究的内容:1结构性问题2系统的组织,由哪些组件构成3全局性的控制结构4通讯、同步或访问的协议5将功能分配到不同的系统组成部分6设计元素的组成7系统的物理分布8可扩展性、性能软件体系结构的主要内容:1) 对系统组成元素的描述2) 这些元素相互之间的交互3) 系统组成的模式4) 模式的约束软件体系结构的研究领域 1 通过提供一种新的体系结构描述语言解决体系结构描述问题。2 体系结构领域知识的总结性研究。3 针对特定领域的框架的研究。4 软件体系结构形式化支持的研究。软件体系结构的核心研究内容: 1体系结构风格2 设计模式3 应用框架体系结构风格:1体系结构风格是描述特定系统组织方式的惯用
6、范例,强调组织模式和惯用范例。2组织模式即静态表述的样例,惯用范例是反映众多系统共有的结构和语义。3体系结构风格独立于实际问题,强调软件系统中通用的组织结构。设计模式:1设计模式是软件问题高效和成熟的设计模板,模板包含了固有问题的解决方案。2设计模式可以看成规范了的小粒度的结构成分,独立于编程语言或编程范例。3每个模式处理系统设计或实现中一种特殊的重复出现的问题。应用框架 :1应用框架是整个或部分系统的可重用设计,表现为一组抽象构件的集合以及构件实例间交互的方法。2一个框架是一个可重用的设计构件,它规定了应用的体系结构,协作构件之间的关系,为构件复用提供上下文关系 第二章 软件体系结构建模1体
7、系结构进行模型构建的五大类:1结构模型这是一个最直观、最普遍的建模方法。这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质等。 研究结构模型的核心是体系结构描述语言2框架模型框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构。 3动态模型动态模型是对结构或框架模型的补充,研究系统的“大颗粒”的行为。例如,描述系统的重新配置或演化。动态可以指系统总体结构的配置、建立或拆除通信通道或计算的过程。4过程模型过程模型研究构造系统
8、的步骤和过程。结构是遵循某些过程脚本的结果5功能模型 功能模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。功能模型可以看作是一种特殊的框架模型。2 4+1视图“4+1”视图模型从5个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。 每一个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。 3 软件体系结构核心模型(1)构件:计算或存储数据单元,包含多种属性,如接口、类型、语义、约束、演化和非功能属性等。(2)连接件:建立构件间的交互以及支配这些交互规则的体系结构构造模块。(3)体系结构配置:描述体系结构的构件和连
9、接件的连接图。用于确定构件是否正确连接、接口是否匹配、连接件构成的通信是否正确,并说明实现要求行为的组合语义。第三章 软件体系结构的风格1 什么是软件体系结构的风格:软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。核心要素:软件体系结构风格定义的主要内涵:Ø 定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。Ø 词汇表中包含一些构件和连接件类型。Ø 约束指出系统是如何将这些构件和连接件组合起来的。Ø (1)提供一个词汇表;Ø (2)定义一套配置规则;Ø (3)定义一套语义解释原则;Ø (4)定义对基
10、于这种风格的系统所进行的分析。2 经典的软件体系结构风格1 管道/过滤风格 2数据抽象和面向对象组织 3基于事件的隐式调用 4分层系统 5 仓库系统及知识库 6 C2风格 3 客户/服务器风格4 浏览器/服务器风格5异构结构的实例(优缺组成)1)“内外有别”模型在C/S与B/S混合软件体系结构的“内外有别”模型中,企业内部用户通过局域网直接访问数据库服务器,软件系统采用C/S体系结构;企业外部用户通过Internet访问Web服务器,通过Web服务器再访问数据库服务器,软件系统采用B/S体系结构。优点:外部用户不能直接访问数据库服务器,能保证企业数据库的相对安全。企业内部用户的交互性较强,数据
11、查询和修改的响应速度较快。缺点:企业外部用户修改和维护数据时,速度较慢,较繁琐,数据的动态交互性不强。2 )“查改有别”模型在C/S和B/S混合软件体系结构的“查改有别”模型中,不管用户是通过什么方式(局域网或Internet)连接到系统,凡是需执行维护和修改数据操作的,就使用C/S体系结构;如果只是执行一般的查询和浏览操作,则使用B/S体系结构。特点:体现了B/S体系结构和C/S体系结构的共同优点。但因为外部用户能直接通过Internet连接到数据库服务器,企业数据容易暴露给外部用户,给数据安全造成了一定的威胁。第五章 特定领域的体系结构1什么是特定领域软件体系结构? 特定领域软件体系结构(
12、domain specific software architecture),简称DSSA。 DSSA就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构。2基本活动的划分第一阶段:领域分析 这个阶段的主要目标是获得领域模型(Domain Model)。 领域模型描述领域中系统之间的共同需求,并尽可能得识别和描述领域变化性。准备性的活动包括:(1)定义领域的边界(2)识别信息源第二阶段:领域设计 这个阶段的目标是获得领域架构(Domain Specific Software Architecture,即DSSA)。DSSA的特点:(1)DSSA不是单个系统的表示,而是能够适应领
13、域中多个系统需求的一个高层次的设计。(2)DSSA要适当的具有变化性。第三阶段:领域实现 这个阶段的主要目标是依据领域模型和DSSA开发和组织可重用信息。 这些可重用信息可能是从现有系统中提取得到的,也可能需要通过新的开发得到,它们依据领域模型和DSSA进行组织,从而支持了系统化的软件重用。3 DSSA的建立过程 (1)定义领域范围(2)定义领域特定的元素 (3)定义领域特定的设计和实现需求约束 (4)定义领域模型和体系结构 (5)产生、搜集可重用的产品单元以上这些过程是一个反复的、逐步求精的过程。 4 DSSA和体系结构风格的比较 1 DSSA以问题域为出发点,体系结构风格以解决域为出发点。
14、2 DSSA只对某一个领域进行设计专家知识的提取、存储和组织,但可以同时使用多种体系结构风格;而在某个体系结构风格中进行体系结构设计专家知识的组织时,可以将提取的公共结构和设计方法扩展到多个应用领域3 DSSA通常选用一个或多个适合所研究领域的体系结构风格,并设计一个该领域专用的体系结构分析设计工具。4体系结构风格的定义和该风格应用的领域是直交的,提取的设计知识比用DSSA提取的设计专家知识的应用范围要广。 5 DSSA和体系结构风格是互为补充的两种技术第六章 软件体系结构描述的概念1软件体系结构描述的概念软件体系结构和软件体系结构描述不同的两个概念1)软件体系结构是附属于系统之中。只要存在系
15、统,体系结构就存在n 如:每个石头都会有重量2) 软件体系结构描述是将体系结构可视化的手段和产物n 如:表示一个石头的重量2 描述方法的种类 1图形表达工具2模块内连接语言 3基于软构件的系统描述语言4软件体系结构描述语言 3 基于软构件的系统描述语言这种表达和描述方式虽然也是较好的一种以构件为单位的软件系统描述方法,但是他们所面向和针对的系统元素仍然是一些层次较低的以程序设计为基础的通信协作软件实体单元,而且这些语言所描述和表达的系统一般而言都是面向特定应用的特殊系统,这些特性使得基于软构件的系统描述仍然不是十分适合软件体系结构的描述和表达。4 核心要素: ADL是在底层语义模型的支持下,为
16、软件系统的概念体系结构建模提供了具体语法和概念框架。基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。其三个基本元素是:构件、连接件、体系结构配置。 构件:计算或数据存储单元 连接件:用于构件之间交互建模的体系结构构造块及其支配这些交互的规则 体系结构配置:描述体系结构的构件与连接件的连接图。 (体系结构建模UML)第七章 软件体系结构的分析和评估1 分析、评估的原因和概念一些软件体系结构的评估方法已经比较成熟并得到了应用和验证,如基于场景的软件体系结构分析方法(SAAM)、软件体系结构权衡分析方法(ATAM)、利用软件性能工程SPE对软件体系结构进行评估的方法(PAS
17、A),软件体系结构层次可维护性预测方法(ALMA)等。软件体系结构的分析评估,就是通过成本相对较低的活动来分析结构中可能存在的风险,发现软件体系结构中影响系统质量的关键因素,并提出相应的改进措施,在此基础上检验软件的性能需求是否得到满足。2 9个质量属性 (基本含义 ,标准,方法) 1性能 性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段事件内系统所能处理的事件的个数。 2可靠性 可靠性是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。1) 容错在错误发生时确保系统正确的行为,并进行内部“修复”。2)健壮性保护系统应用程序不受错
18、误或意外事件的影响,确保系统处于已经定义好的状态。3 可用性可用性是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。 4 安全性安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。安全性是根据系统可能受到的安全威胁的类型来分类的。安全性又可划分为机密性、完整性、不可否认性及可控性等特性。 5可修改性 1 可维护性2可扩展性3 结构重组4 可移植性6功能性功能性是系统所能完成所期望的工作的能力。一项任务的完成需要系统中许多或大多数构件的相互协作。 7可变性可变性是指体系结构经扩充或变更而成为新体系结构的能力。这
19、种新体系结构应该符合预先定义的规则,在某些具体方面不同于原有的体系结构。当要将某个体系结构作为一系列相关产品(例如,软件产品线)的基础时,可变性是很重要的。8集成性可集成性是指系统能与其他系统协作的程度。 9互操作性作为系统组成部分的软件不是独立存在的,经常与其他系统或自身环境相互作用。为了支持互操作性,软件体系结构必须为外部可视的功能特性和数据结构提供精心设计的软件入口。3 评估的基本方式(SAAM和ATM比较,优缺点)1) SAAM法是把一个物体最丰要的属性列举出来,再用检查表法把各个项目加以变化,并将其加以重新组合,然后再找出其中可以实行而且也有效果的项目。实质上是将列举法和检查表法互相配合使用。在使用检查表法的时候,我们会发现被检查的事物范围太大了。如用“替换”来变更设计时,是变更哪一部分的设计就没有具体确定。×SAAM方法在改良事物性质的方面
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年下半年浙江省卫生系统招聘模拟试题及答案
- 2026年市政道路绿化工程施工方案三篇
- 青岛版(六三制)数学二年级下册期中模拟卷1
- 树木年轮中不可交换有机氚的加速器质谱测定:方法、应用与展望
- 柳州市S中学教研组长领导力的深度剖析与提升路径
- 柔韧预浸炭纤维及Cf-C复合材料的制备工艺与抗氧化性能优化研究
- 柑橘黄龙病显色诊断技术:原理、应用与展望
- 枯草杆菌CobA和NasF的重组表达及活性解析:从基础到应用的深入探究
- 林州市农村小学“撤点并校”对学校体育的多维度影响与发展路径探究
- 析字法:从文字拆解到语义重构的谜题艺术
- 配电线路器材与电气设备-配电设备
- 垂直盾构施工方案
- 新编研究生综合英语教程UNIT1(潘海英)
- 人音版音乐五年级下册第3课《小白船》课件
- 应急能力建设评估课件
- 学位外语(本23春)形成性考核4试题答案
- TSG-08-2017-特种设备使用管理规则
- Z3050型-摇臂钻床使用说明书
- 饲料标签解析课件
- 中控教学-gcs使用入门
- GB/T 5843-2003凸缘联轴器
评论
0/150
提交评论