第1题:
论基于架构的软件设计方法及应用 基于架构的软件设计(Architecture-Based Software Design,ABSD)方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需求,并强调在架构设计过程中使用软件架构模板。采用ABSD方法,设计活动可以从项目总体功能框架明确后就开始,因此该方法特别适用于开发一些不能预先决定所有需求的软件系统,如软件产品线系统或长生命周期系统等,也可为需求不能在短时间内明确的软件项目提供指导。
请围绕“基于架构的软件开发方法及应用”论题,依次从以下三个方面进行论述。 1. 概要叙述你参与开发的、采用ABSD方法的软件项目以及你在其中所承担的主要工作。 2. 结合项目实际,详细说明采用ABSD方法进行软件开发时,需要经历哪些开发阶段?每个阶段包括哪些主要活动? 3. 阐述你在软件开发的过程中都遇到了哪些实际问题及解决方法。
一、论文中要具体介绍项目的背景与总体需求、系统所采用的技术路线以及你所承担的实际工作。
二、采用ABSD方法进行软件开发时,需要经历架构需求、架构设计、架构文档化、架构复审、架构实现和架构演化六个阶段。
1. 架构需求阶段需要明确用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。其主要活动包括需求获取、标识构件和架构评审。
(1)需求获取活动需要定义开发人员必须实现的软件功能,使得用户能够完成他们的任务,从而满足功能需求。与此同时,还要获得软件质量属性,满足一些非功能性需求。
(2)标识构件活动首先需要获得系统的基本结构,然后对基本结构进行分组,最后将基本结构进行打包成构件。
(3)架构需求评审活动组织一个由系统涉众(用户、系统分析师、架构师、设计实现人员等)组成的小组,对架构需求及相关构件进行审查。审查的主要内容包括所获取的需求是否真实反映了用户需求,构件合并是否合理等。
2. 架构设计阶段是一个迭代过程,利用架构需求生成并调整架构决策。主要活动包括提出架构模型、将已标识的构件映射到架构中、分析构件之间的相互作用、产生系统架构和架构设计评审。
3. 架构文档化的主要活动是对架构设计进行分析与整理,生成架构规格说明书和测试架构需求的质量设计说明书。
4. 在一个主版本的软件架构分析之后,需要安排一次由外部人员(客户代表和领域专家)参加的架构复审。架构复审需要评价架构是否能够满足需求,质量属性需求是否在架构中得以体现、层次是否清晰、构件划分是否合理等。从而标识潜在的风险,及早发现架构设计中的缺陷和错误。
5. 架构实现主要是对架构进行实现的过程,主要活动包括架构分析与设计、构件实现、构件组装和系统测试。
6. 架构演化阶段主要解决用户在系统开发过程中发生的需求变更问题。主要活动包括架构演化计划、构件变动、更新构件的相互作用、构件的组装与测试和技术评审。
三、在软件开发的过程中可能遇到的问题包括:在架构需求获取过程中如何对捕获的架构需求进行筛选和优先级排序;在架构复审过程中如何解决评审人员的意见不一致问题;在架构实现过程中如何根据项目组实际情况选择开发语言与开发平台;在架构演化过程中如何筛选并处理用户的需求变更,等等。
第2题:
螺旋模型将整个软件开发过程分为多个阶段,每个阶段都由目标设定、( )、开发和有效性验证以及评审4个部分组成。
A.需求分析 B.风险分析 C.系统设计 D.架构设计
第3题:
A.原型模型
B.瀑布模型
C.螺旋模型
D.V模型
本题考查开发模型基础知识,解这类题,需要对常见模型的核心特点有所了解。下面对选项中出现的模型做一个简单的总结。原型模型:针对需求不明确、原型可抛弃。瀑布模型:阶段明晰、无法应对需求不明确的情况。螺旋模型:瀑布模型+演化模型、循环、里程碑、风险分析。V模型:测试模型、测试全程介入、测试计划提前。把以上特点与题目描述进行对比,可以发现本题所描述的是螺旋模型。
第4题:
现有一种软件开发方法,它将软件开发过程分成以下阶段:需求分析、原型开发和评价、系统设计和系统实现。这种软件开发方法称为()。
第5题:
( )将整个软件开发流程分成多个阶段,每一个阶段都由目标设定、风险分析、开发和有效性验证以及评审构成。 A.螺旋模型 B.瀑布模型 C.V模型 D.原型模型
第6题:
快速应用开发(Rapid Application Development,RAD)通过使用基于( )的开发方法获得快速开发。当( )时,最适合于采用RAD方法。
A.用例 B.数据结构 C.剧情 D.构件 A.一个新系统要采用很多新技术 B.新系统与现有系统有较高的互操作性 C.系统模块化程度较高 D.用户不能很好地参与到需求分析中
第7题:
以下是关于结构化信息系统分析与设计方法的描述,以下描述中,正确的有
Ⅰ.该方法适合于结构化程度较高的事务处理系统(TPS)的开发
Ⅱ.该方法适合于决策支持系统(DSS)的开发
Ⅲ.该方法适合于用户需求可以事先冻结的信息系统的开发
Ⅳ.该方法适合于业务流程比较稳定、规模适中的信息系统开发方法
Ⅴ.该方法适合于规模庞大的信息系统开发
A.Ⅰ,Ⅲ和Ⅴ
B.Ⅱ,Ⅲ和Ⅳ
C.Ⅰ,Ⅲ和Ⅳ
D.Ⅱ,Ⅲ和Ⅴ
第8题:
试题(28)
(28) 把整个软件开发流程分成多个阶段,每一个阶段都由目标设定、风险分析、开发和有效性验证以及评审构成。
(28)
A. 原型模型
B. 瀑布模型
C. 螺旋模型
D. V模型
第9题:
论题三 快速应用开发在系统建模中的应用
快速应用开发(RAD)是一个增量型的软件开发过程模型,强调极短的开发周期。该模型是瀑布模型的一个“高速”变种,通过大量使用可复用构件,采用基于构件的建造方法加速信息系统的开发过程。如果能够及时与用户进行交流和沟通,正确地理解需求并约束项目的范围,利用这种模型可以很快创建出功能完善的信息系统。RAD依赖于广泛的用户参与、联合应用设计会议、原型化方法、集成的CASE工具和代码生成器。
请围绕“快速应用开发在系统建模中的应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与分析和开发的信息系统项目以及你所担任的主要工作。
2.简要分析快速应用开发方法的生命周期,并给出各个阶段的主要任务。
3.分析快速应用开发方法的目标,并结合实际项目的实施结果讨论快速应用开发与传统的结构化开发方法相比有哪些优点和缺点。
第10题:
某开发组在开发某个系统时,各个阶段具有严格的界限,只有一个阶段的获得认可才能进行下一个阶段的工作,则该开发组最可能采用的软件开发方法是______。
A.构件化方法
B.结构化方法
C.面向对象方法
D.快速原型法