软件工程习题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. 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.软件设计的优化准则是什么?。

相关文档
最新文档