第一部分 软件工程概述习题
一、名词解释
1、软件:包括程序,数据及其相关文档的完整集合
程序是按事先设计的功能和性能要求执行的指令序列
数据是使程序能正常操纵信息的数据结构
文档是与程序开发,维护和使用有关的图文材料
2、软件工程:将系统化的,规范的,可度量的方法应用于软件的开发 , 运行和维护的过程,即将工程化应用于软件中
3、软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括来说,软件危机包含两方面问题:如何开发软件,以满足不断增长,日趋复杂的需求;如何维护数量不断膨胀的软件产品。
4、软件生命周期:把软件从开始研制(形成概念)到最终软件被废弃不用这整个阶段称为软件的生存期
二、选择题
1、软件是一种( )产品
A.有形 B.逻辑 C.物质 D.消耗
2、软件工程与计算机科学性质不同,软件工程着重于( )
A.原理探讨 B.理论研究 C.建造软件系统 D.原理的理论
3、软件工程方法学的目的是使软件生产规范化和工程化,而软件工程方法学得以实施的主要保证是( )
A.硬件环境 B.开发人员的素质
C.软件开发工具和软件开发环境 D.软件开发环境
4、软件工程学科出现的主要原因是( )
A.计算机的发展 B.其他工程学科影响
C.软件危机的出现 D.程序设计方法学的影响
5、下面不属于软件开发技术的是( )
A.软件开发方法学 B.软件工具 C.软件工程开发环境 D.软件管理学
6、下列哪一项属于软件工程原则。( )
A 重视开发过程的管理 B. 重视软件病毒的防治
C. 提供较高的费用支持 D. 重视软件的使用方法
7、软件工程是计算机科学中的一个分支,其主要思想是在软件生产中用下列哪种方法代替传统手工方法。()
A. 工程化 B. 现代化 C. 科学 D. 智能化
8、软件工程是一类求解软件的工程。它涉及计算机科学、数学、管理科学和( )。
A 心理学 B. 工程科学 优先 C. 方法学 D. 现代科学
9、在软件工程中,工程科学用于制定规范、设计范型、确定权衡和( )。
A 评估成本 B. 构造算法 C. 建立模型 D. 支持管理
10、软件工程学科的研究内容主要包括:软件开发模型、软件过程、软件工具、软件开发环境、计算机辅助软件工程(CASE)以及软件经济学和( )。
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、螺旋模型在笛卡儿坐标的四个象限上分别表达四个方面的活动。制定计划、风险分析、实施工程和( )。
A.客户培训 B.客户测试 C. 客户评估 D.客户理解
17、软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。
A.50年代末 B.60年代初 C.60年代末 D.70年代初
A.运筹学 B.工程学 C.软件学 D.软件学 E.数字
18、开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。
A.软件投机 B.软件危机 C.软件工程 D.软件产生
19、产生软件危机的原因有如下几点,除了______。
A、 软件开发过程未经审查
B、 软件开发不分阶段,开发人员没有明确的分工
C、 所开发的软件,除了程序清单外,没有其他文档
D、 采用工程设计的方法开发软件,不符合软件本身的特点
20、软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。
A.引入新技术提高空间利用率 B.用较少的投资获得高质量的软件
C.缩短研制周期扩大软件功能 D.硬软件结合使系统面向应用
21、请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。
A.维护 B.测试 C.详细设计 D.概要设计 E.编码 F.需求分析
22、瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。
A.详细设计 B.可行性分析 C.运行及维护 D.测试与排错
23、 软件是()。
A. 处理对象和处理规则的描述 B. 程序
C. 程序、数据及其文档 D. 计算机系统
24、 软件生命周期一般包括三个时期:软件定义期、软件开发期和软件运行期。下述()不是软件开发期所应包含的活动。
A. 可行性分析 B. 需求获取和需求建模
C. 软件体系结构设计和数据设计
D. 软件集成与系统测试
三、简述题
1、常用的软件生存周期模型有哪些?
2、谈谈你是如何理解软件危机的?产生软件危机的原因是什么?
3、什么软件生存周期?每个周期主要完成哪些任务?
4、如何理解软件工程原理?
5、软件工程目标主要有哪些?
1) 付出较低的开发成本
2) 达到要求的软件功能
3) 取得较好的软件性能
4) 开发的软件易于移植
5) 需要较低的维护费用
6) 能按时完成开发工作,及时交付使用
第二部分需求分析
一、名词解释
1、数据流图:是描述数据处理过程的工具。数据流图从数据传递和加工的角度,以图形方式刻画数据流从输入到输出的移动变换过程
2、数据字典:是关于对数据流图中包含的所有元素的定义的集合。其作用是为系统人员在系统分析、系统设计和系统维护过程中提供关于数据的描述信息
二、选择填空
1、进行需求分析可使用多种工具,但下列哪一个是不适用的。( )
A. 数据流图 B. 状态图 C. 结构图 D. 数据词典
2、需求分析阶段研究的对象是软件项目的( )。
A.用户要求 B.合理要求 C.模糊要求 D.程序员要求
3、数据字典的任务是对于数据流图中出现的所有被命名的图形元素,在数据字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的( )。
A.对象 B.解释 C.符号 D.描述
4、通过下列哪一项,可以完成数据流图的细化。( )
A.结构分解 B.功能分解 C.数据分解 D.系统分解
5、结构化分析方法最为常见的图形工具是( )。
A.程序流程图 B.实体联系图 C.数据流图 D.结构图
6、分层数据流图是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的( )。
A.细节 B.输入与输出 C.软件的作者 D.绘制的时间
7、需求分析最终结果是产生( )。
A.项目开发计划 B.可行性分析报告
C.需求规格说明书 D.设计说明书
8、 需求分析中,开发人员要从用户那里解决的最重要的问题是( )。
A.要让软件做什 B.要给该软件提供哪些信息
C.要求软件工作效率怎样 D.要让该软件具有何种结构
9、用户系统描述在哪一阶段编写。( )
A.可行性研究 B.需求分析 C.软件概要设计 D.软件详细设计
10、结构化分析方法的基本思想是( )。
A.自底向上逐步抽象 B.自底向上逐步分解
C.自顶向下逐步求精 D.自顶向下逐步抽象
11、下列哪个文档不是需求分析阶段产生的( )。
A.需求规格说明书 B. 初步测试计划
C. 用户系统描述 D.软件设计规格说明书
12、下列哪一项不是数据流图的元素。( )
A.数据存储 B.数据流
C. 伪码 D .加工
13、从软件功能可行性的角度进行可行性研究考虑的是系统的( A )
A.技术可行性 B.经济可行性 C.法律可行性 D.操作的可行性
14、研究软硬件资源的有效性是进行( A )研究的一方面
A.技术可行性 B.经济可行性 C.法律可行性 D.操作的可行性
15、研究开发的项目是否存在任何侵犯、妨碍等责任问题考虑的是系统的( C )
A.技术可行性 B.经济可行性 C.法律可行性 D.操作的可行性
16、 采用结构化分析方法所建立的系统模型主要捕获了()。
A. 过程属性、对象及其关系 B. 数据结构
C. 对象及其关系、对象行为信息
D. 数据源点和终点、加工、数据流、数据存储以及加工输入、输出之间的逻辑关系
17、软件需求规格说明的内容不应包括()。
A. 主要功能 B. 算法的详细描述
C. 用户界面及运行环境 D. 软件的性能
三、填空:
1、可行性研究主要从以下四个方面考察其可行性: 技术可行性、经济可行性、操作可行性、法律可行性。
2、需求分析的任务包括需求获取、需求建模、需求规格说明、需求评审
3、结构化分析方法最初只是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。
四、简答题和设计
1.需求规格说明书的主要作用
答:(l)作为软件开发机构和用户之间一份事实上的技术合同书;
(2)作为软件开发机构下一步进行设计和编码的基础;
(3)作为测试和验收目标系统的依据。
2、可行性研究主要研究哪些问题?试说明之
从经济可行性、技术可行性、法律可行性和用户操作可行性等方面评价系统是否值得做,是否能做。
经济可行性 :成本–效益分析,看所获得的经济效益是否远大于成本的投入。
⏹ 成本估算
✓ 专家估算技术(Delphi技术)
✓ 成本估算模型(COCOMO)
⏹ 效益估算
✓ 投资回收期
✓ 纯收入
✓ 投资回收率
技术可行性 技术风险分析
⏹ 技术解决方案的实用性
✓ 使用的技术实用化程度
✓ 技术解决方案合理程度
⏹ 技术资源的可用性
✓ 参与人员的工作基础
✓ 基础硬件/软件的可用性
✓ 软件工具实用性
法律可行性 侵权和责任问题
⏹ 专利法
⏹ 著作权法
⏹ 软件保护条例
用户操作可行性
⏹ 用户类型:外行型/熟练型/专家型
⏹ 操作习惯
⏹ 使用单位的计算机使用情况
使用单位的规章制度
3、数据流图的作用是什么?它有哪些基本成分?
数据流图是一种描述数据变换的图形工具,系统接受输入的数据,经过一系列的变换(加工),最后输出结果数据。
数据流:用箭头表示数据流,箭头方向表示数据流向,数据流名标在数据流线上面。
加工:加工也称为数据处理,或称为变换,是对数据进行处理的单元。
数据存储:数据存储是由若干数据元素组成的,它为数据处理提供数据处理所需要的输入流或为数据处理的输出数据流提供储存“仓库”。
数据源点和终点:任何一个系统的边界定义后,就有系统内外之分,一个系统总会与系统外部的实体有联系。
4、请根据以下描述画出某简化的工资管理系统的数据流图。该子系统共有三个加工,其数据处理过程是:(1)首先是“填制工资档案”:根据人事变动单、考勤表两个输入单据,经过处理输出形成工资文件;(2)然后是“汇总工资”:从工资文件输入数据,按部门汇总后形成工资汇总表文件,(3)最后“发放工资”加工单元从工资卡片文件打印出工资条。
word/media/image1_1.png
5、人们往往根据天气情况决定出门时的行装;天气可能下雨,也可能不下雨;天气可能变冷,也可能不变冷。如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。请用判定表和判定树表示。word/media/image2.gif
6、某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是零;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,如果是本市电话再接着拨8位电话号码(第1位不是0),如果是外地电话则先拨区码(3~5位数字),再拨当地电话号码(7或8位数字,第1位不是0)。请定义上述电话号码
电话号码=[校内号码|校外号码]
校内号码=非零数字+3位数字
校外号码=[本市号码|外地号码]
本市号码= 0+非零数字+7位数字
外地号码= 0+区码+当地号码
非零数字=[1|2|3|4|5|6|7|8|9]
3位数字=3{数字}3;7位数字=7{数字}7;
区码=3{数字}5
当地号码= 非零数字+6{数字}7
数字=[0|1|2|3|4|5|6|7|8|9]
¥29.8
¥9.9
¥59.8