软件体系结构期末复习题概述

合集下载

软件体系结构-期末大题

软件体系结构-期末大题

1.基于构件的软件开发的优势是什么?基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用2.尝试用自己的语言介绍Kruchten的“4+1”模型。

Kruchten 提出了一个"4+1"视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。

每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。

3.在希赛公司的一个财务管理系统,财务部要客户提供…………4.不同的体系结构风格具有各自的特点、优劣和用途。

试对管道-过滤器风格、事件驱动风格、分层系统、C2风格和基于消息总线的风格进行分析比较。

P52-56(1)管道和过滤器特点:@使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;@允许设计者将整个系统的输入输出行为看成是多个过滤器的行为的简单合成;@支持软件重用。

只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来;@系统维护和增强系统性能简单。

新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替换掉;@允许对一些如吞吐量、死锁等属性的分析;@支持并行执行。

每个过滤器是作为一个单独的任务完成,因此可与其它任务并行执行缺点:①通常导致进程成为批处理的结构。

②不适合处理交互的应用。

③因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。

(2)(3)分层系统体系结构有以下优点:第一,支持基于抽象程度递增的系统设计。

这允许设计者可以将一个复杂系统设计按递增的步骤进行分解。

第二,支持功能增强。

因为每层至多和与之相邻的上层和下层交互,所以,改变某层的功能最多只会影响与之相邻的其它两层。

第三,支持重用。

与抽象数据类型一样,只要对相邻层提供同样的接口,每层可以有很多不同的可相互替代的实现方法。

软件设计与体系结构复习题

软件设计与体系结构复习题

软件设计与体系结构复习题软件设计与体系结构复习题软件设计与体系结构是计算机科学与技术领域中的重要课程,它涉及到软件系统的设计、构建和维护。

在这篇文章中,我们将回顾一些与软件设计与体系结构相关的复习题,以帮助读者巩固知识和提高理解。

一、软件设计原则1. 什么是SOLID原则?请简要介绍每个原则的含义。

SOLID原则是面向对象设计中的五个基本原则,分别是单一职责原则、开放封闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。

单一职责原则指一个类只应该有一个引起变化的原因;开放封闭原则指软件实体(类、模块、函数等)应该对扩展开放,对修改关闭;里氏替换原则指子类对象应该能够替换父类对象而不影响程序的正确性;接口隔离原则指客户端不应该依赖它不需要的接口;依赖倒置原则指高层模块不应该依赖于低层模块,它们都应该依赖于抽象。

