软件体系结构期末大题
软件体系结构期末大题
![软件体系结构期末大题](https://img.taocdn.com/s3/m/f65abca60740be1e640e9a05.png)
软件体系结构-期末大题————————————————————————————————作者:————————————————————————————————日期:ﻩ1.基于构件的软件开发的优势是什么?基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用2.尝试用自己的语言介绍Kruchten的“4+1”模型。
Kruchten 提出了一个"4+1"视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。
每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。
3.在希赛公司的一个财务管理系统,财务部要客户提供…………4.不同的体系结构风格具有各自的特点、优劣和用途。
试对管道-过滤器风格、事件驱动风格、分层系统、C2风格和基于消息总线的风格进行分析比较。
P52-56(1)管道和过滤器特点:@使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;@允许设计者将整个系统的输入输出行为看成是多个过滤器的行为的简单合成;@支持软件重用。
只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来;@系统维护和增强系统性能简单。
新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替换掉;@允许对一些如吞吐量、死锁等属性的分析;@支持并行执行。
每个过滤器是作为一个单独的任务完成,因此可与其它任务并行执行ﻫ缺点:①通常导致进程成为批处理的结构。
②不适合处理交互的应用。
③因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。
(2)(3)分层系统体系结构有以下优点:第一,支持基于抽象程度递增的系统设计。
这允许设计者可以将一个复杂系统设计按递增的步骤进行分解。
软件体系结构-期末大题
![软件体系结构-期末大题](https://img.taocdn.com/s3/m/16bfbcfdb8f67c1cfad6b86f.png)
1.基于构件的软件开发的优势是什么?基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用2.尝试用自己的语言介绍Kruchten的“4+1”模型。
Kruchten 提出了一个"4+1"视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。
每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。
3.在希赛公司的一个财务管理系统,财务部要客户提供…………4.不同的体系结构风格具有各自的特点、优劣和用途。
试对管道-过滤器风格、事件驱动风格、分层系统、C2风格和基于消息总线的风格进行分析比较。
P52-56(1)管道和过滤器特点:@使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;@允许设计者将整个系统的输入输出行为看成是多个过滤器的行为的简单合成;@支持软件重用。
只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来;@系统维护和增强系统性能简单。
新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替换掉;@允许对一些如吞吐量、死锁等属性的分析;@支持并行执行。
每个过滤器是作为一个单独的任务完成,因此可与其它任务并行执行缺点:①通常导致进程成为批处理的结构。
②不适合处理交互的应用。
③因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。
(2)(3)分层系统体系结构有以下优点:第一,支持基于抽象程度递增的系统设计。
这允许设计者可以将一个复杂系统设计按递增的步骤进行分解。
第二,支持功能增强。
因为每层至多和与之相邻的上层和下层交互,所以,改变某层的功能最多只会影响与之相邻的其它两层。
第三,支持重用。
与抽象数据类型一样,只要对相邻层提供同样的接口,每层可以有很多不同的可相互替代的实现方法。
软件体系结构期末试题及其答案
![软件体系结构期末试题及其答案](https://img.taocdn.com/s3/m/e5057e243069a45177232f60ddccda38376be13b.png)
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)用来了解系统的性能、吞吐率等非功能性属性。
[精选]软件体系结构期末试题+答案资料
![[精选]软件体系结构期末试题+答案资料](https://img.taocdn.com/s3/m/e9bf54e5b14e852458fb579b.png)
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)用来了解系统的性能、吞吐率等非功能性属性。
最新软件体系结构期末试题+答案
![最新软件体系结构期末试题+答案](https://img.taocdn.com/s3/m/95ddf5f16137ee06eef9180c.png)
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)用来了解系统的性能、吞吐率等非功能性属性。
软件体系结构期末试题整理 配套答案
![软件体系结构期末试题整理 配套答案](https://img.taocdn.com/s3/m/90ea044a58fb770bf68a5517.png)
1. C.2 D. 消息传递3 C. 逻辑视图 D. 部署视图4.A,B5. C 6. C. 标准函数库 7 A,B8. D9.B10.D11 。
A12. 某游戏公司欲开发一个大型多人即时战略游戏,游戏设计的目标之一是能够支持玩家自行创建战役地图,定义游戏对象的行为和之间的关系。
针对该目标,公司应该采用(48) 架构风格最为合适。
(48)A. 管道-过滤器 B. 隐式调用 C. 主程序-子程序 D. 解释器D13 AD14 D15 A1. 分别描述两个质量属性的场景图。
下面场景表现了网上个人银行查询系统的性能。
下面场景表现了网上个人银行查询系统的修改性。
场景可以用文本表示,也可以用图形表示。
2.请描述构架设计的ADD 方法中对模块求精的5个步骤。
答题要点:a. 从具体的质量场景和功能需求集合中选择构架驱动因素。
b. 选择满足构架驱动因素的构架模式。
c. 实例化模块并根据用例分配功能,使用多个视图进行表示。
d. 定义子模块的接口。
e. 验证用例和质量场景并对其进行求精,使它们成为子模块的限制。
3. 描述A TAM 方法的步骤。
)试图同时登陆系统 网上个人银行查询系统平均响应时间5秒正常运行 请求被处理 希望改变操作界面代码只修改界面代码或配置文件 维护时 用户 修改不产生副作用,在2小时内完成500用户户ATAM方法的表述商业动机的表述构架的表述对构架方法进行分类生成质量属性效用树分析构架方法集体讨论并确定场景优先级再次分析构架方法结果的表述4. 选取两个质量属性以表格形式生成质量属性效用树效用树的表格形式如下表所示。
质量属性属性求精场景场景用文字描述,并要标明场景的优先级和实现的难易。
系统的质量属性有多种,请列举其中六种:可用性、可修改性、性能、安全、可测试性、易用性、可移植、可重用、可集成(任选六个)。
试题三参考答案(共15分)【问题1】(4分)U1:移动元素U2:调整元素大小(U1和U2的答案可以互换)(1) <<extend>> (2) << extend>>【问题2】(8分)C1:创建工具C2:选择工具C3:线条工具C4:矩形工具C5:椭圆工具C6:线条C7:矩形C8:椭圆注:C3~C5的答案可以互换;C6~C8的答案可以互换。
2020-2021大学《软件体系结构》期末课程考试试卷A(含答案)
![2020-2021大学《软件体系结构》期末课程考试试卷A(含答案)](https://img.taocdn.com/s3/m/c720d9ac7fd5360cbb1adb5a.png)
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. 架构设计中对不同风险承担者提出的要求都要一视同仁,全部予以解决。
软件体系结构试题(试题+答案)
![软件体系结构试题(试题+答案)](https://img.taocdn.com/s3/m/b16d90b23b3567ec112d8a10.png)
1、设计模式一般用来解决什么样的问题( a)A.同一问题的不同表相 B不同问题的同一表相C.不同问题的不同表相D.以上都不是2、下列属于面向对象基本原则的是( c )A.继承B.封装C.里氏代换 D都不是3、Open-Close原则的含义是一个软件实体( a )A.应当对扩展开放,对修改关闭.B.应当对修改开放,对扩展关闭C.应当对继承开放,对修改关闭D.以上都不对4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用( a )模式。
A.创建型B.结构型 C行为型 D.以上都可以5、要依赖于抽象,不要依赖于具体。
即针对接口编程,不要针对实现编程,是( d ) 的表述A.开-闭原则B.接口隔离原则C.里氏代换原则D.依赖倒转原则6、依据设计模式思想,程序开发中应优先使用的是( a )关系实现复用。
A, 委派 B.继承 C创建 D.以上都不对复用方式:继承和组合聚合(组合委派)7、设计模式的两大主题是( d )A.系统的维护与开发 B 对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展8、单子模式中,两个基本要点( a b )和单子类自己提供单例A .构造函数私有 B.唯一实例C.静态工厂方法D.以上都不对9、下列模式中,属于行为模式的是( b )A.工厂模式 B观察者 C适配器以上都是10、“不要和陌生人说话”是( d )原则的通俗表述A.接口隔离B.里氏代换C.依赖倒转D.迪米特:一个对象应对其他对象尽可能少的了解11、构造者的的退化模式是通过合并( c )角色完成退化的。
A.抽象产品 B产品 C创建者 D使用者12、单子(单例,单态)模式类图结构如下:下列论述中,关于”0..1”表述的不正确的是( d )A.1表示,一个单例类中,最多可以有一个实例.B.”0..1”表示单例类中有不多于一个的实例C.0表示单例类中可以没有任何实例D.0表示单例类可以提供其他非自身的实例13、对象适配器模式是( a )原则的典型应用。
软件体系结构试题(试题+答案)
![软件体系结构试题(试题+答案)](https://img.taocdn.com/s3/m/7fcbb91859eef8c75fbfb3a8.png)
1、设计模式一般用来解决什么样的问题( a)A.同一问题的不同表相 B不同问题的同一表相C.不同问题的不同表相D.以上都不是2、下列属于面向对象基本原则的是( c )A.继承B.封装C.里氏代换 D都不是3、Open-Close原则的含义是一个软件实体( a )A.应当对扩展开放,对修改关闭.B.应当对修改开放,对扩展关闭C.应当对继承开放,对修改关闭D.以上都不对4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用( a )模式。
A.创建型B.结构型 C行为型 D.以上都可以5、要依赖于抽象,不要依赖于具体。
即针对接口编程,不要针对实现编程,是( d ) 的表述A.开-闭原则B.接口隔离原则C.里氏代换原则D.依赖倒转原则6、依据设计模式思想,程序开发中应优先使用的是( a )关系实现复用。
A, 委派 B.继承 C创建 D.以上都不对复用方式:继承和组合聚合(组合委派)7、设计模式的两大主题是( d )A.系统的维护与开发 B 对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展8、单子模式中,两个基本要点( a b )和单子类自己提供单例A .构造函数私有 B.唯一实例C.静态工厂方法D.以上都不对9、下列模式中,属于行为模式的是( b )A.工厂模式 B观察者 C适配器以上都是10、“不要和陌生人说话”是( d )原则的通俗表述A.接口隔离B.里氏代换C.依赖倒转D.迪米特:一个对象应对其他对象尽可能少的了解11、构造者的的退化模式是通过合并( c )角色完成退化的。
A.抽象产品 B产品 C创建者 D使用者12、单子(单例,单态)模式类图结构如下:下列论述中,关于”0..1”表述的不正确的是( d )A.1表示,一个单例类中,最多可以有一个实例.B.”0..1”表示单例类中有不多于一个的实例C.0表示单例类中可以没有任何实例D.0表示单例类可以提供其他非自身的实例13、对象适配器模式是( a )原则的典型应用。
软件架构期末试题及答案
![软件架构期末试题及答案](https://img.taocdn.com/s3/m/9ab9ef87d4bbfd0a79563c1ec5da50e2524dd192.png)
软件架构期末试题及答案试题一:软件架构的定义和重要性(500字)答案:软件架构是指在软件开发过程中,对软件系统整体结构的设计和组织方式的规划和描述。
它决定了软件系统的基本结构,包括系统的各个模块、组件之间的关系以及数据流的流向等。
软件架构的设计在软件开发过程中起着重要的作用。
首先,软件架构可以提供系统的整体视图,帮助开发人员在理解系统结构和功能方面有更清晰的认识。
它可以将系统划分为若干模块和组件,明确每个模块和组件的职责和功能。
通过软件架构,开发人员可以更好地协作合作,提高开发效率。
其次,软件架构可以提高软件系统的复用性和可维护性。
通过良好的软件架构设计,可以使软件系统的各个模块和组件之间的耦合度降低,模块之间的接口定义清晰明确,便于重用和维护。
此外,软件架构的模块化特性也可以使系统的功能模块独立开发,方便后期的维护和升级。
再次,软件架构可以提高软件系统的性能和可扩展性。
良好的软件架构设计可以使系统的各个模块和组件之间的通信更高效,减少系统的资源占用和响应时间。
此外,软件架构考虑到了系统的可扩展性,可以方便地添加新的功能模块或者扩展已有的功能,满足不同用户的需求。
最后,软件架构可以提高软件系统的安全性和可靠性。
通过合理的软件架构设计,可以将安全性和可靠性的考虑融入到系统结构中,确保系统的安全防护措施得到有效地实施。
此外,软件架构的模块化特性可以使故障的定位和修复更加方便快捷,提高系统的可靠性。
总之,软件架构在软件开发过程中起着至关重要的作用。
它能够提供整体视图、提高复用性和可维护性、提高性能和可扩展性,以及提高安全性和可靠性。
因此,合理设计和规划软件架构对于软件系统的成功实施至关重要。
试题二:常见的软件架构模式及其特点(1000字)答案:在软件架构设计中,有多种常见的软件架构模式被广泛应用。
下面将介绍几种常见的软件架构模式及其特点:1. 分层架构(Layered Architecture):分层架构是一种将系统划分为多个独立的层次的架构模式。
软件体系结构期末考试考题
![软件体系结构期末考试考题](https://img.taocdn.com/s3/m/733094f6ad02de80d5d84025.png)
精品文档简答题:、软件体系结构定义: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体系结构的软件,系统安装、修改和维护全在服务器端解决。
大学_软件体系结构试题及参考答案
![大学_软件体系结构试题及参考答案](https://img.taocdn.com/s3/m/572164df541810a6f524ccbff121dd36a32dc435.png)
软件体系结构试题及参考答案软件体系结构试题及参考答案(一)1. 什么是软件工程?构成软件工程的要素是什么?软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,对所选方法的研究。
软件工程的要素由方法、工具和过程组成。
方法支撑过程和工具,而过程和工具促进方法学的研究。
2. 什么是软件生存周期?软件开发过程模型与软件生存周期之间是何关系?软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程叫软件生存周期。
软件开发过程模型表示软件开发中各个活动的安排方式,出来软件开发各个活动之间关系,是软件开发过程的概括,是软件工程的重要内容,其为软件管理提供里程碑和进度表,为软件开发过程提供原则和方法,其包括有以软件需求完全确定为前提的瀑布模型,以渐进式开发模型的原型和螺旋模型,以形式化开发方法为基础的变换模型。
3. 叙述软件设计在软件工程中所处的位置和重要性位置:软件需求分析--------需求规格说明------软件设计------设计文档------------软件编码总要性:(1)、是对软件需求的直接体现。
(2)、为软件实现提供直接依据(3)、将综合考虑软件系统的各种约束条件并给出相应方案(4)、软件设计的质量将决定最终软件系统的质量。
(5)、及早发现软件设计中存在的错误将极大减少软件修复和维护所需的成本。
4. 软件设计应该包含哪些要素?软件设计应该包含:目标描述、设计约束、产品描述、设计原理、开发规划、使用描述。
5. 简述UML的特点和用途。
、答:为使用者提供了统一的、表达能力强大的可视化建模语言,以描述应用问题的.需求模型、设计模型和设计模型。
提供对核心概念的扩展机制,用户可加入核心概念中没有的概念和符号,可为特定应用领域提出具体的概念、符号表示和约束。
提供于实现语言和支持所有的方法学,覆盖了面向对象分析和设计的相关概念和方法学。
独立于任何开发过程,但支持软件开发全过程。
(完整版)软件体系结构复习题及答案
![(完整版)软件体系结构复习题及答案](https://img.taocdn.com/s3/m/a98070a3ee06eff9aef807df.png)
概述部分1、请分析软件危机的主要表现和原因。
表现:a)软件成本日益增加:开发、部署与应用成本高b)开发进度难以控制:不能按期完成c)软件质量差:错误率高,不能满足用户的需求,没有生命力d)软件维护困难:成本高,维护效果不理想,可能带来潜在的错误原因:1.用户需求不明确2.缺乏正确的理论指导3.软件规模越来越大4.软件复杂度越来越高2、请说明软件规模与复杂度对软件过程的影响及解决方法。
软件规模与复杂度增加后,软件开发和维护成本增加,开发进度难以控制,软件质量差,软件维护变得困难。
应更多地采用科学的分析、设计和实现方法以及辅助工具,增强软件分析和设计的力度,并通过构件化提高软件的重用能力。
3、什么是软件体系结构,由哪三个部分组成?(构件、连接件、约束)软件体系结构为软件系统提供了一个结构、属性和行为的高级抽象。
它不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
4、请简述软件重用的含义和意义。
可重用元素包括哪些种类?软件重用是指在多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
(含义)可重用的元素包括程序代码、测试用例、设计文档、需求分析文档甚至领域知识。
(种类)可重用的元素越大,我们就说重用的粒度(Granularity)越大。
软件重用是软件产业工业化、工程化的重要手段。
软件重用对提高生产率,降低开发成本,缩短开发周期,改善软件质量以及提高灵活性和标准化程度大有帮助。
(意义)5、请简述常用的构件实现模型及其意义。
实现模型:1.CORBA2.EJB / DCOM / COM+意义:这些模型通常都定义了构件的实现方式、接口定义、访问方法等。
符合这些标准的任何构件都有很高的重用能力。
描述部分6、请用图示法说明4+1模型的5种视图之间的关系及关注点和涉众用户。
数据视图风格部分7、什么是软件体系结构的风格?它在软件开发过程中具有何种意义?软件体系结构风格是指设计、组织和实现软件体系结构的各种惯用模式和习惯用法,是对一系列体系结构设计的抽象。
软件体系结构(考试习题集含答案)
![软件体系结构(考试习题集含答案)](https://img.taocdn.com/s3/m/077384a183c4bb4cf6ecd175.png)
1、面向对象得方法优势体现在( ABD )A.简化软件开发过程B.支持软件复用C.提高软件运行效率D.改善软件结构2.用户界面设计中得三条“黄金规则”就是( ABC )A.使系统处于用户控制之中B.减少用户得记忆负担C.保持界面得一致性D.保证用户得易学性3.用户界面得分析与设计过程就是迭代得,其中包括得活动就是( ABCD )A.用户、任务以及环境得分析与建模B.界面设计C.界面实现D.界面确认4.界面确认需要注意三个方面( ABC )A.界面正确完成了用户得任务,适应用户得任务变化B.易学性与易用程度C.用户得接受程度D.用户得习惯5.用户界面分析时通常采用得信息获取方式包括( ABCD )A.用户会谈B.销售人员信息采集C.市场分析D.用户支持人员信息收集6.( C )把完成一个特定功能得动作序列抽象为一个过程名与参数表A.数据抽象B.动作抽象C.过程抽象D.类型抽象7.( A)把一个数据对象得定义抽象为一个数据类型名A.数据抽象B.动作抽象C.过程抽象D.类型抽象8.软件体系结构设计需要考虑以下( ABCD )A.适用性B.结构稳定性C.可扩展性D.可复用性9.模块设计时应该考虑(AB )A.模块功能独立B.模块信息得隐藏C.模块接口得简单D.模块实现简单10.一个完整得软件设计得主要活动包括有( ABCD )A.体系结构设计B.界面设计C.模块/子系统设计、D.数据模型、过程/算法设计等11.模块化就是指把一个复杂得问题分割成若干个可管理得小问题后,更易于理解,模块化正就是以此为依据得,在划分模块得过程中应该考虑到( ABC )A.模块得可分解性、可组装型B.模块得可理解性、连续性、C.模块保护D.尽可能低分割模块,使得问题得难度降到最1.什么就是软件工程?构成软件工程得要素就是什么?软件工程就是将系统化得、规范得、可度量得方法应用于软件得开发、运行与维护过程,即将工程化应用于软件开发与管理之中,对所选方法得研究。
软件体系结构软件工程 期末考试真题
![软件体系结构软件工程 期末考试真题](https://img.taocdn.com/s3/m/6c92a625240c844768eaeeeb.png)
软件体系结构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)中员工和顾客之间是什么关系,并解释该关系的内涵。
软件体系结构期末考试题
![软件体系结构期末考试题](https://img.taocdn.com/s3/m/acf63d2ecc7931b765ce15cb.png)
软件体系结构-设计模式练习题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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件体系结构期末
大题
1.基于构件的软件开发的优势是什么?
基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用
2.尝试用自己的语言介绍Kruchten的“4+1”模型。
Kruchten 提出了一个"4+1"视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。
每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。
3.在希赛公司的一个财务管理系统,财务部要客户提供…………
4.不同的体系结构风格具有各自的特点、优劣和用途。
试对管道-过滤器风格、事件驱动风格、分层系统、C2风格和基于消息总线的风格进行分析比较。
P52-56
(1)管道和过滤器
特点:
@使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;
@允许设计者将整个系统的输入输出行为看成是多个过滤器的行为的简单合成;
@支持软件重用。
只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来;
@系统维护和增强系统性能简单。
新的过滤器能够添加到现有系统中来;旧的能够被改进的过滤器替换掉;
@允许对一些如吞吐量、死锁等属性的分析;
@支持并行执行。
每个过滤器是作为一个单独的任务完成,因此可与其它任务并行执行
缺点:①一般导致进程成为批处理的结构。
②不适合处理交互的应用。
③因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。
(2)。