文档库 最新最全的文档下载
当前位置:文档库 › 软件工程复习资料

软件工程复习资料

软件工程复习资料
软件工程复习资料

软件工程

一、名词解释与问答

1、SA ——结构化分析方法

2、画数据流图应注意什么事项?

(1)数据流名称只能是名词或是名词短语;

(2)每个加工至少有一个输入数据和一个输出数据流,反映出此加工数据的来源与加工的结果;

(3)编号:某个加工分解成一张数据流图时,上层图为父类,下层图为子类;父图与子图的平衡:子图的输入输出数据流同父类相应的输入输出数据流必须一致;

(4)注意数据流图的易理解性;

3、什么是软件生存周期?它有那几个活动?

一个软件从提出开发要求开始直到该软件报废为止的整个时期。包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。

4、什么是数据流图?作用是什么?其中的基本符号表示什么含义?

以图的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,是一种功能模型。箭头,表示数据流数据流是数据在系统内传播的路径,由一组成分固定的数据项组成;圆或椭圆,表示加工对数据进行某些操作或变换,每个加工要有名字,通常是动词短语,描述完成的加工;双杆,表示数据存储指暂时保存的数据;方框,数据源点或终点软件系统外部环境的实体,为帮助理解系统接口界面引入,只出现在顶层图中;什么是数据字典简述数据字典与数据流图的关系. 答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分)

简述编码风格的重要性.

答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量.

简述软件测试的任务、目的与类型。

答:软件测试是一个为了寻找软件错误而运行程序的过程。目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测试主要分为白盒测试和黑盒测试两大类。

可行性分析的目的和主要任务是什么?

答:可行性分析的目的不是解决问题,而是确定问题是否值得去解决。

主要任务是从下面几方面研究每种解法的可行性:技术可行性,经济可行性,操作可行性,社会可行性,抉择可行性。

需求分析的目的和主要任务是什么?答:进行需求分析是为了准确地回答“系统必须做什么”这个问题,决定可以做什么不做什么。需求分析的主要任务是描述系统的功能需求、性能需求、数据需求、可靠性/可用性需求、出错处理需求、接口需求、约束条件、其他需求。

软件维护的目的和主要任务是什么?维护的类型有哪些?

答:软件维护是软件生命周期中最后一个、持续时间最长的阶段。主要任务是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件,目的是提高软件的可靠性、可用性,延长软件的寿命。维护的类型有:改正性(错误)、适应性(环境)、完善性(功能)、预防性(新产品)

什么是耦合?模块的耦合包括哪些类型?

答:耦合是对一个软件结构内不同模块之间互连程度的度量。模块的耦合包括以下几种类型:数据耦合,控制耦合,特征耦合,公共环境耦合,内容耦合,标记耦合,无耦合/非直接耦合

什么是内聚?模块的内聚包括哪些类型?

答:内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展模块的内聚包括以下几种类型:低内聚—偶然内聚,逻辑内聚,时间内聚中内聚—过程内聚,通信内聚;高内聚—顺序内聚,功能内聚

什么是编码风格?为什么要强调编码风格?

答:编码风格包括以下内容:程序内部良好的文档(注释)、数据说明、语句构造、输入输出和效率保障等。因为编码风格对软件的可读性、可维护性、可靠性、可用性很重要,所以要强调编码风格.

二、综合应用题

1、用PAD图描述下面问题的控制结构。

有一个表A(1)、A(2)、....A(n),按递增顺序排列。给定一个Key值,在表中用折半法查找。若找到,将表位置i送入X,否则将零送到x,同时将key值插入表中。

算法:置初值H=1(表头),T=N(表尾)。置i=[(H+T)/2](取整) 若Key=A(i),则找到,i送到x;若Key>A(i),则Key在表的后半部分,i+1送入H;若KeyT为止。查不到时,将A(i),......A(N)移到A(i+1)......A(N+1),Key值送入A(i)中。

四、填空题

1:结构化方法是一种面向数据流的开发方法。又结构化分析、_结构化程序设计___、构成

2:为了减少软件开发费用,缩短软件开发周期、减少软件内部潜在的错误,可以减少程序复杂性,以提高软件的简单性和___可理解性________。

3:结构化程序设计方法是使用_____三种基本控制结构___构造程序。

4:与编码风格有关的因素有数据说明、语句构造、输入输出、效率等,其中还有一个重要的因素是___源程序文档化_______. 5:结构化程序设计方法是提倡开发人员的组织形式是__主程序员组

6:增量模型在开发过程中以一系列增量方式开发系统,忽略某些阶段的细节,从而尽早产生__工作软件_____

7:数据流图仅反映系统必须完成的逻辑功能,所以它是一种_____功能____模型

判断题:

1. 在进行总体设计时应加强模块间的联系。(N )

2. 系统结构图是精确表达程序结构的图形表示法。因此,有时也可以将系统结构图当作系统流程图使用。(N )

3. 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(N )

4. 在程序调试时,找出错误的位置和性质比改正该错误更难。(Y )

5. 以对象、类、继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一。(Y )

6. 如果通过软件测试没有发现错误,则说明软件是正确的。(N )

7. 快速原型模型可以有效地适应用户需求的动态变化。(Y )

8. 模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(Y )

9. 集成测试主要由用户来完成。(N )

10. 软件危机完全是由于硬件问题引起的。(N )

Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×)

PAD图在设置了五种基本控制结构后,还允许递归调用. (×)

为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×)

当验收测试通过,软件开发就完成了.(×)

完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×)

第二章:可行性研究

1:可行性研究实质上是一次简化,压缩了的( 需求分析和设计

)

2:可行性研究的三个方面是:技术可行性、操作可行性、社会可行性和(经济可行性)

1. __数据流图________和__数据字典___共同构成系统的逻辑模型。

1:技术可行性要研究的问题之一是(D )A:存在侵权否B:成本效益问题C:运行方式可行否D:技术风险问题

2:研究硬件资源的有效性是进行( A )研究的一方面A:技术可行性B:经济可行性C:社会可行性D:操作可行性

三:名词解释

1.可行性研究:可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程;

2.技术可行性:对待开发的系统进行功能、性能和限制条件的分析,确定在现有的资源条件下,技术风险有多大,系统能否实现;

3.经济可行性:这个系统的经济效益能超过它的开发成本吗?

