文档库 最新最全的文档下载
当前位置:文档库 › 软件工程综合应用题型举例

软件工程综合应用题型举例

软件工程综合应用题型举例
软件工程综合应用题型举例

1、数据流图、软件结构图

假设一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件。对于每个需要再次订货的零件应该列出下述数据:零件编号,零件名称,订货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给订货系统。当某零件的库存数量少于库存量临界值时就应该再次订货。

试根据要求画出该系统的功能级数据流图,并设计出软件结构图。

解答:(1)数据流图如下:

或者

(2)软件结构图如下:

2、数据字典

北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。请用数据字典中定义数据的方法,定义上述的电话号码。

解答:

电话号码=[校内号码|校外号码]

校内号码=非0数字+3{数字}3

校外号码=0+[本市号码|外地号码]

本市号码=非0数字+7{数字}7

外地号码=3{数字}3+非0数字+7{数字}7

非0数字=[1|2|3|4|5|6|7|8|9]

数字=[0|1|2|3|4|5|6|7|8|9]

3、状态转化图

复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。

请用状态转换图描绘复印机的行为。

解答:

4、程序流程图、盒图、PAD 图

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

START

IF p

THEN

WHILE q

DO F

END DO ELSE

BLOCK g n

END BLOCK END IF STOP

解答:

g

n

F

p q START STOP no

no yes

yes

g p

q

T F

n

F

5、判定表、判定树

某航空行李托运费的算法规定:重量不超过30公斤的行李可免费托运。重量超过30公斤时,对超运部分,头等舱国内乘客收4元/公斤;其它舱位国内乘客收6元/公斤;外国乘客收费为国内乘客的2倍;残疾乘客的收费为正常乘客的1/2。

(1)用判定表表示该行李托运算法。

(2)用判定树表示该行李托运算法。

6、白盒测试技术(逻辑覆盖)

Procedure(V AR A,B,X:REAL);

BEGIN

IF (A>1) AND (B=0)

THEN X:=X/A ;

IF (A=2) OR (X>1)

THEN X:=X+1

END;

(1)根据伪码程序画出程序流程图。

(2)设计上述伪码程序的条件组合覆盖测试用例。

解答:(1)程序流程图如下:

(2)程序可能的条件组合如下:

A>1,B=0 记:T1 T2 属第一个判断的取真分支

A>1,B≠0 记:T1 F2 属第一个判断的取假分支

A≯1,B=0 记:F1 T2 属第一个判断的取假分支

A≯1,B≠0 记:F1 F2 属第一个判断的取假分支

A=2,X>1 记:T3 T4 属第二个判断的取真分支

A=2,X≯1 记:T3 F4 属第二个判断的取真分支

A≠2,X>1 记:F3 T4 属第二个判断的取真分支

A≠2,X≯1 记:F3 F4 属第二个判断的取假分支

满足条件组合覆盖的测试用例如下:

7、黑盒测试技术(等价类划分法)

某城市电话号码由三部分组成。它们的名称和内容分别是:

地区码:空白或三位数字;

前缀:非‘0’或‘1’的三位数字;

后缀:4位数字。

假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。

根据该程序的规格说明,作等价类的划分,并设计测试方案。

解答:(1)划分等价类

输入条件有效等价类无效等价类

地区码 1.空白; 5.有非数字字符;6.少于三位数字;

2.三位数;7.多于三位数字。

前缀 3.从200到999之间的三

位8.有非数字字符;9.起始位为‘0’;10.起始位为‘1’; 11.少于三位数字;

12.多于三位数字。

后缀 4.四位数字。13.有非数字字符;14.少于四位数字;

15.多于四位数字。

(2)设计测试用例

方案

内容输入预期

输出地区码前缀后缀

1 空白200~999之间

的三位数字四位数字( )276-2345 有效

2 三位数字四位数字(635)805-9321 有效

3 有非数字字符(20A)723-4567 无效

4 少于三位数字(33 )234-5678 无效

5 多于三位数字(5555)345-6789 无效

6 有非数字字符(345)5A2-3456 无效

7 起始位为‘0’(345)012-3456 无效

8 起始位为‘1’(345)132-3456 无效

9 少于三位数字(345) 92-3456 无效

10 多于三位数字(345)4562-3456 无效

11 有非数字字符(345)342-3A56 无效

12 少于四位数字(345)342- 356 无效

13 多于四位数字(345)562-34567 无效8、面向对象程序设计(类图、用例图)

9、工程网络图

某任务的工程网络如下图所示,请为每个事件计算最早时刻,最迟时刻,并找到该任务的关键路径。

解答:

软件是程序、数据及相关文档的完整集合。其中程序是能够完成预定功能和性能的可执行的指令序列,数据是使程序能够适当地处理信息的数据结构;文档是开发、使用和维护程序所需要的图文资料。

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

软件工程 是把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件。 软件工程的本质特性:

1 软件工程关注于大型程序的构造

2 软件工程的中心课题是控制复杂性

3 软件经常变化

4 开发软件的效率非常重要

