软件体系结构概论

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章软件体系结构概论。

软件架构的定义,意义,应用现状

△定义:

概念角度描述系统的主要构件及他们的关系,模块角度包含功能分解和层次结构,运行角度描述了一个系统的动态结构,代码角度描述了各种代码和库函数在开发环境中的组织

△意义:

①体系结构是风险承担者进行交流的手段②体系结构是早期设计决策的体系③软件体系结构是可传递和可重用的模型

△应用现状:

①软件体系结构描述语言②体系结构描述构造与表示③体系结构分析,设计与验证④体系结构发现,演化和重用⑤基于体系结构的软件开发方法⑥特定领域的体系结构框架⑦软件体系结构支持工具⑧软件产品线体系结构⑨建立评价软件体系结构的方法

第2章软件体系结构建模。

软件体系结构建模的种类△

①结构模型②框架模型③动态模型④过程模型⑤功能模型

4+1模型,RUP 4+1图△

①逻辑视图:主要支持系统的功能需求,即系统提供给最终用户的服务,用类图描述逻辑视图

②进程视图:也称作并发视图,侧重于系统的运行特性,主要关注一些非功能性的需求,进程视图强调并发性,分布性,系统集成性和容错能力,以及从逻辑视图中主要抽象如何适合进程结构,它也定义逻辑视图中的各个类的操作具体是在哪一个线程中被执行的

③物理视图:主要考虑如果把软件映射到硬件上,它通常要考虑到系统的性能,规模,可靠性

④开发视图:也称作模块视图,主要侧重于软件模块的组织和管理

⑤场景视图:重要活动的抽象,它使4个视图有机的联系起来,从某种意义上说场景是最重要的需求抽象软件体系结构的生命周期模型△

各阶段的关系:△

①需求分析阶段,包括需求获取,生成类图,对类分组,将类打包成构件和需求评审等过程

②建立软件体系结构阶段,从结构角度分析,选择恰当的构件,构件的相互作用以及约束,为设计奠定基础

③设计阶段,模块化,并决定各构件间的详细接口,算法和数据结构

④实现阶段

软件体系结构的生命周期:△

①软件系统结构的非形式化描述

②软件体系结构的规范描述和分析

③软件体系结构的求精及其验证

④软件体系结构的实施

⑤软件体系结构的演化和拓展

⑥软件体系结构的提供,评价和度量

⑦软件体系结构的终结

第3章软件体系结构风格。

管道/过滤器△

①优点:使具有良好的隐蔽性,高内聚低耦合的特点

②允许将整个系统的输入输出行为看成是多个过滤器的行为的简单合成

③支持软件重用

④系统维护和增加系统性能简单

⑤允许对一些如吞吐量,死锁等属性的分析

⑥支持并行执行

缺点:

①通常导致进程成为批处理的结构

②不合适的处理交互应用

③由于数据传输上无通用的标准,导致了性能的下降,并增加了编写过滤器的复杂性

数据抽象和面向对象风格△

优点:

①可以改变一个对象的表示而不影响其他对象

②可将一些数据存取操作的问题分解成一些交互的代理程序的集合

缺点:

①两对象通过过程调用等进行交互时,必须知道对象的标识

②必须修改所有显示调用它的对象,并消除由此带来的一些副作用

分层系统△

优点:

①支持基于抽象程度递增的系统设计

②支持功能增加

③支持重用

缺点:

①并非每个系统都可以很容易的划分为分层的模式

②很难找到一个合适,正确的层次抽象方法

仓库系统及其知识库△

两种不同的构件,中央数据结构说明当前状态,独立构件在中央数据储存中执行

黑板系统:知识源,黑板数据结构,控制

C2风格△

特点:

①系统中的构件可实现应用需求,并能将任意复杂度的功能封装

②所有构件之间的通信以连接为中介的异步消息交换机制来实现

③构件相对独立,构件之间依赖性较少

客户/服务器风格:△

服务器主要任务:

①数据库安全性的要求

②数据库访问并发性的控制

③数据库前段的客户应用程序的全局数据完整性规则

④数据库的备份和恢复

客户主要任务:

①提供用户与数据库交互的界面

②向数据库服务器提交用户请求并接收来着数据库服务器的信息

③利用客户应用程序将存在于客户端的服务器和客户应用程序之间数据传输

优点:

在于系统客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,表现出极大的适应性和灵活性,易于扩充和缩小

缺点:

①开发成本高

②客户端程序设计复杂

③信息内容和形式单一

④用户界面风格不一,不利用推广

⑤软件移植困难

⑥软件维护和升级困难

⑦新技术不能轻易应用

三层 C/S结构风格△

优点:

①能提高系统和软件的可维护性和可扩展性

②整个系统的管理层次更加合理和可控制

③使系统构成的变更变得非常简单

④对每一层的处理逻辑的开发和维护变得容易

领域特定的软件架构(DSSA)△

必备特征:

①一个严格定义的问题域/或解决域

②具有普遍性,使其可以用于领域中某个特定应用的开发

③对整个领域的合适程度的抽象

④具备该领域固定的,典型的再开发过程中可重用的元素

基本活动:

①领域分析②领域设计③领域实现

参与人员:①领域专家②领域分析人员③领域设计人员④领域实现人员

第4章软件体系结构描述

体系结构描述方法△

①图形表达工具②模块内连接语言③基于软构件的系统描述语言④软件体系结构描述语言

体系结构描述框架标准

①体系结构的存档要求②能识别人员及其关系③体系结构视点的选择④体系结构视点⑤体系结构视点之间的一致性⑥体系结构原理

第5章统一建模语言(UML).

复习UML的各种图的含义,用途和画法△

第6章可扩展标记语言(XML).

XML的特点,作用,应用△

特点:

①简洁有效②易学易用③开放的国际化标准④高效且可扩充

作用:

①使搜索更加有价值②开发灵活的Web应用软件③使用于多种应用环境⑤数据显示多样化⑥局部数据更新⑦与现有的Web发布机制相兼容⑨可升级性⑩压缩性高

应用:

①应用于客户需要与不同数据源交互时

②应用于将大量运算负荷分布在客户端

③应用于将同一数据以不同的面貌展现给不同的用户

④应用于网络代理对所取得信息进行编辑,增减以适应个人用户的需要

XML与HTML的区别△

HTML是一种格式化的语言,一个HTML文本可以看作一个格式化程序,HTML定义了一套固定的标记,用来描述一定数目的元素。用HTML描述的程序或文本具有“内容+格式”的双重属性。一个HTML程序在不同平

相关文档
最新文档