4.社会可行性:实用性怎样

四.问答题

1.可行性研究的任务是什么:可行性研究最根本的任务是对以后的行动方针提出建议。

2.可行性研究有那些步骤:

(1)复查系统规模和目标;

(2)研究目前正在使用的系统;

(3)导出新系统的高层逻辑模型;

(4)进一步定义问题;

(5)导出和评价供选择的解法;

(6)推荐行动方针;

(7)草拟开发计划;

(8)书写文档提交审查;

3.可行性研究的目的.:可行性研究的目的不是解决问题,而是确定问题是否值得去解决;

五、数据流图的基本符号:

(1)正方形(或立方体)表示数据的源点或终点;

(2)圆角矩形(或圆形)代表变换数据的处理;

(3)开口矩形(或两条平行横线)代表数据存储;

(4)箭头表示数据流,即特定数据的流动方向。

数据流图的作用:

1、便于用户表达功能需求和数据需求及其联系;

2、便于两类人员共同理解现行系统和规划系统的框架;

3、清晰表达数据流的情况;

4、有利于系统建模。

什么是数据流图:

数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。

六、数据字典:

数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合;

数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息;

七、成本/效益分析方法是可行性研究的一项重要内容,是客户组织负责人从经济角度判断是否继续投资于这项工程的主要依据;应考虑:①货币的时间价值;②投资回收期;③纯收入;④投资回收率

成本估计有:①代码行技术;②任务分解技术;③自动估计成本技术.

第三章:需求分析

一. 填空题

1.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是(功能)需求

3.数据字典中,一般不出现的条件是( D ) A数据流B数据存储C加工D源点与终点

8. 需求分析阶段不适用于描述加工逻辑的工具是( D ) A结构化语言B判定表C判定树D流程图

四. 简答题

1. 什么是需求分析? 该阶段的基本任务是什么:需求分析是发现、求精、建模、规格说明和复审的过程;准确定义未来系统目标,确定为了满足用户的需要系统必须做什么;

2.简述结构化分析的步骤:

(1)系统分析员应该从不同的角度抽象出目标系统的特性;

(2)使用精确的表示方法构造系统的模型;(3)验证模型是否满足用户对目标系统的需求;

(3)在设计过程中逐渐把和实现有关的细节加进模型中,直至最终用程序实现模型;

第四章:

第五章:总体设计

一. 填空题

1.在软件概要设计阶段, 建立软件结构后, 还应该为每个模块写一份处理说明和(接口说明)

2. 两个模块都使用同一张表, 模块的这种耦合称为( 公共耦合)

3.一个模块内部各程序段都在同一张表上操作, 这个模块的内聚性称为( 通信内聚)

4.软件结构是以( 模块)为基础而组成的一种控制层次结构

5.反映软件结构的基本形态特征是( 深度, 宽度, 扇入, 扇出)

6.一个模块把数值作为参数传送给另一个模块, 这种耦合方式称为( 数据耦合)

7.两个模块通过全程变量相互作用, 这种耦合方式称为( 公共耦合)

8.一个模块的作用范围指( 受该模块内一个判定影响的所有模块)的集合

9.一个模块的控制范围指( 模块本身以及其所有从属模块)的集合

10.结构化设计以( 数据流图)为基础映射成软件结构

11.为了防止软件概要设计的错误传播到开发后续阶段,在概要设计文档完成以后, 要进行( 软件评审)

5. 耦合性:耦合是指一个模块与其它模块之间的联系,又称为块间联系,是模块之间相对独立性的度量;

6. 内聚性:内聚是指模块内部各个成分之间的关系,又称为块内联系,是模块功能相对强度的度量;

7. 模块的控制范围:一个模块的控制范围是指该模块本身及其所属的(直接或间接调用的)所有模块的集合;

8. 模块的作用范围:受该模块内一个判定影响的所有模块的集合;

9. 软件结构:软件结构图;

10.模块:在软件中,通常把用一个名字就可以调用的一段程序称为模块;

3. 模块的耦合性, 内聚性包括那些内容? 其含义:

(1)低耦合:非直接耦合,数据耦合,标记耦合;

(2)中耦合:控制耦合,外部耦合;

(3)高耦合:公共耦合,内容耦合;

(4)低内聚:偶然内聚,逻辑内聚,时间内聚;

(5)中内聚:过程内聚,通讯内聚;

(6)高内聚:顺序内聚,功能内聚;

4.为了提高模块的独立性, 模块内部最好是( C )

A 逻辑内聚

B 时间内聚

C 功能内聚

D 通信内聚

5.为了提高模块的独立性, 模块之间最好是( D )

A 公共耦合

B 控制耦合

C 内容耦合

D 数据耦合

6. 结构化设计方法在软件开发中, 用于( B )

A 测试用例设计

B 软件概要设计

C 程序设计

D 软件详细设计

7. 划分模块时, 一个模块的( A )

A 作用范围应该在其控制范围之内

B 控制范围应该在其作用范围之内

C 作用范围与控制范围互相不包含

D 作用范围与控制范围不受任何限制

第六章

一. 填空题

1. 结构化程序设计方法的要点是使用( 三种基本控制结构), 自顶向下, 逐步求

精地构造算法或程序

2.结构化分析的基本思想是采用(自顶向下逐步分解)方法,能有效的控制系统的复杂性

3.当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时, 其加工逻辑用(判定表或判定树)描述较好.

4.数据流图中有四种符号元素,它们是(数据流,加工,数据存储,数据源点和终点)

3. 在详细设计阶段, 一种历史悠久, 使用最广泛的描述程序逻辑结构的工具是( 程序流程图)

4. 结构化程序设计技术指导人们用良好的思想方法开发(容易理解, 容易验证)的程序

5. 详细描述处理过程常用的三种工具是图形, 语言和( 表格)

6. 详细设计的目标不仅是逻辑上正确的实现每个模块的功能, 还应该使设计出的处理过程( 清晰易读)

7. 在详细设计阶段,除了对模块内的算法进行设计, 还应该对模块内的(数据结构)进行设计

2. 结构化设计方法是一种面向( A )的设计方法

A 数据流

B 数据结构

C 数据库

D 程序

1. 结构化程序设计主要强调的是( C )

A 程序的效率

B 程序的执行速度

C 程序的易读性

D 程序的规模

