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

合集下载

软件体系结构期末大题

软件体系结构期末大题

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(2)。

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

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

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.以下关于系统性能的叙述中,不正确的是(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)用来了解系统的性能、吞吐率等非功能性属性。

2020-2021大学《软件体系结构》期末课程考试试卷A(含答案)

2020-2021大学《软件体系结构》期末课程考试试卷A(含答案)

2020-2021《软件体系结构》期末课程考试试卷A专业:考试日期:时间:总分:分闭卷一大题:判断题(共10小题,每小题2分,共20分)1. 构架就是系统的总体结构。

()2. 架构设计中对不同风险承担者提出的要求都要一视同仁,全部予以解决。

()3. 软件架构的风格、软件体系的框架和软件的设计模式,其实就是同一个概念。

()4.在C2风格的系统中每个构件和连接件都有一个顶部一个底部。

构件的顶部与某连接件的底部连接,构件的底部与某连接件的顶部连接,构件与构件之间也可以直接连接。

()5.可修改性战术的主要目的是减少由某个变更直接或者间接影响的模块的数量。

()6. 设计师对系统的质量属性应平等看待,在系统设计中全部予以解决。

()7.应将产生数据的模块和使用数据的模块分离开。

()8. 构架评审中对所有问题都要一视同仁。

()9.通过ATAM评审可以得到明确的量化指标。

()10.根据架构提供的结构图就可以对组件之间的行为进行判断。

()二大题:名词解释题(共2小题,每小题8分,共16分)1. 什么是软件架构2.什么软件架构风格?三大题:论述与应用题(共5小题,1—4小题,每题10分,第5小题24分,共64分)1. 功能,架构,质量属性之间的关系?2.可用性和可靠性有什么区别?3.为什么软件设计中要应用架构样式?4.在用户登录的过程中,需要到后台数据库进行身份验证,试以JSP页面验证技术的发展说明不同战术对质量属性的影响。

5.请根据所学的知识对你的暑期实训作业进行架构设计(应至少包括:➀项目背景、➁需求分析、➂系统架构设计、➃构架的表述、➄质量属性效用树、➅对系统构架的再分析等几个部分)。

院系:专业班级:姓名:学号:装订线2020-2021《软件体系结构》期末课程考试试卷A答案专业:考试日期:时间:总分:分闭卷一大题:判断题(共10小题,每小题2分,共20分)1. 构架就是系统的总体结构。

(错)2. 架构设计中对不同风险承担者提出的要求都要一视同仁,全部予以解决。

软件体系结构期末考试

软件体系结构期末考试

软件体系结构期末考试
一、题目(论述题):
结合参与开发的软件工程项目,①论述采用的软件体系结构风格或应用框架,②论述采用的软件设计基本原则和策略。

二、题目要求:
(1)简要说明软件体系结构的性质、研究意义和目标是什么?
(2)简要说明软件设计风格、软件应用框架和软件设计模式的特征和区别?
(3)简要说明系统中采用的中间件的作用和目标,(如果没有,请选择一种与系统契合的中间件进行描述)。

(4)假设系统没有采用SOA的架构,请简述SOA软件体系结构的基本概念,Web Service 的主要协议。

三、内容要求
作业格式要求:
1、给出的标题。

2、报告内容组织结构清晰,语句流畅,无错别字。

3、图、表描述恰当、与内容契合、清晰。

图、表序号标注准确。

4、A4纸,宋体小4号字,标准页边距,行间距固定值18磅,页码右下。

交打印稿。

不多于20页,可正反面打印。

四、评分细则
1、题目整体结构、语言表达、整体格式(20分)
2、软件体系结构的性质、研究意义和目标(5分)
3、软件设计风格、软件应用框架和软件设计模式的特征和区别(5分)
4、系统中间件表述(5分)
5、SOA、WebService简述(5分)
6、论述部分,既要描述,也要有论证(包括适当的评估)(60分)
五、总评成绩
期末成绩*70%+平时成绩。

《软件体系结构》期末复习题doc资料

《软件体系结构》期末复习题doc资料

《软件体系结构》期末复习题简答题: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体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。

软件架构期末试题及答案

软件架构期末试题及答案

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

精品文档简答题:、软件体系结构定义: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. 设计模式的基本原理是( C )A.面向实现编程B.面向对象编程C.面向接口编程D.面向组合编程2. 设计模式的两大主题是( D )A.系统的维护与开发B.对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展3. 依据设计模式思想,程序开发中应优先使用的是( A )关系实现复用。

