软件设计与体系结构期末复习整理解读

合集下载

软件体系结构期末考试复习资料

软件体系结构期末考试复习资料

软件体系结构仅供参考Chapter 11.构件的概念,构件的分类方法构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。

构件模型是对构件本质特性的抽象描述。

三个主要流派:OMG的CORBA;SUN的EJB;Microsoft的DCOM分类方法:关键字分类法、刻画分类法、超文本组织方法2.软件危机的表现软件成本日益增长、开发进度难控制、软件质量差、软件维护困难3.构件的重用:检索和提取构建,理解和评价构件,修改构件,构件组装。

4.软件体系结构的意义:①是风险承担者进行交流的手段。

②是早期设计决策的体现。

③是可传递和可重用的模型。

5.软件体系结构的发展经历了几个阶段1) "无体系结构" 设计阶段(以汇编语言进行小规模应用程序开发为特征)2) 萌芽阶段(控制流图和数据流图)3) 初期阶段(UML)4) 高级阶段(高层抽象结构为中心)6.软件体系结构定义(填空)软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。

Chapter 21.软件体系结构建模的种类结构模型、框架模型、动态模型、过程模型、功能模型2.4+1视图(会画图,详细描述)逻辑视图,主要支持系统的功能需求,即系统提供给最终用户的服务开发视图,主要侧重于软件模块的组织和管理。

进程视图,侧重于系统的运行特性,主要关注一些非功能性的需求。

物理视图,主要考虑如何把软件映射到硬件上场景可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来3.软件体系结构的核心模型五种元素[Chapter2 ppt 29]构件、连接件、配置、端口、角色4、软件体系结构的核心模型(会画,1对N的关系)5、软件体系结构的生命周期:需求分析阶段,建立软件体系结构阶段,设计阶段,实现阶段,测试阶段。

软件设计与体系结构知识点

软件设计与体系结构知识点

1.软件设计的特征(1)软件设计的开端是出现某些新的问题需要软件来解决,这些需要促使设计工作的开始,并成为整个设计工作最初的基础(2)软件设计的结果是给出一个方案,它能够用来实现所需的、可以解决问题的软件,方案的描述可能是文字、图表,甚至数学符号、公式等组成的文档或模型(3)软件设计包含一系列的转换过程,即把一种描述或模型转换为另一种描述或模型,转换后的形态可能更加具体,或更接近于实现(4)产生新的想法或思路对软件设计非常重要,因为设计也是一个创造性的过程,不同的问题或需求总会存在各自的特点,即使同样的问题在不同时期和环境下也会存在区别,因此设计不会是一成不变的(5)软件设计的过程是不断解决问题和实施决策的过程,因为整个设计是解决一个大的问题,在设计过程中将会分解成众多小问题,涉及真需要一次解决这些小的问题,并在出现多种方案或策略时进行决策,选择其中最合适的(6)软件设计也是一个满足各种约束的过程,因为软件可能在性能、运行环境、开发时间、成本、人员技术水平等各个方面存在约束,设计必须在满足这些约束的情况下给出最佳的设计方案(7)大多数的软件实际是一个不断演化的过程,因为需求在一开始很可能是不完整或不精确的,在设计过程中还会不断发生变化并逐步稳定下来,因此设计需要根据需求的变化而不断演化。

2.软件设计的要素( 1 ) 目标描述 ( 2 ) 设计约束 ( 3 ) 产品描述 ( 4 ) 设计原理 ( 5 ) 开发规划 ( 6 ) 使用描述3.软件设计体系的定义( 1 )软件设计体系结构是软件系统的结构,包含软件元素、软件元素外部可见的属性以及这些软件元素之间的关系( 2 )软件体系结构是软件系统的基本组织,包含构建、构件之间、构件与环境之间的关系,以及相关的设计与演化原则4.软件设计的主要活动( 1 ) 软件设计计划 ( 2 ) 体系结构设计 ( 3 ) 界面设计 ( 4 ) 模块/子系统设计 ( 5 ) 过程/算法设计( 6)数据模型设计5.体系结构“4+1 ”多视图建模( 1 )逻辑视图:该视图关注功能需求,即系统应该为最终用户提供什么服务,它与应用领域精密相关( 2 )进程视图:该视图捕获设计中关于并发和同步的内容,重视一些非功能需求,例如性能、可扩展性等,定义了运行实体和它们的属性。

软件系统设计与体系结构主要知识点概要

