《软件体系结构》期末复习题
1、软件危机主要表现在哪些方面?
答:1)软件成本日益增长;2)开发进度难以控制;3)软件质量差;4)软件维护困难。这题
最好谈谈自己对软件危机的看法。
2、软件体系结构建模的种类有:结构模型、框架模型、动态模型、过程模型、功能模型。
3、“4+1”视图模型从 5 个不同的视角包括:逻辑视图、进程视图、物理视图、开发视图和场景视
图来描述软件体系结构。
4、构件:是具有某种功能的可重用的软件模板单元。
连接件:表示构件之间的交互。
配置:表示构件和连接件的拓扑逻辑和约束。
端口:表示构件和外部环境的交互点。
角色:定义了该连接交互的参与者。
5、画出“4+1”视图模型图,分析各部分的原理和功能。见 p31
6、软件体系结构风格:是描述某一特定应用领域中系统组织方式的惯用模式。
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、软件体系结构的动态性主要分为:交互式动态性、结构化动态性、体系结构动态性等三类。
12、请画出基于构件的动态系统结构模型画。见 p153
13、Web 服务分为五个逻辑层:数据层、数据访问层、业务逻辑层、业务面、监听者 。
14、Web 服务的特点有:使用标准协议规范、使用协约的规范性、高度集成能力、完好的封装性、
松散耦合。
15、请画出 Web 服务的模型图。 见 p173
16、Web 服务体系结构的优势有:1)高度的通用性和易用性;2)完全的平台、语言独立性;3)
高度的集成性;4)容易部署和发布。
17、UML 中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差别和各自的优
缺点。掌握利用两种图进行的设计的方法。
答:顺序图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示
出对象之间的消息传递。与顺序图一样,协作图也展示对象之间的交互关系。顺序图强调的是交互
的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。顺序图按照时间顺序布
图,而协作图按照空间组织布图。顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多
的水平方向的空间。协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以
表示消息之间的顺序。
18、什么是高内聚度 ?
答:高内聚度是对一个类中的各个职责之间相关程度和集中程度的度量。
一个具有高度相关职责的类并且这个类所能完成的工作量不是特别巨大,那么它就具有高内聚
度。
19、UML 提供了一系列的图支持面向对象的分析与设计,其中____(1)___给出系统的静态设计视图;
___(2)____对系统的行为进行组织和建模是非常重要的;____(3)___和____(4)___都是描述系统动
态视图的交互图,其中___(3)___描述了以时间顺序组织的对象之间的交互活动,___(4)____强调
收发消息的对象的组织结构。
B、用例图
A、状态图
E、协作图
F、类图
D、配置图
C、时序图
答:(1)F (2)B (3)C (4)E
20、找出下面场景中的概念类:
(1)顾客带着购买的商品或服务来到 POS 收款台
(2)收款员启动一次销售
(3)收款员输入商品标识
(4)系统记录商品,并且显示该商品说明,价格,并计算总金额。按一组计价规则计算单价。
答:顾客、POS 收款台、收款员、销售、商品标识、商品、商品说明。
21、画出下面场景的时序图:
1.收款员启动一次销售(makeNewSale())
2.收款员输入商品标识(enterItem(itemID,quantity))
3.销售结束,系统计算并显示总金额(endSale())
4.顾客付款,系统处理支付。(makePayment(amount))
21 题
24 题
22、统一过程中有哪四个阶段,各阶段需要完成的主要工作有哪些?
答:1)初始阶段:编制简要的愿景文档、业务案例、确定范围、 粗略评估成本。
2)细化阶段:细化场景文档、迭代地实现核心构架、解决高风险的问题、定义大多数的需求
和范围、进一步评估成本。
3)构造阶段:迭代地实现系统的其余部分、准备部署。
4)提交阶段:beta 测试、部署。
23、简述统一建模语言(UML):
答:统一建模语言(UML)是一种绘制软件蓝图的标准语言。可以用 UML 对软件密集型系统的制
品进行可视化详述和文档化。UML 是一种定义良好、易于表达、功能强大且普遍适用的可视化建模
语言。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析
与设计,还支持从需求分析开始的软件开发的全过程。UML 的作用就是用很多图从静态和动态方面
来全面描述我们将要开发的系统。
24、在电话系统中假设有两个打电话的个案:使用电话卡和对方付款,其中 Phone User 是电话用
户,请画出其 usecase diagram。
答:usecase diagram 如下所示:
25、试述一种系统的可靠性模型化方法或步骤。P246