2. 详细设计的任务是确定每个模块的( A )

A 算法

B 功能

C 调用关系

D 输入输出数据

3. 结构化程序设计的一种基本方法是( D )

A 筛选法

B 递归法

C 迭代法

D 逐步求精法

4. 程序的三种基本控制结构是( B )

A过程,子程序和分程序 B 顺序, 选择和重复 C 递归, 堆栈和队列 D 调用, 返回和转移

5. 程序的三种基本控制结构的共同特点是( D )

A 不能嵌套使用B只能用来写简单程序 C 已经用硬件实现D只有一个入口和一个出口

3. 详细设计主要使用那一个描述工具:程序流程图,盒图,PAD图,判定表,判定树。

4.结构化程序设计:如果一个程序的代码块仅仅通过顺序、选择和循环这三种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序时结构华的;

第七章:实现

1. 为了提高程序的易读性, 同时减少错误, 提高软件开发效率, 编码时注意养成良好的( 程序设计风格)

1. 软件测试程序不在机器上运行, 而是采用人工检测和计算机辅助分析检测的手段称( 静态)测试.

2. 用等价类划分法设计一个测试用例时, 使其覆盖( 尽可能多的)尚未被覆盖的合理等价类

3. 用等价类划分法设计一个测试用例时, 使其覆盖( 一个)不合理等价类

4. 在单元测试时, 需要为被测试模块设计( 驱动模块与桩模块)

5. 在集成测试时有两种测试方法, 它们是( 渐增式和非渐增式)

6. 软件测试是为了( 发现错误)而执行程序的过程

7. 运行被测试程序的方法称为( 动态)测试

8. 动态测试中, 主要测试软件功能的方法称为( 黑盒)法

9. 运行测试用例, 使得被测试程序中每个判定分支至少执行一次, 这种逻辑覆盖标准称为( 判定覆盖)

1.软件测试中, 白盒法是通过分析程序的( B )来设计测试用例的

A 应用范围

B 内部逻辑

C 功能

D 输入数据

2 . 黑盒法是根据程序的( C ) 来设计测试用例的

A 应用范围

B 内部逻辑

C 功能

D 输入数据

3. 为了提高软件测试的效率, 应该( D ).

A 随机地选取测试数据

B 取一切可能的输入数据作为测试数据

C 在完成编码以后制定软件的测试计划

D 选择发现错误可能性大的数据作为测试用例

7. 下列几种逻辑覆盖标准中, 查错能力最强的是( D )

.A 语句覆盖 B 判定覆盖 C 条件覆盖 D 条件组合覆盖

8. 在黑盒测试中, 着重检查输入条件组合的方法是( D )

A 等价类划分法

B 边界值分析法

C 错误推测法

D 因果图法

9. 软件测试过程中的集成测试主要是为了发现( B )阶段的错误

A 需求分析

B 概要设计

C 详细设计

D 编码

10. 不属于白盒测试的技术是( D )

A 路径覆盖

B 判定覆盖

C 循环覆盖

D 边界值分析

11. 确认测试以( A )文挡作为测试的基础

A 需求规格说明书

B 设计说明书

C 源程序

D 开发计划

12. 与选择编程语言无关的因素是( C )

A 软件开发的方法

B 软件执行的环境

C 程序设计风格

D 软件开发人员的知识

3. 源程序文档化要求在每个模块之前加序言性注释, 该注释内容不应该有( B )

A 模块的功能

B 语句的功能

C 模块的接口

D 开发历史

1. 在结构化程序设计思想提出之前, 程序设计中曾强调程序的效率, 现在人们更重视程序的( D )

A 技巧性

B 保密性

C 一致性

D 可理解性

4. 提高程序效率的根本途径并非在于( D )

A 选择良好的设计方法

B 选择良好的数据结构

C 选择良好的算法

D 对程序语句作调整

5. 为了提高易读性, 源程序内部应该加功能性注释, 用于说明( B )

A 模块总的功能

B 程序段或语句的功能

C 模块参数的用途

D 数据的用途

1. 软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为A 。

A、改正性维护

B、适应性维护

C、完善性维护

D、预防性维护

三. 名词解释

1. 编码:所谓编码就是把软件设计结果翻译成用某种程序设计语言书写的程序;

2. 程序设计风格:所谓程序设计风格是指书写源程序的习惯、程序代码的逻辑

结构与习惯的编程技术。从软件工程要求出发,程序设计风格应包括以下要素:

①源程序文档化②数据说明③语句构造④输入输出

白盒测试技术:逻辑覆盖和基本路径覆盖 黑盒测试技术:等价类划分、边界测试、错误推测、因果图

软件测试步骤:单元测试、集成测试和确认测试

四. 简答题

1. 在项目开发时, 选择程序设计语言通常考虑那些因素:人的思维和解题方式;人和计算机通信的方式和质量;其他人阅读和理解程序的难易程度;

2. 什么是程序设计风格?

应该在那些方面注意培养良好的设计风格?

(1)程序内部的文档;(2)数据说明;(3)语句构造;(4)输入输出;(5)效率;

第八章:维护

一. 填空题

1. 为了识别和纠正软件在运行中的错误而进行的维护称为( 校正性)维护

2. 在软件维护中, 因修改软件而导致出现的错误或其它情况称为( 维护的副作用)

3. 维护阶段是软件生存周期中时间最长的阶段, 也是花费精力和费用( 最多)的阶段

4. 在软件交付使用后, 由于在软件开发过程中产生的错误没有完全彻底在开发阶段发现, 必然有一部分隐含错误带到( 维护)阶段

5. 采用手工方法开发软件只有程序而无文挡, 这是一种( 非结构化)维护

6. 所有的软件维护申请报告要按规定方式提出, 该报告也称( 软件问题)报告

二. 选择题

1为了增加软件功能和性能而进行的软件修改维护过程是( C )

A 校正性维护

B 适应性维护

C 完善性维护

D 预防性维护

2. 维护中, 因修改全局或公共数据而引起的错误是( B )

A 文档副作用

B 数据副作用

C 编码副作用

D 设计副作用

3. 在软件生存周期中, 时间长, 困难大的阶段是( D )

A 需求分析

B 编码

C 测试

D 维护

4. 软件维护困难的主要原因是( C )

A 费用低

B 人员少

C 开发方法的缺陷