软件系统设计与体系结构主要知识点概要

一、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.设计原则:包括开放封闭原则、单一职责原则、里氏替换原则、接口分离原则等。

3.设计模式:是一套被反复使用的、经过验证的、用来解决在软件设计过程中常见问题的解决方案。

常见的设计模式有工厂模式、单例模式、观察者模式、策略模式等。

4.UML(统一建模语言):是一种用于软件系统建模的标准化语言。

包括用例图、类图、时序图、状态图等。

5.架构模式:是一种包含一组满足特定需求的技术决策,指导解决软件系统中基本设计问题的模式。

常见的架构模式有分层架构、客户端-服务器架构、发布-订阅架构等。

软件体系结构的主要知识点包括:1.分层架构:将软件系统分为若干层,每一层负责处理特定的功能或任务,层与层之间通过接口进行通信。

2.客户端-服务器架构:将软件系统分为客户端和服务器两部分,客户端向用户提供界面和交互功能,服务器处理客户端发送的请求并返回相应结果。

3.分布式架构:将软件系统的各个组件分布在不同的物理节点上,通过网络进行通信。

4.微服务架构:将软件系统拆分为若干个小型服务,每个服务负责一个特定的功能,通过接口和消息进行通信。

5.事件驱动架构:系统中的各个组件通过发布-订阅模式进行通信,一个组件发生变化时通知其他相关组件。

在实际应用中,软件设计与体系结构的知识点通常会结合起来使用,以满足软件系统的需求。

同时,不同的项目可能有不同的设计与体系结构要求,开发人员需要根据具体项目的需求来选择适合的设计和架构模式。

软件设计与体系结构知识点

软件设计与体系结构知识点

软件设计与体系结构知识点1.引言1.1 概述在软件设计与体系结构的研究领域,了解相关知识点对于开发高质量、可维护和可扩展的软件至关重要。

软件设计是关于如何将需求转化为实际可行的软件系统的过程,而软件体系结构则是指软件系统的整体结构和组织方式。

本文将介绍一些重要的软件设计和体系结构的知识点。

在软件设计方面,我们将讨论一些常用的设计原则和设计模式。

设计原则是经验总结出的指导性原则,可以帮助开发人员在设计软件时做出合理的决策。

其中一些著名的设计原则包括开闭原则、单一职责原则和依赖倒置原则等。

设计模式则是在设计过程中反复出现的问题的解决方案,它们提供了可复用的设计思想和模板。

一些广为人知的设计模式有观察者模式、工厂模式和适配器模式等。

而在软件体系结构方面,我们将探讨一些常见的体系结构模式。

分层架构是一种常见的体系结构模式,它将系统划分为多个层次,每个层次负责不同的功能。

这种分层的结构可以提高系统的可复用性和可扩展性。

另外,客户-服务器架构也是一种常见的体系结构模式,它将软件系统划分为客户端和服务器端两个部分,客户端发送请求,服务器端处理请求并返回结果。

这种架构模式可以实现系统的分布式部署和协作处理。

通过本文的学习,读者将能够掌握一些重要的软件设计原则和设计模式,了解常见的软件体系结构模式,并能够在实际的软件开发过程中应用它们。

这些知识点对于开发高质量的软件系统以及应对未来软件发展的挑战都具有重要意义。

接下来的章节将详细介绍这些知识点,并总结归纳它们的应用场景和优缺点。

文章结构部分的内容可以写成以下方式:1.2 文章结构本文将围绕软件设计与体系结构的知识点展开详细介绍。

首先,在引言部分,我们将概述本文的主要内容并介绍文章的结构。

接着,我们将在正文部分分为两个主要部分,分别是软件设计知识点和软件体系结构知识点。

在软件设计知识点部分,我们将深入探讨设计原则和设计模式的概念与应用。

而在软件体系结构知识点部分,我们将介绍分层架构和客户-服务器架构的原理和特点。

软件体系结构复习资料

软件体系结构复习资料

软件体系结构复习资料软件体系结构复习资料软件体系结构是指软件系统中各个组成部分之间的关系和交互方式。

它是软件系统设计的基础,决定了软件系统的可靠性、可维护性和可扩展性。

在软件体系结构的学习中,我们需要了解不同的体系结构模式、设计原则和关键概念。

本文将从这些方面进行复习,帮助读者更好地理解软件体系结构。

一、体系结构模式1. 分层结构模式分层结构模式是一种常见的软件体系结构模式,它将软件系统划分为多个层次,每个层次负责不同的功能。

