软件工程 张秋余等著 第十章课后习题部分答案

第十章 架构为中心

1、什么是构架?(10.0分)
正确答案:
构架(Architecture)是一个系统的组织结构,包括:系统分解的各个组成部分、各部分相互之间的连接性、交互机制、以及指导系统设计的相关规则。
或者更详细地说明为以下四个内容:
1)软件系统的组织。
2)构成系统的结构元素和各元素之间的接口,以及由元素间协作所规定的各元素的行为。
3)结构元素和行为元素合成为逐渐增大的子系统。
4)指导组织的构架风格:元素及其接口、协作和组合。
构架可以描述为多种模型视图:用例模型视图、分析模型视图、设计模型视图等。

2、为什么需要构架?(10.0分)
正确答案:
需要构架的原因主要有以下四个:理解系统、组织开发、鼓励重用、演化系统。
具体描述为:
1)理解系统的构成及关系
2)便于组织开发,协调分工
3)为提高质量和开发效率鼓励重用
4)进一步演化系统,适应新的变更,并通过接口与外部系统进行交互。

3、简述用例和构架之间的关系。(10.0分)
正确答案:
用例驱动构架的开发,构架指导用例的实现。
可进一步说明为:构架受到已有用例的影响,即用例驱动构架;将需求捕获为用例时,可利用构架知识来更好地完成任务,即构架指导用例——用例和构架相互制约,可由多次迭代来完成。

4、如何建立构架?(15.0分)
正确答案:
建立坚实、可靠的构架需要经过确定目标、将类分组、展示技术、抽取子系统、应用原则和目标对构架进行评估等5个步骤。
更详细的答案:
建立坚实、可靠的构架需要完成如下5个步骤:
1)确立目标——可扩展性、可维护性、可靠性和可伸缩性等
2)将类分组——从职责相似的(与功能相关的)角度,对类进行分组,并利用分包原则
3)展示技术——每使用一项技术(如,包、子系统、接口)都必须将其添加到包依赖关系图中——即构架包图
4)抽取子系统——利用打包机制,通过寻找有清晰定义的接口,与系统的其他部分松散耦合的包来确定候选子系统
5)应用准则和目标对构架进行评估——结合系统开发目标,利用UML建模工具,以OO设计原则和模式、高内聚和低耦合的原则定期地对构架进行评估。

5、如何描述构架?(15.0分)
正确答案:
构架描述是建立系统各种模型的视图,即用例、分析、设计、实施(部署)和实现等5个模型的视图——如,RUP中采用的“4+1”视图。构架描述中不包括测试模型视图——因它对描述构架不起作用,只是用来验证软件的构架基线。
或:
构架描述是系统各种模型的视图,即是用例、分析、设计、实施和实现模型的视图。构架描述叙述了系统的组成部分,有利于所有开发人员和其他项目相关人员理解系统。

6、客户服务系统的部署图包括:客户端PC、应用服务器和数据库服务器,其中的客户端分别由管理员、部门领导、客服人员、维护人员在不同的PC端上登录,整个系统部署在企业的局域网中(即所有设备是通过局域网通信协议进行链接的)。请根据给定的网络拓扑结构手工画出描述创建客户服务系统的部署图。(15.0分)
正确答案:
软件工程 张秋余等著 第十章课后习题部分答案
7、在客户服务系统中,可以确定系统业务实体类包括:客户人员、维护人员、部门经理、产品项目、来电咨询、客户资料和派工单。请将这些逻辑单元映射到构件中,并手工画出每个构件的构件图符表示。(15.0分)
正确答案:
软件工程 张秋余等著 第十章课后习题部分答案
8、在上题的基础上,确定构件之间的依赖关系,并手工创建完整的客户服务系统的构件图。(10.0分)
软件工程 张秋余等著 第十章课后习题部分答案