D 维护难

5. 产生软件维护的副作用, 是指( C )

A 开发时的错误

B 隐含的错误

C 因修改软件而造成的错误

D 运行时误操作

三.名词解释

1. 校正性维护:满足用户对已开发产品的性能与运行环境不断提高的要求,进而达到延长软件寿命的目的;

2. 适应性维护:对程序使用期间发现的程序错误进行诊断和改正的过程,配合变化了的环境进行修改软件的活动;

3. 完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能的建议而进行的工作;

4. 预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作。

5. 软件可维护性:维护人员理解、改正、改动或改进这个软件的难易程度。

6. 软件维护的副作用:(1)编码副作用。在使用程序设计语言修改原代码时可能引入的错误;

(2)数据副作用。在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件错误。数据副作用是修改软件信息结构导致的错误。但它可以通过详细的设计文档加以控制;

(3)文档副作用。如果对可执行软件的修改没有反映在文档中,就会产生文档副作用;

四. 问答题

1. 维护有那些类型? 其内容:

(1)校正性维护;(2)适应性维护;(3)完善性维护;(4)预防性维护;

软件工程导论期末考试试题

一.选择(20分)

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

A、详细计划

B、可行性分析

C、运行阶段

D、测试与排错

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、需求分析、功能定义、系统设计

二.填空(20分)

21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( 信息流动)情况。22.成本效益分析的目的是从( 经济)角度评价开发一个项目是否可行。

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

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

25.汇编语言是面向( 机器) 的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。

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

27.详细设计的任务是确定每个模块的内部特性,即模块的算法、( 使用的数据)。

28.所有软件维护申请报告要按规定方式提出,该报告也称( 软件问题)报告。

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

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

三.判断(10 分)

1.软件的开发与运行经常受到硬件的限制和制约。(√)

2.模块内的高内聚往往意味着模块间的松耦合。(√)

3.Jackson图只能表达程序结构,不能表达数据结构。(X)

4.上述数据流图表示数据A和B同时输入变换成C。(X )

5.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。(X )

6.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。(√)

7.应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。(X)

8.UML只能应用于软件系统模型的建立。(X)

9.容错就是每个程序采用两种不同的算法编写。(X)

10.软件测试的目的是为了无一遗漏的找出所有的错误。(X)

四、名词解释题(本大题共5小题,每小题3分,共15分)

31.经济可行性解:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。

32.社会可行性解:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。

33.投资回收期解:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。

34.对应关系解:即有直接因果关系在程序中可以同时处理。

35.结构冲突解:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。

五、简答题(本大题共5小题,每小题3分,共15分)

1、软件维护的目的和主要任务是什么?维护的类型有哪些?

答:软件维护是软件生命周期中最后一个、持续时间最长的阶段。主要任务是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件,目的是提高软件的可靠性、可用性,延长软件的寿命。维护的类型有:改正性(错误)、适应性(环境)、完善性(功能)、预防性(新产品)

2、什么是耦合?模块的耦合包括哪些类型?

答:耦合是对一个软件结构内不同模块之间互连程度的度量。模块的耦合包括以下几种类型:数据耦合,控制耦合,特征耦合,公共环境耦合,内容耦合,标记耦合,无耦合/非直接耦合

3、什么是内聚?模块的内聚包括哪些类型?

答:内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展模块的内聚包括以下几种类型:低内聚—偶然内聚,逻辑内聚,时间内聚中内聚—过程内聚,通信内聚;高内聚—顺序内聚,功能内聚

4、如何选择程序设计语言的工程特性

答:1.系统用户的要求2.可以使用的编译程序 3.可以得到的软件工具4.工程规模5.程序员的知识6.软件可移植性的要求7.软件的应用领域

5、什么是编码风格?为什么要强调编码风格?

答:编码风格包括以下内容:程序内部良好的文档(注释)、数据说明、语句构造、输入输出和效率保障等。因为编码风格对软件的可读性、可维护性、可靠性、可用性很重要,所以要强调编码风格。

六、综合题(20分)

1、某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中:生产科的任务是:

(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。

(2)根据车间实际生产日报表、周报表调整月生产计划

(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。

(4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间技术科的任务是:

(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。

(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。

试写出以上系统中生产科和技术科处理的软件结构图。

解:

软件工程文档模板

软件工程文档模板 好的开发文档就是别人一拿到你的文档就可以接着你的工作往下写程序,而不要挖空心思去想你的程序是什么结构,怎么写的。 下面给出通常软件工程文挡模板供大家参考: ============================================================ 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、TURBO C是(D)软件· A、系统软件 B、人工智能 C、事务软件 D、应用软件. 2、计算机辅助软件工程,简称(D) A、SA B、SD C、SC D、CASE' 3、在数据流图中,O(椭圆)代表(C) A、源点 B、终点 C、处理 D、模块、 4、模块内聚度越高,说明模块内各成分彼此结合的程度越(B) A、松散 B、紧密 C、无法判断 D、相等、 5、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以(C)维护所占维护量最小。 A、纠错性维护 B、代码维护 C、预防性维护 D、文档维护、 6、软件需求分析是保证软件质量的重要步骤,它的实施应该是在(C) A、编码阶段 B、软件开发全过程 C、软件定义阶段 D、软件设计阶段. 7、软件测试方法,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D) A、结构合理性 B、软件外部功能 C、程序正确性 D、程序内部逻辑. 8、软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要(D) A、软件结构 B、软件过程 C、软件模型 D、软件模块、 9、软件文档不仅是软件开发各阶段的重要依据,而且与影响软件的(B) A、可理解性 B、可维护性 C、可扩展性 D、可移植性. 10、在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于(B) A、维护时期 B、计划时期 C、运行时期 D、开发时期, 11、系统定义明确之后,应对系统的可行性进行研究。可行性研究应包括(A) A. 软件环境可行性、技术可行性、经济可行性、社会可行性 B. 经济可行性、技术可行性、操作可行性 C. 经济可行性、社会可行性、系统可行性 D. 经济可行性、实用性、社会可行性 12、(C),则说明模块的独立性越强 A、耦合越强 B、扇入数越高 C、耦合越弱 D、扇入数越低 13、面向数据结构的设计方法(JACKSON方法)是进行(B )的形式化的方法 A.系统设计B、详细设计C、软件设计D、编码 14、模块内聚度越高,说明模块内各成分彼此结合的程度越(B)。 A、松散 B、紧密 C、无法判断 D、相等. 15、软件测试的目的是(C) A.评价软件的质量 B.发现软件的错误. C.找出软件的所有错误 D.证明软件是正确的.

软件工程试题及答案

综合练习一答案 一.选择题: 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.2 背景 1.3 定义 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 控制

. 2、概要设计说明书:又称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处理。流程、程序系统的组织结构、模块划分、功能分配、接口设计。运河行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。 其格式要求如下: 1 引言 1.1 编写目的 1.2 背景 1.3 定义 1.4 参考资料 2 总体设计 2.1 需求规定 2.2 运行环境 2.3 基本设计概念和处理流程 2.4 结构 2.5 功能需求与程序的关系

软件工程中的十三种文档

软件工程中的十三种文档( ), 一份不错的参考, 如果大家在写文档的时候 不知道如何下手, 或者这份文档能给你一点灵感. 在项目开发过程中,应该按要求编写好十三种文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性。 ◇可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。 ◇项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。 ◇软件需求说明书(软件规格说明书):对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备。 ◇概要设计说明书:该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。 ◇详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。 ◇用户操作手册:本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件得到具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。 ◇测试计划:为做好集成测试和验收测试,需为如何组织测试制订实施计划。计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。 ◇测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。

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

一、填空题(每空1分,共25分) 1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、 编码、测试和____________。 2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。 3.可行性研究,应从、技术可行性、运行可行性、和开 放方案可行性等方面研究。 4.系统流程图是描绘的传统工具。它的基本思想是用图形符号以 描绘系统里面的每个部件。 5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、 和。 6.结构化分析方法是面向________________进行需求分析的方法。结构化分析方法使 用________________与________________来描述。 7.是自动地共享类、子类和对象中的方法和数据的机制。 8.软件详细设计工具可分为3类,即________________、________________和 ________________。 9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、 复查和管理复审、________________。 10.大型软件测试包括、、确认测试和 四个步骤。 1、可行性研究需求分析运行与维护 2、系统软件支撑软件应用软件 3、经济可行性法律可行性 4、物理系统黑盒子形式 5、加工数据流数据存储文件 6、数据流数据流图DFD 数据字典DD 7、继承性 8、图示工具、设计语言表格工具 9、审查测试 10、单元测试集成测试系统测试 二、单项选择题(每小题2分,共20分) 1 2 3 4 5 C C C A C 6 7 8 9 10 D D A C B 1.软件设计中划分模块的一个准则是()。 A、低内聚低耦合 B、低内聚高耦合 C、高内聚低耦合 D、高内聚高耦合 2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向()的软件 设计方法。

软件开发文档模板

软件开发文档模板 1 可行性研究报告 可行性研究报告的编写目的是:说明该软件开发项目的实现在技术、经济和社会条件方面的可行性;评述为了合理地达到开发目标而可能先择的各种方案;说明论证所选定的方案。可行性研究报告的编写内容要求如下: 1.1 引言 1.1.1 编写目的 1.1.2 背景 1.1.3 定义 1.1.4 参考资料 1.2 可行性研究的前提 1.2.1 要求 1.2.2 目标 1.2.3 条件、假定和限制 1.2.4 进行可行性研究的方法 1.2.5 评价尺度 1.3 对现有系统的分析 1.3.1 数据流程和处理流程 1.3.2 工作负荷 1.3.3 费用开支 1.3.4 人员 1.3.5 设备 1.3.6 局限性 1.4 所建议的系统 1.4.1 对所建议系统的说明 1.4.2 数据流程各处理流程 1.4.3 改进之处 1.4.4 影响 1.4.4.1 对象设备的影响 1.4.4.2 对软件的影响 1.4.4.3 对用户单位机构的影响 1.4.4.4 对系统动行的影响 1.4.4.5 对开发的影响 1.4.4.6 对地点和设施的影响 1.4.4.7 对经费开支的影响 1.4.5 局限性 1.4.6 技术条件方面的可行性 1.5 可选择其他系统方案 1.5.1 可选择的系统方案 1 1.5.2 可选择的系统方案 2 …… 1.6 投资及收益分析 1.6.1 支出 1.6.1.1 基本建设投资

1.6.1.2 其他一次性支出 1.6.1.3 非一次性支出 1.6.2 收益 1.6. 2.1 一次性收益 1.6. 2.2 非一次性收益 1.6. 2.3 不可定量的收益 1.6.3 收益/投资比 1.6.4 投资回收周期 1.6.5 敏感性分析 1.7 社会条件方面的可行性 1.7.1 法律方面的可行性 1.7.2 使用方面的可行性 1.8 结论 2 项目开发计划 编制项目开发计划的目的是用文件的形式,把对于在开发过程中各项工作的负责人员、开发进度所需经费预算、所需软、硬件条件等问题作出安排记载下来,以便根据本计划开展和检查本项目的开发工作。编制内容要求如下: 2.1 引言 2.1.1 编写目的 2.1.2 背景 2.1.3 定义 2.1.4 参考资料 2.2 项目概述 2.2.1 工作内容 2.2.2 主要参加人员 2.2.3 产品及成果 2.2. 3.1 程序 2.2. 3.2 文件 2.2. 3.3 服务 2.2. 3.4 非移交产品 2.2.4 验收标准 2.2.5 完成项目的最迟期限 2.2.6 本计划的审查者与批准者 2.3 实施总计划 2.3.1 工作任务的分解 2.3.2 接口人员 2.3.3 进度 2.3.4 预算 2.3.5 关键问题 2.4 支持条件 2.4.1 计算机系统支持 2.4.2 需要用户承担的工作 2.4.3 需由外单位提供的条件 2.5 专题计划要点

软件工程实践实验指导书XXXX

《软件工程实践》实验指导书 学院:数学与计算机学院 专业:计算机专业 年级: 指导教师:汪璟玢 系主任(或教研室主任):

本课程实验教学目的和基本要求: 知识方面:通过本课程设计,让学生进一步了解软件项目管理、需求分析、系统设计和软件测试的基本原理和方法,在软件开发的各个阶段熟悉并掌握一种表达工具,实现一个小规模的系统开发。 能力方面:在本课程设计过程中,注重培养学生分析问题和独立解决问题的能力。 素质方面:通过本课程设计,着重培养学生具备以下两方面的良好素质:一是针对实际系统中存在的问题,能够善于运用所学基本理论知识分析问题;二是规范地表达分析和设计方案。 本课程设计要求学生3-6人一组完成一个系统,并按照软件工程的规范形成相关文档资料。 参考资料: 1.《软件工程实践者的研究方法》(第六版)(美)Roger S.Pressman著, 郑人杰马素霞白晓颖译,机械工业出版社 2.《软件工程实践者的研究方法》(第五版)(美)Roger S.Pressman著, 梅宏译,机械工业出版社 3.《软件工程》(第六版)(英)Ian Sommerville著,程一剑陈霞译,机 械工业出版社 4.《软件工程》郑人杰主编, 清华大学出版社 5.《软件工程—理论、方法与实践》孙家广主编,刘强编著,高等教育出版 社

实验一:项目选择与用例图表达 目的:结合具体的项目,要求学生结合用例图和用例文本的方法将系统功 能表达清楚。 内容:项目选择、参与者确定、用例识别、用例间的关系表达,用例文本的表达 要求:能够发现任务与用例的关系、用例间的关系并准确表达、用规范的 用例文本描述用例。 开发环境和工具要求掌握:Windows200 Advanced Server、Rational Rose2003、MS visio2003 实验二:系统需求分析报告—类图 目的:通过本次实验掌握对具体项目进行类的识别和分析,并完成系统类图。 内容:识别类、确定类的属性和操作、分析类间的关系完成类图 要求:调查工作要深入,对系统的业务流程要充分了解;结合系统的功能 进行类的分析。 开发环境和工具要求掌握:Windows200 Advanced Server、MS visio2003、Rational Rose2003 实验三:系统需求分析报告—数据流图 目的:结合具体项目,训练学生的抽象分析及分层描述问题的能力,联系 数据和功能,分层次表达系统的功能。 内容:任务分解;识别外部实体、加工、数据存储和数据流;分层次表达的方法。 要求:调查工作要深入,对系统的业务流程要充分了解;结合系统的功能 分解进行数据流图的绘制。 开发环境和工具要求掌握:Windows200 Advanced Server、MS visio2003

软件开发文档说明(又全又详细)

在软件行业有一句话:一个软件能否顺利的完成并且功能是否完善,重要是看这个软件有多少文档,软件开发文档是一个软件的支柱,如果你的开发文档漏洞百出,那么你所开发出来的软件也不可能会好;开发文档的好坏可以直接影响到所开发出来软件的成功与否。 一、软件开发设计文档:软件开发文档包括软件需求说明书、数据要求说有书、概要设计说明书、详细设计说明书。 1.软件需求说明书:也称为软件规格说明。该说明书对所开发软件的功能、性能、用户界面及运行环境等做出详细的说明。它是用户与开发人员双方对软件需求取得共同理解基础上达成的协议,也是实施开发工作的基础。软件需求说明书的编制目的的就是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解、并使之面成为整个开发工作的基础。 其格式要求如下: 1 引言1.1 编写目的。1. 2 背景1. 3 定义 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 控制 2.概要设计说明书:又称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处理。流程、程序系统的组织结构、模块划分、功能分配、接口设计。运河行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。 其格式要求如下: 1 引言1.1 编写目的1. 2 背景1. 3 定义1. 4 参考资料 2 总体设计2.1 需求规定2.2 运行环境2. 3 基本设计概念和处理流程2. 4 结构2. 5 功能需求与程序的关系2. 6 人工处理过程2. 7 尚未解决的问题 3 接口设计3.1 用户接口3.2 外部接口3.。3 内部接口 4 运行设计4.1 运行模块的组合4.2 运行控制4.3 运行时间 5 系统数据结构设计5.1 逻辑结构设计要点5.2 物理结构设计要求5.3 数据结构与程序的关系 6 系统出错处理设计6.1 出错信息6.2 补救措施6.3 系统维护设计。 3.详细设计文档:主要是把我们每个小模块,小功能的业务逻辑处理用文字的方式表达出来,让程序员在编码的时

软件工程实验指导书71436

软件工程实验指导书 南昌航空大学信工学院 2010年01月

目录 实验1 用PowerDesigner建模工具绘制数据流图 (4) 1 实验环境 (4) 2 实验目的 (4) 3 实验内容 (4) 4 实验要求 (4) 5 实验步骤 (4) 实验2 用PowerDesigner建模工具设计数据库 (6) 1 实验环境 (6) 3 实验内容 (7) 4 实验要求 (7) 5 实验步骤 (7) 实验3 用Microsoft Visio工具设计用户界面 (12) 1 实验环境 (12) 2 实验目的 (12) 3 实验内容 (12) 4 实验要求 (12) 5 实验步骤 (12) 实验4 用Rational Rose绘制用例图 (16) 1 实验环境 (16) 2 实验目的 (16) 3 实验内容 (16) 4 实验要求 (16) 5 实验步骤 (17) 实验5 用Rational Rose工具绘制类图 (20)

1 实验环境 (20) 2 实验目的 (20) 3 实验内容 (20) 4 实验要求 (20) 5 实验步骤 (20)

实验1 用PowerDesigner建模工具绘制数据流图1 实验环境 Windows 2000、Sybase公司的Power Designer应用软件 2 实验目的 1)了解Power Designer工具软件的组成及功能 2)掌握Power Designer中的Process Analyst(PA)模块的建模方法及 其工具的使用方法 3 实验内容 1)设计数据流图(DFD) 2)利用外部实体、过程处理、数据流及数据存储绘制数据流图。 4 实验要求 建立一个PAM(Process Analyst Model)的应用实例。 为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位,身份证号码、旅行时间、施行目的地等)输入该系统,系统为旅客安排航班,印出取票通知和帐单,旅客在飞机起飞前一天凭取票通知单和帐单交款取票,系统校对无误即印出机票给旅客。 绘制该机票预定系统的数据流图。注意:功能分解的细化程度视具体情况而定。该实验中分解到第三层止。 5 实验步骤 数据流图是系统处理模型的主要组成部分。其中心问题是把功能逐层分解为多个子功能。 1)建立根处理模型 S1:在Windows桌面上双击Process Analyst程序图标,打开Process Analyst应用程序。