2. 什么是DRY原则?它的目的是什么?DRY原则(Don't Repeat Yourself)指不要重复自己。

它的目的是避免代码的重复,提高代码的可维护性和可复用性。

通过遵循DRY原则,可以减少代码的冗余,降低了修改代码时的风险,同时也提高了代码的可读性。

二、软件体系结构1. 什么是软件体系结构?它有什么作用?软件体系结构是指软件系统的整体结构和组织方式,它描述了软件系统中各个组件之间的关系和交互。

软件体系结构有助于理解系统的整体架构,提供了对系统进行设计、开发和维护的指导方针。

2. 请简要介绍常见的软件体系结构模式。

常见的软件体系结构模式包括分层结构、客户端-服务器结构、发布-订阅结构、管道-过滤器结构等。

分层结构将系统划分为若干层次,每一层次负责不同的功能;客户端-服务器结构将系统划分为客户端和服务器两部分,客户端发送请求,服务器提供服务;发布-订阅结构中,发布者发布消息,订阅者订阅感兴趣的消息;管道-过滤器结构中,数据通过一系列的过滤器进行处理。

三、设计模式1. 什么是设计模式?为什么使用设计模式?设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。

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

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

软件体系结构仅供参考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.以下关于系统性能的叙述中,不正确的是(17)。

(17)A. 常见的Web服务器性能评估⽅法有基准测试、压⼒测试和可靠性测试B. 评价Web服务器的主要性能指标有最⼤并发连接数、响应延迟和吞吐量C. 对运⾏系统进⾏性能评估的主要⽬的是以更好的性能/价格⽐更新系统D. 当系统性能降到基本⽔平时,需要查找影响性能的瓶颈并消除该瓶颈2某公司欲对其内部的信息系统进⾏集成,需要实现在系统之间快速传递可定制格式的数据包,并且当有新的数据包到达时,接收系统会⾃动得到通知。

另外还要求⽀持数据重传,以确保传输的成功。

针对这些集成需求,应该采⽤(21)的集成⽅式。

(21)A. 远程过程调⽤ B. 共享数据库C. ⽂件传输 D. 消息传递3 在RUP中采⽤“4+1”视图模型来描述软件系统的体系结构。

在该模型中,最终⽤户侧重于(26),系统⼯程师侧重于(27)。

(26)A. 实现视图 B. 进程视图 C. 逻辑视图 D. 部署视图(27)A. 实现视图 B. 进程视图 C. 逻辑视图 D. 部署视图4.某银⾏系统采⽤Factory Method⽅法描述其不同账户之间的关系,设计出的类图如下所⽰。

其中与Factory Method中的“Creator”⾓⾊相对应的类是(33);与“Product”⾓⾊相对应的类是(34)。

(33)A. BankB. AccountC. CheckingD. Savings(34)A. BankB. AccountC. Checking5.是⼀个独⽴可交付的功能单元,外界通过接⼝访问其提供的服务。

(35)A. ⾯向对象系统中的对象(Object)B. 模块化程序设计中的⼦程序(Subroutine)C. 基于构件开发中的构件(Component)D. 系统模型中的包(Package)6 软件的横向重⽤是指重⽤不同应⽤领域中的软件元素。

(31)是⼀种典型的、原始的横向重⽤机制。

[精选]软件体系结构期末试题+答案资料

[精选]软件体系结构期末试题+答案资料

1.以下关于系统性能的叙述中,不正确的是(17)。

(17)A. 常见的Web服务器性能评估方法有基准测试、压力测试和可靠性测试B. 评价Web服务器的主要性能指标有最大并发连接数、响应延迟和吞吐量C. 对运行系统进行性能评估的主要目的是以更好的性能/价格比更新系统D. 当系统性能降到基本水平时,需要查找影响性能的瓶颈并消除该瓶颈2某公司欲对其内部的信息系统进行集成,需要实现在系统之间快速传递可定制格式的数据包,并且当有新的数据包到达时,接收系统会自动得到通知。

另外还要求支持数据重传,以确保传输的成功。

针对这些集成需求,应该采用(21)的集成方式。

(21)A. 远程过程调用 B. 共享数据库C. 文件传输 D. 消息传递3 在RUP中采用“4+1”视图模型来描述软件系统的体系结构。

在该模型中,最终用户侧重于(26),系统工程师侧重于(27)。

(26)A. 实现视图 B. 进程视图 C. 逻辑视图 D. 部署视图(27)A. 实现视图 B. 进程视图 C. 逻辑视图 D. 部署视图4.某银行系统采用Factory Method方法描述其不同账户之间的关系,设计出的类图如下所示。

其中与Factory Method中的“Creator”角色相对应的类是(33);与“Product”角色相对应的类是(34)。

(33)A. BankB. AccountC. CheckingD. Savings(34)A. BankB. AccountC. Checking5.是一个独立可交付的功能单元,外界通过接口访问其提供的服务。

(35)A. 面向对象系统中的对象(Object)B. 模块化程序设计中的子程序(Subroutine)C. 基于构件开发中的构件(Component)D. 系统模型中的包(Package)6 软件的横向重用是指重用不同应用领域中的软件元素。

(31)是一种典型的、原始的横向重用机制。

(31)A. 对象 B. 构件 C. 标准函数库 D. 设计模式7.在基于构件的软件开发中,(36)描述系统设计蓝图以保证系统提供适当的功能;(37)用来了解系统的性能、吞吐率等非功能性属性。

软件体系结构复习

软件体系结构复习

软件体系结构复习软件体系结构是指软件系统中各个组件之间的静态和动态关系的表示。

它描述了软件系统的整体结构和组成部分之间的交互关系,是软件系统设计的基础。

在软件开发的过程中,软件体系结构具有重要的作用,可以提高软件的可维护性、可扩展性和可重用性。

软件体系结构的目的是提供一个抽象的模型,以便开发人员可以更好地理解和管理软件系统的复杂性。

它通过将系统划分为独立的组件,来实现软件系统的分层和模块化。

常见的软件体系结构包括客户端-服务器模式、分层模式、面向对象模式等。

1.客户端-服务器模式:这种模式将软件系统划分为两个独立的部分,客户端和服务器。

客户端提供用户界面和交互功能,服务器负责存储和处理数据。

客户端通过网络与服务器通信,并使用服务器提供的服务。

这种模式可以实现分布式计算和集中式管理,提高系统的安全性和可扩展性。

2.分层模式:这种模式将软件系统划分为多个层次,每个层次之间的交互通过接口进行。

通常包括表示层、业务逻辑层和数据访问层。

表示层负责用户界面的显示和用户输入的处理,业务逻辑层负责处理业务逻辑和算法,数据访问层负责与数据存储系统的交互。

分层模式可以实现组件的独立开发和测试,提高系统的可维护性和可重用性。

3.面向对象模式:这种模式将软件系统中的各个组件作为对象进行建模,对象之间通过消息传递进行交互。

每个对象包含属性和方法,属性表示对象的状态,方法表示对象的行为。

面向对象模式可以实现系统的封装和继承,提高系统的模块化和可扩展性。

除了以上几种常见的软件体系结构,还有许多其他的模式和方法可以用来描述和设计软件系统的组织结构。

例如模块化设计方法、服务导向架构、面向服务架构等。

每种软件体系结构都有其适用的场景和优缺点,需要根据具体的需求和环境选择合适的模式。

在设计软件体系结构时,需要考虑软件系统的需求和约束条件,以及系统的性能、安全性和可扩展性。

通过合理划分组件和定义接口,可以实现模块的独立开发和测试,提高系统的可维护性和可重用性。

软件体系结构期末大题培训资料

软件体系结构期末大题培训资料

软件体系结构期末⼤题培训资料软件体系结构期末⼤题1.基于构件的软件开发的优势是什么?基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻⽤来⽀持和升级⼤型系统所需要的维护负担,从⽽降低了软件开发的费⽤2.尝试⽤⾃⼰的语⾔介绍Kruchten的“4+1”模型。

Kruchten 提出了⼀个"4+1"视图模型,从5个不同的视⾓包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。

每⼀个视图只关⼼系统的⼀个侧⾯,5个试图结合在⼀起才能反映系统的软件体系结构的全部内容。

3.在希赛公司的⼀个财务管理系统,财务部要客户提供…………4.不同的体系结构风格具有各⾃的特点、优劣和⽤途。

试对管道-过滤器风格、事件驱动风格、分层系统、C2风格和基于消息总线的风格进⾏分析⽐较。

P52-56(1)管道和过滤器特点:@使得软构件具有良好的隐蔽性和⾼内聚、低耦合的特点;@允许设计者将整个系统的输⼊输出⾏为看成是多个过滤器的⾏为的简单合成;@⽀持软件重⽤。

只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来;@系统维护和增强系统性能简单。

新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替换掉;@允许对⼀些如吞吐量、死锁等属性的分析;@⽀持并⾏执⾏。

每个过滤器是作为⼀个单独的任务完成,因此可与其它任务并⾏执⾏缺点:①通常导致进程成为批处理的结构。

②不适合处理交互的应⽤。

③因为在数据传输上没有通⽤的标准,每个过滤器都增加了解析和合成数据的⼯作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。

(2)(3)分层系统体系结构有以下优点:第⼀,⽀持基于抽象程度递增的系统设计。

这允许设计者可以将⼀个复杂系统设计按递增的步骤进⾏分解。

第⼆,⽀持功能增强。

因为每层⾄多和与之相邻的上层和下层交互,所以,改变某层的功能最多只会影响与之相邻的其它两层。

软件体系结构复习题(整理好的)

软件体系结构复习题(整理好的)

概述部分1、请分析软件危机的主要表现和原因。

原因:用户需求不明确,缺乏正确的理论指导,软件规模越来越大,软件复杂度越来越高。

主要表现:软件成本日益增加:开发、部署与应用成本高开发进度难以控制:不能按期完成软件质量差:错误率高,不能满足用户的需求,没有生命力软件维护困难:成本高,维护效果不理想,可能带来潜在的错误2、请说明软件规模与复杂度对软件过程的影响及解决方法。

软件规模与复杂度增加后,软件开发和维护成本增加,开发进度难以控制,软件质量差,软件维护变得困难。

应更多地采用科学的分析、设计和实现方法以及辅助工具,增强软件分析和设计的力度,并通过构件化提高软件的重用能力。

3、什么是软件体系结构,由哪三个部分组成?(构件、连接件、约束)定义:软件体系结构为软件系统提供了一个结构、属性和行为的高级抽象。

它不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。

4、请简述软件重用的含义和意义。

可重用元素包括哪些种类?软件重用:是指在多次不同的软件开发过程中重复使用相同或相近软件元素的过程。

意义:可重用的元素越大,我们就说重用的粒度(Granularity)越大。

软件重用是软件产业工业化、工程化的重要手段。

软件重用对提高生产率,降低开发成本,缩短开发周期,改善软件质量以及提高灵活性和标准化程度大有帮助。

可重用的元素包括:程序代码、测试用例、设计文档、需求分析文档甚至领域知识。

5、请简述常用的构件实现模型及其意义。

目前比较流行的构件实现模型包括:OMG ( Object Management Group )的CORBA( Common Object Request Broker Architecture,通用对象请求代理结构)Sun的EJB( Enterprise Java Bean )Microsoft的COM / DCOM / COM+ ( Distributed Component Object Model )意义:这些模型通常都定义了构件的实现方式、接口定义、访问方法等。

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

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

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

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

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

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

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

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

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

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

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

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

软件架构期末试题及答案

软件架构期末试题及答案

软件架构期末试题及答案试题一:软件架构的定义和重要性(500字)答案:软件架构是指在软件开发过程中,对软件系统整体结构的设计和组织方式的规划和描述。

它决定了软件系统的基本结构,包括系统的各个模块、组件之间的关系以及数据流的流向等。

软件架构的设计在软件开发过程中起着重要的作用。

首先,软件架构可以提供系统的整体视图,帮助开发人员在理解系统结构和功能方面有更清晰的认识。

它可以将系统划分为若干模块和组件,明确每个模块和组件的职责和功能。

通过软件架构,开发人员可以更好地协作合作,提高开发效率。

其次,软件架构可以提高软件系统的复用性和可维护性。

通过良好的软件架构设计,可以使软件系统的各个模块和组件之间的耦合度降低,模块之间的接口定义清晰明确,便于重用和维护。

此外,软件架构的模块化特性也可以使系统的功能模块独立开发,方便后期的维护和升级。

再次,软件架构可以提高软件系统的性能和可扩展性。

良好的软件架构设计可以使系统的各个模块和组件之间的通信更高效,减少系统的资源占用和响应时间。

此外,软件架构考虑到了系统的可扩展性,可以方便地添加新的功能模块或者扩展已有的功能,满足不同用户的需求。

最后,软件架构可以提高软件系统的安全性和可靠性。

通过合理的软件架构设计,可以将安全性和可靠性的考虑融入到系统结构中,确保系统的安全防护措施得到有效地实施。

此外,软件架构的模块化特性可以使故障的定位和修复更加方便快捷,提高系统的可靠性。

总之,软件架构在软件开发过程中起着至关重要的作用。

它能够提供整体视图、提高复用性和可维护性、提高性能和可扩展性,以及提高安全性和可靠性。

因此,合理设计和规划软件架构对于软件系统的成功实施至关重要。

试题二:常见的软件架构模式及其特点(1000字)答案:在软件架构设计中,有多种常见的软件架构模式被广泛应用。

下面将介绍几种常见的软件架构模式及其特点:1. 分层架构(Layered Architecture):分层架构是一种将系统划分为多个独立的层次的架构模式。

软件体系结构复习资料

软件体系结构复习资料

15、DSSA的定义答案:DSSA就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构16、构件:答案:构件是一个计算单元或数据存储。

也就是说,构件是计算与状态存在的场所。

17、连接件:答案:连接件是用来建立构件间的交互以及支配这些交互规则的体系结构构造模块。

18、体系结构配置:答案:体系结构配置或拓扑是描述体系结构的构件与连接件的连接图。

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

31、模式答案:模式是指从某个具体的形式中得到的一种抽象,在特殊的非任意性的环境中,该形式不断地重复出现。

42、核心资源答案:是领域工程所有结果的集合,是产品线中产品构造的基础。

33、设计模式答案:一些设计面向对象的软件开发的经验总结,就是系统的命名、解释、和评价某一个重要的面向对象的可重现的面向对象的设计方案。

43、软件产品线答案:软件产品线就是在一个公共的软件资源集合基础上建立起来的共享同一个特性集合的系统集合45、产品线体系结构答案:产品线体系结构是一个软件体系结构和一组在一族产品中可重用的构件,为增加软件重要、为企业降低软件开发和维护的成本提供了一个重要的途径。

3、简要概产生软件危机的原因答案:1.用户需求不明确 2.缺乏正确的理论指导 3.软件规模越来越大 4.软件复杂度越来越高。

4、软件体系结构的定义众多,你是如何理解软件体系结构的?软件体系结构在软件系统中有何作用?答案:(1)软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素继承的模式以及这些模式的约束组成。

软件体系结构不仅指定了系统的组织结构和拓扑结构,还显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。

(2)体系结构是风险承担者进行交流的手段。

它明确了对系统实现的约束条件,决定了开发和维护组织的组织结构,制约着系统的质量属性,可以预测软件的质量,是推理和控制更改更简单,有助于循序渐进的原型设计。

软件体系结构期末考试考题

软件体系结构期末考试考题

精品文档简答题:、软件体系结构定义:1由构成系统的元素的,,行为和属性的高级抽象软件体系结构为软件系统提供了一个结构软体系结构不仅.,指导元素集成的模式以及这些模式的约束组成描述,这些元素的相互作用提还显示了系统需求和构成系统的元素之间的对应关系,指定了系统的组织结构和拓扑结构, 供了一些设计决策的基本原理。

4+1视图模型:2、最终用逻辑视图:,开发视图和场景视图)--个不同角度(逻辑视图,进程视图,物理视图从5;吞吐量等,性能可扩充性,,软件管理;进程视图:系统集成人员,户功能需求;开发视图:编程人员通信等。

安装,:系统工程人员,系统拓扑,物理视图3、体系结构的核心模型,,其中构件连接件和配置是最基本的元素。

,,连接件配置,端口,角色: 由5种元素组成构件表示了系统中主要的计算元素和数据存(1)构件是具有某种功能的可重用性的软件模板单元, ,复合构件和原子构件;,储构件有两种(2)连接件表示了构件之间的交互;配置表示了构件和连接件的拓扑逻辑和约束。

(3))风格优点:客户4、三层C/S(/服务器能提高系统和软件允许合理得划分三层结构的功能(1),使之在逻辑上保持相对独立性,; 的可维护性和可扩展性使之在处理负荷能力上与处理特性上(2) 允许更灵活有效地选用相应的平台和硬件系统, 精品文档.精品文档分别适应于结构清晰的三层,并且这些平台和各个组成部分可以具有良好的可升级性和开放性;(3)应用的各层可以并行开发,可以选择各自最适合的开发语言;(4)利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法访问数据层,为严格的安全管理奠定了坚持的基础。

三层比二层好在:三层C/S体系结构中增加了一个应用服务区可以将整个应用逻辑驻留在应用服务器上,而只有表示层存在客户机上,三层C/S体系结构将应用层序分成表示层,功能层和数据层三部分。

5、同传统分布式体系结构相比Web服务体系结构的主要优势:高度的通用性和易用性;完全的平台,语言独立性;高度的集成性;容易部署和发布6、UML的主要内容用例图;类图;对象图;顺序图;通信图;状态图;活动图;构件图;部署图7、与C/S相比,B/S的优点:基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。

大学_软件体系结构试题及参考答案

大学_软件体系结构试题及参考答案

软件体系结构试题及参考答案软件体系结构试题及参考答案(一)1. 什么是软件工程?构成软件工程的要素是什么?软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,对所选方法的研究。

软件工程的要素由方法、工具和过程组成。

方法支撑过程和工具,而过程和工具促进方法学的研究。

2. 什么是软件生存周期?软件开发过程模型与软件生存周期之间是何关系?软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程叫软件生存周期。

软件开发过程模型表示软件开发中各个活动的安排方式,出来软件开发各个活动之间关系,是软件开发过程的概括,是软件工程的重要内容,其为软件管理提供里程碑和进度表,为软件开发过程提供原则和方法,其包括有以软件需求完全确定为前提的瀑布模型,以渐进式开发模型的原型和螺旋模型,以形式化开发方法为基础的变换模型。

3. 叙述软件设计在软件工程中所处的位置和重要性位置:软件需求分析--------需求规格说明------软件设计------设计文档------------软件编码总要性:(1)、是对软件需求的直接体现。

(2)、为软件实现提供直接依据(3)、将综合考虑软件系统的各种约束条件并给出相应方案(4)、软件设计的质量将决定最终软件系统的质量。

(5)、及早发现软件设计中存在的错误将极大减少软件修复和维护所需的成本。

4. 软件设计应该包含哪些要素?软件设计应该包含:目标描述、设计约束、产品描述、设计原理、开发规划、使用描述。

5. 简述UML的特点和用途。

、答:为使用者提供了统一的、表达能力强大的可视化建模语言,以描述应用问题的.需求模型、设计模型和设计模型。

提供对核心概念的扩展机制,用户可加入核心概念中没有的概念和符号,可为特定应用领域提出具体的概念、符号表示和约束。

提供于实现语言和支持所有的方法学,覆盖了面向对象分析和设计的相关概念和方法学。

独立于任何开发过程,但支持软件开发全过程。

软件体系结构期末复习

软件体系结构期末复习

软件体系结构期末复习软件体系结构期末复习要点第⼀章绪论1. 软件⼯程的基本要素过程:⽀持软件开发各个环节的控制和管理。

⽅法:完成软件开发任务的技术⼿段。

⼯具:为软件开发提供⾃动的或半⾃动的软件⽀撑环境。

2. 软件⼯程的过程image-202101091334500853. 软件⼯程的⽅法⾯向服务:在应⽤表现层次上将软件构件化,即应⽤业务过程由服务组成,⽽服务由构件组装⽽成。

⾯向构件:寻求⽐类的粒度更⼤的且易于复⽤的构件,期望实现软件的再⼯程。

⾯向对象:以类为基本程序单元,对象是类的实例化,对象之间以消息传递为基本⼿段。

⾯向过程:以算法作为基本构造单元,强调⾃顶向下的功能分解,将功能和数据进⾏⼀定程度的分离。

第⼆章软件过程1. 软件过程模型的分类image-202101091345593432. 根据不同软件应⽤场景,选择合适的软件过程模型1. 瀑布模型image-20210109135141466特点:以预测性为原则。

以⽂档驱动开发过程。

以过程控制为核⼼。

根据瀑布模型的特点(连续⽆反馈)是对于每⼀个阶段来说,前⼀个阶段⼯作的正确⽆误是⾄关重要的。

因此,瀑布模型不能很好地适应那些需求不易确定和多变的软件项⽬的开发。

由于⼤项⽬在软件开发的前期阶段,⼈们很难详细地了解系统的许多细节,从⽽在项⽬进⾏过程中常会出现需求变化。

因此,瀑布模型适⽤于⼩系统开发项⽬,⽽不适⽤于⼤、中型软件系统开发。

2. 原型化模型image-20210109135859530原型化⽅法⾸先根据系统分析⼈员对⽤户要求的理解,模拟出⼀个系统原型,然后就这个模型与⽤户展开讨论。

所以,原型化⽅法是⼀种适应于需求不确定性的软件系统开发⽅法,即指在获得⼀组软件基本需求说明后,快速分析构造出⼀个⼩型的软件系统,满⾜⽤户的基本要求,使得⽤户可在试⽤原型过程中得到感受和启发,并做出反应、评价;然后开发者根据⽤户的意见对原型加以改进,获得新的原型版本,再次交由⽤户试⽤、评价。

软件体系结构复习内容

软件体系结构复习内容

软件体系结构复习内容软件体系结构是指软件系统在组织上的结构和模块之间的关系。

它描述了软件系统的组成部分、它们的关系以及它们与系统环境之间的交互。

软件体系结构的设计对于软件系统的可维护性、可扩展性和可重用性都起着重要的作用。

下面是软件体系结构的复习内容:1.软件体系结构基本概念-软件体系结构是指软件系统的组织结构和模块之间的关系。

-软件体系结构描述了软件系统的组成部分、它们的关系以及它们与系统环境之间的交互。

-软件体系结构设计是软件开发的重要环节,可以提高软件系统的可维护性、可扩展性和可重用性。

2.常见的软件体系结构类型-分层体系结构:将系统划分为多个层次,每个层次提供不同的功能。

-客户-服务器体系结构:将系统划分为客户端和服务器端,客户端向服务器端请求服务。

-基于事件的体系结构:系统通过事件进行组织和通信,每个部分都可以处理事件。

-面向对象体系结构:将系统划分为多个对象,对象之间通过消息进行通信。

-基于组件的体系结构:将系统划分为可独立开发和部署的组件,组件之间通过接口进行通信。

3.软件体系结构设计原则-模块化:将系统划分为多个模块,每个模块负责一个特定的功能。

-高内聚低耦合:模块内部的元素彼此之间紧密相关,而模块之间的关系尽量松散。

-可扩展性:系统能够容易地增加新的功能模块。

-可重用性:系统中的模块能够被多个应用程序共享和重复使用。

-可维护性:系统的设计应该容易理解和修改,以适应变化的需求。

4.软件体系结构设计方法-层次化设计:将系统划分为多个层次,每个层次负责不同的功能。

-面向对象设计:将系统划分为多个对象,对象之间通过消息进行通信。

-事件驱动设计:将系统划分为多个模块,每个模块通过事件进行组织和通信。

-领域驱动设计:将系统划分为多个领域模型,每个模型描述一个特定领域的概念和关系。

5.软件体系结构评估方法-场景分析法:通过分析系统在实际应用中的使用场景来评估其性能和可用性。

-静态分析法:通过对软件系统的源代码、设计文档和配置文件进行分析来评估其结构和质量。

软件体系结构-期末大题

软件体系结构-期末大题

1.基于构件的软件开发的优势是什么?基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用2.尝试用自己的语言介绍Kruchten的“4+1”模型。

Kruchten 提出了一个"4+1"视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。

每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。

3.在希赛公司的一个财务管理系统,财务部要客户提供…………4.不同的体系结构风格具有各自的特点、优劣和用途。

试对管道-过滤器风格、事件驱动风格、分层系统、C2风格和基于消息总线的风格进行分析比较。

P52-56(1)管道和过滤器特点:@使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;@允许设计者将整个系统的输入输出行为看成是多个过滤器的行为的简单合成;@支持软件重用。

只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来;@系统维护和增强系统性能简单。

新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替换掉;@允许对一些如吞吐量、死锁等属性的分析;@支持并行执行。

每个过滤器是作为一个单独的任务完成,因此可与其它任务并行执行缺点:①通常导致进程成为批处理的结构。

②不适合处理交互的应用。

③因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。

(2)(3)分层系统体系结构有以下优点:第一,支持基于抽象程度递增的系统设计。

这允许设计者可以将一个复杂系统设计按递增的步骤进行分解。

第二,支持功能增强。

因为每层至多和与之相邻的上层和下层交互,所以,改变某层的功能最多只会影响与之相邻的其它两层。

第三,支持重用。

与抽象数据类型一样,只要对相邻层提供同样的接口,每层可以有很多不同的可相互替代的实现方法。

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

《软件体系结构》期末复习题简答题:1、软件体系结构建模的种类有:结构模型、框架模型、动态模型、过程模型、功能模型。

2、“4+1”视图模型从5个不同的视角包括:逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。

3、构件:是具有某种功能的可重用的软件模板单元,表示了系统中主要的计算元素和数据存储。

连接件:表示构件之间的交互。

配置:表示构件和连接件的拓扑逻辑和约束。

端口:表示构件和外部环境的交互点。

角色:定义了该连接交互的参与者。

4、画出“4+1”视图模型图,分析各部分的原理和功能。

5、软件体系结构风格:是描述某一特定应用领域中系统组织方式的惯用模式。

6、软件体系结构(Software Architecture)软件体系结构以组件和组件交互的方式定义系统,说明需求与成品系统之间的对应关系,描述系统级别的可伸缩性、能力、吞吐量、一致性和兼容性等属性。

软件体系结构由组件、连接件和属性组成。

7、分层系统的优点有:1)支持基于抽象程度递增的系统设计,使设计者可以把一个复杂系统按递增的步骤进行分解; 2)支持功能增强,因为每一层至多和相邻的上下层交互,因此功能的改变最多影响相邻的上下层;3)支持重用。