这种模式有助于实现模块化、可维护性和可复用性。

例如,一个三层架构的Web应用程序可以分为表示层、业务逻辑层和数据访问层,每个层次都有不同的责任和职责。

2. 客户端-服务器模式客户端-服务器模式是一种常见的分布式体系结构模式,它将软件系统划分为客户端和服务器两个部分。

客户端负责用户界面和用户交互,而服务器负责处理业务逻辑和数据存储。

这种模式有助于实现系统的可伸缩性和可扩展性。

3. 主从模式主从模式是一种常见的并行计算体系结构模式,它将软件系统划分为一个主节点和多个从节点。

主节点负责协调和控制整个系统的运行,而从节点负责执行具体的任务。

这种模式有助于提高系统的处理能力和性能。

二、设计原则1. 单一职责原则单一职责原则要求一个类或模块只负责一项功能。

这样可以提高代码的可读性、可维护性和可测试性。

例如,在一个MVC架构中,控制器只负责处理用户请求,模型只负责数据存储和处理,视图只负责展示数据。

2. 开放封闭原则开放封闭原则要求软件系统应该对扩展开放,对修改封闭。

这意味着当需求变化时,我们应该通过扩展现有的代码来满足新的需求,而不是修改已有的代码。

这样可以提高系统的稳定性和可维护性。

3. 依赖倒置原则依赖倒置原则要求高层模块不应该依赖于低层模块,而是应该依赖于抽象。

这样可以降低模块之间的耦合度,提高系统的灵活性和可扩展性。

例如,使用接口来定义模块之间的依赖关系,而不是直接依赖于具体的实现类。

河北师范大学软件体系结构期末复习总结

河北师范大学软件体系结构期末复习总结

河北师范⼤学软件体系结构期末复习总结软件体系结构复习第⼀章概述1.模式是⼀条由三部分组成的规则:⼀个特定的环境,⼀个问题,⼀个解决⽅案。

2.设计模式基于惯⽤法;体系结构模式基于设计模式。

3.好的系统设计应该具备的3个性质:可扩展性;灵活性;可插⼊性。

4.⾯对对象设计的原则:单⼀职责原则:⾼内聚性原则;避免相同的职责(功能)分散到不同的类中实现;避免⼀个类承担过多的职责——可以减少类之间的耦合;(类的设计主要⼯作是“发现职责”并“分离职责”;⼯⼚模式,模板⽅法模式,命令模式,代理模式遵守该设计模式);单⼀职责原则的体系结构模式:⼀个模块,⼦系统也应该仅有⼀个引起他变化的原因。

开闭原则:Open: 模块的⾏为必须是开放的,⽀持扩展的,⽽不是僵化的;Closed:在对模块的功能进⾏扩展时,不应该影响或把规模的影响已有的程序模块;绝⼤部分的设计模式都符合开闭原则;抽象化是开闭原则的关键——要求开发⼈员在不修改系统中现有的功能代码前提下,⽽实现对应⽤系统功能进⾏扩展。

依赖倒置原则:将依赖关系倒置为依赖接⼝:上层模块不应依赖于下层模块,它们共同依赖于⼀个抽象;⽗类不能依赖⼦类,他们都要依赖抽象类;抽象不能以来具体,具体应该依赖于抽象。

接⼝原则:⼀个类对另外⼀个类的依赖应当是建⽴在最⼩的接⼝上;客户端不应该依赖那些它不需要的接⼝。

如何避免不良好的接⼝设计:⽤多个专门的接⼝,⽽不使⽤单⼀的接⼝;⼀个接⼝就只代表⼀个⾓⾊;使⽤接⼝隔离原则拆分接⼝时,⾸先必须满⾜单⼀职责原则。

合成复⽤原则:⼜称为组合/聚合复⽤原则;尽量使⽤对象组合,⽽不是继承来达到复⽤⽬的;⼀个新的对象⾥通过关联关系(包括组合关系和聚合关系)来使⽤⼀些已有的对象;新对象通过委派调⽤已有对象的⽅法达到复⽤其已有功能的⽬的;继承复⽤:(“⽩箱”复⽤)实现简单,易于扩展,没有⾜够的灵活性。

组合/聚合复⽤:(“⿊箱”复⽤)耦合度相对较低,选择性地调⽤成员对象的操作;可以在运⾏时动态进⾏。

