软件工程习题1传统方法

合集下载

传统的软件工程方法

传统的软件工程方法
第一部分 传统的软件工程方法
第二章 第三章 第四章 第五章 系统分析 需求分析 软件设计 软件测试
第四章 软件设计
4· 1 软件设计的目标和任务 4· 2 软件的设计基础 4· 3 模块的独立性 4· 4 结构设计中的图形工具 4· 5 概要设计的方法 4· 6 详细设计的描述方法 4· 7 《软件设计说明书》 4· 8 本章重点
4.5 概要设计的方法
结构化设计方法(SD) 国际上应用最广,技术上比较完善 的系统设计方法。
结构化设计方法(SD)是以数据流图 为基础的,它定义了把数据流图变换成 软件结构的不同映射方法,所以这种方 法也称为面向数据流的设计方法。
4.5 概要设计的方法
面向数据流设计方法的任务: 映射 DFD 软件系统的结构 软件系统 软件结构的 逻辑模型 初始结构描述
c3 E g J
C3
f
K
B
b3
F
j
l
L
m
A a
4.5.4 设计优化
将初始SC根据模块独立性原则进行 精化,对模块进行合并、分解修改、调 整,得到高内聚、低耦合模块,得到 易于实现、易于测试和易于维护的软 件结构,产生设计文档的最终SC。
改进软件结构的指导原则
(1)模块功能的完善化 (2)消除重复功能 (3)作用范围应在控制范围内 (4)减少高扇出争取高扇入 (5)模块大小适中 (6)降低模块接口的复杂性 (7)模块功能可预测
B
C
A
B C E
条件 判定
B
D
G
D G
符合作用范围/控制范围的理 想判定位置 TOP
A
B C E D
条件 判定
D D
E G
G

软件工程习题及解答1

软件工程习题及解答1

软件工程第一章习题一、选择题1、软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。

其中,( A )是按事先设计的功能和性能要求执行的指令序列。

( B )是使程序能够正确操纵信息的数据结构。

( C )是与程序开发、维护和使用有关的图文材料。

供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2、开发软件时对提高软件开发人员工作效率至关重要的是( A )。

软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。

供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3、从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。

有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。

第二阶段(1950年代末~1960年代末)称为“基本软件期”。

出现了( A ),并逐渐普及。

随着( B )的发展,编译技术也有较大的发展。

第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。

这一时期,与硬件费用下降相反,软件开发费急剧上升。

人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。

第四阶段(1970年代中期~现在)称为“软件工程时期”。

软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。

供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理二、简答题1、美国一家公司在1982年计划用FORTRAN语言开发一个在VAX750计算机上运行的应用程序,估计这个程序的长度为10000条FORTRAN指令。

软件工程试题与答案 (1)

软件工程试题与答案 (1)

《软件工程模拟试题及参考答案》(一)一、单向选择题(四选一、每小题3分,共18分)1、面向对象(Object Oriented)方法是将现实世界的事物以对象的方式( B )到计算机世界的方法.对应映射反映反射2、盒图也称为(D)或Chapin图。

这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。

流程图框图判定表N-S图3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。

程序数据逻辑物理4、人机界面的风格大致经过了(B)代的演变.三四五六5、以下不属于白盒测试技术的是(D)逻辑覆盖基本路径测试循环覆盖测试等价类划分6、为改正软件系统中潜藏的错误而进行的维护活动称为(A).纠错性维护适应性维护改善性维护预防性维护二、填空题(每空2分,共18分)1.文档—一种数据媒体和其上所记录的(数据)。

2.机器语言、汇编语言:依赖于机器,面向(机器)3.软件有效性,指软件系统的时间和(空间)效率.4.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。

5.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么"。

6.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。

7.一个软件的深度是指其控制的(层数)。

8.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。

9.软件维护是软件生命周期的(最后)一个阶段.三、判断题(每小题2分,共24分,错误打X、正确打√)1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。

(√)2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。

(X)3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求.(√)4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。

软件工程 简答题复习题(带答案)

软件工程 简答题复习题(带答案)

第一章1,与计算机硬件相比,计算机软件有哪些特点?软件的特点如下。

1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了解它的功能、特性和质量等。

2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过程中,渗透了大量的脑力劳动。

3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问题。

4)软件的开发和运行必须依赖于特定的计算机系统环境。

5)具有可复用性。

3,什么是软件危机?什么原因导致了软件危机?软件危机的现象如下。

1)经费超出预算,项目一再拖延。

2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。

3)没有规范的软件工程方法,软件可维护性差、软件质量差、可靠性差。