只要提供的服务接口定义不变,同一层的不同实现可以交换使用。

这样,就可以定义一组标准的接口,而允许各种不同的实现方法。

8、分层系统的缺点有:1)并不是每个系统都可以很容易地划分为分层的模式,甚至即使一个系统的逻辑结构是层次化的,出于对系统性能的考虑,系统设计师不得不把一些低级或高级的功能综合起来;2)很难找到一个合适的、正确的层次抽象方法。

9、 B/S体系结构的优点有什么?答:1)基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。

用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。

2)B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。

10、B/S体系结构的缺点有什么?答:1)B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。

2)B/S体系结构的系统扩展能力差,安全性难以控制。

3)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。

4)B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。

11、DSSA答案:DSSA就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构11、软件体系结构的动态性主要分为:交互式动态性、结构化动态性、体系结构动态性等三类。

12、请画出基于构件的动态系统结构模型画。

13、软件产品线产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足选定的市场或任务领域的特定需求。

这些系统遵循一个预描述的方式,在公共的核心资源(core assets)基础上开发的14、SOA即service-oriented architecture,面向服务架构。

它是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。

接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。

这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。

14、RIA15、中间件15、设计模式答:一些设计面向对象的软件开发的经验总结,就是系统的命名、解释、和评价某一个重要的面向对象的可重现的面向对象的设计方案。

