问题 单项选择题

基于软件架构的设计(Architecture Based Software Development,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用______来描述软件架构,采用______来描述需求。

A.类图和序列图
B.视角与视图
C.构件和类图
D.构件与功能

答案

参考答案:B

解析: 当考虑架构时,重要的是从不同的视角(perspective)来检查,这促使设计师考虑具体架构的不同属性。例如:展示功能组织的静态视角能判断质量特性,展示并发行为的动态视角能判断系统行为特性。在ABSD方法中,使用不同的视角来观察设计元素,一个子系统并不总是一个静态的架构元素,而是可以从动态和静态视角观察的架构元素。
将选择的特定视角或视图与Kruchten提出的类似,也就是逻辑视图、进程视图、实现视图和配置视图。使用逻辑视图来记录设计元素的功能和概念接口,设计元素的功能定义了它本身在系统中的角色,这些角色包括功能性能等。进程视图也称为并发视图,使用并发视图来检查系统多用户的并发行为。使用“并发”来代替“进程”,是为了强调没有对进程或线程进行任何操作,一旦这些执行操作,则并发视图就演化为进程视图。使用的最后一个视图是配置视图,配置视图代表了计算机网络中的节点,也就是系统的物理结构。配置视图只能用在多处理器的系统中。
用例已经成为推测系统在一个具体设置中的行为的重要技术,用例被用在很多不同的场合,在本节中,用例是系统给予用户一个结果值的功能点,用例用来捕获功能需求。
正如用例使功能需求具体化一样,用例还必须使质量需求具体化。所谓的“系统必须易于修改”之类的需求是没有多大意义的,因为相对于某些修改而言,所有的系统都是易于修改的。而相对于另一些修改而言,所有系统又都是难以修改的。所以,上述需求应该按如下格式具体化:“系统应该易于增加下列类型的新功能……”。
在使用用例捕获功能需求的同时,通过定义特定场景来捕获质量需求,并称这些场景为质量场景。这样一来,在一般的软件开发过程中,使用质量场景捕获变更、性能、可靠性和交互性,分别称之为变更场景、性能场景、可靠性场景和交互性场景。质量场景必须包括预期的和非预期的刺激(stimuli)。例如,一个预期的性能场景是估计每年用户数量增加10%的影响,一个非预期的场景是估计每年用户数量增加100%的影响。非预期场景可能不能真正实现,但它们在决定设计的边界条件时很有用。

填空题
单项选择题