5 和谐地合作是开发软件的关键 6软件必须有效地支持它的用户

7 在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品 软件周期每个阶段的基本任务。 1 问题定义 2 可行性研究 3 需求分析 4 总体设计5详细设计 6 编码和单元测试 7综合测试 8软件维护

1瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和 ( C )。 A 、详细计划 B 、可行性分析 C 、运行阶段 D 、测试与排错 2、从结构化的

2

3

4

2

4

6

2

1

2

3

6

1

0 0 0 0 1 2 3

5

4

7

6

8

9

10

11

2瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大( C )。

A、详细设计阶段

B、概要设计阶段

C、需求分析阶段

D、测试和运行阶段

3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标( A )。A、需求分析阶段B、详细设计阶段C、概要设计阶段D、可行性研究阶段

4、软件工程的出现主要是由于( C )。

A.程序设计方法学的影响

B.其它工程科学的影响

C. 软件危机的出现

D.计算机的发展

5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )

A、硬件环境

B、软件开发的环境

C、软件开发工具和软件开发的环境

D、开发人员的素质

6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为( B )

A、相互排斥

B、相互补充

C、独立使用

D、交替使用

7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( C )

A、基于瀑布模型的结构化方法

B、基于需求动态定义的原型化方法

C、基于对象的面向对象的方法

D、基于数据的数据流开发方法

8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高( B )

A、结构化方法

B、原型化方法

C、面向对象的方法

D、控制流方法

9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的( B )

A、控制流

B、数据流

C、程序流

D、指令流

10、软件开发的结构化生命周期方法将软件生命周期划分成( A )

A、计划阶段、开发阶段、运行阶段

B、计划阶段、编程阶段、测试阶段

C、总体设计、详细设计、编程调试

D、需求分析、功能定义、系统设计

11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为( A )

A、瀑布模型

B、对象模型

C、螺旋模型

D、层次模型

12、软件开发的瀑布模型,都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是( C ) A、分析阶段B、设计阶段C、编码阶段D、测试阶段21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。

22.成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。

23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和(宽度优先策略) 。

24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。

25.汇编语言是面向(机器) 的,可以完成高级语言无法完成的特殊功能

26.在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。

27.详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。28.所有软件维护申请报告要按规定方式提出,该报告也称( 软件问题)报告。

29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的(维护支援)技术。

30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:(FORTRAN语言)、PASCAL语言、C语言和PL/1语言。

软件工程试题与答案-(20)