A.组合聚合B.继承C.创建D. .以上都不对4. 关于继承表述错误的是( D )A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。

B.泛化类(超类)可以显式地捕获那些公共的属性和方法。

特殊类(子类)则通过附加属性和方法来进行实现的扩展。

C.破坏了封装性,因为这会将父类的实现细节暴露给子类。

D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类。

5. 常用的设计模式可分为( A )A.创建型、结构型和行为型B.对象型、结构型和行为型C.过程型、创建型和结构型D.抽象型、接口型和实现型6. “不要和陌生人说话”是对( D )设计原则的通俗表述。

A.接口隔离B.里氏代换C.依赖倒转D. .迪米特法则7. 在适配器模式中,对象适配器模式是对( A )设计原则的典型应用A.合成聚合B.里氏代换C.依赖倒转D. .迪米特法则8. 将一个类的接口转换成客户希望的另一个接口,这句话是对(C)设计模式的描述A.策略模式B.桥接模式C.适配器模式D.单例模式9. 以下设计模式中属于结构模式的是( D )A. 观察者模式B.单例模式C.策略模式D.外观模式10. 以下不属于对象行为型模式是( D )A. 命令模式B.策略模式C.访问者模式D.桥接模式11. 下面的类图表示的是哪个设计模式( D )A. 抽象工厂模式B.观察者模式C.策略模式D.桥接模式12. Open-Close开闭原则的含义是一个软件实体( A )A.应当对扩展开放,对修改关闭。

B.应当对修改开放,对扩展关闭。

(完整版)软件体系结构复习题及答案

(完整版)软件体系结构复习题及答案

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

表现:a)软件成本日益增加:开发、部署与应用成本高b)开发进度难以控制:不能按期完成c)软件质量差:错误率高,不能满足用户的需求,没有生命力d)软件维护困难:成本高,维护效果不理想,可能带来潜在的错误原因:1.用户需求不明确2.缺乏正确的理论指导3.软件规模越来越大4.软件复杂度越来越高2、请说明软件规模与复杂度对软件过程的影响及解决方法。

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

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

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

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

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

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

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

(种类)可重用的元素越大,我们就说重用的粒度(Granularity)越大。

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

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

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

实现模型:1.CORBA2.EJB / DCOM / COM+意义:这些模型通常都定义了构件的实现方式、接口定义、访问方法等。

符合这些标准的任何构件都有很高的重用能力。

描述部分6、请用图示法说明4+1模型的5种视图之间的关系及关注点和涉众用户。

数据视图风格部分7、什么是软件体系结构的风格?它在软件开发过程中具有何种意义?软件体系结构风格是指设计、组织和实现软件体系结构的各种惯用模式和习惯用法,是对一系列体系结构设计的抽象。

软件体系结构软件工程 期末考试真题

软件体系结构软件工程  期末考试真题