4)开发工具落后,手工方式,开发效率低。

所有导致软件危机的原因,都与软件本身的产品特点相关。

1)软件是一个复杂的逻辑产品。

如果没有解决复杂问题的有效方法,以及软件产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升高。

2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。

3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法做到准确估算,生产过程不易控制。

4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得多。

5,请简述软件工程研究的内容。

软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。

软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。

常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。

软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer 和Rational Rose等。

7,请简述软件工程的目标、过程和原则。

软件工程第一章习题答案

软件工程第一章习题答案

第一章习题1.1什么是计算机软件?软件的特点是什么?答:计算机软件(Computer Software,也称软件,软体)是指计算机系统中的程序及其文档,程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。

程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。

软件的特点:1.软件是一种逻辑实体而不是有形的系统元件,其开发成本和进度难以准确的估算。

2.软件是被开发的或设计的,没有明显的制作工程,一旦开发成功,只需复制即可,但其维护的工作量大。

3.软件的使用没有硬件那样的机械磨损和老化问题。

1.2简述软件的分类,并举例说明。

答:软件分为系统软件,支撑软件和应用软件3类。

系统软件居于计算机系统中最靠近硬件的一层其他软件一般都通过系统软件发挥作用。

例如:编译程序,操作系统等。

支撑软件是支撑软件的开发和维护的软件。

例如:数据库管理系统,网络软件,软件工具,软件开发环境等。

应用软件是特定应用领域专用软件。

例如:工程/科学计算软件,嵌入式软件,产品线软件,Web应用软件,人工智能软件等。

1.3简述软件语言的分类,并举例说明。

答:软件语言是用于书写计算机软件的语言主要包括:需求定义语言,功能性语言,设计性语言,实现性语言和文档语言。

需求定义语言用以书写软件需求定义,软件需求定义是软件功能需求和非功能需求的定义性描述。

软件功能需求刻画“做什么”,软件非功能需求刻画诸如功能性限制、设计限制、环境描述、数据预通信规程以及项目管理等。

功能性语言用以书写软件功能规约,软件功能规约是软件功能的严格而完整的陈述。

软件功能规约通常只刻画软件系统“做什么”的外部功能,而不涉及系统“如何做”的内部算法,因此,功能性语言通常又称为功能规约语言。

设计性语言用以书写软件设计规约。

软件设计规约是软件设计的严格而完整的陈述。

一方面,它是软件功能规约的算法性细化,刻画了软件“如何做”的内部算法;另一方面,它又是软件实现的依据从。

软件工程传统方法

软件工程传统方法

软件工程传统方法传统的软件工程方法是指在软件开发过程中使用传统的阶段性和线性的方法进行开发的一种方式。

这种方法通常包括软件需求分析、系统设计、编码、测试和维护等多个阶段,每个阶段都有详细的工作内容和交付物。

下面将详细介绍传统软件工程方法的主要特点和优缺点。

传统软件工程方法的主要特点如下:1. 阶段性:传统软件工程方法将软件开发过程划分为多个阶段,每个阶段按照特定的顺序进行,上一个阶段的输出成果是下一个阶段的输入条件。

这种阶段性的组织方式使得开发过程更加有条理,有利于控制项目进度和质量。

2. 线性:传统软件工程方法采用线性的开发方式,即按照计划的顺序依次进行工作,每个阶段完成后再进行下一个阶段的工作。

这种线性的方式适合比较简单和稳定的软件开发项目,可以有效地避免开发过程的混乱和冲突。

3. 强调文档:传统软件工程方法非常重视文档的编写和管理。

在每个阶段的结束时都需要生成相应的文档,用于记录该阶段的工作成果和下一阶段的工作要求。

这种详细的文档记录使得开发过程更加规范和可控。

4. 关注过程:传统软件工程方法注重软件开发过程的管理和控制。

每个阶段都有相应的计划和管理工具,用于监控工作进度和质量,及时发现和解决问题。

这种过程导向的管理方式有助于提高软件开发项目的可管理性和可控性。

传统软件工程方法的优缺点如下:优点:1. 易于理解和上手:传统软件工程方法采用了一系列成熟的技术和方法,对于开发人员来说较为熟悉和容易理解。

同时,这种方法的文档化特点也使得开发人员可以更清楚地了解自己的工作任务和目标。

2. 易于管理和控制:传统软件工程方法注重过程的管理和控制,所有的工作任务都经过仔细规划和管理。

这种管理方式使得项目进度和质量更加可控,便于及时发现和解决问题。

