软件工程复习

发布 2022-01-11 22:30:28 阅读 7971

软件工程复习题一。

一、 选择题,请从四个可选项中选择正确答案。

1.以下哪一项不是软件危机的表现形式( )

a.成本高 b.生产率低 c.技术发展快 d.质量得不到保证。

2.哪种模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。(

a.演化模型 b.喷泉模型 c.原型模型 d.螺旋模型。

3.可行性研究的目的不包括( )

a.分析开发系统的必要性 b.确定系统建模的方案。

c.分析系统风险d.确定是否值得开发系统。

4.可行性分析研究的费用大约是项目总经费的( )

a.2b.8c.20d.50%

5.在e-r 模型中,包含以下基本成分( )

a.数据、对象、实体b.控制、联系、对象。

c.实体、联系、属性d.实体、属性、联系。

6.软件需求分析产生一个重要文档是( )

a.软件维护说明书b.需求规格说明书。

c.可行性报告d.初步用户手册。

7.内聚程度较低的是( )

a.通信内聚 b.过程内聚 c.顺序内聚 d.时间内聚。

8.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是( )

a.把软件划分成模块b确定模块之间的调用关系。

c.确定各个模块的功能 d.设计每个模块的伪**。

9.uml 语言支持的建模方式不包括有( )

a.静态建模 b.动态建模 c.模块化建模 d.功能建模。

10.以下哪一项不是面向对象的特征。(

a.多态性 b.继承性 c.封装性d.过程调用。

11.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( )

a.软件危机 b.软件工程 c.程序设计革命 d.结构化程序设计。

12.瀑布模型的关键不足在于( )

a.过于简单 b.不能适应需求的动态变更

c.过于灵活 d.各个阶段需要进行评审。

13.可行性研究的四大要素是( )

a.经济、技术、法律和社会环境。

b.经济、技术、开发组织能力和领导者水平。

c.经济、技术、计算机硬件环境和网络带宽。

d.经济、技术、软件开发工具和人员的稳定性。

14.经济可行性研究的主要内容包括( )

a.开发过程 b.开发工具 c.风险分析 d. 效益分析。

15.在需求分析过程中,分析员要从用户那里解决的最重要的问题是( )

a.要求软件做什么b.要给软件提供哪些信息

c.要求软件工作效率如何 d.要求软件具有什么样的结构。

16.dfd中的每个加工至少需要( )

a.一个输入流b.一个输出流。

c.一个输入或输出流d.一个输入流和一个输出流。

17.pdl是描述处理过程( )

a.做什么 b.为什么做 c.怎么做 d.对谁做。

18.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为( )

a.数据耦合 b.公共耦合 c.标记耦合 d.内容耦合。

19.按照模块独立性,耦合程度由弱至强正确的顺序是( )

a.数据耦合、控制耦合、外部耦合、内容耦合。

b.控制耦合、数据耦合、内容耦合、外部耦合。

c.内容耦合、外部耦合、控制耦合、数据耦合。

d.外部耦合、内容耦合、数据耦合、控制耦合。

20.uml 中,包图是一种( )

a.集合 b.数据结构 c.分组机制 d.对系统的动态描述。

21.面向对象设计首先要确定系统的总体结构和风格,构造系统的( )

a.逻辑模型 b.物理模型 c.数据模型 d.用例模型。

22.面向对象设计的步骤中,正确的顺序是( )

a.系统构架设计、用例设计、类设计 b.系统构架设计、数据库设计和用户界面设计。

c.类设计、用例设计、构架设计d.用例设计、构架设计、类设计。

23.类有3种类型,即( )

a.边界类、实体类、控制类 b.实体类、控制类、界面类。

c.控制类、实体类、虚类d.界面类、控制类、公共类。

24.( 是一般化类与特殊化类之间的一种关联形式,设计时应该适当使用这种耦合。

a.消息连接 b.参数传递 c.方法重写 d.继承。

25.结构化程序设计主要强调的是( )

a.程序的规模 b.程序效率 c.程序语言的先进性 d.程序易读性。

26.下列关于功能性注释不正确的说法是( )

a. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态

b. 注释用来说明程序段,需要在每一行都要加注释

c. 可使用空行或缩进,以便很容易区分注释和程序

d. 修改程序也应修改注释。

27.软件测试的目的是( )

a.评价软件的质量b.发现软件的错误。

c.找出软件中的所有错误 d.证明软件是正确的。

28.在设计黑盒测试用例时,主要研究( )412

a. 概要设计说明书b.详细设计说明

c.项目开发计划d. 需求规格说明。

29.以下属于完善性维护的有( )

a.解决开发时未能测试各种可能条件带来的问题

b.增加联机求助命令

c.缩短系统的应答时间,使其达到特定要求

d.为提高软件的可靠性和可维护性,主动修改软件。

40.软件项目管理的内容包括( )

a.人员的组织与管理 b.软件配置管理

c.软件开发进度计划 d.以上所有。

31.以下哪一项不属于面向对象的软件开发方法( )

方法 方法 方法 方法。

32.面向对象分析的核心在于( )

a.建立正确的模型 b.识别问题域对象 c.识别对象之间的关系 d.上面都有。

33.在面向对象方法中,描述系统控制结构的模型是( )模型。

a. 动态模型 b. 功能模型 c. 对象模型 d. 静态模型。

34.面向对象分析和设计涉及到三个方面的内容:( 一系列有效的分析步骤和一个方便易用的建模工具。

a.一套完善的建模符号 b.有效的数据结构

c.灵活的体系结构 d.稳定的系统架构。

35.每个子系统的接口上定义了若干( )体现了子系统的功能。

a.说明 b.操作 c.属性 d.关系。

36.程序设计语言的技术特性不应包括( )

a.数据结构的描述性 b.抽象类型的描述性。

c.数据库的易操作性 d.软件的可移植性。

37.以下哪种测试方法不属于白盒测试技术( )

a.语句覆盖测试 b.边界值分析测试 c.条件覆盖测试 d.判断覆盖测试。

38.软件测试的主要特点是( )

a.软件测试的开销不大b.软件测试要依靠工具

c.软件不能进行“穷举”测试 d.软件测试要依靠人工

39.在软件生存期的维护阶段,继续诊断和修正错误的过程称为( )

a.完善性维护 b.适应性维护 c.预防性维护 d.改正性维护。

40.不属于软件项目管理的是( )

a.开发机构能力评估 b.项目风险评估 c.质量监控 d.软件销售利润。

二、 简答题。

1.什么是软件危机?试简述至少3种软件危机的典型表现。

2. 简述软件过程模型。

3.简述结构化分析的主要步骤。

4. 请给出软件工程七条基本原理中的任意6条基本原理。

5.软件工程为什么要强调规范化和文档化?

6.简述模块独立性,内聚与耦合。

7.设计下列伪程序的语句覆盖测试用例。

begininput(a,b,c)

if a>5 then

x=10else

x=1end if

if b>10 then

y=20else

y=2end if

if c>15

then z=30

else z=3

end if

print(x,y,z)

end8. 为了提高软件的可维护性,在软件开发过程的各个阶段怎样充分考虑软件的可维护性因素。

9.简述在项目开发时选择程序设计语言的主要考虑的因素。

10.设计下列伪程序的条件组合覆盖测试用例。

begininput(a,b)

if(a>0) and (b>0) then

x=a+belse

x=a-bend

if (c>a) or (d y=c-d

elsey=c+d

endprint(x,y)

end三、 应用题。

1. 一个简单的飞机机票预订系统:机票预订系统按功能可分成两部分,一部分为旅行社预订机票,另一部分为旅客取票,两部分通过机票文件的数据存储联系起来。

旅行社把预订机票的旅客信息 (姓名、年龄、单位、身份证号码、旅行时间、目的地等)输入机票预订系统。系统为旅客安排航班,打印出取票通知单(附有应交的账款)。旅客在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。

请你根据以上的描述,画出数据流程图。

2. 用用例图描述图书管理。该系统主要包括三类用户:

读者、图书管理员、系统管理员。其中,读者是多个,图书管理员是几个,系统管理员是一个。对于系统,读者可以查询自己的借阅情况、分门别类的查询图书和在规定期限内续借不能超过一次操作的情况下进行自行登录续借书等。

图书管理员主要是日常操作以下几个工作环节:图书订购、新书验证、书目录入、图书登记、读者信息管理、借阅书登记、图书信息注销和读者信息注销等,而系统管理员统筹管理图书的系统相关事宜,比如权限维护、日志维护、增删用户和管理系统后台数据等。

软件工程复习

单选填空简答思考题。1 传统的软件瀑布生命模型包括哪六个方面?需求 分析 设计 实现 交付后维护 退役2 传统瀑布生命模型的中交付后维护包括哪三种?改正性维护 适应性维护 完善性维护3 现代维护和传统维护的观点有何不同?1 传统维护的观点是先开发后维护。2 现代维护的观点是无论是在软件安装前还是安装...

软件工程复习

软件工程复习资料。备注 1.老师反复强调我们之前做过的作业要熟练掌握 需求陈述 实验课画的模型 自己画。的数据流图 2 蓝颜色的字都是老师上课补充的,还有很多需要自己去补充,欢迎修正完善。核心问题 在考试做大是要表述清楚详细,关。键词要有 问题定义 专用名词表要解决的问题是什么?达要准确,不能更改 ...

软件工程 复习

1.概念 软件危机是指在计算机软件开发 使用与维护过程中遇到的一系列严重问题。2.为什么会产生软件危机?当软件开发技术的进步不能跟上硬件技术的进步,未能满足发展的要求,致使软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。3.软件危机的表现 经费预算经常突破...