《软件体系结构最新总结.pdf》由会员分享,可在线阅读,更多相关《软件体系结构最新总结.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件体系结构最新总结 1.软件危机:指在计算机软件的开发和维护过程中所遇到的一系列严重问题。2.软件危机的表现:(重点)1 软件的成本日益增长 2 开发进度难以控制 3 软件质量差,4 软件维护困难 3.软件危机的成因:1 用户需求不明确 2 缺乏正确的理论指导 3 软件规模越来越大 4 软件复杂度越来越高 4.软件工程三个要素:方法、工具和过程-(重点)5.软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。6.软件元素包括 程序代码、测试用例、设计文档、设计过程、需求分析文档 甚至 领域知识 7.构件:指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中
2、可以明确辨 识的系统。即是具有一定功能,能够独立工作或能同其他构件装配起来协调工作的程序体。8.构件分类方法归纳为三大类:关键字分类法,刻面分类法和超文本组织方法-(重点)9.构件库系统是一个开放的公共构件共享机制,任何使用者都可以 通过网络访问构件库。-判断 10.软件体系结构(software architecture-SA)记住英语单词及缩写 (重点)定义:软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的 元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。11.软件体系结构的意义:-(简答)1)体系结构是风险承担者进行交流的手段;2)体系结
3、构是早期设计决策的体现;3)体系结构是可传递和可重用的模型 12.为什么体系结构是早期设计决策的体现-(简答)1)软件体系结构 明确了对系统实现的约束条件;2)软件体系结构 决定了开发和维护组织的组织结构;3)软件体系结构 制约着系统的质量属性;4)软件体系结构 通过研究软件体系结构可能预测软件的质量;5)软件体系结构 使推理和控制更改更加简单;6)软件体系结构 有助于循序渐进的原型设计;7)软件体系结构 可以作为培训的基础 13.软件体系结构技术的发展过程经历四个阶段:-选择,判断(1)“无体系结构”设计阶段 -以汇编语言 进行小规模应用程序开发为特征。(2)萌芽阶段 以控制流图 和数据流图
4、构成软件结构为特征(3)初期阶段-出现了从不同侧面描述系统的结构模型,以 UML为典型代表(4)高级阶段 -描述系统的高层抽象结构,以提出的“4+1”模型为标志 14.软件体系结构模型 5 种:结构模型、框架模型、动态模型、过程模型和功能模型。-填空 15.“4+1”视图模型从五个不同的视角,包括 逻辑试图,进程试图,物理视图,开发视图和 场景视图 来描述软件体系结构。-记住名称及相应的功能 逻辑视图主要支持系统的 功能需求,是系统提供给 最终用户的服务。通过抽象,封装和继承,可以用对象模型 来代表逻辑视图,用类图来描述逻辑视图;开发视图 也称模块视图,主要侧重于 软件模块的组织和管理,主要考
5、虑软件内部的需求,如 软件开发的容易性、软件的重用等,通过系统输入输出关系的模型图和子系统图来描述,提供 给编程人员 的;进程视图 侧重于系统的运行特性,主要 关注非功能性的需求,如系统的性能和可用性。进程 视图强调并发性、分布性、系统集成性和容错能力管道和过滤器风格、客户/服务器风格等适 合进程视图,提供给 系统集成人员 的;物理视图 主要考虑如何把软件映射到硬件上,它通常考虑系统性能、规模、可靠性等,解决 软件体系结构最新总结 系统拓扑结构、系统安装、通信问题,提供给系统工程人员 的。而场景是那些重要系统活动的抽象,它使四个视图有机联系起来,是最重要的需求抽象,它 可以帮助设计者找到系统结
6、构的构件和他们之间的作用关系。总之,逻辑视图和开发视图描 述系统的静态结构,而进程视图和物理视图描述系统的动态结构。软件体系结构的核心模型 由五中元素组成:构件、连接件、配置、端口和角色。16.软件体系结构的核心模型由五种元素组成:构件、连接件、配置、端口和角色。其中 构 件、连接件 和配置 是最基本的元素。填空 17.软件体系结构的建立应位于 需求分析 之后,软件设计(也称概要设计)之前 18.软件体系结构风格 是描述某一特定应用领域中系统组织方式的惯用模式。软件体系结构 风格反映了领域中众多系统所共有的结构和语义特性。19.通用体系结构风格的分类:填空 或选择 重点记忆黑体部分属于哪一风格
7、 1)数据流风格:批处理序列,管道/过滤器 2)调用/返回风格:主程序/子程序,面向对象风格,层次结构 3)独立构件风格:进程通信,事件系统 4)虚拟机风格:解释器,基于规则的系统 5)仓库风格:数据库系统,超文本系统,黑板系统 20.C/S 体系结构三个主要组成部分:数据库服务器、客户应用程序 和网络 21.C/S 优点-客户应用程序和服务器构件分别运行在不同计算机,对于硬件和软件的变 化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小;系统中功能构件充分 隔离,客户应用程序的开发集中于数据的显示和分析,将大应用处理任务分布到许多通过 网络连接的低成本计算机上,节约大量的费用。-自己
8、简要回答 C/S缺点-开发成本高;客户端程序设计复杂;信息内容和形式单一;用户界面风格 不一;软件移植困难;软件维护和升级困难;新技术不易应用。22.三层 C/S 体系结构将应用功能分成 表示层、功能层 和数据层 三个部分。23.浏览器/服务器(browser/server,B/S)结构,其具体结构为:浏览器/Web服务器/数据 库服务器。B/S体系结构主要是利用不断成熟的 WW浏览器技术,在B/S结构中除了数据 库服务器外,应用程序以网页形式存放于Web服务器上。基于B/S体系结构的软件,系统 安装、修改和维护全在服务器端解决,真正达到了“零客户端”的功能。24.B/S 体系结构的不足之处:
9、1)缺乏对动态页面的支持能力,没有集成有效的数据库处理功能 2)系统扩展能力差,安全性难以控制。3)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。4)B/S 体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务 处理应用。25.正交软件体系结构由组织层和线索的构件构成。线索是相互独立的。25.正交软件体系结构的主要特征:1 正交软件体系结构由完成不同功能的 n 个线索组成。2系统具有m个不同抽象级别的层。3 线索之间是相互独立的(正交的)。4 系统有一个公共驱动层(一般为最高层)和公共数据结构(一般为最低层)。26.正交软件体系结构的优点
10、:-简答 1 结构清晰,易于理解 -形式易于理解,线索功能相互独立,不进行相互调用;2 易修改,可维护性强 -由于线索的相互独立,所以对一个线索的修改不会影响到其 他线索;3可移植性强,重用粒度大 -因为正交结构可以为一个领域内的所有应用程序所共享,这些软件有着相同或类似的层次和线索,可以实现体系结构级地重用 软件体系结构最新总结 27.随着软件系统规模的扩大,系统也越来越复杂,所有的系统不可能都在单一的,标准的 结构上进行设计。-可能有 判断,即一种体系结构有多种风格(对)28.特定领域软件体系结构(domain specific software architecture,DSSA:是在一
11、个 特定应用领域中为一组应用提供组织结构参考的标准软件体系结构。-要能看懂英文 29.DSSA基于特定领域软件体系结构)的基本活动:领域分析,领域设计,领域实现。参与 DSSA勺人员分为四种角色:领域专家、领域分析师、领域设计人员和领域实现人员 30.软件体系结构描述方法有几种:图形表达工具,模块内连接语言,基于软构件的系统描 述语言,软件体系结构描述语言(ADL:-简答 31.体系结构描述语言(ADL)构成要素:构件,连接件,体系结构配置 32.典型的软件体系结构 描述语言有:Unicon,C2,Wright,Rapide,SADL,Aesop,ACME 判断题,可能给C是设计语言,不是结构
12、描述语言(注意看清是给的 C还是C2)33.记住全称:UML(unified modeling language;)XML(extensible markup language)HTML(hypertext markup language,超文本标记语言:SGM(L standard generalized markup Ianguage,标准通用标记语言)34.Web服务是使用标准技术在In ternet上运行的商务流程,它可以使用标准的In ternet协 议,将功能纲领性地体现在 In ternet 和Intranet 上。Web服务(web services)作为一 种新兴的Web应用
13、模式,是一种崭新的分布式计算模型,是Web上数据和信息集成的有效 机制。35.Web!务的特点-简答 1 使用标准协议规范;2 使用协约的规范性;3 高度集成能力;4 完好的封装性 5 松散耦合 36.WEB艮务技术核心基于 可扩展标记语言(XML的标准,包括:SOAR简单对象访问协议),WSDL(WES务描述语言),UDDI(统一描述、发现和集成协议)37.Web服务技术可以分为五个逻辑层,分别为数据层(data layer)、数据访问层(data access Iayer)、业务层(business Iayer)、业务面(business Iayer)和监听者(Iistener)38.一个
14、完整的web服务包括三种逻辑构件:服务提供者、服务代理和服务请求。与web服 务相关的操作有发布、发现和绑定。Web务开发生命周期分为构建、部署、运行和管理 四个阶段。39.WebK务体系结构的优势-简答 1 高度的通用性和易用性 2 完全的平台、语言独立性 3 高度的集成性 4 容易部署和发布 40.作为web服务基础的是XML(可扩展标记语言)填空或判断 41.面向服务的软件体系结构(SOA):是一种应用程序体系结构,在这种体系结构中,所有 的功能都定义为独立的服务,这些服务都定义明确的可调用接口,可以以定义好的顺序调 用这些服务来形成业务流程。-P182 第(3)的定义也可以 42.面向
15、服务的体系结构(SOA模型具有的特征:1松散耦合2粗粒度服务3标准化接口 43.模型-视图-控制器(MVC把交互系统的组成分解成模型、视图、控制三种构件 44.设计模式是一些设计面向对象的软件开发的经验总结 45.设计模式的基本成分:模式名称,问题,解决方案,后果 46.根据模式的目标可以分成:创建性模式、结构性模式和行为性模式,可进一步细化为 23 种设计模式。(记清是 23 种),另外记住 Abstract Factory 属于创建性模式,Observer 属于行为性模式 47.基于体系结构的软件开发过程可以分为独立的两个阶段:实验原型阶段和演化开发阶段 软件体系结构最新总结 -填空 48
16、.ABSDM模型把整个基于体系结构的软件过程划分为体系结构需求、设计、文档化、复审、实现、演化等六个子过程。见 P215 页图 体系结构文档化过程 的输出结果是 体系结构需求规格说明 和测试体系结构需求的质量设 计说明书 这两个文档。文档的 完整性和质量 是软件体系结构成功的关键因素。文档要从使 用者的角度进行编写,必须分发给所有与系统有关的开发人员,且必须保证开发者手上的 文档是最新的。在一个主版本的软件体系结构分析之后,要安排一次又外部人员参加的 复审。最后一步是测试,包括单个构件的功能性测试和被组装应用的整体功能和性能测试。49.软件体系结构作为一个高层次的抽象,它描述了 构件及其之间的
17、关系。50.复杂性分析包括:构件的复杂性,连接件的复杂性 51.软件体系结构测试与程序测试不同,它是检查软件设计的 适用性,不考虑软件的代码实 现。软件体系结构主要关注系统的 结构和组装,如果参与组装的各个部分之间彼此冲突,那么由此组装、精化和实现的系统一定不能工作。52.测试准则:测试应覆盖所有的构件及各个构件的接口、各个连接件的接口、构件之间的直 接连接、构件之间的间接连接。53.软件体系结构测试过程可以分为 单元测试、集成测试和系统测试。单元测试 时最底层的 测试活动,指构件开发者对构件本身的测试,一般有构件开发者完成。集成测试 的主要任 务是测试构件之间的接口以保证构件能够交互。系统测
18、试 的主要任务是测试整个系统能否 正常运行,保证系统符合其设计模式。测试过程中根据测试准则级别,可选择不同的测试 路径,生成测试用例。54.系统质量属性:性能,可靠性,可用性,安全性,可修改性,功能性,可变性,集成性,互操作性。可修改的四个方面:可维护性,可扩展性,结构重组,可移植性 55.敏感点和权衡点不一样。虽然都是关键的体系结构决策,但敏感点是一个或多个构件的 特性,权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。56.软件体系结构评估方式有三类:基于调查问卷或检查表的方式、基于场景的方式和基于 度量的方式。选择 -选哪一项不是评估方式的 57.概念:产品线 就是由在系统的组成元素和功能方面具有共性和个性的相似的多个系统组 成的一个系统族。软件产品线 就是在一个公共的软件资源集合基础上建立起来的,共享同一个特性集合的系 统集合。主要由 核心资源和产品集合 组成,核心资源是领域工程的所有结果的集合。58.看懂 P283 图 59.产品线开发包括核心资源库的开发和使用核心资源的产品开发。有时,把核心资源库的 开发也成为 领域工程,把产品开发称为 应用工程。