3. 适用于较小规模的软件项目:传统软件工程方法对于较小规模的软件项目非常适用,因为其阶段性和线性开发方式有助于组织和安排开发工作,减少混乱和冲突的发生。

缺点:1. 刚性和不适应变化:传统软件工程方法在软件开发过程中划分了多个严格的阶段,一旦进入某个阶段,难以调整和适应变化。

软件工程习题与答案(第1次)

软件工程习题与答案(第1次)

软件工程习题与答案(第1次)本页仅作为文档页封面,使用时可以删除This document is for reference only-rar21year.March软件工程学习资料(1)一、填空1、软件工程学的内容可包括理论、结构、方法、工具、环境、管理、规范等。

2、N-S图中的顺序结构:在PAD图中表示为:递归使用。

3、模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。

耦合衡量不同模块彼此之间相互依赖的紧密程度。

内聚衡量一个模块内部各个元素彼此结合的紧密程度。

4、软件测试方法按测试过程是否在实际应用环境中分为静态分析和动态测试。

二、单项选择题1、模块在同一段时间内完成各种初始化工作,这属于。

A.偶然内聚B.逻辑内聚C.时间内聚D.过程内聚2、在编程安全方法方面,一般来说无法做到。

A. 避开错误B.完美无缺,绝无错误C. 冗余D.设计防错程序3、在衡量软件质量时,最重要的标准是。

A. 成本低B. 可维护性好C. 符合要求D. 界面友好4、下列工具中,不属于详细设计工具的是。

A. 测试工具B. 图形工具C. 表格工具D. 语言工具5、下列哪个做法会导致不利的语句结构A.避免使用ELSE GOTO结构B.对递归定义的数据结构尽量不再使用递归过程C.模块功能尽可能单一化,模块间的耦合能够清晰可见D.利用信息隐蔽,确保每一个模块的独立性三、判断题1、Jackson系统开发方法是一种典型的面向对象的分析设计方法。

(×)2、HIPO图是由一组IPO图加一张HC图组成,是美国IBM公司在软件设计中使用的主要表达工具。

(√)34√) 5、下图表示的是WHILE型循环。

(×6的顺序,而数据流图只反映数据的流向,不反映处理逻辑的先后。

(√)四、问答题1、什么是软件答:软件是一种产品,包含下面三方面的含义。

(1)在运行中能提供所希望的功能和性能的指令集(即程序);(2)使程序能够正确运行的数据结构;(3)描述程序研制过程、方法所用的文档。

2022年秋季-福师《软件工程》在线作业一-[复习资料]-答案4

2022年秋季-福师《软件工程》在线作业一-[复习资料]-答案4

2022年秋季-福师《软件工程》在线作业一-0004
试卷总分:100 得分:100
一、单选题 (共 30 道试题,共 60 分)
1.判定覆盖又叫()
<-A.->分支覆盖
<-B.->条件覆盖
<-C.->语句覆盖
<-D.->点覆盖
答案:A
2.以下那个不属于验证软件需求的正确性的()
<-A.->一致性
<-B.->完整性
<-C.->现象性
<-D.->有效性
答案:C
3.软件()是把程序从一种计算环境转移到另一种计算环境的难易程度
<-A.->可测试性
<-B.->可移植性
<-C.->可修改性
<-D.->可理解性
答案:B
4.Jackson结构程序设计方法基本上由()个步骤组成
<-A.->1
<-B.->3
<-C.->5
<-D.->7
答案:C
5.软件测试方法中,黑盒、白盒测试法是常用的方法,白盒测试主要用于测试()<-A.->结构合理性
<-B.->软件外部功能
<-C.->程序正确性
<-D.->程序内部逻辑
答案:D
6.以下不是白盒测试技术的是()。

<-A.->基本路径测试
<-B.->边界值分析测试
<-C.->循环覆盖测试
<-D.->逻辑覆盖测试
答案:D。

软件工程(第四版)习题及解答1-7

软件工程(第四版)习题及解答1-7

软件工程(第四版)习题及解答1-7软件工程(第四版)习题及解答1-7软件工程一直是信息技术领域中一门重要的学科,它涉及到软件设计、开发、测试和维护等多个方面。

对于学习软件工程的学生来说,练习和解答一些相关习题是非常重要的。

本文将为大家提供《软件工程(第四版)》中的习题1-7的解答和详细讨论。

1. 习题1题目描述:什么是软件工程?为什么软件工程如此重要?解答:软件工程是一门学科,涵盖了软件开发的所有阶段,包括需求分析、软件设计、编码、测试和维护等。

软件工程关注如何以系统化的、规范的方法来开发高质量的软件。

软件工程之所以如此重要,原因有以下几点:首先,软件工程能够提供一个结构化的方法来开发软件,保证开发流程可控、可预测。

通过规范的过程和方法,可以减少软件开发过程中的风险和错误。

其次,软件工程将软件开发过程分解为不同的阶段,并引入了各种工具和技术来支持这些阶段的开发工作。

这些工具和技术能够提高开发效率,减少开发成本。

此外,软件工程还注重软件质量管理,包括软件测试、验证和验证等方面,以确保最终交付给用户的软件是高质量可靠的。

最后,软件工程也关注软件的维护和更新。

由于软件在使用过程中会面临各种问题和需求变化,软件工程可以帮助开发人员及时响应和解决这些问题,提供更好的用户体验。

2. 习题2题目描述:简要解释软件需求分析的目标和过程。

解答:软件需求分析的目标是识别和规范用户对软件系统的需求,确保开发人员和用户对软件系统的期望一致,并将这些需求转化为可行的系统规格说明。

软件需求分析的过程包括以下几个步骤:1) 需求收集:通过与用户沟通、调研等方式,收集用户对软件系统的需求。