软件体系结构2019期末考试题一.选择题(10分)二.简答题(50分)1.RUP的4+1 视图?(7分)2.名词解释(8分)SRP,VOPC,PSM,MDA3.解释聚合,包含,泛化以及它们之间的比较? (7分)4.什么是关联的导航性,如何设计导航性?(7分)5.有哪些典型的通用职责分配模式(GARSP)?(7分)6.什么是B-C-E 三层架构?(7分)7.什么是子系统,和包的区别? (7分)8.用例有哪三种关系? (7分)三.大题(40分)1.(15分)某企业为了方便员工用餐,为餐厅开发了一个订餐系统(COS: Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。

企业的任何员工都可以查看菜单和今日特价。

系统的顾客是注册到系统的员工,可以订餐(如果未登录,需先登录)、注册工资支付、预约规律的订餐,在特殊情况下可以覆盖预订。

餐厅员工是特殊顾客,可以进行备餐、生成付费请求和请求送餐,其中对于注册工资支付的顾客生成付费请求并发送给工资系统。

菜单管理员是餐厅特定员工,可以管理菜单。

送餐员可以打印送餐说明,记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。

顾客订餐过程如下:1. 顾客请求查看菜单;2. 系统显示菜单和今日特价;3. 顾客选菜;4. 系统显示订单和价格;.5.顾客确认订单;6. 系统显示可送餐时间;7. 顾客指定送餐时间、地点和支付方式;8. 系统确认接受订单,然后发送E-mail给顾客以确认订餐,同时发送相关订餐信息通知给餐厅员工。

系统采用面向对象方法开发,使用UML进行建模。

系统的顶层用例图和一次订餐的活动图初稿分别如下图(a)和(b)所示。

问题:3.1根据说明中的描述,给出图 (a) 中A1和A2所对应的参与者。

问题:3.2根据说明中的描述,给出图 (a)中缺少的四个用例及其所对应的参与者。

问题:3.3指出图(a)中员工和顾客之间是什么关系,并解释该关系的内涵。

软件体系结构期末考试题

软件体系结构期末考试题

软件体系结构-设计模式练习题11.面向对象分析与设计中的(1)是指一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的;而(2)是指子类应当可以替换父类并出现在父类能够出现的任何地方。

(1) A.开闭原则 B.替换原则 C.依赖原则 D.单一职责原则(2) A.开闭原则 B.替换原则 C.依赖原则 D.单一职责原则2.(3)限制了创建类的实例数量,而(4)将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

(3) A.命令模式(Command)B.适配器模式(Adapter)C.策略模式(Strategy) D.单例模式(Singleton)(4) A.命令模式(Command) B.适配器模式(Adapter) C.策略模式(Strategy) D.单例模式(Singleton)3. (5)设计模式允许一个对象在其内部状态改变时改变它的行为。

下图为这种设计模式的类图,已知类 State 为抽象类,则类(6)的实例代表了Context 对象的状态。

(5) A.单件(Singleton) B.桥接(Bridge) C.组合(Composite) D.状态(State)(6) A. Context B. ConcreteStateA C. Handle D. State4.某公司欲开发一门户网站.将公司的各个分公司及办事处信息进行整合。

现决定采用Composite设计模式来实现公司的组织结构关系.并设计了如下图所示的UML类图。

图中与Composite模式中的“Component”角色相对应的类是 (7) .与“Composite”角色相对应的类是 (8) 。

(7) A. Company B. FinanceDepartment C. HRDepartment D. ConcreteCompany(8) A. Company B. FinanceDepartment C. HRDepartment D. ConcreteCompany5.某软件公司正在设计一个通用的嵌入式数据处理平台.需要支持多种数据处理芯片之间的数据传递与交换。

软件体系结构期末大作业

软件体系结构期末大作业

软件体系大作业1.根据下列用例描述,画出该用例的活动图。

用例名称:还书(Return Book)描述:(Return Book)必须允许管理员对借阅者进行还书处理。

前置条件:登录前管理员需要登录到系统中。

部署约束:必须在图书馆内前台进行,并且需要扫描图书信息到系统中。

正常事件流:用例成功后,系统更改书籍状态1)当借阅者归还图书时,用例启动。

2)管理员扫描图书,录入图书信息。

3)将图书状态设为已还。

4)根据时间算法确定图书归还的当前日期。

5)更改借阅记录,用例结束。

可选事件流:无异常事件流:1)图书磁条损坏,扫描不成功2.用例名称:借书(Borrow Book)描述:(Borrow Book)必须允许管理员对借阅者进行借书处理,借阅者通过刷卡登录后可以借书。

前置条件:登录前管理员需要登录到系统中,借阅者在借书之前也要刷卡登录到系统中。

部署约束:必须在图书馆内前台进行,并且需要扫描图书信息到系统中。

正常事件流:用例成功后,系统创建并存储借阅记录1)当借阅者借阅图书时,用例启动。

2)借阅者刷卡显示借阅者相关信息,管理员扫描图书,录入图书信息。

3)根据时间算法确定图书借出日期和归还日期。

4)创建借阅记录。

5)存储借阅记录。

6)管理员将图书借给读者。

可选事件流:图书延期1)借阅者将图书给管理员,办理延期。

2)借阅者刷卡,管理员扫描图书。

3)管理员更改借阅期限。

4)更改借阅记录。

5)管理员将图书还给借阅者,用例结束。

异常事件流:借阅卡冻结,借书无效1)借阅者刷卡后,提示借阅者已借图书到期超过5天,2)或者借阅者的借书数量超过最大的借书数量。

3)图书扫描错误,系统不能读取图书信息。

4)取消借阅,用例结束。

3.如果我们做的是一个平安保险公司的一个订单(超过1亿条)查询功能,如何处理海量表,试给出分表方案?4.在进行了基本的数据库的分表、索引等优化措施后,数据库的并发访问量还是过大,这种情况下,你有什么好办法来解决该问题,试给出方案。

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

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

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

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

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

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

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

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

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

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

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

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

相关文档
最新文档