15、软件体系结构测试和传统软件测试区别16、UML中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差别和各自的优缺点。

掌握利用两种图进行的设计的方法。

答:顺序图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。

与顺序图一样,协作图也展示对象之间的交互关系。

顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。

顺序图按照时间顺序布图,而协作图按照空间组织布图。

顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。

协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。

17. 管道过滤器风格结构特点(1)使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;(2)允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成;(3)支持软件重用。

(4)系统维护和增强系统性能简单。

(5)允许对一些如吞吐量、死锁等属性的分析;(6)支持并行执行。

但是,这样的系统也存在着若干不利因素。

(1)通常导致进程成为批处理的结构。

这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换。

(2)不适合处理交互的应用。

当需要增量地显示改变时,这个问题尤为严重。

(3)因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。

18. 什么是设计模式?它与风格、框架有什么区别与联系?设计模式是对通用设计问题的重复解决方案。

软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。

软件框架是整个或部分系统的可重用设计模式比框架更加抽象框架是模式的特例化设计模式被实现成为框架后,可以极大的减轻从设计到实现的鸿沟利用了模式的框架比没有利用模式的框架更容易理解、更能被设计与实现重用通常成熟的框架包含了多种设计模式一个框架不仅可以具体实现一个模式,还可以具体的实现多个模式设计模式与风格两者为近义词,通常情况下可以互相通用风格主要是指大的,宏观的设计。