可以采用面谈、问卷调查、观察等方法。

2) 需求分析和整理:对收集到的需求进行分析和整理,将其转化为可理解的形式。

可以使用需求建模工具和技术,如用例图、数据流图等。

3) 需求规格说明:在此阶段,将需求转化为详细的规格说明,包括功能需求、性能需求、质量需求等。

软件工程习题(1)

软件工程习题(1)

3.输入三个正整数作为边长,判断该三条边构成的三角形是等边、等腰还是一般三角形。

使用流程图、PAD图4、什么是判定/条件覆盖?为以下程序流程图设计判定/条件覆盖测试用例并标明程序执行路径。

判定/条件覆盖——它是指设计足够的测试用例,即满足条件覆盖又满足判定覆盖。

测试用例:x=2,y=0,z=3(覆盖x>1,y=0,x=2,z>1,通过路径abcde);x=1,y=1,z=1(覆盖x≤1,y≠0,x≠2,z≤1,通过路径ace)。

5、根据下列条件使用等价类划分法设计测试用例。

(书P118 例)某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065(1)划分等价类并编号,如下表示:(2)为合理等价类设计测试用例,表中有两个合理等价类,设计两个例子(3)为不合理等价类测试用例,至少设计一个测试用例6、将下面给出的伪码转换为N-S 图。

(8分)void root ( float root1, float root2 ) { i = 1; j = 0; while ( i <= 10 ) {输入一元二次方程的系数a, b, c; p = b*b – 4*a*c;if ( p < 0 ) 输出“方程i 无实数根”; else if ( p > 0 ) 求出根并输出; if ( p == 0 ) {求出重根并输出; j = j + 1; }i = i +1; }输出重根的方程的个数j; }7、某航空公司规定,乘客可以免费托运重量不超过30kg 的行李。

当行李重量超过30kg 时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。

用判定树表示与上述每种条件组合相对应的计算行李费的算法。

i = 1; j = 0; while ( i <= 10 ) 输入a, b, c; 计算 p = b 2 - 4ac ; p < 0 ? 输出“方程i ”无求出根并输出 ↓p > 0 ? p == 0 ? 求出重根并输出; j = j + 1; ↓i = i + 1; 输出重根的方程个数i T T T F FF8、使用PAD图描述在数组A(1)~A(10)中找最大数的算法9、假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。

软件工程试题1

软件工程试题1

二、判断题1. 软件就是程序,编写软件就是编写程序。

(×)2. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。

(×)3. 结构化方法的工作模型是使用螺旋模型进行开发。

(×)4. 结构化方法和JSP方法都不适合于大型软件的开发。

(√)5. 原型化开发方法包括生成原型和实现原型两个步骤。

(×)6. 面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。

( √)7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。

(×)8. 软件工具的作用是为了延长软件产品的寿命。

(×)9. 软件工程过程应该以软件设计为中心,关键是编写程序。

(×)10. RCP法与RSP法的主要区别是前者采用循环渐进的开发方式,原型将成为最终的产品,而后者将被废弃。

(√)11. 在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。

(×)12. SA法是面向数据流,建立在数据封闭原则上的需求分析方法。

(√)13. HIPO法既是需求分析方法,又是软件设计方法。

(√)14. 在面向对象的需求分析方法中,建立动态模型是最主要的任务。

(×)15. 加工小说明是对系统流程图中的加工进行说明。

(×)16. 判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。