软件工程文档模板范例.doc

目录 三、需求规格说明书 (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概要设计说明书 概要设计说明书可称作系统设计说明书,这里说的系统是指程序系统,编制的目

的是说明对程序的系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。编制概要设计说明书的内容要求如下: 5.1引言 5.1.1编写目的 5.1.2背景 5.1.3定义 5.1.4参考资料 5.2总体设计 5.2.1需求规定 5.2.2运行环境 5.2.3基本设计概念和处理流程 5.2.4结构 5.2.5功能需求与程序的关系 5.2.6人工处理过程

软件开发设计文档模板

软件文档编写指南 封面格式: 文档编号 版本号 文档名称: 项目名称: 项目负责人: 编写年月日 校对年月日 审核年月日 批准年月日 开发单位 系统规约说明书(System Specification) 一.引言 A.文档的范围和目的 B.概述 1.目标 2.约束 二.功能和数据描述 A.系统结构 1.结构关系图 2.结构关系图描述 三.子系统描述 A.子系统N的结构图规约说明 B.结构字典 C.结构连接图和说明 四.系统建模和模拟结构 A.用于模拟的系统模型

B.模拟结果 C.特殊性能 五.软件项目问题 A.软件项目可行性研究报告 B.软件项目计划 六.附录 软件项目可行性研究报告(Report for Feasibility Study) 一.引言 1.编写目的(阐明编写可行性研究报告的目的,指出读者对象) 2.项目背景(应包括:(1)所建议开发的软件名称;(2)项目的任务提出者、开发者、用户及实现单位;(3)项目与其他软件或其他系统的关系。) 3.定义(列出文档中用到的专门术语的定义和缩略词的原文。) 4.参考资料(列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源。)二.可行性研究的前提 1.要求(列出并说明建议开发软件的基本要求,如(1)功能;(2)性能;(3)输出;(4)输入;(5)基本的数据流程和处理流程;(6)安全与保密要求;(7)与软件相关的其他系统;(8)完成期限。) 2.目标(可包括:(1)人力与设备费用的节省;(2)处理速度的提高;(3)控制精度和生产能力的提高;(4)管理信息服务的改进;(5)决策系统的改进;(6)人员工作效率的提高,等等。) 3.条件、假定和限制(可包括:(1)建议开发软件运行的最短寿命;(2)进行系统方案选择比较的期限;(3)经费来源和使用限制;(4)法律和政策方面的限制;(5)硬件、软件、运行环境和开发环境的条件和限制;(6)可利用的信息和资源;(7)建议开发软件投入使用的最迟时间。) 4.可行性研究方法 5.决定可行性的主要因素 三.对现有系统的分析 1.处理流程和数据流程 2.工作负荷 3.费用支出(如人力、设备、空间、支持性服务、材料等项开支。) 4.人员(列出所需人员的专业技术类别和数量。) 5.设备 6.局限性(说明现有系统存在的问题以及为什么需要开发新的系统。) 四.所建议技术可行性分析 1.对系统的简要描述 2.处理流程和数据流程 3.与现有系统比较的优越性 4.采用建议系统可能带来的影响 (1)对设备的影响 (2)对现有软件的影响

软件工程作业文档规范写法

◇可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。 ◇项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。 ◇软件需求说明书(软件规格说明书):对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备。 ◇概要设计说明书:该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。 ◇详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。 ◇用户操作手册:本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件得到具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。 ◇测试计划:为做好集成测试和验收测试,需为如何组织测试制订实施计划。计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。 ◇测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。 ◇开发进度月报:该月报系软件人员按月向管理部门提交的项目进展情况报告,报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等。 ◇项目开发总结报告:软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力,此外,还需对开发工作做出评价,总结出经验和教训。 ◇软件维护手册:主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护过程的说明,便于软件的维护。 ◇软件问题报告:指出软件问题的登记情况,如日期、发现人、状态、问题所属模块等,为软件修改提供准备文档。 ◇软件修改报告:软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在的问题、修改的考虑以及修改的影响作出详细的描述,提交审批。

软件开发过程和文档模板说明

软件开发过程和文档模板说明

目录 软件开发过程和文档模板说明1 1引言2 1.1目的2 1.2对象2 1.3范围2 1.4缩略语2 2软件开发流程3 3软件开发文档说明3 4附录4 1引言 1.1目的 本文档用于当前阶段的面阵热像仪软件功能学习培训文档的写作指引。目前仅包括了软件开发文档说明章节。 后续为指引正规的软件开发过程,将进行完善。 1.2对象 1.3范围 1.4缩略语

2软件开发流程 3软件开发文档说明 举例来说: Servo DSP软件功能框图如下所示: XX产品软件设计规格说明书(SD):产品总体设计。描述为完成某个功能,上图中不同的模块如何协同工作的,输入为该功能的触发条件,输出为该功能的外部表现,处理为各个模块的工作流程。 如程序加载的功能,涉及上图的BDMA经管模块,串口经管模块,操作维护和消息经管模块等。 XX产品YY模块软件需求规格说明书(SRS):模块总体设计。描述为完成某个需求(针对某一个模块的功能需求),模块的实现方法。输入和输出针对特定的模块,处理为模块内部的实现方法。 如针对BDMA经管模块,需求规格包括FLASH块擦除功能,FLASH写功能,FLASH读功能等。输入来自串口经管模块等,输出表现在串口经管模块和FLASH内部及内存内容的变化。 XX产品YY模块软件概要设计说明书(HLD):模块内部设计。描述某个模块为完成功能需求,再往下一层次的分解和设计,具体到函数组级或者函数级。

如BDMA经管模块针对FLASH写功能的实现,包括读取源数据,启动FLASH写过程(写命令,传送地址,传送数据),校验等等过程。 XX产品YY模块软件详细设计说明书(LLD):函数设计。描述函数内部如何实现,通常等同于代码的函数注释。一般本文档和本阶段可以裁减。 4附录

软件工程实验报告

1.1 实验一结构化需求分析 一.实验类型 图书馆管理系统 假定校图书馆需要你设计一个图书馆管理系统,要求包括以下功能: ●图书管理员可以管理馆藏图书,包括每本图书的藏书编号、书名、编著者、 ISBN号、出版社、出版时间、入馆时间、馆藏数量(如果馆藏数量为1,则标明为孤本图书)、在馆数量、学科类别等(或其它你认为有用的信息); ●管理员可以查询、统计所有图书、每一类图书或每一本书的借阅记录; ●图书管理员可以管理所有读者的信息,包括读者类型(学生、教师、社会人 士)、姓名、图书证编号、办证时间、证件状态(正常、挂失、冻结)等信息; ●图书管理员可以查询和统计所有读者、每一类读者或每一个读者的借阅记录; ●读者可以通过本系统查询馆藏图书; ●读者可以通过本系统借阅读书。但对于孤本图书或在馆数量为1的图书则不 准外借; ●管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年 不归还图书的读者冻结其图书证; ●读者可以通地本系统归还图书。如果图书超期,则自动计算罚款金额。二.实验目的 1.掌握数据流的分析技术 2.掌握软件需求分析的过程和方法。 3.熟悉项目开发计划和需求规格说明书的制定方法。 三.实验内容和要求 1.用结构化数据流分析技术进行软件系统需求分析,得出系统的数据流图和数据字典。 2.正确运用图表工具进行表示。 3.按规范正确编写软件文档。

四.实验步骤 1.理解所承担项目的业务流程和业务内容。 本软件项目是面向中小型学校、单位机构对于图书管理的基于服务的一款便捷式软件。能满足一系列常用图书管理的功能模块,提供简介、准确的操作性,可以很大程度减少人为因素带来的数据错误,统计错误,系统逻辑错误。并且规模小,很容易进行推广。 ●本项目的参与对象有图书管理员及读者。 ●对于读者,能通过该软件浏览馆藏的所有图书。读者在图书馆找到自己喜欢 的书后,能自行通过该软件操作完成借阅操作。若读者是第一次借书,必须通过图书管理员进行添加读者记录,登记读者信息。读者在登陆后方能完成借阅操作,对于孤本图书(即图书馆中馆藏只有一本的图书)则拒绝进行借阅操作。在规定期限内,读者可以通过该软件完成还书操作,对于超期的图书,应将扣除一定罚款金额,对于超期一年不归还图书的读者冻结其图书证。 并且读者能修改个人信息。 ●对于图书管理员,能管理自己和比自己低一级管理权限的管理员。一级管理 员能完成维护管理员的基本信息和二级管理员的一切操作。二级管理员则能维护自己的信息和添加读者、添加图书的功能。管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年不归还图书的读者冻结其图书证; 2.按照系统的功能及性能要求,系统的作业范围等,确定软件系统的开发环境(操作系统、开发工具、程序设计语言等)。 根据软件编程经验,本系统将采用面向对象的设计方法,使用Eclipse开发工具,java窗体应用程序,操作系统使用Win8。 3.绘制数据流图、功能分析图等。

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

软件工程文档模板 目录 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)