软件工程期末试卷(A) 说明:本试卷为04级计算机专业(专升本)软件工程期末试卷,总计100分,时间100分钟 一、选择题:(每题1分,共20分)(将答案写在题号前的()中) ( C )1. 软件是()。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 ( B )2. 软件需求规格说明的内容不应包括()。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 ( B )3. 程序的三种基本控制结构是()。 A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移 ( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 ( C ) 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 ( A ) 6. 各种软件维护的类型中最重要的是( )。 A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护 ( B ) 7.软件测试的目标是()。 A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同 ( D )8.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测试 D.软件维护 ( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 ( D )10、详细设计的基本任务是确定每个模块的( )设计 A.功能 B.调用关系 C.输入输出数据 D.算法 ( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:() A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据 ( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则() A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖 ( A )13.面向数据流的设计方法把()映射成软件结构。

软件工程案例教学的设计探讨-软件工程论文-工程论文

软件工程案例教学的设计探讨-软件工程论文-工程论文 ——文章均为WORD文档,下载后可直接编辑使用亦可打印—— 摘要:软件工程是计算机专业高年级开设的一门核心课程,本文以移动通讯录APP项目开发为案例,将软件工程课程所具有的理论性与方法学内容融入案例,综合采用分组讨论、协同开发的教学方式,将原本内容抽象、枯燥索味的授课过程变得具体且主动,实现了做中学、学中做的循环式教学。 关键词:软件工程;移动开发;通讯录APP;案例教学 一、软件工程案例教学 软件工程是计算机科学与技术专业的一门核心课程,一般在高年级开

设。与其它计算机专业课程的技术性相比,软件工程更注重管理性,是综合技术、方法和管理并指导软件项目开发的一门应用型课程[1]。由于该课程具有强烈的工程与项目背景,授课内容又涉及到项目管理的方法学,老师在设置教学内容时难以把握讲授难度[2]换言之,一旦涉及大量的定义(例如软件开发模型、白箱/黑箱测试等)以及方法学(例如瀑布模型、敏捷开发模型等),学生易感抽象、空洞,掌握效果不佳。以案例驱动的形式开展授课,将上述知识点代入到一个或多个项目实例中,不仅可帮助学生更好的掌握关键知识,还能进一步培养出工程开发必要的团队协作能力[3]。选取什么案例以及多少案例是软件工程案例教学值得研究的一个问题,需要结合学校制定的培养方案、学生的兴趣等诸多因素。本文以移动通讯录作为课程案例的主要考虑是:(1)移动通讯录是移动应用开发的一个典型应用,既可以涵盖了项目开发的全过程,而且项目需求与实现功能点足够简单,易于教师掌控;(2)移动通讯录基于Android平台开发,Android是当前流行的移动开发技术,大部分软件专业学生均对此感兴趣,该平台以Java语言为基础,学生一般在二年级已经学习过Java编程,具备一定的前期积累;(3)移动通讯录开发难度较小但实用性强,学生在课程结束后能够实现自己的作品,满足了成就感,从而激发学生从事软件开发的兴趣。

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

第一章软件工程概述 一. 填空题 1. 软件的发展过程 , , , . 2. 基于软件的工作方式,软件可以划分为 , , , . 3. 在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境 . 4. 在计算机系统中,软件是 , 而硬件是 . 5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。 6. 文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档。 7. 软件生存期若分为三个大的阶段,, . 8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。 9. 在软件的生存周期开发阶段要经三个步骤 , , 。 10. 瀑布模型是以文档为驱动、适合于的软件项目的模型。 11. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,, 和四个步骤。 12. 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个____ 。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。 13. 软件开发模型 , , , , , . 14. 软件工程面临的问题有 , , , . 15. 面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和 . 16.基于软件的功能划分可以把软件划分为 , ,和。 17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机。为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。18.软件工程是指导的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。 19.为了开发出低成本高质量的软件产品,软件工程学应遵守以下基本原则: , ,和 , 。 20.原型模型是从需求分析开始。软件开发者和用户在一起定义,说明需求,并规划出定义的区域。然后快速设计软件中对用户/客户可见部分的表示。快速设计导致了原形的建造,原形由用户/客户评估,并进一步求精。

软件工程习题及参考答案

软件工程习题及部分参考答案 判断题 ?软件也会磨损和老化。(X) ?完善性维护是提高或完善软件的性能。(√) ?数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。 (X) ?软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(X) ?软件模块之间的耦合性越弱越好。(√) ?如果通过软件测试没有发现错误,则说明软件是正确的。(X) ?快速原型模型可以有效地适应用户需求的动态变化。(√) ?模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高聚,低耦合度的软件产品。(√) ?集成测试主要由用户来完成。(X) ?确认测试计划应该在可行性研究阶段制定(X) ?白盒测试无需考虑模块部的执行过程和程序结构,只要了解模块的功能即可。(X) ?软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(√) ?软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。(√) ?系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。(╳)?模块越多,开发成本越小。(╳) ?软件测试的目的就是证明软件没有错。(╳) ?PAD图在设置了五种基本的控制结构后,还允许递归使用。(√) ?在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。(×) ?SA法是面向数据流,建立在数据封闭原则上的需求分析方法。(√) ?HIPO 法既是需求分析方法,又是软件设计方法。(√) ?在面向对象的需求分析方法中,建立动态模型是最主要的任务。(×) ?加工小说明是对系统流程图中的加工进行说明。(×) ?判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。(×) ?需求分析的主要方法有SD 法、OOA 法及HIPO 法等。(×) ?分层的DFD 图可以用于可行性分析阶段,描述系统的物理结构。(×) ?信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R 图。(√) ?用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。(√) ?PDL经常表现为一种"混杂"的形式,他不允许自然语言如英语的词汇与某种结构化程序设计语言(如Pascal,C,Ada等)的语法结构交织在一起.(X) ?设计阶段的输出是编码阶段的输入.(√) ?通过软件测试,可以发现软件中所有潜伏的错误.(X) ?非结构化维护用于软件的配置中只有源代码维护.(√) ?系统规格说明是系统分析和定义阶段生成的一种文档.(√) ?数据流图的分解速度应保持较高.通常一个加工每次可分解为10~20个子加工.(X)

软件工程导论简答题大全

1.软件工程的七条基本原理是什么? 答:软件工程的七条基本原理是: 用分阶段的是的生存周期计划严格管理; 坚持进行阶段评审; 严格实施的产品控制; 采用现代程序技术; 结果应能清楚地审查; 开发小组的成员应该少而精; 承认不断改进软件工程的必要性。 2.良好的编码风格应具备哪些条件? 答:应具备以下条件: (1)使用标准的控制结构; (2)有限制地使用GOTO语句; (3)源程序的文档化(应具备以下内容) ①有意义的变量名称——“匈牙利命名规则”。 ②适当的注释——“注释规范”。 ③标准的书写格式: ——用分层缩进的写法显示嵌套结构的层次(锯齿形风格); ——在注释段的周围加上边框; ——在注释段与程序段、以及不同程序段之间插入空行; ——每行只写一条语句; ——书写表达式时,适当使用空格或圆括号等作隔离符。 (4)满足运行工程学的输入输出风格。 3.简述文档在软件工程中的作用。 答: (1) 提高软件开发过程的能见度 (2) 提高开发效率 (3) 作为开发人员阶段工作成果和结束标志 (4) 记录开发过程的有关信息便于使用与维护; (5) 提供软件运行、维护和培训有关资料; (6) 便于用户了解软件功能、性能。 4.可行性研究包括哪几方面的内容? 答: (1)经济可行性:是否有经济效益,多长时间可以收回成本; (2)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足; (3)运行可行性:系统操作在用户内部行得通吗? (4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。 5.结构化的需求分析描述工具有哪些? 答:有数据流图(DFD)、数据字典(DD)、判定表、判定树、结构化语言(PDL)、层次方框图、Warnier图、IPO图、控制流图(CFD)、控制说明(CSPEC)、状态转换图(STD)和实体—关系图(E—R)等。 6.一般面向对象分析建模的工具(图形)有哪些?

软件工程案例

第10章基于Web方式的校企联合培养系统——需求获取10.1 引言 近年来,各高校在计算机科学与技术、软件工程等专业的人才培养过程中,进行了校企联合的应用型人才培养模式的创新与实践。在实践过程中,校企双方以双赢为基础,逐步形成了一套完整的应用型人才培养模式,即培养目标面向需求、教学过程校企互动、培养途径因需制宜、师资队伍校企共组、实习方式多元优化的应用型人才培养模式。 本书第10章至第12章介绍的“基于Web方式的校企联合培养系统”是浙江工业大学软件工程系一名大三学生开发设计的一份软件工程大型作业。考虑到大三学生暑假开始就要到企业参加基础实习和提高实习,学生对参加实习招聘的企业事先并不一定了解;同样,企业事先也不了解学生,需要有一个平台来增进双方的了解与沟通。此外,学生的实习要在校外企业中进行,实习中的教学过程管理,以及教师、学生、企业三方的互动交流就显得尤为重要,所以他想开发一个校企联合培养系统,以帮助同学们更好地完成实习过程。 综合以上原因,该生打算开发一个校企联合培养系统为大三、大四同学的实习过程管理提供便利。该生打算采用Web方式构建校企联合培养系统,以方便教师、学生、企业三方随时随地使用该系统。为了完成该系统,该生分析了实习过程中教师、学生、企业三种不同的角色,以及相应的业务过程,并通过软件工程的方法进行系统分析和设计。以下内容是该学生在完成基于Web方式的校企联合培养系统中提供的部分分析和设计文档。 10.1应用实例领域分析 10.1.1学生和企业之间存在的问题 1.学生求职遇到的问题 1)很多应届毕业生对求职时将要选择的企业不了解,直到参加求职的招聘会或实习双向选择会现场才开始逐步了解各家企业; 2)大多数学生不知道如何结合课本上所学的理论知识进行实践,或者由于课本上的理论知识往往更新得较慢,使得学校的教学内容与社会的需求不同步; 3)部分学生能力较强,但在面试时往往因发挥不好而没有被用人单位录用。 2.企业招聘面临的问题 1)通过几轮面试招聘到的员工可能并不适合本企业的岗位; 2)对学生的能力不了解,使得所录用的学生要在企业学习很久才能胜任自己的工作。 10.1.2如何解决这些问题 “基于Web方式的校企联合培养系统”(以下简称为校企联合培养系统)致力于打造一个服务于学生和企业的门户网站,从而能够走在素质教育与知识创新相结合的时代尖端,并且将以互联网技术应用作为依托,全力塑造一个崭新的门户网站的形象。 本网站面向的学生群体是以就业为目标的,想要进入更好的、更合适自己的企业的学生,面向的企业是想要招聘到更具有创新精神、更有能力的人才的企业。在学生找到合适工作的同时,企业通过网站发布具有一定难度的项目,审核学生做出的项目结果,定向观察培养自己需要的人才,从而解决各企业的人才培养和选拔问题,也为促进学校人才的培养营造出良好的教育氛围,形成一种全新的人才培养模式。