模式既可宏观,又可微观。

19. 软件体系结构测试的内容与准则是什么?内容:构件端口行为与连接件约束是否一致、兼容,单元间的消息是否一致、可达,相关端口是否可连接,体系结构风格是否可满足。

准则:测试覆盖所有的构件及各个构件的接口。

各个连接件的接口、构件之间的直接连接、构件之间的间接连接。

20、请简述MVC,介绍各自的作用和用途。

答案:MVC是三个单词的缩写,分别为:模型(Model),视图(View)和控制Controller)。

MVC模式的目的就是实现Web系统的职能分工。

Model是应用对象,所有的操作都在这里实现,它若需要取得视图中的对象或更新视图,需通过控制器来进行处理。

View是模型在屏幕上的表示,模型在进行操作后,其结果是通过视图显示的。

Controller用于管理用户与视图发生的交互,定义用户界面对用户输入的响应方式。

一旦用户需要对模型进行处理,不能直接执行模型,而必须通过控制器间接实现的。

选择题1、设计模式一般用来解决什么样的问题( A )A.同一问题的不同表相 B不同问题的同一表相C.不同问题的不同表相D.以上都不是2、下列属于面向对象基本原则的是( C )A.继承B.封装C.里氏代换 D都不是3、Open-Close原则的含义是一个软件实体( A )A.应当对扩展开放,对修改关闭.B.应当对修改开放,对扩展关闭C.应当对继承开放,对修改关闭D.以上都不对5、要依赖于抽象,不要依赖于具体。