软件工程期末考试试卷

《软件工程》期末考试试卷 一、填空题(在括号内填写正确的答案,每空1分,共25分) 1.软件工程学的基本原则包括、、一致性、确定性等。 2.软件生存周期一般可分为、可行性研究、、设计、编码、、运行与维护阶段。 3.成本估计方法主要有、和算法模型估计三种类型。4.数据流图的基本符号包括、、、。5.JSD是一种典型的的分析设计方法。 6.详细设计的工具有、表格工具和。 7.IPO图由、处理和三个框组成。这个图的特点是能够直观的显示三者之间的关系。 8.面向对象技术是一整套关于如何看待和的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用、、、、聚集、消息传送、多态性等概念来构造系统的软件开发方法。 9.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的。10.程序测试是对编码阶段的语法错、和进行查找的编码执行活动。二、单项选择题(将一个正确的答案代码填入括号中,每小题2分, 共10分) 1.下列哪个阶段不属于软件生存期的三大阶段()。 A、计划阶段 B、开发阶段 C、编码阶段 D、维护阶段2.下列哪个图不是N-S图的构件()。 3.对于下列各图,有关描述中正确的是()。 A、数据A和B同时输入变成C B、数据A变换成B和C C、数据A或数据B(不能同时)输入,变换成C D、数据A变换成B和C 4.下列哪种方法不是度量效益的方法()。 A、货币的时间价值 B、算法模型估计 C、投资回收期 D、纯收入 5.下列描述错误的是()。 A、数据流图将各种信息流抽象成数据流的形式 B、数据流图不反映控制关系、调用关系 C、数据流图不反映处理逻辑的先后顺序 D、数据流图不反映数据的流向 X Y A、 WHILE M B B、 X Y C、 UNTIL N C D、 C B C C C

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

