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

软件工程综合应用例题[精品文档]

软件工程综合应用例题[精品文档]
软件工程综合应用例题[精品文档]

软件工程综合应用例题

第一部分 《结构化软件开发方法》

1、根据下列描述,画出教材征订系统的第一层数据流图。学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来通过学校的会计科办理。 解:

2、高考录取统分子系统有如下功能:

(1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;

(2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。

试根据要求画出该系统的数据流程图,并将其转换为软件结构图。 解:(1)数据流图: (2)软件结构图:

① 原始分 ② 标准分 ③ 招生计划 ④ 录取线 3、有下列伪码程序: START

INPUT (M,N) IF M>=10 THEN X:=10 ELSE X:=l ENDIF IF N>=20 THEN Y:=20 ELSE Y:=2 ENDIF

PRINT(X,Y) STOP

设计该程序的语句覆盖和路径覆盖测试用例。

解:

语句覆盖测试用例为

①M=9(或

②M=l0(或>=10),N=20(或>=20)

路径覆盖的测试用例为

①M=9,N=19;

②M=9、N=20;

③M=l0,N=l9;

④M=10,N=20

4、画出下列伪码程序的程序流程图、盒图(N-S图)、PAD图。 START

IF p THEN

WHILE q DO

F

END DO

ELSE

BLOCK

g

n

END BLOCK

END IF

STOP

解:

5、根据下面程序流程图,给出测试用例:

解:路径覆盖可使用测试用例:

⑴【A=1,B=1,X=1】

⑵【A=1,B=1,X=2】

⑶【A=3,B=0,X=1】

⑷【A=2,B=0,X=4】

边覆盖,可使用测试用例:

⑴【A=3,B=0,X=3】

⑵【A=2,B=1,X=1】

判定覆盖的测试用例:

⑴【(A=3,B=0,X=3)】

⑵【(A=2,B=1,X=1)】

语句覆盖,可使用测试用例:

【 A=2,B=0,X=3 】

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

int GetMax(int n, int datalist[ ])

{

int k=0;

for ( int j=1; j

if ( datalist[j] > datalist[k] ) k=j;

return k;

}

画出该程序的程序流程图,并计算其McCabe复杂度。

解:程序流程图如下:

McCabe复杂度为3。

7、画出下面PDL伪码程序的程序流程图、N-S图、PAD图和程序流图,并计算其McCabe复杂度。

WHILE P DO

IF A>O THEN A1 ELSE A2 ENDIF;

IF B>0 THEN B1;

IF C>0 THEN C1 ELSE C2 ENDIF

ELSE B2

ENDIF;

B3

ENDWHILE;

解:

P A>0T T

A1

F A2

B>0T

B1C>0T C1C2

F T

B2

F

B3

8、根据下面伪码程序,设计语句覆盖、路径覆盖、边覆盖、判定覆盖、条件覆盖、点覆盖的测试用例。

PROCEDURE EX (A ,B :REAL

;VAR X :REAL ); BEGIN

IF (A=3)OR (B>1)THEN X :=A ×B IF (A>2)AND (B=0)THEN X :=A -3 END

解:先画出程序流程图:

语句覆盖测试用例:[A=3,B=0]

路径覆盖测试用例:[A=3,B=0] [A=3,B=1] [A=4,B=0] [A=2,B=1] 边覆盖测试用例:[A=3,B=0] [A=2,B=1]

9、某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。

如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。

如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。

如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。 要求:

(1)对以上问题画出数据流程图。

(2)画出该培训管理的软件结构图的主图。 解:

10、求一组数组中的最大数, 数组表示为A[n] ,n =1,2……n 的自然数。

(1)请画出程序流程图 (2)请画出该算法的N-S 图 (3)请用PAD 图来表示该算法 解:

11、把事务型数据流图映射成软件结构图:

12、把变换型数据流图映射成软件结构图:

软件工程文档模板

软件工程文档模板 好的开发文档就是别人一拿到你的文档就可以接着你的工作往下写程序,而不要挖空心思去想你的程序是什么结构,怎么写的。 下面给出通常软件工程文挡模板供大家参考: ============================================================ New Project 1: 需求分析说明书 ============================================================ 1. 引言 1.1. 编写目的 1.2. 背景说明 1.3. 术语定义 1.4. 参考资料 2. 任务概述 2.1. 目标 2.2. 用户的特点 2.3. 假定与约束 3. 需求规定 3.1. 对功能的规定 3.2. 对性能的规定 3.2.1. 精度 3.2.2. 时间特性要求 3.2.3. 灵活性 3.3. 输入输出要求 3.4. 数据管理能力要求 3.5. 故障处理要求 3.6. 其它专门要求 4. 运行环境设定 4.1. 设备 4.2. 支持软件 4.3. 接口 4.4. 控制 5. 缩写词表 6. 参考文献 ============================================================ New Project 1: 总体设计说明书 ============================================================ 1. 前言 2. 摘要 3. 需求分析 3.1. 企业生产经营概况 3.2. 企业经营目标及策略(近期及远期)

3.3. 实施需求 3.4. 实施目标 3.5. 实施约束 3.6. 实施功能要求 3.7. 实施信息要求 3.8. 实施性能要求 4. 总体方案与结构 4.1. 制定总体结构的出发点 4.2. 体系结构 4.3. 应用系统结构 4.4. 支撑系统结构 4.5. 信息分类编码体系 5. I2DEF模型 5.1. 模型选择说明 5.2. I2DEF模型设计规范 5.3. 结构模型 5.3.1. 系统/功能分解树 5.3.2. 构件图 5.4. 动态模型 5.4.1. 事件流程图 5.4.2. 事件汇总图 5.4.3. 工作案例图 5.4.4. 典型事件跟踪图 5.5. 功能模型 5.5.1. 数据流程图 5.5.2. 数据汇总图 5.5.3. 功能调用图 6. 资源需求 7. 系统配置 7.1. 配置原则 7.2. 硬件配置 7.3. 软件配置 8. 接口 8.1. 内部接口 8.2. 外部接口 9. 组织机构及人员配置 9.1. 现行组织机构 9.2. 开发运行的组织机构 9.3. 人员配置与培训 10. 关键技术 10.1. 关键技术的提出 10.2. 关键技术的一般说明 10.3. 关键技术的实现方案 11. 方案实施的技术路线和实施计划

软件工程习题及详细答案

个人收集整理勿做商业用途 软件工程习题及答案 一、选择题: 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、1/6 B、1/5 C、1/4 D、1/3 7. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于。 A、变换型 B、事务型 8. PAD(Problem Analysis Diagram)图是一种工具。 A、系统描述 B、详细设计 C、测试 D、编程辅助 9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。 A、总貌 B、细节 C、抽象 D、软件的作者 10. 数据流图中,当数据流向或流自文件时,。 A、数据流要命名,文件不必命名 B、数据流不必命名,有文件名就足够了 C、数据流和文件均要命名,因为流出和流进数据流是不同的 D、数据流和文件均不要命名,通过加工可自然反映出

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

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

软件工程文档模板--二、项目开发计划

二、项目开发计划1.引言 1 1.1编写目的 1 1.2项目背景 1 1.3定义 2 1.4参考资料 2 2.项目概述 2 2.1工作内容 2 2.2条件与限制 2 2.3产品 2 2.4运行环境 2 2.5服务 3 2.6验收标准 3 3.实施计划 3 3.1任务分解 3 3.2进度 3 3.3预算 3

3.4关键问题 3 4.人员组织及分工 3 5.交付期限 3 6.专题计划要点 3 1.引言 1.1编写目的 【阐明编写开发计划的目的,指明读者对象。】 1.2项目背景 【可包括: a. 项目的委托单位、开发单位和主管部门; b. 该软件系统与其他系统的关系。】 1.3定义 【列出本档中用到的专门术语的定义和缩写词的原文。】 1.4参考资料 【可包括: a. 项目经核准的计划任务书、合同或上级机关的批文; b. 文档所引用的资料、规范等;列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源。】

2.项目概述 2.1工作内容 【简要说明项目的各项主要工作,介绍所开发软件的功能、性能等。若不编写可行性研究报告,则应在本节给出较详细的介绍。】 2.2条件与限制 【阐明为完成项目应具备的条件、开发单位已具备的条件以及尚需创造的条件。必要时还应说明用户及分合同承包者承担的工作、完成期限及其他条件与限制。】 2.3产品 2.3.1程序 【列出应交付的程序名称、使用的语言及存储形式。】 2.3.2文档 【列出应交付的文档。】 2.4运行环境 【应包括硬件环境、软件环境。】 2.5服务 【阐明开发单位可向用户提供的服务。如人员培训、安装、保修、维护和其他运行支持。】

软件工程(习题与参考答案)

第1章概述(习题与参考答案) [判断题] 1. 由于今天个人计算机不断发展壮大,人们不再采用软件团队的开发方式。(×) 2. 由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。(×) 3. 购买大多数计算机系统所需的硬件比软件更昂贵。(×) 4. 大多数软件产品在其生命周期中不需要增强功能。(×) 5. 大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。(√) 6. 一般来说,软件只有在其行为与设计者的目标一致的情况下才能成功。(×) [选择题] 1. ()因素促使计算机系统越来越复杂。(D) A. 计算机内存和存储容量上的巨大增长 B. 外部输入/输出选项的更加多样性 C. 计算机体系结构方面的深刻变化 D. 以上所有选项 2. 下面的()不再是现代软件工程师关注的问题。(A) A. 为什么计算机硬件的成本这么高? B. 为什么软件需要很长时间才能完成? C. 为什么开发一个软件的成本这么高? D. 为什么不能在产品发布前去除软件错误? 3. 软件会逐渐退化而不会磨损,其原因在于()。(C) A. 软件通常暴露在恶劣的环境下 B. 软件错误通常发生在使用之后 C. 不断的变更使组件接口之间引起错误 D. 软件备件很难订购 4. 大多数软件仍然是定制开发的,其原因在于()。(C) A. 软件组件重用是十分普遍的 B. 可重用的组件太昂贵而无法使用 C. 软件在不使用其他组件的情况下很容易构造出来 D. 商业组件在很多应用领域中可以得到 5. 下面的()说法是正确的。(C) A. 软件危机在20世纪70年代末期全面爆发

B. 当前先进的软件工程方法已经解决了软件危机的问题 C. 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题 D. 软件危机是指在软件产品中存在一系列的质量问题 6. 软件工程的基本目标是()。(B) A. 消除软件固有的复杂性 B. 开发高质量的软件 C. 努力发挥开发人员的创造性潜能 D. 更好地维护正在使用的软件产品 7. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方 法、工具和过程三个要素。(D) A. 软件产品 B. 软件过程 C. 软件测试 D. 软件工程 8. 软件工程的基本要素包括方法、工具和()。(C) A. 软件系统 B. 硬件环境 C. 过程 D. 人员 9. 软件工程师在从事软件工作时应使用下面的()准则。(E) A. 从来不为个人获利而窃取数据 B. 从来不散布或出售项目中自己工作的信息 C. 从来不故意毁坏或修改别人的程序、文件或数据 D. 从来不侵犯个人、小组或组织的隐私 E. 以上所有选项 第2章软件过程(习题与参考答案) [选择题] 1. ()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、 软件确认、软件改进等活动组成。(A) A. 软件过程 B. 软件工具 C. 软件产品 D. 软件工程 2. 软件过程的基本活动是()。(A) A. 分析、设计、实现、测试、演化 B. 沟通、计划、建模、构造、部署 C. 计划、分析、设计、实现、调试 D. 沟通、风险管理、度量、产品化、评审 3. ()软件需求规格说明书在软件开发过程中具有重要的作用,它是软件可行性分析的依据。(B) A. 真 B. 假

软件工程综合练习题

《软件工程》课程练习题 第一章软件工程概述 一、选择题 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领域是一个应用、集成和综合的领域”?

软件工程文档模板范例

目录 三、需求规格说明书 (2) 四、概要设计说明书 (12) 五、详细设计说明书 (15)

3软件需求说明书软件需求说明书的编制是为了使用户的软件开发者双方对该软件的起初规定有一个共同的理解,使之成为整个开发工作的基础。编制软件需求说明书的内容要求如下: 3.1引言 3.1.1 编写的目的 3.1.2 背景 3.1.3 定义 3.1.1 参考资料 3.2任务概述 3.2.1目标 3.2.2用户的点 3.2.3假定与约束 3.3需求规定 3.3.1对功能的规定 3.3.2对性能的规定

3.3.2.1 精度 3.3.2 .2 时间特性要求 3.3.2 .3 灵活性 3.3.3 输入输出要求 3.3.4 数据管理能力的要求 3.3.5 故障处理要求 3.3.6 其它的专门的要求 3.4 运行环境规定 3.4.1 设备 3.4.2 支持软件 3.4.3 接口 3.4.4 控制 4数据需求说明书数据要求说明书的编制目的是为了向整个开发时期提供关于处理数据的描述和数据采集要求的技术信息。编制数据要求说明书的内容要求如下: 4.1引言

4.1. 1 编写目的 4.1. 2 背景 4.1. 3 定义 4.1. 4 参考资料 4.2 数据的逻辑描述 4.2. 1 静态数据 4.2. 2 动态输入数据 4.2. 3 动态输出数据 4.2. 4 内部生成数据 4.2. 5 数据约定 4.3 数据的采集 4.3. 1 要求和范围 4.3. 2 输入的承担者 4.3. 3 处理 4.3. 4 影响 5概要设计说明书概要设计说明书可称作系统设计说明书,这里说的系统是指程序系统,编制的目的是说明对程序的系统的设计考虑,包括

软件开发文档模版

目录 1. 范围 (1) 2. 总体要求 (1) 2.1总体功能要求 (1) 2.2软件开发平台要求 (1) 2.3软件项目的开发实施过程管理要求 (2) 2.3.1 软件项目实施过程总体要求 (2) 2.3.2 软件项目实施变更要求 (2) 2.3.3 软件项目实施里程碑控制 (2) 3. 软件开发 (3) 3.1软件的需求分析 (3) 3.1.1 需求分析 (3) 3.1.2 需求分析报告的编制者 (4) 3.1.3 需求报告评审 (4) 3.1.4 需求报告格式 (4) 3.2软件的概要设计 (4) 3.2.1 概要设计 (4) 3.2.2 编写概要设计的要求 (4) 3.2.3 概要设计报告的编写者 (4) 3.2.4 概要设计和需求分析、详细设计之间的关系和区别 (4) 3.2.5 概要设计的评审 (4) 3.2.6 概要设计格式 (4) 3.3软件的详细设计 (5) 3.3.1 详细设计 (5) 3.3.2 特例 (5) 3.3.3 详细设计的要求 (5) 3.3.4 数据库设计 (5) 3.3.5 详细设计的评审 (5) 3.3.6 详细设计格式 (5) 3.4软件的编码 (5) 3.4.1 软件编码 (5) 3.4.2 软件编码的要求 (5) 3.4.3 编码的评审 (6) 3.4.4 编程规范及要求 (6) 3.5软件的测试 (6) 3.5.1 软件测试 (6) 3.5.2 测试计划 (6) 3.6软件的交付准备 (6) 3.6.1 交付清单 (6)

3.7软件的鉴定验收 (7) 3.7.1 软件的鉴定验收 (7) 3.7.2 验收人员 (7) 3.7.3 验收具体内容 (7) 3.7.4 软件验收测试大纲 (7) 3.8培训 (7) 3.8.1 系统应用培训 (7) 3.8.2 系统管理的培训(可选) (8) 附录A 软件需求分析报告文档模板 (9) 附录B 软件概要设计报告文档模板 (21) 附录C 软件详细设计报告文档模板 (33) 附录D 软件数据库设计报告文档模板 (43) 附录E 软件测试(验收)大纲 ................................................................... 错误!未定义书签。5

-软件工程习题答案参考

软件工程 绪论 1.什么是软件危机?为什么会产生软件危机? 答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。 (2).软件生产技术进步缓慢 2.什么是软件生产工程化?工程化生产方法与早期的程序设计方法 主要差别在哪里? 答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。 3.分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管 理的相互关系。 答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。新方法在推行初期,总有人不愿接受和采用。若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。所以对于一

个理想的软件工程环境,应该同时具备技术和管理两个方面。 4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。 答:用C++开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在计算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发现错误,就重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。 5.什么是软件工程环境?谈谈你对环境重要性的认识。答:方法与工具相结合,再加上配套的软、硬件支持就形成环境。例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。 6. 何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。 答:以面向对象程序设计为基础。 7. 软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。 答:按规模分为极小、小、中、大、甚大、极大。(1)中小型软件:

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

软件工程考试题 简答题 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 图;编码与单元测试--任务:源程序清单,单元测试方案与结果;综合测试--任务:综合测试方案,结果集成测试,验收测试,完整一致的软件配置。 维护阶段:软件维护--任务:维护记录以及改正性维护,适应性维护,完整性维护与预防性维护

软件工程试题及答案

综合练习一答案 一.选择题: 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.引言 (1) 1.1编写目的 (1) 1.2项目背景 (1) 1.3定义 (1) 1.4参考资料 (2) 2.开发结果 (2) 2.1产品 (2) 2.2主要功能及性能 (2) 2.3所用工时 (2) 2.4所用机时 (2) 2.5进度 (2) 2.6费用 (3) 3.评价 (3) 3.1生产率评价 (3) 3.2技术方案评价 (3) 3.3产品质量评价 (3) 4.经验与教训 (3) 1.引言 1.1编写目的 【阐明编写总结报告的目的,指明读者对象。】 1.2项目背景 【说明项目来源、委托单位、开发单位及主管部门。】 1.3定义 【列出报告用到的专门术语的定义和缩写词的原文。】

1.4参考资料 【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括: a.项目经核准的计划任务书、合同或上级机关的批文; b.项目开发计划; c.需求规格说明书; d.概要设计说明书; e.详细设计说明书; f.用户操作手册; g.测试计划; h.测试分析报告; i.本报告引用的其他资料、采用的开发标准或开发规范。】 2.开发结果 2.1产品 【可包括: a.列出各部分的程序名称、源程序行数(包括注释行)或目标程序字节数及程序总计数量、 存储形式; b.产品文档名称等。】 2.2主要功能及性能 2.3所用工时 【按人员的不同层次分别计时。】 2.4所用机时 【按所用计算机机型分别计时。】 2.5进度 【给出计划进度与实际进度的对比。】

2.6费用 3.评价 3.1生产率评价 【如平均每人每月生产的源程序行数、文档的字数等。 3.2技术方案评价 3.3产品质量评价 4.经验与教训

软件工程部分课后练习题答案

第一章 1.计算机系统是由计算机硬件系统和软件系统这两个密不可分的部分组成的。 2.计算机软件系统通过运行程序来实现各种不同应用,包括用户为自己的特定目的编写的程序、检查和诊断机器系统的程序、支持用户应用程序运行的系统程序、管理和控制机器系统资源的程序等。 3.在软件工程学中,软件开发技术包括软件开发方法学、软件工具和软件工程环境。 4.在软件工程层次结构中,包括工具层、方法层、过程、技术层和质量保证层。 5.在面向对象概念中,消息传递是其与外部世界相互关联的唯一途径。 第三章 1.软件需求分析,可以把软件功能和性能的总体概念描述为具体的软件需求规格说明,进而建立软件开发的基础。 2.软件需求工作基本上包括收集用户、市场等方面对项目的需要,经过分析建立解题模型,细化模型,抽取需求。 3.结构化分析方法的基本步骤是采用由顶向下对系统进行功能分解,画出分层数据流图;由后向前定义系统的数据和加工,绘制数据词典和加工说明;最终写出软件需求和规格说明书。 4.面向对象分析方法总是从理解系统的“使用实例”开始,基本步骤是:定义系统的用例,在领域分析的基础上建立问题域的类(对象模型),然后开始建立对象——关系和对象——行为模型。 5.需求分析评审过程由以下5个步骤组成:规划、准备、召开审查大会、修改缺陷、重审。第四章 1.与软件需求分析一样,软件设计也有两种主要设计方法:以结构化设计为基础的结构化软件设计和面向对象方法指导的面向对象软件设计。 2.传统的软件设计任务通常分两个阶段完成。第一个阶段是概要设计,包括体系结构设计

和接口设计,并编写概要设计文档;第二阶段是详细设计,其任务是确定各个软件的数据结构和操作,产生描述各软件组件的详细设计文档。 3.结构化的软件设计方法是一种面向数据流的设计方法,在面向数据流的方法中,数据流是考虑一切问题的出发点。 4.在数据流图中所代表的结构化设计模型中,所有系统均可纳入两种典型的形式,因此系统结构图也有两种类型:变换型系统结构图,事务型系统结构图。 5.Jackson表示法包括图形描述(Jackson图)和文本描述(Jackson伪代码)两种形式。 第五章 1.与结构化设计一样,面向对象设计也是将分析阶段所建立的分析模型转变为软件设计模型,应用数据设计(对象属性设计)、接口设计(消息模型开发)以及过程设计(子系统级设计)。 2.当两个子系统相互通信时,可以建立客户机/服务器连接或端对端连接。 3.系统设计不仅包括主要的业务需求子系统设计,还包括用户界面子系统设计、任务管理子系统设计、数据管理子系统设计。 4.对象设计强调从问题域的概念转换成计算机领域的概念,通过对象的描述、算法和数据结构设计、程序构件和接口,实现相关的类、关联、属性和操作。 5.在面向对象设计中系统设计的主要目标是表示软件体系结构。对象设计着重于对象及其交互的描述 第八章 1.软件程序测试的目的是发现程序中的错误,其主要任务是通过在计算机上执行程序,暴露程序中潜在的错误。

软件工程试题库集及答案

综合练习一答案 选择题: 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。用户和软件人员的领导

ISO软件工程模板

ISO软件工程模板 可行性研究报告 1. 引言 1.1 编写目的 [编写本可行性研究报告的目的,指出预期的读者。] 1.2 背景 [所建议开发的软件系统的名称;] [本项目的任务提出者、开发者、用户及实现该软件的计算站或计算机网络;] [该软件系统同其他系统或其他机构的基本的相互来往关系。] 1.3 定义 [列出本文件中用到的专门术语的定义和外文首字母组词的原词组。] 1.4 参考资料 [列出用得着的参考资料。] 2. 可行性研究的前提 [说明对所建议开发的软件的项目进行可行性研究的前提。] 2.1 要求 [说明对所建议开发的软件的基本要求。] 2.2 目标 [说明所建议系统的主要开发目标。] 2.3 条件、假定和限制 [说明对这项开发中给出的条件、假定和所受到期的限制。] 2.4 进行可行性研究的方法 [说明这项可行性研究将是如何进行的,所建议的系统将是如何评价的,摘要说明所使用的基本方法和策略。] 2.5 评价尺度 [说明对系统进行评价时所使用的主要尺度。] 3. 对现有系统的分析 [这里的现有系统是指当前实际使用的系统,这个系统可能是计算机系统,也可能是一个机械系统甚至是一个人工系统。] [分析现有系统的目的是为了进一步阐明建议中的开发新系统或修改现有系统的必要性。] 3.1 处理流程和数据流程 [说明现有系统的基本的处理流程和数据流程。此流程可用图表即流程图的形式表示,并加以叙述。] 3.2 工作负荷 [列出现有系统所承担的工作及工作量。] 3.3 费用开支 [列出由于运行现有系统所引起的费用开支。] 3.4 人员 [列出为了现有系统的运行和维护所需要的人员的专业技术类别和数量。] 3.5 设备 [列出现有系统所使用的各种设备。] 3.6 局限性

软件工程习题参考答案

《软件工程》习题参考答案 概述 1.什么是软件危机,它有哪些典型表现 所谓“软件危机”就是,在计算机软件的开发和维护过程中所遇到的一系列严重的问题,概括起来归纳为:如何开发软件,以满足日益增长、日趋复杂的需要;如何维护数量不断膨胀的已有软件。 软件危机的典型表现主要有: a. 开发成本和进度不能准确估计 b. 开发出来的软件不能满足用户的要求 c. 软件的可维护性差 d. 软件质量不可靠 e. 软件成本在系统中的比重逐年上升 f. 软件开发生产率的提高速度不够 2.简述产生软件危机的原因和解决的思路。 软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。 解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。 3.什么是软件工程它有哪些本质特性 软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科。 其实质就是用工程的概念、原理、技术和方法,结合有效的管理方法和先进的开发技术,开发与维护软件,以解决软件危机。 4.软件工程是如何用来消除软件危机的 软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。 6.简述软件的定义。 软件=程序+ 数据+ 文档 7.软件工程的目的是什么 为高质量的软件开发提供一个科学的体系框架。 8.什么是软件工程方法学软件工程是一种什么样的技术包括哪三大要素分为哪三个分支 软件工程方法学就是指在软件生命周期全过程中使用的一整套管理和开发技术方法的集合。目前,使用最广泛的软件工程方法学分别是传统方法学和面向对象方法学。

软件工程综合习题及答案样本

软件工程综合习题( 1) 及答案 一、选择题 1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾, 这种现象称做( C) 。 A.软件工程 B.软件周期 C.软件危机 D.软件产生 2.瀑布模型本质上是一种( A ) 模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 3.瀑布模型存在的问题是( B ) 。 A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求4.螺旋模型是一种将瀑布模型和( A) 结合起来的软件开发模型。 A.增量模型B.专家系统C.喷泉模型D.变换模型 5.原型化方法是用户和设计者之间执行的一种交互构成, 适用于( A) 系统。 A.需求不确定性高的B.需求确定的 C.管理信息D.实时 6.下列有关软件工程的标准, 属于国际标准的是(D ) A.GB B.DIN C.ISO D.IEEE 7.结构化方法是一种基于( D) 的方法。 A.数据结构 B.程序结构 C.算法 D.数据流 8.软件可行性研究实质上是要进行一次( A)需求分析、设计过程。 A、简化、压缩的 B、详细的 C、彻底的 D、深入的 9.可行性研究的目的是( D) A、分析开发系统的必要性 B、确定系统建设的方案 C、分析系统风险 D、确定是否值得开发系统 10.设年利率为i, 现存入p元, 不计复利, n年后可得钱数为( C) 。 A、 P×(1+i*n) B、 P× (i+1)*n C、 p×(1+i)n D、 p×(i+n) 11.可行性研究是在( A) 之前 A、系统开发 B、测试 C、试运行 D、集成测试 12.可行性研究需要的时间长短取决于系统的规模, 一般来说, 可行性研究的成本只是

软件工程文档(完整规范版)

软件工程文档模板 目录 1. 范围 (1) 2. 总体要求 (1) 2.1总体功能要求 (1) 2.2软件开发平台要求 (1) 2.3软件项目的开发实施过程管理要求 (2) 2.3.1 软件项目实施过程总体要求 (2) 2.3.2 软件项目实施变更要求 (3) 2.3.3 软件项目实施里程碑控制 (4) 3. 软件开发 (4) 3.1软件的需求分析 (5) 3.1.1 需求分析 (5) 3.1.2 需求分析报告的编制者 (6) 3.1.3 需求报告评审 (6) 3.1.4 需求报告格式 (6) 3.2软件的概要设计 (7) 3.2.1 概要设计 (7) 3.2.2 编写概要设计的要求 (7) 3.2.3 概要设计报告的编写者 (7)

3.2.4 概要设计和需求分析、详细设计之间的关系和区别 (7) 3.2.5 概要设计的评审 (8) 3.2.6 概要设计格式 (8) 3.3软件的详细设计 (8) 3.3.1 详细设计 (8) 3.3.2 特例 (8) 3.3.3 详细设计的要求 (8) 3.3.4 数据库设计 (9) 3.3.5 详细设计的评审 (9) 3.3.6 详细设计格式 (9) 3.4软件的编码 (9) 3.4.1 软件编码 (9) 3.4.2 软件编码的要求 (10) 3.4.3 编码的评审 (10) 3.4.4 编程规范及要求 (10) 3.5软件的测试 (10) 3.5.1 软件测试 (10) 3.5.2 测试计划 (11) 3.6软件的交付准备 (11) 3.6.1 交付清单 (11) 3.7软件的鉴定验收 (12) 3.7.1 软件的鉴定验收 (12)

软件工程报告格式范本

《软件工程》课程设计 学院计算机与信息技术学院 专业计算机科学与技术 年级2013级 指导老师王新霞 设计题目毕业生求职服务平台 小组成员 2016 年 6 月 25 日

目录 可行性研究报告(3号宋加粗,一级) (3) 1. 引言(4号宋粗,一级标题) (3) 1.1 编写目的(小4号宋粗,二级标题) (3) 1.2 背景 (3) 1.3 定义 (3) 1.4 参考资料 (3) 2. 可行性研究的前提 (3) 2.1要求 (3) 2.2目标 (4) 7. 结论意见 (4) 项目开发计划规范 (5) 1.引言 (5) 1.1 编写目的 (5) 1.2项目背景 (5) 1.3术语说明 (5) 1.4参考资料 (5) 6.专题计划要点 (6) 附录: (7) 项目说明: (7) 成员说明: (7)

(目录自动生成,操作如图示,然后小4 宋体行间距23磅) 可行性研究报告(3号宋加粗,一级) 负责人:**** 1. 引言(4号宋粗,一级标题) 1.1 编写目的(小4号宋粗,二级标题) 阐述编写该可行性研究报告的目的。(小4 宋,正文) 指出该报告所针对的读者对象。 指出该报告将从哪些方面出发进行可行性分析。(行间距 23磅) 1.2 背景 拟开发软件项目的名称。 该项目的任务提出者、开发者以及预期用户。 指出该项目与其他系统或软件之间的关系。 指出该项目开发所参照的已有其他系统(如有)。 1.3 定义 给出本报告中所使用的专门术语的定义及英文缩写的原文。 1.4 参考资料 列出可能使用到的有关资料的标题、编号、作者、发表日期、出版社或其他资料来源途径。 资料具体可包括: 写文档所引用的有关资料,所参照的软件标准或规范。 与项目有关的已发表的资料。 项目经核准的计划书、合同或上级机关的批文。 2. 可行性研究的前提 阐明对拟开发项目的基本要求、达到目标、条件和限制、采用方法以及评价尺度。 2.1要求

相关文档