软件工程复习资料
软件工程复习资料
软件工程复习资料
第一章习题
1.什么是物联网?它有哪些特征?
利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起,形成人与物、物与物相联,实现信息化、远程管理控制和智能化的网络。物联网是互联网的延伸,它包括互联网及互联网上所有的资源,兼容互联网所有的应用,但物联网中所有的元素(所有的设备、资源及通信等)都是个性化和私有化。
特征:
首先,可全面感知,利用RFID、传感器等技术获取物品信息。
其次,可靠传输,通过各种电信网络和互联网的融合,将物体的信息准确地传递出去。
再次,其本身也具有智能处理的能力,能够对物体实施智能控制。物联网将传感器和智能处理相结合,利用云计算、模式识别等各种智能技术,扩充其应用领域。从传感器获得的海量信息中分析、加工和处理出有意义的数据,以适应不同用户的不同需求,发现新的应用领域和应用模式。
2.什么是Zigbee技术?它有哪些特点?
ZigBee技术是一种短距离、低功耗的无线通信技术
①低功耗②低成本③低速率④近距离⑤短时延⑥高容量⑦高安全
⑧免执照频段
3.什么是大数据?它有哪些特征?
一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。
4.什么是物联网系统?
物联网系统可划分为一个由感知互动层、网络传输层和应用服务层组成的3层体系
感知互动层处于整个体系的最下面。感知互动层由大量具有感知
和识别功能的设备组成,可以部署于世界上任何位置、任何环境之中,被感知和识别的对象也不受限制。感知互动层的主要作用是感知和识别物体,收集环境信息。
软件工程复习资料
第一章绪论
什么是软件工程?
软件=程序+数据+文档
什么是软件危机?
软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件,从而导致软件开发与维护过程中出现一系列严重问题的现象。
什么是软件工程?
采用工程化的原理和方法对软件进行计划开发和维护。
软件工程三范型:1.过程式编程范型2.面向对象编程范型3.基于构件技术的编程范型
软件工程的发展时期:
(1)传统软件工程或者经典软件工程:
开发过程:结构化分析一>结构化设计一>面向过程的编码一>软件测试(2)面向对象软件工程
开发过程:OO分析与对象抽取一》对象详细设计一》面向对象编码与测试
(3)基于构件的软件工程:
以软件复用为目标、领域工程为基础,其开发过程一般包括包括以下阶段:
领域分析和测试计划定制一一》领域设计一一》建立可复用构件库一一》按
“构件集成模型,,查找与集成构件
第二章生存周期
什么是软件生存周期?
计划阶段:需求分析,软件分析
开发阶段:软件设计,编码(测试)软件测试
维护阶段:运行维护
模型特点和使用场合
可行性研究
1.经济可行性
2.技术可行性
3.运行可行性
4.法律可行性
第三章结构化分析与设计结构化程序设计的特点以及论述
(1)整个程序的模块化
(2)每个模块只有一个入口和出口
(3)每个模块都应能单独执行,且无死循环
(4)采用自顶向下,逐步细化的方法
SA结构化分析
设计(结构化)
从内容分:
1.系统结构设计
2.接口设计
3.数据设计
4.过程设计
按照步骤分:
1.概要设计
2.详细设计
第四章OO与面向对象+UML OO的特征
1.抽象
2.封装
3.继承
4.多态
为什么用面向对象
软件工程自考复习资料参考
軟件工程复习资料
一:选择题
1:需求分析2:喷泉模型3:SA 4:PAD图5:模块结构图6:Pascal语言7:逻辑内聚8:单元测试9:确认测试10:扇出11:1 12:人工检测13:可理解性,可修改性,可移植性14:设计工具15:喷泉模型
二:填空题
1:软件工具一般是指为了支持软件人员(开发和维护)活动而使用的软件。
2:任何软件工程项目的基础是(软件需求)。
3:需求阶段的主要任务一般包括需求发现、需求分析、需求认证、最终形成系统的(软件需求规格说明书)。
4:数据流图一般可分为变换型和(事务性)。
5:面向对象分析中,动态模型使用(状态图),作为扫描工具,该图反映了状态和事件的关系。
6:在软件结构的设计中,各个模块之间要求降低耦合性、提高(内聚性)。
7:Jackson方法是一种面向(数据结构)的开发方法。
8:结构化语言是介于(自然语言)。
9:在UML中,扫描系统与外部系统及用户之间交互的图是(用况图)。
10:软件产品在交付使用之前一般要经过(单元测试)、集成测试。
11:子类自动共享父类,属于(继承性)。
12:效率是指处理时间、(存储空间)。
13:调试技术有简单的方法,归纳方法、(演绎法)、和回溯方法。
14:软件维护的内容包括校正性维护、适应性维护、(完善性维护)和预防性维护。
15:软件维护性用七种特性来衡量,分别是(可理解性)、可测性、可修改性、可靠性、可移植性、可使用性。
16:渐增模型是瀑布模型的变种,分为两类:增量构造模型和(演化提交模型)。
17:软件版本控制是属于(软件控制)的活动内容。
软件工程期末复习重点
1.软件危机的介绍
在计算机软件的开发和维护过程中所遇到的一系列严重问题。
2.产生软件危机的原因
与软件本身特点有关:
软件开发与维护的方法不正确有关:
3.消除软件危机的途径
4.软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。
5.软件定义时期的任务是:
确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。这个时期的工作通常又称为系统分析,由系统分析员负责完成。
软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。
6.开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。
7.维护时期的主要任务是使软件持久地满足用户的需要。
8.软件生命周期每个阶段的基本任务:问题定义、可行性研究,需求分析,总体设计,详细设计,编码和单元测试,综合测试。
9.常用软件模型区别原理:
(1)瀑布模型:
按照传统的瀑布模型开发软件,有下述的几个特点。
a)阶段间具有顺序性和依赖性:
两重含义:段的输出文档正确,后一阶段的工作才能获得正确的结果。①必须等前一阶段的工作完成之后,才能开始后一阶段的工作;②前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶
b) 推迟实现的观点
瀑布模型在编码之前设置了系统分析与系统设计的各个阶段,分析与设计阶段的基本任务规定,在这两个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现。
软件工程复习知识点和例题
1.软件危机的概念,内容,原因及消除的途径;
概念:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
内容:软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护不断膨胀的已有软件。
具体地说,软件危机主要有以下一些典型表现:
(1)对软件开发成本和进度的估计常常很不准确;
(2)用户对“已完成的”软件系统不满意的现象经常发生;
(3)软件产品的质量往往靠不住;
(4)软件常常是不可维护的;
(5)软件通常没有适当的文档资料;
(6)软件成本在计算机系统总成本中所占的比例逐年上升;
(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势;
原因:在软件开发和维护的过程中存在这么多严重问题:一方面与软件本身的特点有关;另一方面也和软件开发与维护的方法不正确有关。
(1)软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
(2)软件不同于一般程序,它的一个显著特点是规模庞大,而且程序复杂性将随着程序的规模的增加而呈指数上升。
(3)目前相当多的软件专业人员对软件开发和维护还有不少糊涂概念,在实践过程中或多或少地采用了错误的方法和技术,这可能是使软件问题发展成软件危机的主要原因。
(4)对用户要求没有完整准确的认识就匆忙着手编写程序是许多软件开发工程失败的主要原因之一。
2.软件工程的定义,基本原理;
定义:软件工程是指导计算机软件开发和维护的一门工程学科。
基本原理:软件工程的7条基本原理:
(1)用分阶段的生命周期计划严格管理
(2)坚持进行阶段评审
(3)实行严格的产品控制
软件工程复习资料
软件⼯程复习资料
软件⼯程
第⼀章
⼀、什么是软件?
软件(Software)是计算机系统中与硬件相互依存的另⼀部分,它是包括程序(Program),数据(Data)及其相关⽂档(Document)的完整集合。
程序是按事先设计的功能和性能要求执⾏的指令序列
数据是使程序能正常操纵信息的数据结构
⽂档是与程序开发,维护和使⽤有关的图⽂材料
⼆、软件危机
原因:与软件本⾝的特点有关(难于维护, 逻辑复杂)
与软件开发与维护的⽅法不正确有关:
软件≠程序
急于求成=拔苗助长
各⾃为阵⽆⽅法/学
现象:1.成本⾼
2.计算机软件和硬件费⽤⽐
3.软件质量得不到保证
4.由于软件质量问题导致失败的软件项⽬⾮常多
5.进度难以控制
6.维护⾮常困难
办法:软件⼯程(学)
三、软件⼯程
软件⼯程是应⽤计算机科学、数学及管理科学等原理开发软件的⼯程。它借鉴传统⼯程的原则、⽅法,以提⾼质量,降低成本为⽬的。开发、运⾏和维护软件的系统⽅法
四、软件⼯程三要素
软件⼯程⽅法学包含3个要素:⽅法、⼯具和过程。
五、软件⽣命周期
六、软件过程模型
瀑布模型
瀑布模型适合于⽤户需求明确、完整、⽆重⼤变化的软件项⽬开发。瀑布模型的成功在很⼤程度上是由于它基本上是⼀种⽂档驱动的模型。
“瀑布模型是由⽂档驱动的”这个事实也是它的⼀个主要缺点。
在项⽬开始的时候,⽤户常常难以清楚地给出所有需求;⽤户与开发⼈员对需求理解存在差异。
实际的项⽬很少按照顺序模型进⾏。
⽤户必须有耐⼼,等到系统开发完成。
缺乏灵活性:因为瀑布模型确定了需求分析的绝对重要性,但是在实践中要想获得完善的需求说明是⾮常困难的,导致“阻塞状态”。反馈信息慢,开发周期长。
软件工程复习提纲
软件工程复习提纲
第一篇:软件工程复习提纲
《软件工程》课程要点
λ每章教学课件中的“本章小结”列出了需要掌握的内容λ教学过程中的例题和习题也是课程重点
一、软件工程与软件过程概述
1.概念:
(1)软件的概念(组成成分、作用);
(2)软件危机的含义、表现、产生原因(客观、主观)(3)软件工程学科包括的内容、解决的主要问题
(4)软件生命周期的含义、组成阶段及各阶段主要任务2.需理解的问题:
(1)软件与程序的区别和联系?
(2)开发一个软件项目包括哪些基本的步骤?每一步骤完成哪些工作?
(3)主要的软件过程模型(生命周期模型)有哪些?各自有什么特点?
二、结构化分析-面向数据流的分析方法
1.什么是软件需求?需求分析过程(步骤)?
2.需求分析模型:
(1)功能模型(数据流图DFD)的含义、描述符号、画法步骤及规则(2)数据模型(E-R图)的作用
(3)行为模型(状态转换图)的作用(4)数据字典的作用
三、结构化设计
1.软件设计的任务?结构化设计与结构化分析的区别和联系?2.软件设计遵循的基本原理及规则:
(1)模块化的含义、如何划分模块(降低成本、提高独立性)?(2)抽象与逐步求精的含义、二者间关系如何?(3)信息隐藏的含义
(4)如何完善软件结构(深度、宽度、扇入、扇出、作用域、控
制域)? 3.模块独立性:
(1)模块独立性含义?
(2)模块独立性的度量标准:耦合的分类、含义及应用;内聚的分类、含义及应用。4.概要设计(面向数据流的设计方法)(1)概要设计的任务?
(2)数据流图的类型及特征(变换型、事务型)(3)变换分析设计方法的应用(步骤)(4)事务分析设计方法的应用(步骤)4.详细设计(过程设计)
软件工程复习资料
一、单选题
1. 为了提高测试的效率,应该( D )
A、随机地选取测试数据
B、取一切可能的输入数据作为测试数据
C、在完成编码后制定软件的测试计划
D、选择发现错误可能性大的数据作为测试数据
2. 与设计测试数据无关的文档是( D ) A、需求说明书B、设计说明书C、源程序D、项目开发设计
3. 结构设计是一种应用最广泛的系统设计方法,是以( B )为基础、自顶向下、逐步求精和模块化的过程
A、数据流
B、数据流图
C、数据库
D、数据结构
4. 概要设计的结果是提供一份( A ) A、模块说明书B、框图C、程序D、数据结构
5. 需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出( B )A、模块说明书B、软件规格说明书C、项目开发计划D、合同文档
6. 注释是提高程序可读性的有效手段,好的程序注释占到程序总量的( D )A、1/6 B、1/5 C、1/4 D、1/3
7. PAD(Problem Analysis Diagram)图是一种( B )工具。
A、系统描述
B、详细设计
C、测试
D、编程辅助
8. 排错一般是在测试发现错误后进行,其中找到错误位置占排错总工作量的( A )。
A、95%
B、5%
C、50%
D、20%
9.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的( A ) 。
A、总貌
B、细节
C、抽象
D、软件的作者
10. 分析员是( B )。
A、用户中系统的直接使用者
B、用户和软件人员的中间人
C、软件的编程人员
D、用户和软件人员的领导
11.在软件开发中,有利于发挥集体智慧的一种做法是( A )。
软件工程复习资料
1.什么是软件工程?他的基本原理是什么?
1)软件工程是指导计算机软件开发和维护的工程学科。采用工程的槪念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济地开发出高质量的软件并有效地维护它。
2)用分阶段的生命周期汁划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代程序设讣技术、结果应能淸楚的审査、开发小组的人员应该少而精、承认不断改进软件工程实践的必要性。
2.是什么导致了软件工程?
主要是软件危机的出现导致了软件工程
3.通常我们所见的软件工程模型有哪些?
瀑布模型、快速原型模型、增量模型(渐增模型)、螺旋模型、喷泉模型。
21.软件危机的现象:
1)经费超出预算,项目一再拖延。
02 )不重视需求,开发的软件不能满足用户的要求,项目成功率低。
3)没有规范的软件工程方法,软件可维护性差,软件质量差,可靠性差。
3圄)开发工具落后,手工方式,开发效率低。
2 2 .软件工程的三要素
1)"过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质疑开发出软件。
2)"方法”为软件开发提供"如何做”的技术。它涵盖了项目计划、需求分析、系统程序()实现、测试与维护灯一系列活动的做法。
3) "工具"可为过程和方法提供自动的或半自动的支持。这些工具既包括软件,也包括硬件,软件工具包括编程、建模、管理等开发工具。通过网络环境把这些软件工具集成起
来搭建一个能够支持团队开发的平台,称为汁算机辅助软件工程,即CASE。C ASE集成
了软件、硬件和()存放开发过程信息的软件工程数据库,形成了一个软件工程环境。
软件工程复习资料-完整版
一、选择题:
1、用例图中,用来表示用例的符号为( B ) 。
2、协作图中包含的元素包括(A ) 。 A. 对象 B. 链 C. 激活 D. 消息
3、在类图中,哪种关系表达整体与部分的关系( D ) 。
A .泛化 B. 实现 C. 依赖 D. 聚合
4、下列各种图形符号中,用来表示组成关系的符号为 (B )。
A. B. C. D.
5 、(A )工具在软件的详细设计中不能使用。
A . DFD B. N-S 图 C. 流程图 D. PDL
6 、 “软件危机”是指 (C )。
A. 计算机病毒的出现
B. 利用计算机进行经济犯罪活动
C. 软件开发和维护中出现的一系列问题
D. 人们过分迷恋计算机系统
7 、 快速原型是利用原型辅助软件开发的一种新思想,它是在研究 (A )的方法和技术中产生 的。
A. 需求阶段
B. 设计阶段
C. 测试阶段
D. 软件开发的各个阶段
8、从严格意义上讲,下列 4 个选项中属于顺序图的元素是(ABCD ) 。
A.对象
B. 参与者
C. 消息
D. 激活
9、下列 UML 图形中, (ABCD )属于 UML 的动态视图。
A. 协作图
B. 状态图
C. 活动图
D. 顺序图
10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是( D ) 。
A. 数据库设计
B. 数据通信
C. 数据关系描述
D. 数据定义
11、详细设计与概要设计衔接的图形工具是 (D )。
A. DFD 图
B. 程序图
C. PAD 图
D. SC 图
12 、UML 中,大多数建模者把节点分为(AC )
A . 设备 B. 构件 C. 处理器 D. 显示器
软件工程复习材料
软件⼯程复习材料
⼀、单项选择题
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.UML中不包括()。
A.⽤例图 B.静态图 C.实体-关系图 D.⾏为图
10.软件⼯程三要素不包括()。
A.⽅法 B.技术 C.⼯具 D.过程
11.软件测试⽅法中,⿊盒、⽩盒测试法是常⽤的⽅法,其中⽩盒测试主要⽤于测试(
)。
A.结构合理性
B.软件外部功能
C.程序正确性
D.程序内部逻辑
12.瀑布模型的存在问题是()
A. ⽤户容易参与开发
B. 缺乏灵活性
C. ⽤户与开发者易沟通
软件工程复习资料
软件工程复习资料
一、简答题
1、软件过程模型有哪些?简述它们的特点。
过程模型分为五大类: (1)管理过程模型。(2)瀑布模型(又称为生命周期模型)。(3)增量过程模型:包括增量模型,RAD模型。(4)烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。(5)专用过程模型:包括机遇构建的开发模型,形式化方法模型,面向方面的软件开发模型。
2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么?
软件危机是指在计算机软件开发与维护过程中所遇到的一系列严重问题。包括两点:
(1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。
软件开发和维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。具体表现如下:
(1)软件是逻辑部件而不是物理部件。
(2)软件的规模越来越大,复杂性越来越大。
(3)轻视需求分析的重要性,轻视软件维护的错误观点和方法。
3、软件开发的各阶段的任务是什么?
定义阶段:问题定义——任务:关于规模和目标的报告书,可行性研究——任务:系统的高层逻辑模型:数据流图,成本/
效益分析:需求分析——任务:系统的逻辑模型:数据流图,数据字典,算法描述。
开发阶段:总体设计——任务:系统流程图,成本/效益分析,推荐的系统结构:层次图结构图,详细设计-任务: HIPO图或PDL图;编码和单元测试——任务:源程序清单,单元测试方案和结果,综合测试——任务:综合测试方案,结果集成测试,验收测试,完整一致的软件配置。
维护阶段:软件维护——任务:维护记录以及改正性维护,适应性维护,完整性维护和预防性维护
软件工程复习资料
一、单选题(共20题,40分)
1、使用数据流图,并不断细化的需求获取方法是()。(2.0)
A、简易的应用规格说明
B、面向数据流自顶向下逐步求精
C、访谈
D、快速原型法
正确答案: B
2、Z语言是以()为基础的形式化规格说明语言。(2.0)
A、微积分
B、概率
C、图形
D、一阶谓词演算
正确答案: D
3、HIPO是指
(2.0)
A、层次输入处理输出图或表
B、层次功能结构图
C、功能结构图
D、输入处理输出图或表
正确答案: A
4、高铁调用系统最适宜采用()方法。(2.0)
A、有穷状态机
B、 Petri网
C、 Z语言
D、一阶线性时态逻辑
正确答案: B
5、假设学生年龄的成绩输入范围为18-25,则根据等价类划分技术,下列划分正确的是()。(2.0)
A、可划分为2个有效等价类,2个无效等价类
B、可划分为1个有效等价类,2个无效等价类
C、可划分为2个有效等价类,1个无效等价类
D、可划分为1个有效等价类,1个无效等价类
正确答案: B
6、用于并发系统,解决定时问题的形式化方法是()。(2.0)
A、 VDM
B、 Z语言
C、 Petri网
D、一阶线性时态逻辑
正确答案: C
7、软件生命周期中所花费费用最多的阶段是
(2.0)
A、需求分析
B、软件总体设计
C、软件维护
D、软件实现
正确答案: C
8、软件质量保证措施SQA不包括:
(2.0)
A、复审或评审
B、
软件测试
C、程序正确性证明
D、
软件代码编写
正确答案: D
9、希望确定软件实现的功能是否与需求规格说明书一致,需进行()。(2.0)
A、单元测试
B、有效性测试
C、确认测试
D、集成测试
软件工程复习资料
第一章概论
1.软件工程的主要内容:为了有限的资金、资源和时间条件下开发满足客户要
求的高质量软件,就需要研究与软件开发和管理相关的模型、方法、技术、过程、工具和环境等。
2.计算机软件:指的是计算机系统中的程序及其文档,
3.程序:指的是计算任务的处理对象和处理规则的描述.
4.计算任务:任何以计算机为处理工具的任务都是计算任务。
5.处理对象:是数据(如数字、文字、图形、图像、声音等,它们只是表示,
而无含义)或信息(数据及相关的含义)。
6.处理规则:一般指处理的动作和步骤.
7.文档:是为了便于了解程序所需的阐述性资料.
8.软件工程:是应用计算机科学,数学及管理科学等原理,开发软件的工程。软
件工程借鉴传统工程的原则、方法、以提高质量、降低成本为目的。其中,计算机科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。
9.杨芙清院士指出软件工程的框架可概括为:目标、过程和原则。
10.软件工程目标:只生产具有正确性、可用性和开销合宜的产品。正确性:指
软件产品达到预期功能的程度。可用性:只软件基本结构、实现及文档为用户可用的程度。开销合宜:只软件开发,运行的整个开销满足用户要求的程度。
11.软件工程原则包括围绕工程设计、工程支持和工程管理所提出的4条基本原
则:(1)选取适宜的开发模型(2)采用合适的设计方法(3)提供高质量的工程支撑(4)重视软件工程的管理。
12.软件的生存周期:软件孕育、诞生、成长、衰亡的生存过程。软件生存周期
是指软件产品或软件系统从产生、投入使用到被淘汰的全过程。软件生存周期大致可以分为6个阶段:计算机系统工程、需求分析、设计、编码、测试、运行和维护。
软件工程复习资料
一.概述
1.什么是软件?什么是软件工程?
--软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。软件具有不可见性,是抽象的、形式化和逻辑化的。
--软件会逐渐退化而不会磨损的原因是不断地变更使组件接口之间引起错误。
--软件工程要素:过程、方法、工具。
--软件工程的基本目标是开发高质量的软件。
2.现代软件工程师关注的问题
开发过程中遇到的各种困扰。
3.软件生存周期模型
--软件生存期由软件定义、软件开发和运行维护3个时期组成,每个时期又可划分若干阶段,即可行性研究、需求分析、概要设计、详细设计、编码、测试、使用与维护。
--软件生存周期模型包括瀑布模型、原型模型、增量模型、螺旋模型。
4.软件开发的各种模型(瀑布、快速原型等)的特点
--瀑布模型:1)阶段间具有顺序性和依赖性。2)推迟实现的观点。3)质量保证的观点。瀑布模型适用于需求被清晰定义的情况。
--快速原型模型:适用于客户需求难以清楚定义的情况。
--增量模型:适用于一种需要快速构造可运行程序的方法。
--螺旋模型:螺旋模型是瀑布模型、原型模型的有机结合,同时增加了风险分析。
螺旋模型只适合于大规模的软件项目。
--喷泉模型:喷泉模型是典型的面向对象生命周期模型。
二.需求分析
1.需求分析的目的
--需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。
--需求分析中开发人员从用户那里了解软件做什么。
--可行性研究要进行一次“简化的、压缩的”需求分析。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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.Ariane 5火箭发射失败的事例告诉我们
A.(2)软件后备系统可以通过复制生成
B.(3)软件重用必须重新进行系统论证和系统测试
C. 选项(1)和(3)
D.(1)系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制
9.软件危机的主要原因是
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.正确
15、可行性研究可行性研究需要的时间长短和所研究系统的规模关系不大。
A. 正确
B.错误
16、把可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。
A.正确
B.错误
17、结构化分析方法遵守的准则之一——定义软件需要完成的功能,需要建立的模型是
A.功能模型
B.数据模型
C.行为模型
D.动态模型
18、下列叙述中,()不属于数据字典的作用。
A.为用户与开发人员之间统一认识
B.为需求分析阶段定义各类条目
C.作为概要设计的依据
D.作为编码阶段的描述工具
19、分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的()。
A.总貌
B.软件的作者
C.细节
D.抽象
20、结构化分析方法以数据流图、()和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。
A.PAD图
B.IPO图
C.DFD图
D.数据字典
21、不适于作为数据流图处理(加工)框名称的是()。
A.打印工资支票
B.工资支票数据
C.人工校核工资数据
D.计算职工工资
22、需求分析过程中,分析员是()。
A.用户和软件人员的中间人
B.用户和软件人员的领导
B. C.软件的编程人员 D.用户中系统的直接使用者
23、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于下列哪个系统。
A.管理信息
B.决策支持
C.需求不确定的
D.需求确定的
24、数据字典是用来定义下列哪个选项中的各成分的具体含义的。
A.功能结构图
B.数据流图
C.流程图
D.系统结构图
25、下列哪一项不是用来获取用户需求的。
A.与业务人员进行访谈
B.绘制时序图
C.发放调查问卷
D.绘制数据流图
26、获取用户需求的时候,定义数据流图中包含的元素使用下列哪一项进行描述?
A.数据字典
B.实体关系图
C.系统流程图
D.IPO图
27、数据流图的四个基本符号是下列哪一组。
A.数据源点,处理,数据存储,数据流
B.数据源点,数据终点,处理,数据存储
C.外部实体,处理,数据终点,数据流
D.外部实体,数据存储,处理,数据流
28、下列哪一项的作用是“用来明确系统和环境的界限”的?
A.数据终点
B.数据存储
C.外部实体
D.数据流