软件工程文档模板 目录 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) 361交付清单 (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

软件工程考试试卷

《软件工程》模拟试卷A 专业年级姓名得分 一、名词解释(每个2分,共10分) 1.软件危机 2.纯收入 3.模块 4.原型 5.BROOKS定律 二、填空题(每题2分,共20分) 1.————是计算机程序及其说明程序的各种文档。————是有关计算机程序功能、设计、编制、使用的文字或图形资料。 2.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。通常,软件生存周期包括问题定义、————、————、总体设计、详细设计、————、————、软件维护活动,可以将这些活动以适当方式分配到不同阶段去完成。 3.软件详细设计阶段采用的工具有――――――。 4.————的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。 5.模块的耦合性分为四种类型:————、————、————、————。6.内聚性有七种类型,最强的是————,最弱的是————。 7.结构图的深度指结构图——————,结构图宽度指————————。8.集成测试采用的具体方法有--――――、―――――― 9.对于变换型的数据流图,按照软件设计思想,要将一个大型复杂的软件进行分解,要确定数据流图的――――、逻辑输入、逻辑输出。 10.软件编码阶段要善于积累编程的经验,使得编出的程序――――,易于――――,从而提高软件质量。 三、选择题(每题2分,共20分) 1.系统定义明确之后,应对系统的可行性进行研究。可行性研究应包括()。 A.软件环境可行性、技术可行性、经济可行性、社会可行性 B.经济可行性、技术可行性、操作可行性 C.经济可行性、社会可行性、系统可行性 D.经济可行性、实用性、社会可行性 2.通过()可以完成数据流图的细化。 A.结构分解B、功能分解C、数据分解D、系统分解3.模块(),则说明模块的独立性越强。 A.耦合越强B、扇入数越高C、耦合越弱D、扇入数越低

相关文档