软件体系结构必考内容
软件体系结构(老师划重点版)
软件体系结构(老师划重点版)软件体系结构复习资料Chapter 11.软件重用技术可以减少软件开发过程中大量的重复性工作,这样就能提高软件生产率、降低开发成本、缩短开发周期。
2.软件构件是语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上他是语义描述、通信接口和实现代码的复合体。
简单的说,构件是具有一定的功能,能够独立工作或能同其他构件装配起来协调工作的程序体。
3.可重用技术对构件库组织方法的要求是:不仅要支持精确匹配、还要支持相似构件的查找。
4.超文本方法与基于数据库系统的构件库组织方法不同,它基于全文检索技术。
5.件体系结构充当一个理解系统构件和他们之间关系的框架,特别是那些始终跨越时间和实现的属性。
Chapter 26.软件体系结构的模型分为五种:结构模型、框架模型、动态模型、过程模型和功能模型,最常用的是结构模型和动态模型。
7.“4+1视图模型“从5个不同的视角:逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。
8.逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。
开发视图也可以成为模块视图,主要侧重于软件模块的组织与管理。
进程视图侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。
物理视图主要考虑如何把软件映射的硬件上,它通常要考虑系统性能、规模和可靠性等。
场景可以看做是那些重要系统活动的抽象,他是四个视图有效的联系起来,从某种意义上说场景是最重要的需求抽象。
从以上分析可知,逻辑视图和开发视图描述软件的静态结构,进程视图和物理视图描述系统的动态结构。
9.软件体系结构的核心模型有五种元素构成:构件、连接件、配置、端口和角色,其中构件、连接件和配置是最近本的元素。
构件时具有某种功能的可重用的软件模板单元,表示系统中最重要的计算元素和计算存储。
构件有两种:符合构件和原子构件,符合构件有其他符合构件和原子构件通过连接而成。
软件体系结构复习重点要点
软件体系结构构成 组件 连接器 模式的类型 体系结构模式、设计模式、基础模式 常见非功能属性 易修改性、可移植性、互操作性、可靠性、可复用性、效率
第3章 软件体系结构模式
体系结构模式 管道-过滤器(Pipe-Filter) 分层 知识库(黑板) MVC PAC 客户-服务器 COM/DCOM/COM+ 代理者(Broker) 微核(Microkernel) 映像(Reflection)
3.1 Pipe-Filter
推入式管线的动态行为分析 场景
数据源(Data Source)为主动式;过滤器Filter1的数据处理函数为f1, Filter2的数据处理函数为f2,且两者为被动拉出式;数据池为被动式。
行为
1. 数据源在控制流控制下将数据推入Filter1。 2. Filter1接到数据后,调用f1处理数据,并将结果推入Filter2。 3. Filter1接到数据后,调用f1处理数据,并将结果推入数据池。
2018/10/5
软件体系结构
7
3.2 分层 适用于复杂系统的结构层次化的组织方法。 静态结构
由多个层次组成。 每个层次只和自己紧邻的上下两层进行交互。 每个层次向其上层提供服务,同时作为客户调用其下层的功能。
3.3 知识库(黑板)
适用于无确定性求解策略的系统。 静态结构
3.5 PAC
以相互协作的PAC agent代理组成的层次形式来定义的交互式软件系统 结构。 PAC agent内部结构:
表示(Presentation) 提供agent的可视行为。
抽象(Abstraction) 维护agent的数据模型,提供对这些数据的处理功能。 控制(Control) 连接表示P和抽象A,并提供与其它agent的通信功能
软件体系结构课件_软件体系结构总复习
第一章 序论
软件体系结构的定义 Software Architecture is the structure or structures of
the system, Which comprise software elements, the externally visible properties of these Elements, and the relations among them
模块结构 组件-连接器结构 分配结构
分解结构 使用结构 分层结构 类或泛化
模块结构
分解结构 使用结构 分层结构 类或泛化
组件-连接器结构
组件 连接 连接的本质 连接器 组件间的联系
分配结构
什么是分配结构
硬件、团队结构、文件系统都会与软件构 架进行交互,所以必须考虑这一类结构。
第八章 构架编档
什么是架构编档,简要表达软件构架编档 要包含的主要内容。
第七章 软件产品线
产品线的概念 一个软件产品线是满足以下性质的
一组软件产品: -共享一组相同的、可管理的特性
的集合 -满足一类特定的市场需求
公共核心资产库(core assets base) COTS〔Commercial Off-the-Shelf〕 核心资产开发活动的输入和目标 产品开发活动中输入/输出关系 使用产品线的好处和代价
元进行操作 连接件:控制 根据控制策略的不同,分为: 数据库〔知识库〕:系统由输入数据流中的事务
信息来驱动,即输入数据流中的事务指令可以触 发系统相应进程的执行, 黑板:如果系统由中央数据结构的当前状态来驱 动,那么黑板模型。
黑板风格
Com它一些事物 元素外部可见的属性是指元素对其它元素来说 提供的效劳 需要的效劳 共享资源的使用等 各元素间的交互关系也可能有多种 例如:细划分,同步,调用,包含…
(完整版)软件体系结构复习题及答案
概述部分1、请分析软件危机的主要表现和原因。
表现:a)软件成本日益增加:开发、部署与应用成本高b)开发进度难以控制:不能按期完成c)软件质量差:错误率高,不能满足用户的需求,没有生命力d)软件维护困难:成本高,维护效果不理想,可能带来潜在的错误原因:1.用户需求不明确2.缺乏正确的理论指导3.软件规模越来越大4.软件复杂度越来越高2、请说明软件规模与复杂度对软件过程的影响及解决方法。
软件规模与复杂度增加后,软件开发和维护成本增加,开发进度难以控制,软件质量差,软件维护变得困难。
应更多地采用科学的分析、设计和实现方法以及辅助工具,增强软件分析和设计的力度,并通过构件化提高软件的重用能力。
3、什么是软件体系结构,由哪三个部分组成?(构件、连接件、约束)软件体系结构为软件系统提供了一个结构、属性和行为的高级抽象。
它不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
4、请简述软件重用的含义和意义。
可重用元素包括哪些种类?软件重用是指在多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
(含义)可重用的元素包括程序代码、测试用例、设计文档、需求分析文档甚至领域知识。
(种类)可重用的元素越大,我们就说重用的粒度(Granularity)越大。
软件重用是软件产业工业化、工程化的重要手段。
软件重用对提高生产率,降低开发成本,缩短开发周期,改善软件质量以及提高灵活性和标准化程度大有帮助。
(意义)5、请简述常用的构件实现模型及其意义。
实现模型:1.CORBA2.EJB / DCOM / COM+意义:这些模型通常都定义了构件的实现方式、接口定义、访问方法等。
符合这些标准的任何构件都有很高的重用能力。
描述部分6、请用图示法说明4+1模型的5种视图之间的关系及关注点和涉众用户。
数据视图风格部分7、什么是软件体系结构的风格?它在软件开发过程中具有何种意义?软件体系结构风格是指设计、组织和实现软件体系结构的各种惯用模式和习惯用法,是对一系列体系结构设计的抽象。
软件系统设计与体系结构主要知识点概要
一、1. 软件危机的表现和成因。
2. 构件和软件重用的概念?3. 基于构件软件重用的开发组织结构关系和关系图。
二、1.广义软件设计的含义。
2. 广义软件设计过程的两个动作及其含义。
3. 软件设计(如非特别说明,均指一般意义上的)的方法分类。
4. 软件设计活动步骤。
5. 软件设计要素。
6. 软件体系结构的概念。
三、1. 软件体系结构的5种模型(简答)。
2. 什么是(4+1)视图模型,理解其含义。
3. 构件、连接件、配置、端口与角色及其互相关系。
4. 软件体系结构生命周期模型,理解其含义。
5. 功能需求与非功能需求。
四、1.能够列举出几种经典的软件体系结构风格。
2. 二层C/S的工作机制和优缺点。
五、1. 三层C/S ,B/S体系结构的工作机制和各自优缺点。
2. C/S与B/S混合软件体系结构模型。
六、1.软件体系结构描述方法有哪些,目前占据主导地位的是那一种?(P99).2.软件体系结构描述语言的特色是什么?(p101)3. 软件体系结构描述有哪些标准和规范?4. UML 和XML 都可以用来描述软件体系结构。
七、八、九1. UML的功能,UML的特色,UML的组成。
2. 对一个实际的系统采用UML面向对象建模。
十、1、为什么要评估软件体系结构?2、从哪些方面评估软件体系结构?3、软件体系结构评估的主要方式是什么?4、有哪两种常用的评估方法?十一、十二、十三、十四、十五1.由数据流图产生软件结构图。
2.模块内部的设计,设计模块功能的实现。
3.详细设计表示法。
4.深刻感受用户界面设计的意义,掌握用户界面设计的基本特征,对用户界面设计的风格和设计的一般问题有所了解,并且熟悉设计过程。
十六、1.中间件的说明性定义,中间件的特点。
2. 解释设计模式。
3. CMU/SEI所给出软件产品线的定义,并简要说明对这个定义应如何理解。
4. 理解框架和应用框架技术十七、1. 从软件维护的分类分析软件设计演化的原因和必要性。
软件体系结构复习资料
软件体系构造知识点:第一章:1.什么是软件体系构造答:软件体系构造=构件+连接件+约束软件体系构造是具有一定形式的构造化元素,即构件的集合,包括处理构件、数据构件和连接构件。
处理构件负责对数据进展加工,数据构件是被加工的信息,连接构件把体系构造的不同局部组组合连接起来。
这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中根本上得到保持。
2.软件体系构造形式化方法答:1.根据对目标软件系统进展说明的方式:(1)面向模型的方法。
在这个方法中,对目标软件系统的说明是为其构造一个模型,该模型的构成成分是一些具有特性的数据抽象,如域,元组等(2)面向性质的方法。
这种方法是直接给出目标软件系统的一组特性来描述目标软件系统。
通常是目标软件系统必须满足的形式公理,其形式化说明仅描述目标软件系统的性质,而不涉及实现方法。
2.根据表达能力的形式方法可分为以下五大类(1)基于模型的方法(2)代数方法(3)过程代数方法(4)基于逻辑的方法(5)基于网络的方法3.软件质量定义、软件质量模型答:,软件质量是软件符合明确表达的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。
影响软件质量的主要因素,这些因素是从管理角度对软件质量的度量。
可划分为三组,分别反响用户在使用软件产品时的三种观点。
正确性、强健性、效率、完整性、可用性、风险〔产品运行〕;可理解性、可维修性、灵活性、可测试性〔产品修改〕;可移植性、可再用性、互运行性〔产品转移〕。
第二章:4.Kruchten 4+1模型描述软件体系构造Kruchten 4+1模型建立在体系构造的Perry&Wolf定义和Berry Boehm定义的根底上,采用多视图模型的方法描述软件体系构造。
该模型由5个视图构成,每个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系构造的全部容。
程序员软件管理系统工程师拓扑通集成者信性能可扩展性体系构造的概念在每个视图里面都可以独立应用,并不是所有的软件体系构造都需要完整的4+1视图。
体系结构各章思考题 期末必考
《软件体系结构》各章思考题第1章软件体系结构概论1、根据自己的经验,谈谈对软件危机的看法。
2、就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。
3、实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的。
4、为什么要研究软件体系结构?5、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成?6、在软件体系结构的研究和应用中,你认为还有哪些不足之处?第2章软件体系结构建模1、选择一个规模合适的系统,为其建立“4+1”模型。
2、引入了软件体系结构以后,传统软件过程发生了哪些变化?这种变化有什么好处?3、软件体系结构的生命周期模型与软件生命周期模型有什么关系?第3章软件体系结构风格1、层次系统结构和基于消息的层次系统结构有什么区别?2、试分析和比较B/S,二层C/S和三层C/S,指出各自的优点和缺点。
3、组织或参与一个采用B/S和C/S混合体系结构的软件项目的开发,总结开发经验。
4、组织或参与一个采用三层体系结构的软件项目的开发,总结开发经验。
5、SIS和DSSA分别用在哪些场合?6、在软件开发中,采用异构结构有什么好处,其负面影响有哪些?第4章软件体系结构描述1、体系结构描述有哪些方法?有哪些标准和规范?2、体系结构描述语言与程序设计语言有什么区别?3、选择一个规模适中的系统,使用UML为其建模。
第5章动态软件体系结构1、什么是动态软件体系结构?动态软件体系结构与静态软件体系结构有什么区别?2、基于构件的动态软件体系结构模型的层次结构是什么?3、试比较Dynamic Wright和Darwin的特点。
4、试用Dynamic Wright描述B/S结构第6章Web服务体系结构1、什么是Web服务体系结构?与传统的结构相比,使用Web服务有哪些好处?2、在Web服务中,如何实现其松散耦合的特点?3、试分析服务提供者、服务请求者和服务代理三者的作用,以及它们之间的工作流程。
软件体系结构必过
软件体系结构必过第1章软件体系结构概论1.软件发展阶段的划分、各阶段注重的方面及代表性语言;2.软件重用的概念;软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
软件重用的目的是使非结构化、非标准化程序及数据变为结构化、标准化,并形成大量能重用的软件构件和模块。
软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识。
可重用的元素称作软构件(简称为构件),可重用的软件元素越大,我们就说重用的粒度越大。
软件重用技术优点:可减少重复工作,提高软件生产率、缩短开发周期。
同时,由于软构件大都经过严格的质量认证,因此有助于改善软件质量,大量使用构件,软件的灵活性和标准化程度也可得到提高。
3.对象方法与构件方法的区别;1.对象方法重视分析与设计,构件方法重视开发与部署;2.面向对象设计关注设计时系统中实体之间的关系;3.面向构件的设计将这种关系扩展到系统生命周期的其他阶段,特别是产品阶段和部署阶段;4.构件的概念;构件是指语义完整、语法正确和有可重用价值的单位软件,在软件重用过程中可以明确辨识;结构上,它是语义描述、通讯接口和实现代码的复合体。
构件与对象在概念上有重叠,对象是类的实例,在最简单的情况下,一个构件可以只包含一个类,但大多数情况下,一个构件包含多个协作的类。
广义上,一个构件可以是程序构件,也可以是其他独立的部署单元,如一个文本文件、一个图片、一个数据文件、一个脚本等◎ 构件表示构件用一边有两个小矩形的一个长方形表示,它可以用实线与代表构件接口的圆圈相连。
◎ 构件图构件图表示构件之间的依赖关系。
每个构件实现(支持)一些接口,并使用另一些接口。
5.典型的构件实现模型◎ 构件实现模型的三个主要流派1.OMG(Object Management Group,对象管理集团)的CORBA(Common Object Request Broker Architecture,通用对象请求代理结构)2.Sun的EJB(Enterprise Java Bean)3.Microsoft的DCOM(Distributed Component Object Model,分布式构件对象模型)6.构件的分类与组织(1)关键字分类法:通过定义一个层次结构来描述构件。
软件体系结构复习资料
软件体系结构复习资料软件体系结构复习资料软件体系结构是指软件系统中各个组成部分之间的关系和交互方式。
它是软件系统设计的基础,决定了软件系统的可靠性、可维护性和可扩展性。
在软件体系结构的学习中,我们需要了解不同的体系结构模式、设计原则和关键概念。
本文将从这些方面进行复习,帮助读者更好地理解软件体系结构。
一、体系结构模式1. 分层结构模式分层结构模式是一种常见的软件体系结构模式,它将软件系统划分为多个层次,每个层次负责不同的功能。
这种模式有助于实现模块化、可维护性和可复用性。
例如,一个三层架构的Web应用程序可以分为表示层、业务逻辑层和数据访问层,每个层次都有不同的责任和职责。
2. 客户端-服务器模式客户端-服务器模式是一种常见的分布式体系结构模式,它将软件系统划分为客户端和服务器两个部分。
客户端负责用户界面和用户交互,而服务器负责处理业务逻辑和数据存储。
这种模式有助于实现系统的可伸缩性和可扩展性。
3. 主从模式主从模式是一种常见的并行计算体系结构模式,它将软件系统划分为一个主节点和多个从节点。
主节点负责协调和控制整个系统的运行,而从节点负责执行具体的任务。
这种模式有助于提高系统的处理能力和性能。
二、设计原则1. 单一职责原则单一职责原则要求一个类或模块只负责一项功能。
这样可以提高代码的可读性、可维护性和可测试性。
例如,在一个MVC架构中,控制器只负责处理用户请求,模型只负责数据存储和处理,视图只负责展示数据。
2. 开放封闭原则开放封闭原则要求软件系统应该对扩展开放,对修改封闭。
这意味着当需求变化时,我们应该通过扩展现有的代码来满足新的需求,而不是修改已有的代码。
这样可以提高系统的稳定性和可维护性。
3. 依赖倒置原则依赖倒置原则要求高层模块不应该依赖于低层模块,而是应该依赖于抽象。
这样可以降低模块之间的耦合度,提高系统的灵活性和可扩展性。
例如,使用接口来定义模块之间的依赖关系,而不是直接依赖于具体的实现类。
软件体系结构复习资料
15、DSSA的定义答案:DSSA就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构16、构件:答案:构件是一个计算单元或数据存储。
也就是说,构件是计算与状态存在的场所。
17、连接件:答案:连接件是用来建立构件间的交互以及支配这些交互规则的体系结构构造模块。
18、体系结构配置:答案:体系结构配置或拓扑是描述体系结构的构件与连接件的连接图。
体系结构配置提供信息来确定构件是否正确连接、接口是否分配、连接件构成的通信是否正确,并说明实现要求行为的组合含义。
31、模式答案:模式是指从某个具体的形式中得到的一种抽象,在特殊的非任意性的环境中,该形式不断地重复出现。
42、核心资源答案:是领域工程所有结果的集合,是产品线中产品构造的基础。
33、设计模式答案:一些设计面向对象的软件开发的经验总结,就是系统的命名、解释、和评价某一个重要的面向对象的可重现的面向对象的设计方案。
43、软件产品线答案:软件产品线就是在一个公共的软件资源集合基础上建立起来的共享同一个特性集合的系统集合45、产品线体系结构答案:产品线体系结构是一个软件体系结构和一组在一族产品中可重用的构件,为增加软件重要、为企业降低软件开发和维护的成本提供了一个重要的途径。
3、简要概产生软件危机的原因答案:1.用户需求不明确 2.缺乏正确的理论指导 3.软件规模越来越大 4.软件复杂度越来越高。
4、软件体系结构的定义众多,你是如何理解软件体系结构的?软件体系结构在软件系统中有何作用?答案:(1)软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素继承的模式以及这些模式的约束组成。
软件体系结构不仅指定了系统的组织结构和拓扑结构,还显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
(2)体系结构是风险承担者进行交流的手段。
它明确了对系统实现的约束条件,决定了开发和维护组织的组织结构,制约着系统的质量属性,可以预测软件的质量,是推理和控制更改更简单,有助于循序渐进的原型设计。
软件体系结构考试试题库软件工程考试试题和答案
一、判断题1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的;答案:√2、可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找;答案:√3、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性;答案:√5、构件可以由其他复合构建和原子构件通过连接而成;答案:√6、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色答案:√7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色;其中,构件、连接件和配置是最基本的元素答案:√8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务答案:X9、构件、连接件以及配置是体系结构的核心模型最基本的元素答案:√10、HMB风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单;答案:×11、正交软件体系结构由组织层和线索的构件构成;答案:√13、线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成整个系统中相对独立的一部分功能;答案:√14、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用;答案:×16、在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具;答案:√18、体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软件设计之前进行;答案:√19、基于软构件的系统描述语言是较好的一种以构件为单位的软件系统描述语言;答案:√21、基于构件的动态系统结构模型分为三层,风别是应用层、中间层、和体系结构层;答案:√23、基于构件的动态系统结构模型分为应用层,中间层和体系结构层;答案:√29、一般的说,一个模式有一下4个基本成分,1.模式名称,2.问题,3.解决方案,4.效果,这句话是对的答案:√30、设计模式的概念最早是由美国的一位计算机专家提出的;答案:X31、利用设计模式可以方便地重用成功的设计和结构;答案:√33、在模式目录中,每个模式描述的多少与别的模式无关;答案:√36、在体系结构级进行风险评估是更有利于开发阶段的前期评估;答案:×39、评估方法质量属性中安全性不包括完整性;答案:×41、软件体系结构评估只针对一个体系结构,不可以针对一组体系结构;答案:×43、软件重用长期以来一直是软件工程界不断追求的目标;答案:√二、填空题1、软件元素包括程序代码、设计文档、设计过程、需求分析文档、测试用例甚至领域知识;答案:程序代码、测试用例、设计文档、设计过程、需求分析文档2、软件重用过程中需要重用的开发组织结构予以支持,它包括:_构建开发组_____、_构建应用组______、_协调组________3、三组成员组成;4、答案:构件开发组、构件应用组、协调组;5、采用层次式软件体系结构,将产品的系统构件模型定义为4个层次,分别为:系统构建层、通用类构建层、业务类构建层、表现层;答案:系统构件层、通用类构件层、业务构件层、表现层5、软件体系结构的模型分为5种:结构模型、框架模型、动态模型、过程模型和功能模型;答案:结构模型,动态模型;8、软件体系结构的生命周期模型主要分为需求分析阶段,建立软件体系结构阶段设计阶段和实现阶段;答:设计阶段9、软件体系结构应建立于传统的软件开发过程的_需求分析_______和_软件设计_______阶段之间;答案:需求分析、软件设计11、三层C/S结构风格是由__表示层_______、__功能层_______和_数据层_________构成的;答案:表示层、功能层、数据层12、消息总线对消息过滤提供了___转换_____和___阻塞________两种方式;答案:转换、阻塞13、正交软件体系结构由__组织层__和__线索的构建___构成;答案:组织层、线索的构件14、C/S体系结构服务器主要负责有效的管理系统的资源主要负责_数据库安全性的要求________、__数据库访问并发性的控制_______、_数据库前端的客户应用的全局数据完整性规则________和数据库的备份与恢复_________;答案:数据库安全性的要求、数据库访问并发性的控制、数据库前端的客户应用程序的全局数据完整性规则、数据库的备份与恢复16、软件体系结构的描述方法主要有图形表达工具、模块内连接语言、基于软构件的系统描述语言和软件体系结构描述语言;答案:图形表达工具、模块内连接语言、软件体系结构描述语言17、ADL是一种在底层语义模拟支持下的形式化语言;基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持;答案:表示、演化、细化18、可重用的体系结构描述框架可以从需求、设计、实现和测试四个视点出发描述体系结构;答案:需求视点、设计视点、实现视点、测试视点20、典型的ADL在充分继承和吸收传统程序设计语言的和特点的同时,还应该具有构造、抽象、重用、组合、异构和分析推理等多种能力和特性;能力指的是ADL使得其描述的每一个系统元素都有其自己的局部结构;答案:精确性、严格性,组合21、体系结构的动态性分为“_________”“_________”“_________”三类;答案:交互式动态性、结构化动态性、体系结构动态性22、基于构件的动态体统结构模型CBDSAM支持运行系统的动态更新;该模型分为三层,分别是应用层、_________和________________;答案:中间层、体系结构层23、体系结构的动态性主要分为几类:_________、_________、___________;答案:交互式动态性,结构化动态性、体系结构化动态性;24、对动态软件体系结构的形式化描述通常有______、_______、_________三种方法;答案:图形化方法、进程代数方法、逻辑描述方法25、一个完整的Web服务包括3种逻辑构件:______、______、_______;答案:服务提供、服务代理、服务请求29、MVC模式的中的M,V,C分别对应______、_______、_________三种单词;答案:Model,View,Controller32、设计模式的基本成分包括______________、___________、___________、__________;答案:模式名称、问题、解决方案、效果;39、体系结构评估中,一般采用刺激,环境,和_____三方面来对场景进行描述;答案:响应40、可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力;包括可维护性、可扩展性、、可移植性4个方面;答案:结构重组;42、软件重用是为了解决_____答案:软件危机43、________的开发是大型软件系统开发的关键环节;答案:软件体系结构44、领域工程阶段的主要任务有_____、______和______三个阶段;答案:领域分析、领域设计、领域实现45、软件体系结构设计的主要目的是满足对软件的_____;答案:质量需求三、选择题1、软件危机的原因不包括:A、用户需求不明确B、缺乏正确的理论指导C、软件规模越来越大D、软件复杂度越来越低答案:D2、下列选项中,哪个不是重用组织框构中的主要组成成员:A.协调组B.构件应用组C.构件需求组D.构件开发组答案:C3、常用的软件体系结构评估的方法不包括:A体系结构权衡分析法B.软件体系结构分析法C系统体系结构分析法D中间设计的积极评审答案:C4、下列选项中,不是软件危机的原因的是:CA、用户需求不明确B、缺乏正确的理论指导C、软件规模越来越小D、软件的复杂度越来越高P25、不属于软件体系结构的核心模型的最基本的元素是A构件B连接件 C配置D角色答案:D6、选项中不属于“4+1”试图模型的是:A逻辑视图B物理视图C连接视图D开发视图答案:C7、下列说法错误的一项的是A:逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务B:开发视图也称模块视图,主要侧重于软件模块的组织和管理C:进程视图侧重与系统的运行特性,主要关注一些功能性需求,例如系统的性能和可用性;D:物理视图主要考虑如何吧软件映射到硬件上,它不需要要考虑到系统性能、规模、可靠性等;答案:D8、Kruchten在1995提出了“4+1”模型,从5个不同的视角来描述软件体系结构,其中“4”不包括的视图是A逻辑视图B开发视图C物理视图D场景视图答案:D9、下列哪个选项是描述系统的静态结构A.逻辑视图和开发视图B.进程视图和物理视图C.开发视图和物理视图D.开发视图和进程视图答案:A11、正交软件体系结构的有点有A结构清晰,易于理解B易修改,可维护性强C可移植性强,重用程度大D以上都是答案:D12、C/S系统中,服务器的以下任务中哪一个是错的A数据库一致性要求B数据库访问并发性控制C数据库前端的客户应用程序的全局数据完整性规则D数据库的备份与恢复13、下列哪个不是黑板系统的组成部分A.知识源B.黑板数据结构C.控制D.内存答案:D14、与C/S体系结构相比,B/S体系结构也有许多不足之处一下说法正确的是AB/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理能力BB/S体系结构的系统扩展能力差,但是安全性比较容易控制C采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远的高于C/S体系结构DB/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,利于在线事务处理OnlineTransactionProcessing,OLTP应用;答案:A15、以下不是正交软件体系结构优点的是A.结构清晰,易于理解B.已修改,可维护性强C.可移植性强,重用粒度大D.很大很复杂答案:D16、以下关于软件体系结构描述方法说法错误的是A.图形表达工具在软件设计中占据主导地位;B.由于软件设计语言和模块内连接语言具有严格的语义基础,因此它们能支持较小的软件单元进行描述;C.基于软构件的系统描述语言将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实体构造组成的组织或系统;D.软件体系结构描述语言是参照传统程序设计语言的设计语言的设计和开发经验,重新设计、开发和使用针对软件体系结构描述语言;答案:B20、下列选项中关于ADL与其他语言的比较说法中错误的是A.ADL与需求语言的区别在于后者描述的问题空哦关键,而前者则扎根于解空间中B.ADL与建模语言的区别在于后者对部分的关注要大于对整体的关注C.ADL与传统的程序设计语言的构成元素由许多相同和相似之处,有各自有着很大的不同D.ADL集中在构件的表示上;29、下面哪个不属于设计模式方法分类ACoad的面向对象模式B代码模式C框架应用模式D遗传算法答案:D30、一般来说,模式有以下四个基本成分:、问题、解决方案、效果;A.模式名称B.时间C.地点D.思想答案:A31、软件体系结构的文档要求与软件开发项目中的其他文档是相似的,下列哪项属于体系结构文档化过程的主要输出结果A体系结构需求规格说明B体系结构概要设计说明C体系结构详细设计说明D体系结构总体框架说明答案:A33、在设计模式目录下,以下哪种设计模式是关于类的A.答案:A36、在体系结构中,应用于当前环境中有多个构建同时运行的情况,主要用来提高系统性能的结构风格是A、顺序结构风格B、并行/管道—过滤器结构风格C、容错结构风格D、调用—返回结构风格答案:B39、评估方法质量属性中可修改性不包括;A.可维护性B;可扩展性C.完整性D.可移植性答案:C40、是场景中解释或描述风险承担者怎样金发与系统的交互部分;A.刺激B.环境C.响应D.互操作答案:A41、软件评估中关注大可修改性包含可维护性,可扩展性,和结构重组4个方面;A;可用性B;可移植性C;可变性D;互操作性答案:B43、一下哪个不是领域工程阶段的主要任务;A、领域设计B需求分析C、领域分析D、领域实现答案:B四、名词解释1、软件危机答案:是指计算机软件的开发和维护过程中所遇到的一系列严重问题2、软件重用答案:是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程;3、构件组装4、答案:构件组装是指将库中的构件经适当修改后相互连接,或者将它们与当前开发项目中的软件元素相连接,最终构成新的目标软件;5、构件答案:是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通信接口和实现代码的复合体;7、场景scenarios:答:场景可以看做是那些重要系统活动的抽象,它使4个视图有机联系起来,从某种意义上说场景是最重要的需求抽象;9、软件体系结构答案:软件体系结构是一个设计,它包括所建立系统中的各元素构件和连接件的描述、元素之间的交互、指导装配的范例和对范例的约束;10、软件体系结构风格答案:软件体系结构风格是描述某一特定领域中系统组织方式的惯用模式;13、C2体系结构风格答案:C2体系结构风格可以概括为通过连接件绑定在一起的、按照一组规则运作的并行构件网络;14、COBRBA接口池答案:COBRBA接口池包括分布计算机环境中所有可用的服务器对象的接口表示它使动态搜索可用服务器的接口,动态构造请求及参数成为可能;17、连接件:答案:连接件是用来建立构件间的交互以及支配这些交互规则的体系结构构造模块;18、体系结构配置:答案:体系结构配置或拓扑是描述体系结构的构件与连接件的连接图;体系结构配置提供信息来确定构件是否正确连接、接口是否分配、连接件构成的通信是否正确,并说明实现要求行为的组合含义;19、构造能力:答案:构造能力指的是ADL能力使用较小的独立体系结构元素来建造大型软件系统;20、ADL:答案:ADL是这样一种形式化语言,他在底层语义模型的支持下,为软件系统的概念结构建模提供了具体语法和概念模型;21、软件体系结构的动态性答案:软件系统在运行时刻的体系结构变动;29、需求答案:用户对目标软件系统在功能、行为、性能、设计约束等方面的期望31、模式答案:模式是指从某个具体的形式中得到的一种抽象,在特殊的非任意性的环境中,该形式不断地重复出现;33、设计模式答案:一些设计面向对象的软件开发的经验总结,就是系统的命名、解释、和评价某一个重要的面向对象的可重现的面向对象的设计方案;38、可修改性答案:可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力;通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性;可修改性包括:1可维护性2可扩展性3结构重组4可移植性40、基于场景的评估方法;答:场景是一系列有序地使用或修改系统的步骤;这种评估方式分析软件体系结构对场景也就是对系统的使用或修改活动的支持程度,从而判断该体系结构对这一场景所代表的质量需求的满足程度; 基于场景的评估方式涉及的基本活动包括确定应用领域的功能和软件体系结构之间的映射,设计用于体现待评估质量属性的场景以及分析软件体系结构对场景的支持程度;五、问答题1、纵观软件体系结构技术的发展过程,从最初的“无结构”设计到现行的基于体系结构的软件开发,可以认为经历了哪四个阶段答案:1“无体系结构”设计阶段;以汇编语言进行小规模应用程序开发为特征2萌芽阶段;出现了程序结构设计主题,以控制流图和数据流图构成软件结构为特征3初期阶段;出现了从不同侧面描述系统的结构模型,以UML为典型代表4高级阶段;以描述系统的高层抽象结构为中心,不关心集体的建模细节,划分了体系结构模型与软件结构的界限,该阶段以Kruchten,提出了“4+1”模型为标志,由于概念尚不统一,描述规范也不能达成一致认识,因此在软件开发实践中软件体系结构上布恩那个发挥重要作用;2、试述下可重用技术对构件库组织方法的几点要求:答案:1支持构件库的各种维护动作,如增加、删除以及修改构件,尽量不要影响构件库的结构;2不仅要支持精确匹配,还要支持相似构件的查找;3不仅能进行简单的语法匹配,而且还能够查找在功能或行为方面等价或相似的构件;4对应用领域具有较强的描述能力和较好的描述精度;5库管理员和用户容易使用3、简要概产生软件危机的原因4、答案:1.用户需求不明确2.缺乏正确的理论指导3.软件规模越来越大4.软件复杂度越来越高;5、软件体系结构的定义众多,你是如何理解软件体系结构的软件体系结构在软件系统中有何作用6、答案:1软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素继承的模式以及这些模式的约束组成;软件体系结构不仅指定了系统的组织结构和拓扑结构,还显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理;2体系结构是风险承担者进行交流的手段;它明确了对系统实现的约束条件,决定了开发和维护组织的组织结构,制约着系统的质量属性,可以预测软件的质量,是推理和控制更改更简单,有助于循序渐进的原型设计;同时,软件体系结构是可传递和可重用的模型;6、体系结构的生命周期模型分为哪几个阶段答案:1、需求分析阶段2、建立软件体系结构阶段3、设计阶段4、实现阶段7、软件体系结构是必需,软件体系结构的生命周期分为哪几个阶段答:软件体系结构的生命周期可以分为需求分析阶段、建立软件体系结构阶段、设计阶段、实现阶段四个阶段;8、请简述软件体系结构的生命周期;答:以自然语言进行软件结构的非形式化描述,接着运用合适的形式化数学理论模型对上一阶段的非形式化描述进行规范定义,从而得到软件形式结构的形式化规范描述;对设计好的软件体系结构进行验证和求精,直到不需要进行求精验证时,转入软件体系结构的实施;在此阶段将软件结构实施于系统设计中,并将其结构的构件和连接件有机组织在一起;判断软件体系结构是否需要扩展,演化;需要从则重复以上步骤,否则对该体系结构进行评价、度量,转入终结阶段;11、试阐述与C/S体系结构相比,B/S体系结构的不足之处;答案:1、B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能;2、B/S体系结构的系统扩展能力差,安全性难以控制;3、采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远的地低于C/S体系结构;4、B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用;12、C/S系统中客户端应用程序有哪些主要任务答案:1、提供用户与数据库的交互界面2、向数据库服务器提交用户请求并接受来自数据库服务器的信息3、利用客户端应用程序对存在于客户端的数据执行应用逻辑要求;14、请简述三层C/S结构的优点答案:1、允许合理的划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为合理清晰,能提高系统和软件的可维护性和可扩展性;2、允许更灵活的选用相应的平台和硬件系统使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层,并且具有可升级性和开放性3、可并行开发,各层可选择各自最适合语言使之高效开发,从而达到较高的性价比4、允许利用功能层有效的隔离开表示层和数据层,未授权的用户难以通过如黑客手段访问数据层,同时也更加合理和有效的控制18、在C2中,连接件和构件是如何工作的答案:连接件负责构建之间消息的传递,而构件维持状态,执行操作并通过两个名字分别为top和buttom的端口和其他的构件交换信息;每个接口包含一种可发送的消息和一组可接受的消息,构件之间的消息要么是请求其他构件执行某个操作的请求消息,要么是通知其他构件自身执行某个操作或状态发生改变的通知消息;构件之间的消息交换不能之间进行,而只能通过连接件来完成;29、设计模式的基本成分有哪4条答案:1、模式名称2、问题3、解决方案4、效果31、软件工程的研究主要有哪三个方向答案:1、软件过程分析和建模;2、软件过程支持;3、软件过程评估和改进;32、简述一下演化开发阶段的八个步骤答案:需求变动归类;制订体系结构演化计划修改、增加或删除构件;更新构件的相互作用;产生演化后的体系结构迭代;对以上步骤进行确认,进行阶段性技术评审;对所做的标记进行处理;33、设计模式可以分为几类答案:创建型、结构型、行为型;1.什么是体系结构描述语言它与程序语言以及UML有哪些区别与联系ADL是在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架;基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持;其三个基本元素是:构件、连接件、体系结构配置;跟其他语言的比较:◎构造能力:ADL能够使用较小的独立体系结构元素来建造大型软件系统;◎抽象能力:ADL使得软件体系结构中的构件和连接件描述可以只关注它们的抽象特性,而不管其具体的实现细节;◎重用能力:ADL使得组成软件系统的构件、连接件甚至是软件体系结构都成为软件系统开发和设计的可重用部件;◎组合能力:ADL使得其描述的每一系统元素都有其自己的局部结构,这种描述局部结构的特点使得ADL支持软件系统的动态变化组合;◎异构能力:ADL允许多个不同的体系结构描述关联存在;◎分析和推理能力:ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析;2.管道过滤器风格结构特点1使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;2允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成;3支持软件重用;4系统维护和增强系统性能简单;5允许对一些如吞吐量、死锁等属性的分析;6支持并行执行;但是,这样的系统也存在着若干不利因素;1通常导致进程成为批处理的结构;这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换;2不适合处理交互的应用;当需要增量地显示改变时,这个问题尤为严重;3因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性;4.什么是设计模式它与风格、框架有什么区别与联系设计模式是对通用设计问题的重复解决方案;软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式;软件框架是整个或部分系统的可重用设计模式比框架更加抽象框架是模式的特例化设计模式被实现成为框架后,可以极大的减轻从设计到实现的鸿沟利用了模式的框架比没有利用模式的框架更容易理解、更能被设计与实现重用通常成熟的框架包含了多种设计模式一个框架不仅可以具体实现一个模式,还可以具体的实现多个模式设计模式与风格两者为近义词,通常情况下可以互相通用风格主要是指大的,宏观的设计;模式既可宏观,又可微观;7.什么是软件危机,软件危机的具体表现有哪些软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象;软件危机的表现:软件成本日益增长开发进度难以控制软件质量差。
软件体系结构考试要点
一、名词解释1、B/S浏览器/效劳器,是三层应用结果的一种实现方式。
具体构造:浏览器/Web效劳器/数据库效劳器2、C/S 客户/效劳器,是基于资源不等,且为共享而提出来的,定义了工作站如何及效劳器相连,以实现数据和应用分布到多个处理机上。
两层C/S构造:效劳器〔后台〕负责数据管理和数据处理,客户机(前台)完成及用户的交互任务。
三层C/S体系构造怎么刚加了一个应用效劳器,它将应用功能分为表示层、功能层和数据层,在三层C/S构造中,最重要的是中间件。
C/S体系构造有三个主要组成局部:数据库效劳器、客户应用程序和网络3、HMB:层次消息总线的软件体系构造风格〔Hierarchical Message Bus—based Sytle〕。
4、DSSA:特定领域的软件体系构造〔domain specific software architecture〕就是在一个特定的领域中位一组应用提供组织构造参考的标准软件体系构造。
5、ADL:软件体系构造描述语言(Architecture desciription Language)是一种形式化语言,它在底层语义模型的支持下,为软件的概念体系构造建模提供了具体语法和框架。
6、XML:可扩展标记语言〔extensible markup language〕,XML是W3C制定的作为Internet 上数据交换和表示的标准语言,是一种允许用户定义自己的标记的元语言〔Mete〕。
7、ATAM:体系构造权衡分析方法〔architecture tradeoff analysis method〕,它是针对系统所使用或修改活动的支持程度,来判断该体系构造针对这一场景所代表的质量需求得满足程度的体系构造评估方法。
8、Web Service:Web效劳〔Web Service〕是一种新的面向效劳的体系构造,其中定义了一组标准协议,用于接口定义、方法调用、基于Internet的构造注册以及各种应用的实现。
软件体系结构总结考点
软件危机的原因[选择或填空]P2:1.用户需求不明确2.缺乏正确的理论指导3.软件规模越来越大4.软件复杂度越来越高软件重用[名词解释或判断]P4:软件重用是指在两次或多次不同的软件开发过程中重复使用或相近软件元素的过程。
ps.软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领悟知识。
软件重用可以做什么?P5、6使用软件重用技术可以减少软件开发活动中大量的重复性工作,这样就能提高软件生产率,降低开发成本。
缩短开发周期。
同时,由于软构件大都经过严格的质量认证,并在实际运行环境中得到检验,因此,重用软构件有助于改善软件质量。
此外,大量使用软构件,软件的灵活性和标准化程度也能得到提高。
构件获取的途径[选择或填空]:1.从现有构件中获得符合要求的构件,直接使用或作适应性修改,得到可重用的构件。
2.通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用的构件。
3.从市场上购买现成的构件,即COTS构件。
4.开发新的符合要求的构件。
构件分类方法[选择或填空] P7:1.关键字分类法2.刻面分类法3.超文本组织方法构件组装[判断或名词解释] P11:构件组装是指将库中的构件经适当修改后相互连接,或者将它们与当前开发项目中的软件元素相连接,最终构成新的目标软件。
组织结构的重用,三个成员[填空或选择] P16:1.构件开发组2.构件应用组3.协调组软件发展的四个阶段P32:1.无体系结构设计阶段2.萌芽阶段3.初期阶段4.高级阶段“4+1”视图[选择或填空]P29:4:逻辑视图、进程视图、物理视图、开发视图1:场景视图场景[名词解释]P35:场景可以看作那些重要系统活动的抽象,它使4个视图有机联系起来,从某种意义上说场景是最重要的需求对象。
逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述的系统的动态结构。
体系结构的核心模型由5种元素组成[选择或填空或论述]P36:1.构建2.连接件3.配置4.端口5.角色Ps.构件、连接件和配置是最基本的元素。
软件体系结构知识点概要
第一章软件体系构造概论1 什么是软件危机?重要特点、体现形式、方略软件危机:是指在计算机软件旳开发和维护过程中所碰到旳一系列严重问题软件危机旳体现形式:1)软件成本旳日益增长:相反,计算机硬件伴随技术旳进步、生产规模旳扩大,价格却在不停旳下降,这样一来,软件成本在计算机中占有旳比例越来越大2)开发进度难以控制:顾客需求变化等多种意想不到旳状况层出不穷,常常令软件开发过程很难保证按预定旳计划实现,给项目计划和论证工作带来很大旳困难3)软件质量差4)软件维护困难软件危机旳成因:1 顾客需求不明确2 缺乏对旳旳理论指导3 软件规模越来越大4软件复杂度越来越高怎样克服软件危机(方略):用工程旳措施进行软件生产旳也许性,即应用现代工程旳概念、原理、技术和措施进行计算机软件旳开发、管理和维护软件工程是用工程、科学和数学旳原则与措施研制、维护计算机软件旳有关技术及管理措施。
软件工程包括三要素:措施、工具和过程2软件构件旳概念构件是指语义完整、语法对旳和有可重用价值旳单位软件,是软件重用过程中可以明确辨识旳系统;构造上,它是语义描述、通讯接口和实现代码旳复合体。
简朴地说,构件是具有一定功能,可以独立工作或能同其他构件装配起来协调工作旳程序体,构件旳使用同它旳开发、生产无关。
构件模型是对构件本质特性旳抽象描述3构件重用旳概念构件开发旳目旳是重用,为了让构件在新旳软件项目中发挥作用,库旳使用者必须完毕如下工作:检索与提取构件,理解与评价构件,修改构件,最终将构件组装到新旳软件产品中4软件重用旳定义软件重用是指在两次或多次不一样旳软件开发过程中,反复使用相似或相近软件元素旳过程。
软件元素(即软构件)包括:程序代码、测试用例、设计文档、设计过程、需求分析文档、领域知识等。
5 管理重用旳措施(列举,不用扩展)有效进行软件重用旳业界经验总结(1)关注特定领域旳软件资源(2)对旳命名软件资源(3)谨慎考虑与否具有重用旳必要(4)迭代演进可重用旳资源(5)保持一致性要比遵照行业原则更重要(6)进行代码审查(7)没有自动化旳回归测试套件,就不要公布可重用旳软件资源(8)理解业务需求之后再去说服他人(9)尽量与开发团体一起创立可重用旳软件资产(10)从生产支持人员那里获取可重用资源旳需求6软件体系构造旳概念概念:软件体系构造为软件系统提供了一种构造、行为和属性旳高级抽象,由构成系统旳元素旳描述、这些元素旳互相作用、指导元素集成旳模式以及这些模式旳约束构成。
软件体系结构总结考点
软件体系结构总结考点1.软件体系结构的概念和原则:-什么是软件体系结构,它与软件设计的区别是什么?-软件体系结构的设计原则是什么?-软件体系结构的目标是什么?2.软件体系结构的重要特性:-模块化:将系统划分为独立的模块,每个模块负责一个特定的功能。
-可扩展性:系统可以方便地进行功能扩展,无需对已有模块进行大规模修改。
-可维护性:系统的模块分离清晰,使得修改和维护变得更加容易。
-可重用性:系统中的模块可以被重复使用,在其他项目中节省开发时间和成本。
-可靠性:系统能够提供高质量和稳定的服务,具有高度的可靠性。
3.常见的软件体系结构模式:-分层体系结构:将系统划分为多个层次,每个层次负责特定的功能。
-客户端-服务器体系结构:将系统划分为客户端和服务器,客户端发起请求,服务器提供服务并返回结果。
-MVC体系结构:将系统划分为模型、视图和控制器三个部分,分别负责数据、界面和逻辑处理。
-微服务体系结构:将系统划分为多个小型的、独立的服务,每个服务负责一个特定的业务功能。
4.软件体系结构的评估和选择:-如何评估软件体系结构的有效性和适用性?-如何选择最适合项目需求和条件的软件体系结构?-软件体系结构的选择与项目规模、团队规模有何关系?5.软件体系结构的设计和实现:-如何进行软件体系结构的设计和建模?-有哪些常用的软件体系结构设计工具和方法?-如何将软件体系结构转化为具体的代码实现?6.软件体系结构的演化和维护:-软件体系结构在系统演化和维护过程中的作用是什么?-如何在系统需求发生变化时进行软件体系结构的演化?-如何进行软件体系结构的重构和迁移?软件体系结构是软件开发过程中的关键环节,对于确保系统的质量和可持续发展至关重要。
掌握软件体系结构的基本原理、常见模式和设计方法,以及评估和演化的技巧,能够帮助开发人员构建出高质量且易于维护和扩展的软件系统。
软件体系结构复习内容
软件体系结构复习内容软件体系结构是指软件系统在组织上的结构和模块之间的关系。
它描述了软件系统的组成部分、它们的关系以及它们与系统环境之间的交互。
软件体系结构的设计对于软件系统的可维护性、可扩展性和可重用性都起着重要的作用。
下面是软件体系结构的复习内容:1.软件体系结构基本概念-软件体系结构是指软件系统的组织结构和模块之间的关系。
-软件体系结构描述了软件系统的组成部分、它们的关系以及它们与系统环境之间的交互。
-软件体系结构设计是软件开发的重要环节,可以提高软件系统的可维护性、可扩展性和可重用性。
2.常见的软件体系结构类型-分层体系结构:将系统划分为多个层次,每个层次提供不同的功能。
-客户-服务器体系结构:将系统划分为客户端和服务器端,客户端向服务器端请求服务。
-基于事件的体系结构:系统通过事件进行组织和通信,每个部分都可以处理事件。
-面向对象体系结构:将系统划分为多个对象,对象之间通过消息进行通信。
-基于组件的体系结构:将系统划分为可独立开发和部署的组件,组件之间通过接口进行通信。
3.软件体系结构设计原则-模块化:将系统划分为多个模块,每个模块负责一个特定的功能。
-高内聚低耦合:模块内部的元素彼此之间紧密相关,而模块之间的关系尽量松散。
-可扩展性:系统能够容易地增加新的功能模块。
-可重用性:系统中的模块能够被多个应用程序共享和重复使用。
-可维护性:系统的设计应该容易理解和修改,以适应变化的需求。
4.软件体系结构设计方法-层次化设计:将系统划分为多个层次,每个层次负责不同的功能。
-面向对象设计:将系统划分为多个对象,对象之间通过消息进行通信。
-事件驱动设计:将系统划分为多个模块,每个模块通过事件进行组织和通信。
-领域驱动设计:将系统划分为多个领域模型,每个模型描述一个特定领域的概念和关系。
5.软件体系结构评估方法-场景分析法:通过分析系统在实际应用中的使用场景来评估其性能和可用性。
-静态分析法:通过对软件系统的源代码、设计文档和配置文件进行分析来评估其结构和质量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C/S 优缺点
C/S体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络。
◎服务器
(1)数据库安全性的要求;
(2)数据库访问并发性的控制;
(3)数据库前端的客户应用程序的全局数据完整性规则;
(4)数据库的备份与恢复。
◎客户应用程序
(1)提供用户与数据库交互的界面;
(2)向数据库服务器提交用户请求并接收来自数据库服务器的信息;
(3)利用客户应用程序对存在于客户端的数据执行应用逻辑要求。
c/s优点:简单灵活,各司其职
◎思想简单,易于理解:C/S 体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。
◎灵活,系统可扩充性强:系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。
◎系统功能构建分离:在C/S体系结构中,系统中的功能构件充分隔离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用程序中都要对一个DBMS进行编码。
将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费用。
C/S 缺点:费钱费力不讨好,又繁又旧难维护。
◎开发成本较高◎客户端程序设计复杂◎信息内容和形式单一
◎用户界面风格不一,使用繁杂,不利于推广使用◎软件移植困难
◎软件维护和升级困难◎新技术不能轻易应用
两层C/S的局限
服务器自我中心,难交朋友;客户机压力山大,没有安全感
1、单一服务器且以局域网为中心,难以拓展到大型企业广域网或者Internet
2、软硬件的组合和集成能力有限
3、客户机负荷太重,难以管理大量的客户机,系统的性能容易变坏
4、数据安全性不好。
三层C/S 的优势
交个朋友,分担任务,
增加应用服务器,客户机上是表示层,应用逻辑层留在应用服务器上,瘦客户机。
应用层分为表示层,功能层和数据层,数据层仍然放在数据库服务器上。
优点
◎逻辑独立,可维护扩展:允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,能提高系统和软件的可维护性和可扩展性。
◎灵活抗压,可升级开放:允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层;并且这些平台和各个组成部分可以具有良好的可升级性和开放性。
◎并行开发,适合最重要:应用的各层可以并行开发,可以选择各自最适合的开发语言。
◎功能层隔离,安全管理:利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,为严格的安全管理奠定了坚实的基础。
CS开发注意的问题
◎通信效率:三层C/S结构各层间的通信效率若不高,即使分配给各层的硬件能力很强,其作为整体来说也达不到所要求的性能。
◎独立性:设计时必须慎重考虑三层间的通信方法、通信频度及数据量。
这和提高各层的独立性一样是三层C/S结构的关键问题。
B/S 重点问题在哪里通信通道够不够,容纳量够不够
◎浏览器/服务器(B/S)风格就是上述三层应用结构的一种实现方式,其具体结构为:
浏览器/Web服务器/数据库服务器
◎B/S体系结构主要是利用不断成熟的WWW浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本。
从某种程度上来说,B/S结构是一种全新的软件体系结构。
B/S 优点
◎基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。
用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。
◎B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。
◎B/S体系结构没有集成有效的数据库处理功能。
◎B/S体系结构的系统扩展能力差,安全性难以控制。
◎采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。
◎B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。
CORBA技术规范公共对象请求代理体系结构
◎接口定义语言(IDL)◎接口池(IR)◎动态调用接口(DII)◎对象适配器(OA)
为什么使用异构结构
◎不同的结构有不同的处理能力的强项和弱点,一个系统的体系结构应该根据实际需要进行选择,以解决实际问题。
◎关于软件包、框架、通信以及其他一些体系结构上的问题,目前存在多种标准。
即使在某段时间内某一种标准占统治地位,但变动最终是绝对的。
◎实际工作中,我们总会遇到一些遗留下来的代码,它们仍有效用,但是却与新系统有某种程度上的不协调。
然而在许多场合,将技术与经济综合进行考虑时,总是决定不再重写它们。
◎即使在某一单位中,规定了共享共同的软件包或相互关系的一些标准,仍会存在解释或表示习惯上的不同。
混杂
1、内外有别模型
企业内部用户通过局域网直接访问数据库服务器,软件系统采用c/s体系结构
企业外部用户通过Internet 访问web 服务器,通过web服务器访问数据库服务器。
优点:安全,内部用户交互性强,数据查询和修改响应速度快。
缺点:外部用户较繁琐
2、查改有别模型
执行维护和修改数据操作的,使用cs 一般查询和浏览操作,使用bs 优点:体系了两者的优点
软件体系结构的软件过程
系统分解用例建模分析和设计实现测试演化和维护。
软件体系结构动态性
◎交互式动态性◎结构化动态性◎体系结构动态性
动态体系结构的研究
◎模拟和描述体系结构动态更新
◎体系结构动态更新的执行
更新请求描述
◇更新类型◇更新对象列表◇对象的新版本说明◇对象更新方法◇更新函数◇更新限制
更新执行步骤
◇检测更新的范围◇更新准备工作◇执行更新◇存储更新。