(完整word版)《软件系统分析与设计》期末复习知识点总结

(完整word版)《软件系统分析与设计》期末复习知识点总结

一、方法论模型。

1、BOOCH、OMT、OOSE、Coad-Yourdon(前三者组成UML)2、UML包括9种图,分别为用例图、静态图(包图、类图、对象图)、实现图(构件图、部署图)、行为图(活动图、状态图、交互图(顺序图、协作图))基本规范,泛化关联,包含关联,扩展关联3、基本模型——类图、需求模型——用例图、辅助模型——其他各种图4、两大工具:Rose、PowerDesigner5、方法三要素:模型、工具和过程6、结构化分析三视图模型E-R、DFD、STD7、OMT方法的三大模型:对象模型、功能模型、动态模型8、Coad/Yourdon方法的五大层次:对象-类、结构、主题、属性、服务二、基本建模(类图与对象图)1、类之间的关系:关联关系、依赖关系、泛化关系。

2、抽象类与接口:抽象类有些方法可以提供实现代码,接口所有的方法都没有提供实现代码。

抽象类只能被继承,接口只能被实现。

3、类的版型:实体类(数据库、文件等)、边界类(如窗体、对话框)、控制类(协调交互)三、需求建模(用例图)1、参与者指系统以外的、需要使用系统或与系统交互的外部实体。

可以分为:人、外部设备、外部系统。

2、参与者之间的关系:泛化关系,参与者与用例之间的关系:关联关系。

用例之间的关系:泛化关系,包含关系,扩展关系。

包含关系和扩展关系都是依赖关系的特例。

3、用例是对一个参与者使用系统的一项功能时所进行的交互过程的一个文字描述序列。

是参与者可以感受到的系统服务或功能单元。

4、用例描述是一个关于参与者与系统如何交互的规范说明(包含用例用例名称、用例描述、基本事件流、参与者、前置后置条件等)5、用例的进一步描述:活动图、顺序图(通信图)四、行为建模(状态图与活动图)1、行为模型包括:状态模型(状态图,单对象)、活动模型(活动图,多对象)、交互模型(顺序图,多对象)。

2、调用事件表示的是对操作的调用,变化事件一个布尔表达式变量的值发生变化。

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

1面向对象编程中是如何体现封装性的?封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。

2重载和重写的含义重载是发生在一个类中,方法名相同,参数不同重写(覆盖)是子类继承父类,子类可以通过重写的方法隐藏继承的方法3 什么是接口回调,过程细节是什么?概念:把可以实现某一接口的类创建的对象的引用赋给该接口声明接口变量,那么该接口变量可以调用被类实现(重写)的接口方法。

4试举例说明什么是组合关系和依赖关系组合(关联)关系:A类中成员变量是用B类声明的对象。

公司--职员依赖关系:A类中某个方法的参数是用B类声明的对象,或某个方法返回的数据类型是B类的对象5抽象类和接口,区别是什么?如何应用抽象类:抽象类中有抽象方法;抽象类中不能用new运算符创建对象;抽象类的对象做商转型对象接口:(1)接口中只可以有public权限的抽象方法,不能有非抽象方法;(2)接口由类去实现,即一个类如果实现一个接口,那么他必须重写接口中的抽象方法(3)接口回调区别:接口中只有常量,不能有变量;抽象类中既可以有常量也可以有变量;抽象类中也可以有非抽象方法,接口不可以。

应用:定义抽象方法:public abstract void 方法名();在子类实现抽象方法:public void 方法名(){}接口:public interface 接口名{}接口只负责定义规则,不负责任何实现;实现交给实现接口的类(6)面向对象的六条基本原则包括:开闭原则,里式代换原则,单一职责,依赖倒转、迪米特法则(接口隔离)。

(7)什么是设计模式?设计模式是从许多优秀的软件系统中总结出的成功的可复用的设计方案。

是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。

使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性(8)什么是框架?框架与模式的区别有哪些?框架是针对某个领域,提供用于开发应用系统的类的集合。

区别:层次不同、范围不同、相互关系9举例说明面向对象的多态性。

多态性就是多种表现形式,具体来说,可以用"一个对外接口,多个内在实现方法"表示。

举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。

不管存储的是何种数据,堆栈的算法实现是一样的。

针对不同的数据类型,编程人员不必手工选择,只需使用统一接口名,系统可自动选择。

多态性也分静态多态性和动态多态性两种。