软件工程综合练习题

《软件工程》课程练习题 第一章软件工程概述 一、选择题 1、瀑布模型本质上是一种()。 A、线性迭代模型 B、顺序迭代模型 C、线性顺序模型 D、及早见产品模型 2、计算机辅助软件工程,简称()。 A、SA B、SD C、SC D、CASE 3、以下判断正确的是()。 A、所谓软件开发就是编写程序。 B、利用软件工程的思想,已成功的解决了软件危机。 C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。 D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。 4、_____是以提高软件质量为目的的技术活动。 A.技术创新 B.测试 C.技术创造 D.技术评审 5、瀑布模型的存在问题是()。 A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 6、软件生命周期中所花费用最多的阶段是()。 A.详细设计 B.软件编码 C.软件测试 D.软件维护 7、计算机系统就是() A.主机,显示器,硬盘,软驱,打印机等。 B.CPU,存储器,控制器,I/O接口及设备。 C.计算机硬件系统和软件系统。 D.计算机及其应用系统。 8、产生软件危机的原因主要与两个方面的问题有关: A.软件在计算机中很难识别,存在磁盘中也看不到。

B.软件设计对人的智商要求很高,也要求很高的资金投入。 C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。 D.软件很难理解,硬件也很复杂。 9、软件开发瀑布模型中的软件定义时期各个阶段依次是() A.可行性研究,问题定义,需求分析。 B.问题定义,可行性研究,需求分析。 C.可行性研究,需求分析,问题定义。 D.以上顺序都不对。 10、下列选项中()是软件开发中存在不正确的观念、方法。 A.重编程、轻需求 B.重开发,轻维护 C.重技术,轻管理 D.以上三条都是 二、填空题 1、软件工程的三个基本要素包括()、()和()。 2、一般软件应该有三部分组成:()、()和()。 3、按软件的功能可将软件分成()、()和()等三类。 4、计算机软件的生存期可以分为六个步骤,它们是()、()()、()、软件测试和运行/维护。 5、软件质量是与软件产品满足规定的和隐含的需求的能力有关的()的全体。 6、软件危机是指在()所遇到的一系列严重问题。 7、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是()。 8、喷泉模型是一种以需求分析为动力,以()为驱动的模型。 三、名词解释 1、CASE 2、软件工程 3、计算机软件 2、软件生存期 四、简答题 1、什么是软件危机?其主要表现有那些? 2、程序的可移植性 3、为什么说“CASE领域是一个应用、集成和综合的领域”?

