第一章软件重用和构件技术
软件重用(Software reuse)是一种预先构造好的,为重用目的而设计的软件构件类建立或组装软件系统的过程。 构件描述模型:构件模型是对构件本质特征的抽象描述。 一、参考模型(代表3C模型)
3c分别代表概念(Concepte)、内容(Content)、语境(Context)。主要用于形式化的描述方法。 二、描述模型(代表 REBOOT模型)
ReBoot认为可以用有限维信息空间的术语组织从若干个刻面的综合角度来刻画一个构件。 三、现实模型(代表青鸟构件模型)
青鸟模型由内部接口和外部接口两部分组成。 构件获取途径:
1、 从现有的构件中获得符合要求的或基本符合要求的构件,直接使用或适当修改,得到可重用的构件。 2、 通过遗留工程,将具有潜在的重用价值的构件提取出来,得到重用构件。 3、 从市场上购买现有的商业构件。
4、 开发新的符合要求的构件。
构件分类:1关键字分类法;2刻面分类法;3超文本分类法、
构件库检索方法:1基于关键字的检索;2刻面检索法;3超文本检索法;4其他检索方法。 构件组装的方法:1)基于功能的组装技术;2)基于数据的组装技术;3)面对对象的组装技术。
第二章体系结构概论
体系结构基本组成部分:包括系统构件(指具有一定功能、可明确辨识的软件单位,并具备特点:语义完整、语法正确、有可重用价值),连接件(用来构建构件间的交互以及支配这些交互的体系结构模块),约束(描述了体系结构配置和拓扑的要求,确定了体系结构的构件与连接件的连接关系)。
第三章软件体系结构的风格
人们在开发某些类型软件过程中积累起来的组织规则和结构就形成了软件体系结构风格。软件体系结构风格是描述某一特定领域中系统组织方式的惯用模式。
软件体系结构风格的最关键的四要素内容:一个词汇表,一套配置规则,一套语义解释原则,和定义对基于这种风格的系统所进行的分析。
通用体系结构的分类:
1、 数据流风格:批处理序列;管道-过滤器
2、 调用/返回风格:主程序\\子程序;面对对象风格;层次结构 3、 独立构件风格:进程通讯;事件系统;
4、 虚拟机风格:解释器;基于规则的系统;
5、 仓库风格:数据库系统;超文本系统;黑板系统。
经典软件体系结构风格:
管道-过滤器:构件被称为过滤器(独立的实体,不与其他过滤器共享数据),连接件就像是数据流传输的管道。
数据抽象和面对对象风格:构件是对象
基于事件的调用风格:构件时一个模块,模块既可以是一些过程,又可以是一些事件的集合。
层次系统风格:构件在一些层实现了虚拟机,连接件通过决定层间如何交互的协议来定义。
仓库风格和黑板风格:仓库风格由两种构件:一个中央数据结构,他表示当前状态;一个独立构件的集合,他对中央数据结构操作。当中央数据结构的当前状态决定进行何种处理时,为一个黑板体系结构,是仓库体系结构的特殊化。黑板系统通常有三部分构件:1)知识源;2)黑板数据结构;3)控制器 模型-视图-控制器(mvc)风格:构件:1、视图;2、模型;3、控制器
解释器风格:四个构件:正在解释的程序、执行引擎、被解释程序的当前状态、执行引擎的当前状态。 C2风格:又构件和连接件两种元素组成。
KWIC(key word in context)上下文关键字索引系统接收一些行,每行有若干字,没字如干字母组成。每行循环移位,重复的把第一个子删除,然后接到行末。
C/S体系结构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。服务器为多个客户应用程序管理数据,客户程序发送、请求和分析从服务器接收的数据,(胖客户机) 三层C/s增加了应用服务器。可以将整个应用逻辑驻留在服务器上,而只有表示层存在客户机上(瘦客户机)。功能分层:表示层(用户接口部分)、功能层(相当于应用的本体,将具体的业务处理逻辑编入程序中)、数据层(数据库管理系统,负责数据的读写)。 浏览器/服务器为三层c/s的实现(浏览器、web服务器、数据库服务器)。 异构结构风格:
c/s和b/s混合软件体系结构结合的两个模型:1)内外有别模型,企业内通过局域网直接访问数据库服务器,软件体系采用C/S体系结构;企业外用过Internet访问web服务器,通过web服务器在访问数据库,采用B/S.
2)查改有别模型:方式需要执行维护和修改的数据操作,用c/s体系结构,若只是一般的查询和浏览,用b/s体系结构。
第四章软件体系结构描述
描述方法:1、图像表达工具2、模块内连接语言3、基于软构件的系统描述语言4、软件体系结构描述语言5、软件体系结构描述框架标准。
软件体系结构描述语言构成要素:其中三个基本元素:构件,连接件,体系结构配置。
ADL与其他语言的比较:典型的ADL在充分继承和吸收传统程序设计语言的精确性和严格性特点的同时,还应: 1) 构造能力指ADL使较小的独立体系结构好构造大型软件系统。
2) 抽象能力指ADL使得软件体系结构中的构件和连接件描述可以只关注他们的抽象特性,而不管其他细节。 3) 重用能力指ADL使得组成软件体系的构件、连接件甚至软件体系结构都成为软件开发和设计的可重用部件。 4) 组合能力指ADL使得其描述的每一个元素都有其局部构件。 5) 异构能力指ADL允许多个不同的体系结构描述关联存在。
6) 分析和推理能力指ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析。
代表性的adl:unicon、c2、wright和acme.
4+1视图模型(the 4+1 View Model of Architecture):逻辑视图(Logical View面对对象的分析)、过程视图(Process view过程分析)、物理视图(Physical view从软件到硬件的映射)、开发视图(Development View子系统分解)、场景(Scenarios汇总)。
场景视图承担着两个任务:1)在讲到的体系结构的设计中,将以此视图为驱动来发现体系结构元素。2)在体系结构设计结束后,此视图承担验证和描述的角色,他不仅用于书面记录,并且是体系结构原型测试的起始点。 UML图:1用例图(Use case diagram)、2类图(class diagram)、3对象图(object diagram)、4顺序图(sequence diagram)5协作图(collaboration diagram)6状态图(statechart diagram)7活动图(Activity diagram)8构件图(compenent Diagram)9部署图(deployment diagram)10其他特征图(包(package)、注释(Note)、构造型(stereotype))。
第七章软件体系结构评估
质量属性:1性能;2可靠性;3可用性(容错、健壮性);4安全性;5可修改性(可维护性、可扩展性、结构重组、可移植性);6功能性;7可变性;8可集成性;9互操作性。
主要评估方法:1)基于调查问卷或检查表的评估方法。2)基于场景的评估方法。3)基于度量的评估方法。 三
种
评
估
方
法
比
较
:
Saam软件体系结构分析方法一般步骤:
1) 场景生成。
每个参与着都有自己的视角,并提供基于此的场景。
2) 体系结构描述
以一种参与者能接受的形式表达,对构件、连接件、模块、配置、依赖、部署等概念要区分清楚。 3) 场景分类和优先级确定
Saam中:直接场景和间接场景。
由于时间和资源有限,就需要通过设置优先级的方法来选择最关键的场景。 4) 间接场景和单独评估
间接场景都要求改动当前体系结构。
5) 对场景关联的评估
不同的场景都要求对同一个体系结构元素进行修改。场景关联的程度高意味着功能分解不良,可能是灾难的种子。
6) 形成整体评估
形成总体报告。修改计划将基于此报告。 ATAM体系结构权衡分析方法
ATAM基于三个领域:体系结构风格、质量属性分析组、SAAM。 阶段0:准备
评估团队会议,明确责任并为下一个阶段做好准备。 阶段III:核心评估 步骤1介绍atam。 2介绍商业动机。 3介绍体系结构。
4识别体系结构方法。 5生成质量属性效用树。 6分析体系结构方法。
7头脑风暴和设定场景优先级。 8分析体系结构方法。 9报告。
阶段III:收尾过程
第八章 web服务体系结构
Web services技术是一套标准,定义了应用程序如何在web上实现互操作,从而建立可互操作的分布式应用的新平台。简单来说,web services就是一个向外界暴漏出的,能够通过Internet进行调用的API或者说应用程序。是部署在web上的对象或构件。
Web services平台四个技术:
1、 Xml(eXtensible Markup language).平台中数据基本格式,解决了数据表示的问题。
2、 SOAP(simple object access protocol)简单对象访问协议。提供了标准的RPC方法来调用web services。
3、 WSDL(web services description language)web服务描述语言.用户描述web services及其操作、参数和返回值的
语言。aaa
4、 UDDI(Universal description discovery and Integration)统一,发现和集成协议。其目的是在网上自动查找web
services。含白页(地址和联系人)、黄页(行业分类)、绿页(服务描述)。 Web services应用场合与局限 1. 跨防火墙的通信
2. 应用程序集成 3. B2B的集成
4. 软件和数据重用
Web services体系结构基于三种角色(服务提供者、服务注册者、服务请求者)。
协议栈:要以一种互操作的方式执行发布、发现和绑定,必须有一个包含每一层保准的web services的协议栈。协议栈的基础是网络层。
Web services的开发周期
Web services的开发周期包括设计、部署以及运行时对服务注册中心、服务提供者和服务请求者每一个角色的要求。的要求。开发生命周期有四个阶段:
1) 构建。定义服务接口描述和定义web services实现描述。
2) 部署。向服务注册中心,发布服务接口和服务实现的定义,以及把web services的可执行文件部署到执行环境中。 3) 运行。可以调用web services。
4) 管理。包括持续的管理和经营web services应用程序。 Web services开发方案
1、零起点。2、自底向上。3自顶上下。4、中间相遇。
因篇幅问题不能全部显示,请点此查看更多更全内容