静态多态性是指定义在一个类或一个函数中的同名函数,它们根据参数表(类型以及个数)区别语义,并通过静态联编实现,例如,在一个类中定义的不同参数的构造函数。

动态多态性是指定义在一个类层次的不同类中的重载函数,它们一般具有相同的函数,因此要根据指针指向的对象所在类来区别语义,它通过动态联编实现。

(10)软件体系结构有哪几种形式?概念结构:从主要设计元素(构件)及其相互关联、设计原则和性能角度考虑的结构。

模块结构:根据功能分解建立模块的层次结构包括模块接口、模块管理、模块控制和一致性等问题。

代码结构:描述源程序,二进制程序,库文件。

在开发环境下的组织包括系统资源配置管理,系统构造和对象嵌入机制 OEM 等。

执行结构:描述系统的动态结构包括性能、调度、动态配置和不同系统间的接口等。

(11)构件之间的连接方式有哪些?(1)过程调用: 在某一特定执行路径中传递执行指针。

如普通过程调用、远程过程调用。

(2)数据流: 相互独立的处理通过数据流进行交互,在得到数据的同时被赋予控制权限。

如 UNIX 系统中的管道。

(3)间接激活: 处理因事件的发生而激活,在处理间没有直接交互。

例如,事件驱动系统、自动垃圾回收等。

(4)消息传递: 相互独立的处理间有明确交互,通过显式数据传递。

传递可以是同步的,也可以是异步的。

如TCP/IP 。

(5)共享数据: 构件通过同一数据空间进行并发操作。

如多用户数据库, 数据黑板。

(12)C/S体系结构的主要组成部分有哪些?其作用是什么?(1) 服务器:负责给其他子系统提供服务。

如,数据库服务器提供数据存储和管理服务,文件服务器提供文件管理服务,打印服务器提供打印服务等。

(2) 客户机:向服务器请求服务。

客户机通常都是独立的子系统,在某段时间内,可能有多个客户机程序在并发运行。

(3) 网络:连接放在不同机器上的客户机和服务器。

(13)三层C∕S体系结构的数据处理流程是怎样的?(14)软件体系结构的评价指标有哪些?(1)性能:性能是指系统的响应能力,即响应时间、单位时间的处理量及特定事务的处理时间等。

一般使用基准测试程序对性能进行测试。

(2)可靠性:软件可靠性是指“在特定环境和特定时间内,计算机程序无故障地运行的概率”。

可靠性通常用“平均失效间隔时间”(MTBF)来衡量。

可靠性可以分为两个方面:容错性。

其目的是在错误发生时确保系统正确的行为,并进行内部“修复”。

健壮性。

这里说的是保护应用程序不受错误使用和错误输入的影响,在遇到意外错误事件时确保应用系统处于已经定义好的状态。

(15)什么是ADL?常见的主流ADL有哪些?体系结构描述语言(ADL)是参照传统编程语言,并针对软件体系结构特点,重新设计、开发和使用的专门的软件体系结构描述语言。

Aesop支持体系结构风格的应用;MetaH为设计者提供了关于实时电子控制系统软件的设计指导;C2支持基于消息传递风格的用户界面系统的描述;Rapide支持体系结构设计的模拟,并提供了分析模拟结果的工具;SADL提供关于体系结构细化的形式化基础;Unicon支持异构的构件和连接类型,并提供了关于体系结构的高层编译器;Wright支持体系结构之间交互的说明和分析。

(16)ADL有哪些特性?(1)构造能力:ADL能使用较小的独立体系结构元素来建造大型软件系统。

(2)抽象能力:ADL可以在描述软件体系结构中的构件和连接件时只关注它们的抽象特性,而不管其具体的实现细节。

(3)复用能力:ADL在设计和开发软件系统时可把所用到的构件、连接件甚至是软件体系结构都当做可复用的部件。

(4)组合能力:ADL在描述每一系统元素时都要描述其自己的局部结构,这种描述局部结构的特点使得ADL可支持软件系统的动态变化组合。

(5)异构能力:ADL允许多个不同的体系结构描述关联存在。

(6)分析和推理能力:ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析。

(17)ADL构成元素有哪些?(1)构件:构件是一个计算单元或数据存储。

可以包含多种属性,如接口、类型、语义、约束、演化和非功能属性等。

接口是构件与外部世界的一组交互点,ADL中的构件接口说明了构件提供了哪些服务。

(2)连接件:用来建立构件之间的交互以及支配这些交互规则的体系结构构造模块。