软件工程练习题

一.填空题 1.软件生命周期分为、需求分析、概要设计、详细设计、软件实现、软件测试及运行维护7个阶段。 2. 是最早的软件生存周期开发模型,它将软件开发过程中的各项活动规定为依固定顺序连接的若干阶段工作,形如瀑布流水,最终得到软件系统或软件产品。 3. 是一种软件开发模型,在这种模型的每一个阶段,都要编码产生一个新的构件,并将新构件集成到先前已经构成的产品中并作为一个整体进行测试,直到满足用户需求为止。 4.当没有足够的人员在规定的期限内开发完整的产品或者由于不可克服的客观原因而把交付期限规定的太短时应选用软件开发模型。 5. 是一种软件开发模型,由需求定义、风险分析、实施开发和计划评审4个部分组成,主要适用于大型软件项目开发。 6. 文档说明该软件开发项目的实现在技术上、经济上和社会因素上等方面的可行性,评述为了合理地达到开发目的可供选择的各种可能实施的方案,说明并论证所选定实施方案的理由。 7.可行性分析的目的是。 8. 用于描述系统的物理模型,用物理符号以黑盒子的形式描绘系统里的每个部件,仅表达信息在系统个部件之间流动的情况。 9. (一种图)可以用来进行项目进度管理。 10. 结构化分析与设计是一种面向的分析设计方法。 11. 常见的需求获取方式有、情景分析技术等。 12. 在结构化分析中,用于描述加工逻辑的工具主要有结构化语言、判定树和。 13. 数据字典中的条目主要有、数据流、文件和加工四种。 14. 结构化软件开发方法贯穿始终的八字方针为。 15. 在软件生命周期中的每一个阶段结束后必须进行,这是为了能尽早发现项目开发中的错误。 16. 是软件生命周期中重要的一步,是软件定义阶段的最后一个阶段,是关系到软件开发成败的关键步骤。 17. 数据流图分为变换型和两种类型。 18. 衡量不同模块彼此之间相互依赖的紧密程度。 19. 衡量不同模块彼此之间相互依赖的紧密程度。 20.在软件模块设计时应该采取的设计原则是。 21.内聚性与模块独立性的关系为内聚性越高,模块独立性越。

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

第一章 1,与计算机硬件相比,计算机软件有哪些特点? 软件的特点如下。 1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了 解它的功能、特性和质量等。 2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过程 中,渗透了大量的脑力劳动。 3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问 题。 4)软件的开发和运行必须依赖于特定的计算机系统环境。 5)具有可复用性。 3,什么是软件危机?什么原因导致了软件危机? 软件危机的现象如下。 1)经费超出预算,项目一再拖延。 2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。 3)没有规范的软件工程方法,软件可维护性差、软件质量差、可靠性差。 4)开发工具落后,手工方式,开发效率低。 所有导致软件危机的原因,都与软件本身的产品特点相关。 1)软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软件 产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升高。 2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。 3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法做 到准确估算,生产过程不易控制。 4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成 本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得 多。 5,请简述软件工程研究的内容。 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。 软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer和

软件工程考试题(含答案)