即针对接口编程,不要针对实现编程,是( D )的表述A.开-闭原则B.接口隔离原则C.里氏代换原则D.依赖倒转原则7、设计模式的两大主题是( D)A.系统的维护与开发 B 对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展9、下列模式中,属于行为模式的是( B)A.工厂模式B观察者C适配器 D 以上都是10、常用的软件体系结构评估的方法不包括( C )。

A体系结构权衡分析法 B.软件体系结构分析法C系统体系结构分析法 D.中间设计的积极评审11、不属于软件体系结构的核心模型的最基本的元素是( D )A 构件B 连接件C 配置D 角色12、选项中部属于“4+1”试图模型的是:( C )A 逻辑视图B 物理视图C 连接视图D 开发视图13、下列说法错误的一项的是(D )A:逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务B:开发视图也称模块视图,主要侧重于软件模块的组织和管理C:进程视图侧重与系统的运行特性,主要关注一些功能性需求,例如系统的性能和可用性。

D:物理视图主要考虑如何吧软件映射到硬件上,它不需要要考虑到系统性能、规模、可靠性等。

14、在三层C/S体系结构中,_________是最重要的构件。

( A )A 中间件B 末尾件C 功能层D 数据层15、C/S系统中,服务器的以下任务中哪一个是错的?( A )A 数据库一致性要求B 数据库访问并发性控制C 数据库前端的客户应用程序的全局数据完整性规则D 数据库的备份与恢复16、与C/S体系结构相比,B/S体系结构也有许多不足之处一下说法正确的是( A )A B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理能力B B/S体系结构的系统扩展能力差,但是安全性比较容易控制C 采用B/S架构构的应用系统,在数据查询等响应速度上,要远远的高于C/S体系结构D B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,利于在线事务处理(OnlineTransaction Processing,OLTP)应用。