(×)17. 需求分析的主要方法有SD法、OOA法及HIPO法等。

(×)18. 分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。

(×)19. 信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R 图。

(√)20. 用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。

(√)21. 划分模块可以降低软件的复杂度和工作量,所以应该将模块分得越小越好。

软件工程导论(第六版)部分课后习题答案

软件工程导论(第六版)部分课后习题答案

1-1 什么是软件危机?是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

1-3 什么是软件工程?是指导计算机软件开发和维护的一门工程学科。

1-4 简述结构化型和面向对象型的要点,并分析它们的优缺点。

目前使用得最广泛的软件工程方法学( 2种):1. 传统方法学:也称为生命周期方法学或结构化型。

优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。

缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。

2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。

1-6 什么是软件过程?它与软件工程方法学有何关系?z 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤z 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称型1-7 什么是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,和螺旋模型的优缺点,说明每种模型的适用围。

软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。

生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。

瀑布模型的优点:1.可强迫开发人员采用规的方法; 2.严格规定了每个阶段必须提交的文档;3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。

瀑布模型的缺点: 1.在软件开发初期,指明用户全部需求是困难的; 2.需求确定后,经过一段时间才得到软件最初版本; 3.完全依赖规格说明,导致不能满足用户需求。

适用中小型项目。

快速原型模型的优点:1满足用户需求程度高;2用户的参与面广;3返工现象少快速原型模型的优点:不适用大型软件的开发适用于小型项目。

软件工程综合应用例题(题)

软件工程综合应用例题(题)

综合应用例题第一部分传统软件开发方法1、某一8位计算机,其十六进制常数的定义为:以0x或0X开头的数是十六进制整数,其值的X围是-7f至7f(大小写字母不加区别),如0x13,0X6A,-0x3c 。

请用等价类划分法设计测试用例。

2、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。

int GetMax(int n, int datalist[ ]){int k=0;for ( int j=1; j<n; j++ )if ( datalist[j] > datalist[k] ) k=j;return k;}画出该程序的程序流程图,并计算其McCabe复杂度。

3、有下列伪码程序:STARTINPUT (M,N)IF M>=10THEN X:=10ELSE X:=lENDIFIF N>=20THEN Y:=20ELSE Y:=2ENDIFPRINT(X,Y)STOP设计该程序的语句覆盖和路径覆盖测试用例。

4、根据伪码程序画出程序流程图,盒图(N-S图)。

STARTaIF x1 THENREPEAT UNTIL x2bEND REPEATELSEBLOCKcdEND BLOCKEND IFSTOP5、根据下列描述,画出教材征订系统的第一层数据流图。

学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。

各种资金往来通过学校的会计科办理。

6、画出下列伪码程序的程序流程图,盒图(N-S图)。

STARTIF p THENWHILE q DOFEND DOELSEBLOCKgnEND BLOCKEND IFSTOP7、画出下面PDL伪码程序的程序流程图、N-S图、PAD图和程序流图,并计算其McCabe 复杂度。

WHILE P DOIF A>O THEN A1 ELSE A2 ENDIF;IF B>0 THEN B1;IF C>0 THEN C1 ELSE C2 ENDIFELSE B2ENDIF;B3ENDWHILE;8、根据下面伪码程序,设计语句覆盖、路径覆盖、边覆盖、判定覆盖、条件覆盖、点覆盖的测试用例。

福师《软件工程》在线作业一【标准答案】

福师《软件工程》在线作业一【标准答案】

福师《软件工程》在线作业一-0003
试卷总分:100 得分:100
一、单选题 (共 30 道试题,共 60 分)
1.一张判定表由()部分组成
A.1
B.2
C.3
D.4
答案:D
2.下面不是成本估计()
A.代码行技术
B.任务分解技术
C.自动估计成本技术
D.投资回报率
答案:D
3.面向对象的软件技术以()为核心
A.数据
B.对象
C.过程
D.结构
答案:B
4.模块内聚度越高,模块内各成分彼此结合的程度越()。

A.松散
B.紧密
C.无法判断
D.相等
答案:B
5.为使模块尽可能独立,要求()
A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D.以上都不正确
答案:B
6.在状态图中定义的状态主要有初态、终态和()
A.过渡态
B.中间状态
C.半中间状态
D.以上都不正确
答案:B。

软件工程导论(第六版)课后习题答案

软件工程导论(第六版)课后习题答案

第一章一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。

它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。

软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。

常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。

而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。

这些都降低了开发商的信誉,引起用户不满。

(2) 用户对已完成的软件不满意的现象时有发生。

(3) 软件产品的质量往往是靠不住的。