软件工程考试题 简答题 1、什么叫软件? 软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合 2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因就是什么? 软件危机就是指在计算机软件开发与维护过程中所遇到的一系列严重问题。包括两点: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 软件开发与维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也与软件开发与维护的方法不正确有关。具体表现如下: (1)软件就是逻辑部件而不就是物理部件。 (2)软件的规模越来越大,复杂性越来越大。 (3)轻视需求分析的重要性,轻视软件维护的错误观点与方法。 3、什么叫软件工程? 1968年在第一届NATO会议上的早期定义: “建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。 1993年IEEE的定义: “①软件工程就是:把系统的、规范的、可度量的途径应用于软件开发、运行与维护过程,也就就是把工程应用于软件;②进而研究①实现的途径”。 我们国家最近定义:软件工程就是指导计算机软件开发与维护的工程学科。它采用工程的概念、原理、技术与方法来开发与维护软件,把经过时间考验而证明正确的管理技术与当前能够得到的最好的技术方法结合起来。 4、两种软件工程方法学开发软件时要建立哪些模型? 软件工程方法学包括:传统方法学与面向对象方法学。常用的开发模型有: 瀑布模型(需求稳定,而且可以预先指定) 原型模型(需求模糊或者随时间变化) 增量模型(分析员先作出需求分析与概要设计,用户参与逐步完善) 螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析) 喷泉模型(使开发过程具有迭代性与无间隙性) 5、软件过程模型有哪些?简述它们的特点。 过程模型分为五大类:1、管理过程模型。2、瀑布模型(又称为生命周期模型)。3、增量过程模型:包括增量模型,,RAD模型。4、烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。5、专用过程模型:包括机遇构建的开发模型,形式化方法模型,面向方面的软件开发模型。 6、什么就是软件生命周期? 一个软件从定义,开发,使用与维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长时期称为生命周期 7、软件生命周期有哪几个阶段与步骤? 三个阶段:定义、开发、维护 八个步骤:问题定义、可行性研究、需求分析;总体设计、详细设计、编码与单元测试、综合测试;运行维护。 8、计算机软件的开发经过哪三个大阶段? 三个阶段:定义、开发、维护 9、软件开发的各阶段的任务就是什么? 定义阶段:问题定义--任务:关于规模与目标的报告书;可行性研究--任务:系统的高层逻辑模型:数据流图,成本/效益分析;需求分析--任务:系统的逻辑模型:数据流图,数据字典,算法描述。 开发阶段:总体设计--任务:系统流程图,成本/效益分析,推荐的系统结构:层次图/结构图;详细设计--任务:HIPO图或PDL 图;编码与单元测试--任务:源程序清单,单元测试方案与结果;综合测试--任务:综合测试方案,结果集成测试,验收测试,完整一致的软件配置。 维护阶段:软件维护--任务:维护记录以及改正性维护,适应性维护,完整性维护与预防性维护

软件工程习题

软件工程习题 CH1 一、填空题 1、软件工程需要解决的问题包括:、、、和。 2、到目前为止,软件生产的发展经历了三个阶段,即、和。 3、计算机科学中的研究曾国均可用于软件工程,但计算机科学侧重于,而软件工程侧重于。 4、软件工程有用管理科学的方法和原理进行。 5、软件工程是用科学知识和技术原理来、、软件的一门科学。 6、软件工程研究的主要内容包括软件开发技术和软件开发管理技术两个方面。在软件开发技术方面,主要研究、、。在软件开发管理技术方面主要研究、、。 7、作为一门交叉学科,软件工程具有很强的综合性,它涉及、、、等领域。 8、软件生产周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。通常包括、、、、、、、等活动,可以将这些活动以适当方式分配到不同阶段去完成。 9、开发软件工具的主要目的是为了提高软件生产效率和改善。 10、描述软件开发过程中各种活动如何执行的模型称为模型。 11、从软件工程诞生以来,已经提出了多种软件开发方法,如、、 ,它们对软件工程及软件产业的发展起到了不可估量的作用。 12、结构化方法由、和构成。它是一种面向的开发方法。 13、模型是一种非整体开发方法的模型。软件在该模型中是“逐渐”开发出来的,开发一部分向用户展示一部分,可让用户及早看到部分软件,及早发现问题。或者先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。 14、喷泉模型是一种以为动力,以作为驱动的模型,适合于的开发方法。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有和。 15、结构化方法总的指导思想是。它的基本原则是功能的和。它是软件工程中最早出现的开发方法,特别适用于的问题。 16、螺旋模型将模型和模型结合起来,加入了两种模型均忽略了的风险分析,弥补了这两种模型的不足。 17、螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内分为4个工作步骤。第一步,确定目标,选定实施方案,明确开发限制条件。第二步,分析所选方案、识别风险,通过原型消除风险。第三步,实施软件开发。第四步,评价开发工作,提出修改意见,建立下一周期的计划。 18、面向对象开发方法包括、、三部分。

历年全国自学考试软件工程试题简答题答案

历年全国自学考试软件工程试题简答题答案

全国 10月自学考试软件工程试题 简答题(本大题共6小题,每小题5分,共30分) 31. 什么是需求规约?简述需求规约的基本性质。 答:需求规约是一个软件项/产品/系统所有需求陈述的正式文档,它表示了一个软件产品/系统的概念模型。需求规约一般需要满足一下4个基本性质: 1.重要性和稳定性程度:按需求的重要性和稳定性,对需求进行 分级; 2.可修改性:在不影响其它需求的前提下可容易修改一个单一 需求; 3.完整性:设备被遗漏的需求; 4.一致性:不存在互斥的需求。 32.什么是模块耦合?简述常见的模块耦合类型及其设计原则。答:模块耦合:是指不同模块之间相互依赖程度的度量; 几中常见模块耦合类型为:内容耦合、公共耦合、控制耦合、标记耦合、数据耦合等; 设计原则:如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合,避免内容耦合。 33.UML给出了那些表示关系的术语?简述它们的概念。 答:1.为了表示各类事物之间的关系,UML给出了表示关系的术