连接件可以是共享变量、表入口、缓冲区、对连接器的指令、动态数据结构等。

连接件也有接口。

连接件的接口由一组角色组成,连接件的每一种角色定义了该连接件表示的交互的参与者,二元连接有两个角色,如消息传递连接件的角色是发送者和接收者。

(3)体系结构配置:体系结构配置描述体系结构的构件与连接件的连接图。

体系结构配置提供信息来确定构件是否正确连接、接口是否匹配、连接件构成的通信是否正确,并说明实现要求行为的组合语义。

(18)设计模式的基本要素有哪些?1)模式名用于描述模式的名字,说明模式的问题、解决方案和效果。

2)问题解决说明在何种场合使用模式。

要描述使用模式的先决条件和特定设计问题3)解决方案描述设计的成分、它们之间的相互关系、各自的职责和合作方式。

4)效果描述模式使用的效果,包括对时间和空间的衡量,以及对系统灵活性、可扩充性、可移植性的影响。

(19)设计模式的类型1)创建型模式:与对象的创建有关;2)结构型模式:处理类和对象的组合,将一组对象组合成一个大的结构,例如复杂的用户界面;3)行为型模式:描述类或对象的交互和职责分配,定义对象间的通信和复杂程序中的流控。

(20)什么是软件构件?软件构件是一种组装单元,它具有规范的接口规格说明和显式的语境依赖。

软件构件可以被独立部署,并由第三方任意地组装。

(21)软件构件分为哪些类型?(1)纯计算构件: 具有简单输入输出关系,没有运行状态变化如数值计算、过滤器、转换器等。

(2)存储构件: 存放共享的、永久性的、结构化的数据。

如数据库、文件、符号表、超文本等。

(3)管理构件: 执行操作与运行状态紧密相关。

如抽象数据类型、面向对象系统中的对象、服务器等。

(4)控制构件: 管理其它构件运行的时间、时机及次序。

例如,调度器、同步器等。

(5)链接构件: 在实体之间传递信息。

例如,通信机制、用户界面等。

22什么叫数据黑板?组成结构是什么?黑板模式是一种常用的架构模式,应用中的多种不同数据处理逻辑相互影响和协同来完成数据分析处理。

就好像多位不同专家在同一黑板上交流思想,每个专家都可以获得别的专家写在黑板上的信息,同时也可以用自己的分析去更新黑板上的信息,从而影响其他专家。

知识源、黑板数据结构、控制23参考模型,给出OSI参考模型的体系结构标准参考模型也就是设计模型一般的软件体系结构模型反映的是已有系统的体系结构,而参考模型反映了一大类系统的体系结构。

参考模型源于对应用领域的研究,它描述了一个理想化的包含了系统应具有的所有特征的软件体系结构。

典型的例子是OSI参考模型。

OSI参考模型是一个七层模型24分布式系统是什么?分布式系统是建立在网络之上的软件系统,所以分布式系统具有高度的内聚性和透明性所有大型计算机系统现在都是分布式系统。

分布式系统的信息处理分布在多个计算机上,而不是只限于单个计算机上。

在分布式系统中,系统软件运行于用网络相连的一组松散地集成在一起的处理器上25分布式系统主要特征有那些?资源共享、开放性、并发性、可伸缩性、容错性、透明性、26什么是抽象工厂模式?结构如何?提供创建一系列或相互依赖对象的接口,无需制定他们具体的类。

结构:抽象产品;具体产品;抽象工厂;具体工厂27什么是组合模式?结构如何?将对象组合成树型结构以表示“部分-整体”的层次结构,Composite使得用户对单个对象和组合对象的使用具有一致性。

结构:抽象组件;Composite节点;leaf节点28什么是中介模式?有点是什么?用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显示的相互引用,从而使耦合松散,而且可以独立改变它们之间的交互。

优点:1可以避免许多对象为了之间的通信而相互显示引用,不仅系统难以维护,而且也使其他系统难以复用这些对象;2可以通过中介者将原本分布于多个对象之间的交互行为集中在一起;3具体中介者使得各个具体同事完全解耦,修改任何一个具体同事的代码不会影响到其他同事;4具体中介者集中了同事之间是如何交互的细节,使得系统比较清楚地知道整个系统中的同事是如何交互的;当一些对象想相互通信,但又无法互相包含对方的引用,那么使用中介者模式就可以使得这些对象互相通信。

相关文档
最新文档