【系统分析师之路】第五章 软件工程(习题汇总)

【系统分析师之路】第五章 软件工程(习题汇总)

■考查知识点
年份 考察知识点
2014年上半年 软件的逆向工程及重构
2016年上半年 论软件开发模型及应用
2012年上半年 论敏捷开发在企业软件开发中的应用
2010年上半年 论快速应用开发在系统建模中的应用

知识点汇总

■习题汇总

01.某小型软件公司欲开发一个基于Web的考勤管理系统,客户对系统的基本功能,表现形式等要求不明确,在这种情况下采用()比较合适。
A.瀑布模型
B.螺旋模型
C.V模型
D.原型化模型

解答:答案选择D。首先A和C是可以排除的。在实际应用中需求不确定也可以使用螺旋模型,但考试中需求不明确还是原型。
结构化开发方法对应瀑布和V模型。
开发方法比开发模型要大一号。
面向对象开发方法对应统一过程,敏捷开发
螺旋模型既有原型模型也有瀑布模型和迭代模型。
瀑布模型的三个阶段:定义阶段(软件计划,需求分析)开发阶段(软件设计,程序编码,软件测试)和维护阶段(运行维护)。
瀑布模型需要需求明确,或者是升级类的项目。
螺旋模型:制定计划+风险分析+客户评估+实施工程。
V模型:强化测试了的瀑布模型。
喷泉模型:面向对象是它的特点。迭代和无间隙也是它的特点。
构件是一种软件单元,这个软件单元具有可复用的价值。构件也可以被称作组件。
快速应用开发的鼻祖:PB(PowerBuild)
构件组装模型:需求分析与定义,架构设计,构件库的建立,应用软件构建,测试与发布。
构件库又包括了构件获取和构件管理两部分。

  • 信息系统生命周期分为四项:立项阶段(企业全局,形成概念,需求分析),开发阶段,运维阶段(通过验收移交之后),消亡阶段(更新改造,功能扩展,报废重建),它偏向项目管理。
  • 信息系统开发生命周期分为五项:系统规划,系统分析,系统设计,系统实施,系统验收。它偏向技术开发。

02.通过软件开发过程是一种基于面向对象技术的软件开发过程,其特点是“用例驱动,以架构为核心,迭代并增量”。统一软件开发过程定义了四种通用的开发阶段,他们按照过程顺序分别是起始阶段,细化阶段,构建阶段和交付阶段。其中在构建阶段主要产生的文档有()。
A.初始用户手册
B.用例模型
C.项目计划
D.设计模型

解答:答案选择D。初始用户手册是交付阶段,用例模型在起始阶段,项目计划也应该属于起始阶段;详细设计的设计模型应该归类于构建阶段。细化阶段主要做的是软件架构设计,明确项目范围与边界,识别风险,识别系统关键用例在初始阶段。
RUP的阶段和主要成果物

  1. 初始阶段;项目蓝图文档(关键需求,主要约束),用例模型,项目计划。
  2. 细化阶段;完成架构设计,淘汰高风险元素。
  3. 构造阶段;UML模型,测试用例。
  4. 交付阶段;可运行的软件产品,用户手册,用户支持计划。

03.软件的逆向工程是一个恢复设计的过程,从现有的程序中抽取数据,体系结构和过程的设计信息。逆向工程的完备性可以用在某一个抽象层次上提供信息的详细程度来描述,在大多数情况下,抽象层次越高,完备性就越低。下列可以通过逆向工程恢复的制品中,完备性最低的是()
A.过程的设计模型
B.程序和数据结构
C.对象模型,数据和控制流
D.UML状态图和部署图

解答:答案选择D。完备性最低那么抽象层次就越高,也就越接近需求设计,相比四个选项,D最接近业务需求。
逆向工程哪里用得多?在工业领域和军事领域。
重构强调局部的逆向工程,它可以是代码层级的重构,也可以是架构层级的重构。
逆向工程分以下四个级别
实现级;包括程序的抽象语法树,符号表,过程设计表等。
结构级;包括反映程序分量之间相互依赖关系的信息,例如调用图,结构图,程序和数据结构。
功能级;包括反映程序段功能和程序段之间关系的信息,例如数据和数据流模型。
领域级:包括反映程序分量或者程序诸实体与应用领域概念之间对应关系的信息,例如实体关系模型。

04.以下关于敏捷开发方法原则的叙述中,错误的是()
A.强调通过尽早地,持续地交付有价值的软件来使客户满意
B.经常交付可以工作的软件,但是每次都必须交付具有完整功能的系统。
C.在团队内部,最具有效果并富有效率的信息传递方法是面对面的沟通
D.强调应对需求的持续变更,即使在项目后期也可灵活应对需求变更

解答:答案选择B。敏捷开发方法:追求小步快跑的模式,它由一系列的方法所构成。在开发途中是无法交付具有完整性功能的系统的。

发布了513 篇原创文章 · 获赞 299 · 访问量 89万+

猜你喜欢

转载自blog.csdn.net/Last_Impression/article/details/104139509