语:关联、泛化、细化、依赖; 2.关联是类目之间的一种结构关系,是对一组具有相同结构、相同链的描述; 3.泛化是一般性类目和它的较为特殊类目之间的一种关系; 4.细化是类目之间的语义关系,其中一个类目规约了保证另一个类目执行的契约; 5.依赖是一种使用关系,用于描述一个类目使用另一类目的信息和服务。 34.简述RUP的定义和特点。 答:RUP是基于一种过程框架,为软件开发,即为进行不同抽象层之间映射安排其开发活动的次序,制定任务和需求开发的制品,提供了指导;并为对项目中的制品和活动进行监督与度量,提供了相应的准则; RUP特点是:以用况为驱动,以体系结构为中心,迭代、增量式开发。 35.简述软件测试步骤及关注的内容。 答:软件测试步骤及关注的内容有以下几点: 1.由于软件错误的复杂性,在软件工程测试中应综合运用测试 技术,实施合理的测试步骤:单元测试、集成测试、有效性测试和系统测试;

软件工程案例教学法探讨

软件工程案例教学法探讨 1 引言 随着计算机应用日益普及和深化正在运行使用着的计算机软件的数量以惊人的速度急剧膨胀而且现代软件的规模往往十分庞大所以指导计算机软件开发和维护的工程学科—软件工程日益显示其重要地位。然而学习者一般不好理解软件工程的实践性不能将所学的知识真正应用到软件开发过程中去。如何将理论与实际联系起来呢?我们认为在软件工程中采用案例教学发将会弥补这一缺憾。 案例教学法以对案例的分析解决为主线通过对案例中的问题进行分析激发学生的求知欲调动学生的积极性使学生自觉主动的学习案例掌握原理和方法实行科学的教育思想观念的一种教学方式。它是一... 摘要本文就案例教学法在软件工程中的应用作了初步的探讨同时简要介绍我们在尝试软件工程案例教学中的一些体会。 关键词软件工程;案例教学法;分析设计 1 引言 随着计算机应用日益普及和深化正在运行使用着的计算机软件的数量以惊人的速度急剧膨胀而且现代软件的规模往往十分庞大所以指导计算机软件开发和维护的工程学科—软件工程日益显示其重要地位。然而学习者一般不好理解软件工程的实践性不能

将所学的知识真正应用到软件开发过程中去。如何将理论与实际联系起来呢?我们认为在软件工程中采用案例教学发将会弥补这一缺憾。 案例教学法以对案例的分析解决为主线通过对案例中的问题进行分析激发学生的求知欲调动学生的积极性使学生自觉主动的学习案例掌握原理和方法实行科学的教育思想观念的一种教学方式。它是一种互动式的教学方法可以实现启发式教学能够极大的促进学生的学习兴趣实现真正的教学相长。它更是实现理论联系实际的现实可实施的途径。案例教学法在软件工程教学中的应用将在更大程度上激发学生学习的学习兴趣和参与的积极性。同时利于学生掌握理论知识并运用知识解决软件开发中的实际问题最终提高教学质量达到学校教育培养的目标。 有鉴于此本文试对案例教学法在软件工程中的应用作了初步探讨以期对教育同行和广大学习者有所启发和借鉴。 2 案例教学法的含义 案例教学法(case methods of teaching)可简单地界定为一种运用案例进行教学的一种方法它是美国当今教育行业中非常盛行而有效的一种方法在我国正在慢慢推广开来。1910年美国哈佛商学院最先使用案例教学开创了案例教学的先河。案例教学法于20世纪80年代初传入我国它有利于培养学生分析问题、解决问题的能力提高教学效果。

软件工程试题及答案

综合练习一答案 一.选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末 B.60年代初C.60年代末 D.70年代初 A.运筹学B.工程学 C.软件学 D.软件学 E.数字 2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用 5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护 B.测试 C.详细设计 D.概要设计 E.编码 F.需求分析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.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的____。 总貌B.细节C.抽象D.软件的作者 13.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于____。 A.变换型 B 事务型 14.需求分析说明书不能作为______。

软件工程简答题

软件工程简答题 三、简答题(简要回答下列问题) 1、什么是软件工程?它目标和内容是什么? 软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。 软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。 软件工程内容:包括开发技术和开发管理两个方面。 2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发? 软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。 其中喷泉模型、统一软件过程适用于面向对象的软件开发。 3、什么是结构分析方法?该方法使用什么描述工具? 结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。 4、什么是软件概要设计?该阶段的基本任务是什么? 把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构设计。 基本任务: ⑴设计软件系统结构 ⑵进行数据结构及数据库的设计 ⑶编写概要设计的文档 ⑷评审 5、软件维护有哪些内容? (1)校正性维护。在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴

露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。 (2)适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。 (3)完善性维护。为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。 (4)预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。 6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系? 软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。 单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。 集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。 确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。 系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付使用。 7、什么是软件生存周期?它有哪几个活动? 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。 包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。 8、衡量模块独立性的两个标准是什么?各表示什么含义? 内聚和耦合。 内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。 耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。

软件工程案例教程答案

1.下列所述不是软件特点的是(A) A.软件是有形的 B.软件不存在磨损和消耗问题 C.软件开发成本高 D.软件没有明显的制作过程 2.软件工程的出现主要是由于(C) A.程序设计方法学的影响 B.其他工程学科的影响 C.软件危机的出现 D.计算机的发展 3.以下(C)不是软件危机的表现形式 A.开发的软件不满足用户的需要 B.开发的软件可维护性差 C.开发的软件价格便宜 D.开发的软件可靠性差 4.软件工程的目的是(C) A.建造大型的软件系统 B.开发的软件可维护性差 C.软泥吉安质量的保证 D.研究软件开发的远离 5.下列所述不是软件组成的是(D) A.程序 B.数据 C.界面 D.文档 6.下列对“计算机软件”描述正确的是(A) A.是计算机系统的组成部分 B.不能作为商品参加交易 C.是在计算机硬件设备生产过程中生产出来的 D.之存在语计算机系统工作时 7.软件工程的方法的产生源于软件危机,下列(D)是产生软件危机的内在原因 A.软件的复杂性 B.软件维护困难C软件成本太高. D.软件质量难保证 8.软件工程方法的提出源于软件危机,其目的应该是最终解决软件的(D)问题 A.软件危机 B.质量保证 C.开发效率 D.生产工程化 9.软件工程学中除重视软件开发的研究外,另以重要组成内容是软件的(A)和过程改进 A.项目管理 B.成本核算 C.人员培训 D.工具开发 10.软件工程设计软件开发技术和项目管理等方面内容,下述内容中(D)不属于开发技术的范畴 A.软件开发方法 B.软件开发工具 C.软件工程环境 D.软件工程经济 二、填空题 1.软件工程的目的是成功的建造大型的软件系统,主要内容是开打软件开发技术、软件项目管理和软件质量管理。 2.螺旋式开发模型主要是针对风险比较大的项目而设计的 3.由于软件产生的复杂性和高成本,使大型软件产生出了很多问题,即出现软件危机,软件工程正是为了克服它而提出的一种概念及相关方法和技术。 4.增量模型假设需求可以分段,成为一系列增量产品,每一增量可以分别开发。 5.喷泉模型比较适合用于面向对象的开发方法。 三、判断题 1.软件开发方法的主要目的是克服软件手工生产带来的问题,使软件开发能进入工程化和规范化的环境(Y) 2.软件工程的提出起源于软件危机,其目的书最终解决软件的生产工程化(Y) 3.软件工程改进也是软件工程的范畴(Y)

软件工程试题库集及答案

综合练习一答案 选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末B.60年代初C.60年代末D.70年代初 A.运筹学B.工程学C.软件学D.软件学E.数字2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析6.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计B.可行性分析C.运行及维护D.测试与排错7.划分软件生存周期的阶段时所应遵循的基本原则是_____。 A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立 8.一个软件项目是否进行开发的结论是在______文档中作出的。 A、软件开发计划 B、可行性报告 C、需求分析说明书 D、测试报告 9.分析员是____。 A.用户中系统的直接使用者B.用户和软件人员的中间人 C.软件的编程人员D。用户和软件人员的领导

软件工程简答题——答案

38.就程序设计语言的工程特性而言,对程序编码有哪些要求? 就程序设计语言的工程特性而言,对程序编码有如下要求: (1)可移植性(2)开发工具的可利用性(3)软件的可重用性(4)可维护性 39.模块的内聚性包括哪些类型? 模块的内聚性包括: (1)偶然内聚(2)逻辑内聚(3)时间内聚(4)通信内聚(5)顺序内聚(6)功能内聚 36.可行性研究报告的主要内容有哪些? 解:一个可行性研究报告的主要内容如下: (1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。 (2)可行性研究前提:说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。 (3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。 (4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。 (5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。 (6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。 (7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。 (8)结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变动等。 37.系统设计的内容是什么? 解:系统设计阶段先从高层入手,然后细化。系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。 (1)系统分解。系统中主要的组成部分称为子系统,子系统既不是一个对象也不是一个功能,而是类、关联、操作、时间和约束的集合。每次分解的各子系统数目不能太多,最底层子系统称为模块。 (2)确定并发性。分析模型、现实世界及硬件中不少对象均是并发的。系统设计的一个重要目标就是确定哪些是必须同时动作的对象,哪些不是同时动作的对象。后者可以放在一起,而综合成单个控制线或任务。 (3)处理器及任务分配。各并发子系统必须分配给单个硬件单元,要么是一个一般的处理器,要么是一个具体的功能单元,必须完成下面的工作:估计性能要求和资源需求,

相关文档