软件体系结构课程报告
一、简答题: (每题10分,共40分)
1.简述软件体系结构建模中“4+1”视图模型,并举一示例模型。
答:4+1视图模型从5个不同视角(逻辑视图,进程视图,物理视图,开发视图和场景视图)来描述软件体系结构.每一个视图只关心系统的侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容.
最终用户:功能需求 编程人员:软件管理
逻辑视图 场景视图 进程视图 开发视图 物理视图 系统集成人员:性能可扩充性,吞吐量等. 系统工程人员:系统拓扑,安装通信等. 举例:开发视图.
开发视图也称为模块视图,主要侧重于软件模块的组织和管理.软件可通过程序库或子系统进行组织,这样,对于一个软件系统,就可以由不同的人进行开发.开发视图要考虑软件内部的需求,如软件开发的容易性,软件的重用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性.开发视图通过系统输入输出关系的模型图和子系统图来描述.层次结构风格.
各种各样的空中交通管制系统 特定的空中交通管理系统构件 空中交通管制系统框架 分布式虚拟机 5 人机接口 离线工具 外部系统 测试工具 4 空中交通管制功能区:飞行管理,雷达管理等 3 航空类,空中交通管理类 2 支撑机制:通信,时间,存储,资源管理等 1 公用构件 底层服务 基本元素 2. 简述层次体系结构风格及其特点,并举一示例。
答:层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户.连接件
通过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束.这种风格支持基于可增加抽象层的设计.这样,允许将一个复杂问题分解成一个增量步骤序列的实现.由于每一层最多只影响两层,同时只要给相邻层提供相同接口,允许每一层用不同的方法实现,同样为软件重用提供了强大的支持.分层同用协议.
(1).支持基于抽象程度递增的系统设计,使设计师可以把一个复杂系统按递增的
步骤进行分解.
(2).支持功能增强,因为每一层至多和相邻的上下层交互,因此功能的改变最多
影响相邻的上下层.
(3)支持重用,只要提供的服务接口定义不变,同一层的不同实现可以交换使用. 不足之处:
(1).并不是每个系统都可以很容易的划分为分层的模式,甚至即使一个系统的逻辑结构是层次化的,出于对系统性能的考虑,系统设计师不得不把一些低级或高级的功能综合起来.
(2)很难找到一个合适的,正确的层次抽象方法.
过程调用 各种构件 用户系统 基本工具 核心层 3. 简述基于体系结构的软件开发过程并说明在实际软件开发活动中如何实施。 答:基于体系结构的软件开发模型
(1).体系结构需求:需求是指用户对目标软件系统在 功能,行为,性能,设计约束等方面的期望. (1.1)需求获取:是定义开发人员必须实现的 软件功能,使得用户能完成他们的任 务,从而能满足业务上的功能需求. (1.2)标识结构:生成类图,对类进行分组, 把类大包成构件.
(1.3)需求评审:组织一个由不同代表组成的 小组,对体系结构需求及相关构件进行 仔细的审查. (2).体系结构设计:
(2.1)提出软件体系结构模型.
(2.2)把已标识的构件映射到软件体系结构中. (2.3)分析构件之间的相互作用. (2.4)产生软件体系结构 (2.5)设计评审.
(3).体系结构文档化:主要输出结果是体系结构需求规格说明和测试体系结构需
求的质量设计说明书这两个文档.
(4).体系结构复审:目的是标识潜在的风险,及早发现体系结构设计中的缺陷和
错误.包括体系结构能否满足需求,质量需求是否在设计中得到体现,层次是否清晰,构件的划分是否合理,文档表达是否明确,构件的设计是否满足功能与性能的要求等.
(5)体系结构实现:用实体显示出一个软件体系结构,既要符合体系结构所描述的
结构性设计决策,分割成规定的构件,按规定方式相互交互. (6).体系结构演化:是使用系统演化步骤去修改应用,以满足新的需求. (6.1)需求变动归类.(6.2)制定体系结构演化计划(6.3)修改,增加或删除构件(6.4)更新构件相互作用6.5)构件组装与测试6.6)技术评审(6.7)产生演化后的体系结构
体系结构演化 体系结构实现 0:M 体系结构复审 体系结构文档化 0:N 体系结构设计 体系结构需求 4. 简述软件体系结构ATAM评估过程,并设计一个软件项目的评估日程安排。 答:4.1。描述ATAM方法:1*ATAM方法步骤简介。2*获取和分析技术。3*评估结
果。
4.2。描述业务动机:1*系统最重要的功能需求。2*技术,管理,经济或政治方
面的约束条件。3*业务目标和环境。4*主要的风险承担者,5*体系结构驱动因素。
4.3。描述体系结构:1*技术约束。2*要与本系统交互的其他系统。3*用以满足
质量属性要求的体系结构方法。
4.4。确定体系结构方法:由设计师确定,有分析小组捕获,但不进行分析。 4.5。生产质量属性效用树:确定系统最重要的质量属性目标,并对这些质量目
标设置优先级和细化。
4.6。分析体系结构方法:1*理解体系结构方法。2*找出该方法的缺陷,3*找出
该方法的敏感点。4*发现与其它方法的交互和权衡点。把最高优先级的质量属性需求与实现他们的体系结构方法关联起来。
4.7。讨论和分级场景:1*集体讨论用例场景(描述风险承担者期望使用信用的
方式)和改变场景(描述风险承担者所期望的系统在将来变更的方式)2*成长场景描述的是体系结构在中短期的改变,包括期望的修改,性能或可用性的变更,移植性,与其他软件系统的集成等。3*一旦投票结果确定,所有的场景就可设置优先级。
4.8。分析体系结构方法:重复第六步工作,把新得到的最高优先级场景与尚未
得到的体系结构工作产品对应起来。
4.9。描述评估结果:1*已文档化了的体系结构方法,风格。2*场景及优先级。
3*基于属性问题。4*效用树。5*所发现的风险决策。6*已文档化了的无风险决策。7*所发现的敏感点和权衡点。 开始时间 第一天 8:30 10:00 10:45 介绍\\描述ATAM方法(第1步) 客户描述业务动机(第2步) 休息 所作工作 第 一 11:00 12:00 12:30 13:45 14:45 15:45 16:00 17:00 客户描述体系结构(第3步) 确定体系结构方法(第4步) 中餐 生成质量属性效用树(第5步) 分析体系结构方法(第6步) 休息 分析体系结构方法(第6步) 休会 中断几个星期 第二天 阶 段 第 二 阶 段 8:30 9:15 10:00 10:15 11:15 12:00 13:00 14:00 15:30 15:45 17:00 介绍\\描述ATAM方法(第1步) 客户描述业务环境/动机(第2步) 休息 客户描述体系结构(第3步) 确定体系结构方法(第4步) 中餐 生成质量属性效用树(第5步) 分析体系结构方法(第6步) 休息 分析体系结构方法(第6步) 休会 第三天 8:30 8:45 9:30 10:30 10:45 11:15 12:30 介绍/扼要重述ATAM方法 分析体系结构方法(第6步) 讨论场景(第7步) 休息 设置场景优先级(第7步) 分析体系结构方法(第8步) 中餐