(4) 软件常常是不可维护的。

(5) 软件通常没有适当的文档资料。

文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。

(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。

(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。

软件危机出现的原因:(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。

(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。

(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。

二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。

2024年软件工程概述(方法、工具、过程)等知识试题与答案

2024年软件工程概述(方法、工具、过程)等知识试题与答案

2024年软件工程概述(方法、工具、过程)等知识试题与答案一、选择题1.软件是(A)A、设计开发的B、软件项目组制造的C、程序员编写代码实现的D、项目经理组织实施的2.软件工程实践的一个重要原则是存在价值,是指(D)A、软件正常开发B、软件能够稳定运行C、软件具有足够的可靠性D、软件能够给用户提供价值3.构成软件工程基础的是(A)A、过程B、方法C、工具D、设计4.对软件的描述正确的是(C)A、软件是没有附加价值的产品。

B、软件质量依赖于程序员的个人水平。

C、具有技术和文化的双重属性。

D、软件测试是一项比较简单的工作。

5.下列哪一项不是软件危机产生的原因(D)A、客观原因,软件本身特点是逻辑部件,且规模日趋庞大。

B、主观上忽视需求分析。

C、错误认为:软件开发=程序编写。

D、过分重视软件维护。

6.下列哪一项不属于软件工程的发展阶段(B)A、对象工程B、作坊式工程C、过程工程D、构件工程7.软件工程与计算机科学的区别错误的描述是(C)8.与硬件产品相比(B)A、软件会磨损B、软件会退化C、软件失效遵守盆形曲线D、软件可以用备用部件替换9.软件工程是一种层次化的技术,支持软件工程的根基在于(C)A、软件工程过程模型B、软件生命周期模型C、质量关注点D、软件工程工具10.“软件危机”是指(D)A、计算机病毒的出现B、利用计算机系统进行经济犯罪C、人们过分迷恋计算机系统D、软件开发和软件维护中出现的一系列问题11.如果软件开发中使用增量模型,第一个增量(BOA、必须正确B、往往是核心产品C、满足基本需求D、不能变动12.构件是软件技术中的重要内容,基于构件的开发(ABD)A、可以实现复用B、可以减少开发费用C、可以提高软件性能D、可以缩短开发周期13.敏捷开发认为(AD)A、有能力的个体和良好的交互胜过现代软件过程和先进工具B、软件开发的目标是可工作的软件,因此应该不需要写文档C、客户和开发方应该严格按照既定合同进行软件开发D、采用增量式开发和短周期交付,以便及时响应变化14.关于模型选择说法正确的是(BC)A、同一个软件组织应该采用一种软件过程模型,以便于管理B、需求不稳定的情况下,尽量采用增量式开发C、全新系统的开发应该在总体设计完成后再开始增量或并行D、敏捷模型能够快速响应变化,即使编码人员经验较少,仍应该采用敏捷开发方式15.需求分析阶段最重要的技术文档是(B)A、设计说明书B、需求规格说明书C、可行性分析报告D、用户手册16.下列那种做法符合软件工程师的职业道德?(C)A、把公司项目中完全由自己开发的模块封装为小软件,发布到网络牟利。

软件工程导论(第六版)张海藩课后习题答案(1-8章)

软件工程导论(第六版)张海藩课后习题答案(1-8章)

第一章1-1 什么是软件危机?是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

1-3 什么是软件工程?是指导计算机软件开发和维护的一门工程学科。

1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。

目前使用得最广泛的软件工程方法学(2种):1. 传统方法学:也称为生命周期方法学或结构化范型。

优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。

缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。

2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。

1-6 什么是软件过程?它与软件工程方法学有何关系?z 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤z 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型1-7 什么是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,和螺旋模型的优缺点,说明每种模型的适用范围。

软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。

生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。

瀑布模型的优点:1.可强迫开发人员采用规范的方法;2.严格规定了每个阶段必须提交的文档;3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。

瀑布模型的缺点:1.在软件开发初期,指明用户全部需求是困难的;2.需求确定后,经过一段时间才得到软件最初版本;3.完全依赖规格说明,导致不能满足用户需求。

适用中小型项目。

快速原型模型的优点:1满足用户需求程度高;2用户的参与面广;3返工现象少快速原型模型的优点:不适用大型软件的开发适用于小型项目。

软件工程习题1

软件工程习题1

一.软件工程基本概念【例1】在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是()。

(A)概要设计(B)详细设计(C)需求分析(D)可行性分析【例2】下面不是软件工程的3个要素的是()。

(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】软件工程的原则包括抽象、__模块化__、信息隐蔽、局部化、一致性、_确定性_、完备性和可验证性。

【例10】软件可分为应用软件、____系统软件____和支撑软件3类。

其中____应用软件____是特定应用领域内专用的软件。

【例12】软件工程学研究的内容是软件开发技术和____软件工程管理____。

二.结构化分析方法【例1】以下哪个不是结构化分析方法常用的工具()。

(A)数据流图(B)数据字典(C)程序流程图(详细设计) (D)判定树【例2】软件可行性分析是着重确定系统的目标和规模。

对成本—效益进行发现应属于下列之中的()。

(经济可行性研究、技术可行性研究、社会可行性研究)(A)经济可行性(B)操作可行性(C)技术可行性(D)社会可行性【例3】在数据流图中,用圆或者椭圆来表示()。

软件工程基础习题集答案

软件工程基础习题集答案

《软件工程基础》习题集答案第一章概述1.什么是软件危机,它有哪些典型表现?所谓“软件危机”就是,在计算机软件的开发和维护过程中所遇到的一系列严重的问题,概括起来归纳为:如何开发软件,以满足日益增长、日趋复杂的需要;如何维护数量不断膨胀的已有软件。

软件危机的典型表现主要有:a. 开发成本和进度不能准确估计b. 开发出来的软件不能满足用户的要求c. 软件的可维护性差d. 软件质量不可靠e. 软件成本在系统中的比重逐年上升f. 软件开发生产率的提高速度不够2.简述产生软件危机的原因和解决的思路。

软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。

解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。

即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。

3.什么是软件工程?它有哪些本质特性?软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科。

其实质就是用工程的概念、原理、技术和方法,结合有效的管理方法和先进的开发技术,开发与维护软件,以解决软件危机。

4.软件工程是如何用来消除软件危机的?软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。

6.简述软件的定义。

软件 = 程序 + 数据 + 文档7.软件工程的目的是什么?为高质量的软件开发提供一个科学的体系框架。

8.什么是软件工程方法学?软件工程是一种什么样的技术?包括哪三大要素?分为哪三个分支?软件工程方法学就是指在软件生命周期全过程中使用的一整套管理和开发技术方法的集合。

目前,使用最广泛的软件工程方法学分别是传统方法学和面向对象方法学。

软件工程作为一种层次化的技术,有方法、工具和过程三大要素,并由于其涉及学科内容的极为广泛,而分为三个分支:软件开发技术、软件项目管理技术、软件质量管理技术。

9.简述软件工程的基本原理。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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、Booch
B、UML
C、Coad
D、OMT
6、软件危机的主要表现是()
A、软件成本太高
B、软件产品的质量低劣
C、软件开发人员明显不足
D、软件生产率低下
7、软件开发方法的主要工作模型有()
A、螺旋模型
B、喷泉模型
C、瀑布模型
D、专家模型
8、软件工程的目标有()
A、易于维护
B、低的开发成本
C、高性能
D、短的开发期
9、软件工程学的目的和意义是()
A、应用科学的方法和工程化的规范管理来指导软件开发。

B、克服软件危机。

C、作好软件开发的培训工作。

D、以较低的成本开发出高质量的软件。

10、软件就是程序,编写软件就是编写程序。

()
11、瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。

()
12、结构化方法的工作模型是使用螺旋模型进行开发的。

()
13、结构化方法和JSP方法都不适合于大型软件的开发。

()
14、原型化开发方法包括生成原型和实现原型两个步骤。

()
15、面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。

()
16、软件危机的主要表现是软件的需求量迅速增加,软件价格上升。

()
17、软件工具的作用是为了延长软件产品的寿命。

()
18、软件工程过程应该以软件设计为中心,关键是编写程序。

()
19、RCP法与RSP法的主要区别是前者采用循环渐进的开发方式,原型将成为最终的产品,
而后者将被废弃。

()
需求分析
1、需求分析的主要目的是()
A、系统开发的具体方案
B、进一步确定用户的需求
C、解决系统是“做什么的问题”
D、解决系统是“如何做的问题”
2、需求分析的主要方法有()
A、形式化分析方法
B、PAD图描述
C、结构化分析(SA)方法
D、OOA法
3、面向对象的分析方法主要是建立三类模型,即()。

A、系统模型、ER模型、应用模型B、对象模型、动态模型、应用模型
C、ER模型、对象模型、功能模型D、对象模型、动态模型、功能模型
4、SA法的主要描述手段有()
A、系统流程图和模块图
B、DFD图、数据词典、加工说明
C、软件结构图、加工说明
D、功能结构图、加工说明
5、画分层DFD图的基本原则有()。

A、数据守恒原则
B、分解的可靠性原则
C、子、父图平衡的原则
D、数据流封闭的原则
6、在E-R模型中,包含以下基本成分()。

A、数据、对象、实体
B、控制、联系、对象
C、实体、联系、属性
D、实体、属性、联系
7、用例驱动的需求方法的主要优点是()
A、作为需求分析阶段用户与开发者之间交流信息的工具。

B、对系统的数据结构进行描述。

C、对目标系统的层次结构进行描述。

D、作为分析和设计的工具。

8、数据字典是数据流图中所有元素的定义的集合,一般由以下4类条目组成()。

A、数据说明条目、控制流条目、加工条目、数据存储条目
B、数据流条目、数据项条目、文件条目、加工条目
C、数据源条目、数据流条目、数据处理条目、数据文件条目
D、数据流条目、数据文件条目、数据池条目、加工条目
9、在需求分析阶段主要采用图形工具来描述的原因是()。

A、图形的信息量大,便于描述规模大的软件系统。

B、图形工具能够极好地概括描述一个系统的信息,比文字叙述能够更好地表达重要的
细节。

C、图形能够更加直观地描述目标系统,便于用户理解和交流,有利于开发者与用户之
间达成一致的需求。

D、图形比文字描述简单、形象
10、在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。

()
11、SA法是面向数据流,建立在数据封闭原则上的需求分析方法()
12、HIPO法既是需求分析方法又是软件设计方法()
13、在面向对象的需求分析方法中,建立动态模型是最主要的任务。

()
14、加工小说明是对系统流程图中的加工进行说明。

()
15、判定表的优点是容易转换由计算机实现,缺点是不能够描述组合条件。

()
16、需求分析的主要方法有SD法、OOA法及HIPO法等。

()
17、分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。

()
18、信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R
图。

()19、用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整
性、现实性和有效性。

()
软件设计
1、模块的基本特征是()
A、外部特征(输入/输出、功能)
B、内部特征(输入/输出、功能)
C、内部特征(局部数据、代码)
D、外部特征(局部数据、代码
2、SD方法的设计总则是()
A、程序简洁、操作方便
B、结构清晰、合理
C、模块内聚性强
D、模块之间耦合度低
3、软件设计的主要任务是()
A、将分析阶段获得的需求说明转换为计算机中可实现的系统
B、完成系统的数据结构和程序结构设计
C、完成模块的编码和测试
D、对模块内部的过程进行设计
4、设计阶段应达到的目标有()
A、提高可靠性和可维护性;
B、提高应用范围;
C、结构清晰;
D、提高可理解性和效率
5、HIPO图由()
A 组成直观目录表B、PAD图C、IPO图D、详细的IPO图
6、从工程管理的角度来看,软件设计分两步完成()
A、1、系统分析2、模块设计
B、1、详细设计2、总体设计
C、1、模块设计2、详细设计
D、1、总体设计2、详细设计
7、用户界面设计的任务包括()
A、确定用户界面类型
B、建立任务模型
C、建立用户模型
D、建立功能模型
8、模块独立性准则由以下定性指标来衡量()
A、分解度B、耦合度C、屏蔽性D、内聚性
9、划分模块可以降低软件的复杂度和工作量,所以应该将模块分得越小越好
10、在网状结构中任何两个模块都是平等的,没有从属关系,所以在软件开发过程中常常
被使用
11、信息隐蔽原则有利于提高模块的内聚性
12、中心变换型的DFD图可看成是对输入数据进行转换而得到输出数据的处理,因此可以
使用事务分析技术得到初始的模块结构图
13、SD法是一种面向数据结构的设计方法,强调程序结构与问题结构相对应
14、所谓结构冲突,是指输入数据与输出数据之间很少或没有结构上的对应关系。

通常解
决的办法是:构造一个或者多个中间结构,在输入和输出结构之间进行转换
15、HIPO图是以功能、功能完备性准则逐层分解的
二、问答
1.什么是软件危机?它的表现有哪些?产生的原因是什么?
2.结构化方法的指导思想是什么?
3.瀑布模型的局限性。

4.可行性研究的任务有哪些?
5.研究技术可行性一般要考虑的情况有哪些?
6.描述加工逻辑有哪些工具?
7.什么是结构化分析方法?该方法使用什么描述工具?
8.需求分析的难点主要表现在哪些方面?
9.衡量模块独立的标准是什么?各自的含义是什么?
10.软件设计的优化准则是什么?。

相关文档
最新文档