17、以下关于软件体系结构描述方法说法错误的是( B )A图形表达工具在软件设计中占据主导地位。

B由于软件设计语言和模块内连接语言具有严格的语义基础,因此它们能支持较小的软件单元进行描述。

C基于软构件的系统描述语言将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实体构造组成的组织或系统。

D软件体系结构描述语言是参照传统程序设计语言的设计语言的设计和开发经验,重新设计、开发和使用针对软件体系结构描述语言。

18、下列选项中关于ADL与其他语言的比较说法中错误的是( B )ADL与需求语言的区别在于后者描述的问题空哦关键,而前者则扎根于解空间中ADL与建模语言的区别在于后者对部分的关注要大于对整体的关注ADL与传统的程序设计语言的构成元素由许多相同和相似之处,有各自有着很大的不同ADL集中在构件的表示上。

19、对动态软件体系结构的形式化描述通常可以采用的方法?( D )A、图形化方法B、代数进程方法C、逻辑方法D、以上皆是20、以下哪些特征不属于动态体系结构特征( D )?A 可构造性动态特征B 适应性动态特征C 智能性动态特征D 安全性动态特征21、通常,一个Web服务可以分为4个逻辑层,分别为数据层(Data Layer)、数据访问层(Data Access Layer)、业务层(Business Layer)和监听者(Listener)。

相关文档
最新文档