问题说明
问题建模
需求说明
需求建模
第1题:
论软件架构建模技术与应用
软件架构用来处理软件高层次结构的设计和实施,它以精心选择的形式将若干结构元素进行装配,从而满足系统的主要功能和性能需求。软件架构设计的首要问题是如何表示软件架构,即如何对软件架构建模。根据建模的侧重点不同,可以将软件架构模型分为结构模型、框架模型、动态模型、过程模型和功能模型。Kruchten在1995年提出了“4+1”视图模型,将5种模型有机地统一在了一起。
请围绕“软件架构建模技术与应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
2.简要叙述“4+1”视图模型的主要内容。结合你参与项目的实际情况,详细说明该项目需求及所涉及的软件架构(包括使用到的视图模型、创建的架构模型及使用的建模工具等)。
3.说明该项目软件架构的实施效果,分析其是否满足了项目的需求并说明原因。
写作要点
一、简要叙述所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。
二、简要叙述“4+1”视图模型的主要内容。
1、“4+1”视图模型从5个不同的视角来描述软件架构,每个视图只关心系统的1个侧面,5个视图结合在一起才能反映系统的软件结构的全部内容。这5个不同的视角包括逻辑视图、开发视图、进程视图、物理视图和场景。
逻辑视图。逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。在OO技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。
开发视图。开发视图也称为模块视图,在UML中被称为实现视图,它主要侧重于软件模块的组织和管理。开发视图要考虑软件内部的需求。
进程视图。进程视图侧重于系统的运行特性,主要关注一些非功能性需求。进程视图强调并发性、分布性、系统集成性和容错能力,以及逻辑视图中的功能抽象如何适应进程结构等,它也定义了逻辑视图中的各个类的操作具体是在哪一个线程中被执行。进程视图可以描述成多层抽象,每个级别分别关注不同的方面。
物理视图。物理视图在UML中被称为部署视图,主要考虑如何把软件映射到硬件上,它通常要考虑到解决系统拓扑结构、系统安装和通信等问题。
场景。场景可以看作是那些重要系统活动的抽象,它使4个视图有机联系起来。场景对应UML中的用例视图。
2、结合实际项目,详细说明项目软件架构的内容。这部分内容应包括:在设计软件架构时,分别使用了“4+1”视图中的哪些视图,每个视图中包含的模型有哪些等。
三、说明该项目软件架构的实施效果,分析其是否满足了项目的需求并说明原因。
(1)加解密API:数据库管理系统提供可在SQL语句中调用的加解密API,应用可以利用这些API构建自己的基础架构,对数据进行加密保护。
(2)透明加密:安全管理员为数据库敏感字段选择加密方式及密钥强度,应用访问受保护数据时只需使用口令打开或关闭密钥表,对数据的加密和解密由数据库管理系统自动完成。
加解密API方式的灵活性强,但构建和管理复杂;而透明加密方式管理简单,应用程序负担轻,但灵活性较差。用户要求尽可能减少安全管理与应用程序的负担,因此应选择透明加密方式。
第2题:
阅读以下软件系统架构选择的问题。
某公司欲开发一个车辆定速巡航控制系统,以确保车辆在不断变化的地形中以固定的速度行驶。该系统的简化示意图如下图所示。各种系统输入的含义见下表。
定速巡航控制系统输入说明
公司的领域专家对需求进行深入分析后,将系统需求认定为:任何时刻,只要定速巡航控制系统处于工作状态,就要有确定的期望速度,并通过调整引擎油门的设定值来维持期望速度。
在对车辆定速巡航控制系统的架构进行设计时,公司的架构师王工提出采用面向对象的架构风格,而李工则主张采用控制环路的架构风格。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了面向对象和控制环路相结合的混合架构风格。
[问题1]
在实际的软件项目开发中,采用成熟的架构风格是项目成功的保证。请用200字以内的文字说明:什么是软件架构风格:面向对象和控制环路两种架构风格各自的特点。
[问题2]
用户需求没有明确给出该系统如何根据输入集合计算输出。请用300字以内的文字针对该系统的增减速功能,分别给出两种架构风格中的主要构件,并详细描述计算过程。
[问题3]
实际的软件系统架构通常是多种架构风格的混合,不同的架构风格都有其适合的应用场景。以该系统为例,针对面向对象架构风格和控制环路架构风格,各给出两个适合的应用场景,并简要说明理由。
第3题:
基于场景的架构分析方法(Scenarios-based Architecture Analysis Method,SAAM)是卡耐基梅隆大学软件工程研究所的Kazman等人于1983年提出的一种非功能质量属性的架构分析方法,是最早形成文档并得到广泛应用的软件架构分析方法。SAAM的主要输入是问题描述、( )和架构描述文档,其分析过程主要包括场景开发、( )、单个场景评估、场景交互和总体评估。
A.问题说明 B.问题建模 C.需求说明 D.需求建模 A.架构需求 B.架构描述 C.架构设计 D.架构实现
第4题:
论软件系统架构评估 对于软件系统,尤其是大规模的复杂软件系统来说,软件的系统架构对于确保最终系统的质量具有十分重要的意义,不恰当的系统架构将给项目开发带来高昂的代价和难以避免的灾难。对一个系统架构进行评估,是为了:分析现有架构存在的潜在风险,检验设计中提出的质量需求,在系统被构建之前分析现有系统架构对于系统质量的影响,提出系统架构的改进方案。架构评估是软件开发过程中的重要环节。
请围绕“论软件系统架构评估”论题,依次从以下三个方面进行论述。 1.概要叙述你所参与架构评估的软件系统,以及在评估过程中所担任的主要工作。 2.分析软件系统架构评估中所普遍关注的质量属性有哪些?详细阐述每种质量属性的具体含义。 3.详细说明你所参与的软件系统架构评估中,采用了哪种评估方法,具体实施过程和效果如何。
第5题:
基于架构的软件开发(Architecture Based Software Development,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用( )描述软件架构,用( )来描述需求。
A.类图和序列图 B.视角与视图 C.构建和类图 D.构建与功能 A.用例与类图 B.用例与视角 C.用例与质量场景 D.视角与质量场景
第6题:
对于大型项目,通常采用迭代的方法来进行架构设计。架构先被原型化、测试、评估分析,然后在一系列的迭代过程中被细化。这种方法能够使需求细化、成熟化,并能够被更好地理解。请用400字以内文字,简述软件架构基于场景驱动的迭代式设计过程。
第7题:
某公司采用基于架构的软件设计(Architecture-Based Software Design,ABSD)方法进行软件设计与开发。ABSD方法有三个基础,分别是对系统进行功能分解、采用(52)实现质量属性与商业需求、采用软件模板设计软件结构。 ABSD方法主要包括架构需求等6个主要活动,其中(53)活动的目标是标识潜在的风险,及早发现架构设计中的缺陷和错误;(54)活动针对用户的需求变化,修改应用架构,满足新的需求。 小王是该公司的一位新任架构师,在某项目中主要负责架构文档化方面的工作。小王(55)的做法不符合架构文档化的原则。架构文档化的主要输出结果是架构规格说明书和(56)。
A.架构风格
B.设计模式
C.架构策略
D.架构描述
第8题:
SAAM方法分析评估体系结构的过程包括5个步骤,其顺序为()。() A. 场景开发、体系结构描述、场景交互、单个场景评估、总体评估B. 体系结构描述、场景开发、单个场景评估、场景交互、总体评估C. 场景开发、体系结构描述、单个场景评估、场景交互、总体评估D. 体系结构描述、场景开发、场景交互、单个场景评估、总体评估
第9题:
架构权衡分析方法(Architecture Tradeoff Analysis Method, ATAM)是在基于场景的架构分析方法(Scenarios-based Architecture Analysis Method, SAAM)基础之上发展起来的,主要包括场景和需求收集、( ),属性模型构造和分析,属性模型折中等四个阶段。ATAM方法要求在系统开发之前,首先对这些质量属性进行( )和折中。
A.架构视图和场景实现 B.架构风格和场景分析 C.架构设计和目标分析 D.架构描述和需求评估 A.设计 B.实现 C.测试 D.评价
第10题:
体系结构权衡分析方法(Architecture Tradeoff Analysis Method, ATAM)是一种常见的系统架构评估框架,该框架主要关注系统的( ),针对性能、( )、安全性和可修改性,在系统开发之前进行分析、评价与折中。
A.架构视图 B.架构描述 C.需求说明 D.需求建模 A.可测试性 B.可用性 C.可移植性 D.易用性