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

软件工程期末复习

软件工程期末复习
软件工程期末复习

软件工程复习资料

选择题,请从四个可选项中选择正确答案。

1.软件工程学科出现的主要原因是(C。

A. 计算机的发展

B. 其他工程科学的影响

C. 软件危机的出现

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

2、(A)是职业软件工程师的必要条件。

A.自律、善于沟通、具有一定的软件技能

B.编程速度快

C.熟悉众多的软件环境

D.语言天赋

3.在E-R 模型中,包含以下基本成分(C)。

A.数据、对象、实体

B.控制、联系、对象

C.实体、属性、联系

D.实体、数据、联系

4.软件需求分析产生一个重要文档是(.B )。

A.软件维护说明书

B.需求规格说明书

C.可行性报告

D.初步用户手册

5.内聚程度较低的是(D )。

A.通信内聚

B.过程内聚

C.顺序内聚

D.时间内聚

6.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是(D )

A.把软件划分成模块B确定模块之间的调用关系

C.确定各个模块的功能

D.设计每个模块的伪代码

7、程序流程图与数据流程图的关系(A)。A.不确定B.数据流程图可以转换成程序流程图

C.数据调用关系D.程序流程图可以转换成数据流程图

8.对象实现了数据和操作的结合,使数据和操作(D)于对象的统一体中。

A.结合B.隐藏C.封装D.抽象

9.类有3种类型,即(B )。

A.边界类、实体类、控制类

B.实体类、控制类、界面类

C.控制类、实体类、虚类

D.界面类、控制类、公共类

10.(D )是一般化类与特殊化类之间的一种关联形式,设计时应该适当使用这种耦合。

A.消息连接

B.参数传递

C.方法重写

D.继承

11、软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是(C),最上层是工具层。

A.过程层

B.方法层

C.过程层和方法层

D.系统层

12、可行性研究的四大要素是(D)。

A.经济、技术、法律和社会环境

B.经济、技术、开发组织能力和领导者水平

C.经济、技术、计算机硬件环境和网络带宽

D.经济、技术、软件开发工具和人员的稳定性

13、针对需求不确定的软件开发,比较好的模型是(A)。

A.快速原型化模型

B.瀑布模型

C.软件成熟度模型

D.系统化模型

14.下面的哪个选项不是软件工程的宗旨(D)。

A.开发满足用户需求的软件

B.研究算法

C.及时交付软件

D.生产无故障软件

15、针对需求不确定的软件开发,比较好的模型是(A)。

A.快速原型化模型

B.瀑布模型

C.软件成熟度模型

D.系统化模型

16、软件结构图中没有(D)元素。

A.模块B.调用参数C.返回结果D.判断17、结构化设计方法划分模块的原则是(C)。A.模块扇出小于5 B.模块扇入小于5 C.低耦合,高内聚D.模块深度小于7

18、配置视图体现了系统的实现环境,反映系统的(B)。

A.逻辑架构

B.物理架构

C.组成结构

D.体系结构

19、角色可以有四种类型:系统的使用者,硬件设备,外部系统和(D)。

A.数据库

B.接口

C.对象

D.时间

20、功能模型用于表达系统的需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由(.C )实现。A.场景描述 B.活动图和场景描述 C.用例图和

场景描述 D.交互图和场景描述

21.结构化程序设计主要强调的是(D )。

A.程序的规模

B.程序效率

C.程序语

言的先进性 D.程序易读性

22、对用例进行设计,发现实现用例功能的(D),

确定类之间的关系。

A.算法

B.业务流程

C.数据结构

D.关键类

23、框架是一组可用于不同应用的(A)的集合。

A.类

B.数据结构

C.函数

D.过程

24、从狭义上讲,软件测试是(.D)的过程。

A. 为发现错误而执行程序

B.为了验证程序正

确 C.用不同的数据验证程序正确性 D.区分程

序员水平

25、在设计黑盒测试用例时,主要研究(.D)。

A. 概要设计说明书

B.详细设计说明

C.项目

开发计划 D.需求规格说明

26、(B)时,测试人员必须接触到程序源代码。

A、黑盒测试

B、白盒测试

C、压力测试

D、

外观测试

27、一般维护程序代码的策略(B)。

A. 从需求开始重新开发

B.根据维护申请读源程

序,并修改

C.找一个新的模块替换

D. 不用读源程序,从新

编写代码

28、Gantt图直观简明、易学易用,但它不能(A)。

A.直接反应任务间的依赖关系和关键路径

B.反应任务的分解情况

C.直接反应任务的起止日期

D.反应具体任务的时间段

29、(D)针对开发过程中的程序、数据、文档提

出使用和管理策略。

A.组织管理B.过程管理C.风险管理D.软

件配置管理

30、程序的三种基本控制结构,包括顺序结构、(A)

和循环结构。

A.判断结构

B.说明结构

C.输入结构

D.输出结构

31、在分析模型内表示协调、顺序、事务处理以

及控制其他对象的类是(.C)。

A.控制类

B.组件类

C.主函数

D.事务类

32、信息隐藏的核心内容是(D)。

A.把数据都放在公共的区域

B.数据不能被其他模块访问

C.一个模块的内部信息不允许其他模块直接访问

D.把信息加密,只能让有密钥的模块访问

33、面向过程的方法最关心的是过程,而过程实

施的对象是作为过程(D)传递的。

A.参数

B.主体

C.过程

D.数据结构

34、测试用例是一组(.A)。

A.测试用的输入数据以及对应的预期结果

B.测试驱动程序

C.测试数据

D.测试程序及

数据

35、由于面向对象中的继承和消息机制,使得软

件测试(B)。

A.更加简单

B.更加复杂

C.没变

D.不确定

36、软件维护过程中产生的副作用,一般是由(B)

引起的。

A.算法说明

B.修改程序

C.优先级

D.环境要

37、项目计划活动的主要任务是(D)。

A.估算项目的进度

B.分配工作量

C.计划资源

使用 D.以上全部

38、如果程序代码的(C)好,则调试的成本就可

以大幅度降低。

A.性能比

B.可扩充性

C.可读性

D.可移植性

39、两个浮点数X0和X1比较相等时,应该用(.C)

比较。

A.X0==X1

B.X1-X0<ε

C.|X0-X1|<ε

D.X0=X1

40、瀑布模型存在的问题是(D )。

A.用户容易参与开发B.适用可变需求C.用

户与开发者易沟通D.缺乏灵活性

41. 可行性研究的主要任务是(C)。

A.确定系统做什么

B. 确定性能

C.确定功

能 D. 进行一次简要的需求分析

42、用户需求描述的是(A)。

A.用户使用该软件要完成的任务

B.业务需求

C.功能需求

D.软件目标、规模和范围

43、数据流程图的主要作用是(B)。

A.描述模块组成

B.说明用户数据结构

C.描

述软件功能 D. 建造系统的逻辑模型

44、业务需求描述的是(D)。

A.功能需求

B.用户需求

C.用户的具体业务

流程 D.软件的目标、规模和范围

45、一个数据流程图中的图形符号有且仅有(C)

种。

A.3

B.5

C.4

D.7

46、非直接耦合的模块独立性最强,(A)的模块

独立性最弱。

A.内容耦合B.数据耦合C.控制耦合D.外

部耦合

47、信息隐藏的核心内容是(C)。

A.把数据都放在公共的区域

B.数据不能被其他模块访问

C.一个模块的内部信息不允许其他模块直接访问

D.把信息加密,只能让有密钥的模块访问

48、面向过程的方法最关心的是过程,而过程实

施的对象是作为过程(A)传递的。

A.参数

B.主体

C.过程

D.数据结构

49、(C)用于描述系统的功能集。

A. 组件视图

B.逻辑视图

C. 用例视图

D.对

象视图

50、用(D)模型描述系统组织结构。

A.组织

B.CMM

C.数据

D.静态

51、下面的哪个选项不是软件工程的宗旨(D )。

A.开发满足用户需求的软件

B.研究算法

C.

及时交付软件 D.生产无故障软件

52、软件开发活动的顺序应该是(A )。

A.问题定义、可行性研究、需求分析、设计、编

码和测试。

B.问题定义、设计、可行性研究、编码和测试。

C.需求分析、设计、编码和测试。

D.需求分析、编码和测试、试运行。

53、假定银行的存款年利率是2%,请问现在存

5000元,两年后价值应为(A )元。

A.5202

B.4500

C.5100

D.4712

54、系统物理模型用(A)表示。

A.系统流程图

B.数据流程图

C.程序流程图

D.E-R图

55.需求规格说明书的作用不包括(C )

A.软件验收的依据

B.用户与开发人员

对软件要做什么的共同理解

C.软件可行性研究的依据

D.软件设计的依据

56.进行需求分析有的多种描述工具,但不包括

(C)。

A.数据流图

B.判定表

C.PAD图

D.

数据词典

57.反映模块独立性的指标是(D )。

A.模块的复杂性

B.模块的大小

C.模块的

参数 D.内聚和耦合

58.两个模块都访问一个全局简单变量而不是同

一全局数据结构,则这两个模块属于(.B )。

A.数据耦合

B.外部耦合

C.公共耦合

D.内容耦合

59.下列哪个不是UML的视图(B )

A.逻辑视图

B.行为视图

C.组件视图

D.并发视图

60、用(B)模型分析和定义用户的功能需求。

A.数据

B.静态

C. 动态

D.用例

61、对象模型描述现实世界中实体的对象以及它

们之间的关系,表示目标系统的静态数据结构。

在面向对象方法中,由(A)实现。

A.顺序图

B.类图

C.状态图

D.组件图

62、如果对象之间的耦合是通过(D)来实现的,

则这种耦合就是交互耦合。

A.消息机制

B.参数

C.方法

D.公共数据区

63.动态模型描述系统的动态结构和对象之间的

交互,表示瞬时的、行为化的系统“控制”特性。

面向对象方法中,常用(D )实现。

A.状态图

B.交互图

C.活动图

D.以上

全部

64.不适合作为数据处理与数据库应用的语言是

(C)

A. SQL

B. Cobol

C. 4GL

D. Lisp

65.软件工程中,只根据程序的功能说明而不关

心程序内部逻辑的测试方法,称为(C)测试。

A.白盒法

B.灰盒法

C.黑盒法

D.综

合法

66.若有一个计算类型的程序,它的输入量只有

一个X,其范围是[-1.0,1.0],现从输入的角度

考虑一组测试用例:-1.001,-1.0,1.0,1.001。设

计这组测试用例的方法是(C )。

A.条件覆盖法

B.等价分类法

C.边界

值分析法 D.错误推测法

67.即使软件能顺利运行,但用户往往会提出增

加新功能或改进已有功能的建议,为满足这一类

要求而进行的活动称为(A)。

A.完善性维护

B.预防性维护

C.适应性维

护 D.代码重构

68. 可维护性的特性中,相互矛盾的是(B )。

A.可理解性与可测试性

B.效率与可修改性

C.可修改性与可理解性

D.可理解性与可读性

69.不属于软件项目管理的是(A)。

A.软件销售利润

B.项目风险评估

C.质量监控

D. 开发机构能力评估

70.(C )针对开发过程中的程序、数据、文档提出使用和管理策略。

A.组织管理B.过程管理C.软件配置管理D.风险管理

71、动态模型描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统“控制”特性。面向对象方法中,常用(D )实现。

A.状态图

B.交互图

C.活动图

D.以上全部

72、面向对象分析和设计的界限是(B),从分析到设计是一个逐渐扩充模型的过程。

A.清晰的

B.模糊的

C.非线性的

D.确定的

73、每个子系统的接口定义了若干(A),体现了子系统的功能,而功能的具体实现方法应该是隐藏的。

A. 操作

B.参数

C.算法

D.控制

74、测试最早的开始时间是( C )。

A.从详细设计阶段开始

B.从编码阶段开始

C.从需求分析阶段开始

D.以上都对

75、从测试对象的粒度上划分测试为(C )。

A.单元测试、集成测试

B.压力测试、功能测试、性能测试和系统测试

C.单元测试、集成测试、系统测试和验收测试

D.黑盒测试、白盒测试、功能测试和性能测试

76、(B)不符合软件测试原则。

A.对每个测试结果进行检查,不漏掉已经出现的错误迹象

B.程序员应该仔细测试自己编写的程序代码

C.程序员要避免测试自己编写的程序代码

D.测试工作越早开始越好

77、引起软件改变的原因主要有(D )。

A.运行环境变化

B. 需求变化

C.系统有错

D.以上全部

78、(C)针对开发过程中的程序、数据、文档提出使用和管理策略。

A.组织管理B.过程管理C.软件配置管理D.风险管理

79.为了适应软硬件环境变化而修改软件的过程是(C)。

A.校正性维护

B.完善性维护

C.适应性维护

D.预防性维护

80.通俗的说,软件项目管理中常说的基线是(D)。

A.管理的基本思路

B.一种软件开发的基本策略

C.基本的技术路线

D. 通过正式复审的文档

简答题

1、试从软件的特点出发分析软件危机产生的

原因。

1、答案

软件是一种逻辑实体,具有抽象性,无法看到软件本身的形态,必须通过观察、分析、思考和判断才能了解它的功能和性能。

软件对硬件和环境有着不同程度的依赖性,这导致了软件升级和移植的问题。计算机硬件和支撑环境不断升级,为了适应运行环境的变化,软件也需要不断维护,并且维护的成本通常比开发成本高许多。

软件生产至今尚未摆脱手工方式,软件开发的手工行为造就了一个致命的问题,就是为应用“量身订做”软件。长期以来,软件给人的感觉是修改几条指令很简单,客户总是强调软件要适应自己的业务需求。因此,软件产品大多是为客户“订做”的,通用性差。

软件涉及人类社会的各行各业,常常涉及一些行业知识,这对软件工程师提出了很高的要求。

软件是与文学艺术作品相似的精神作品,与体力劳动相比,精神活动过程的特点是“不可见性”,这大大增加了组织管理上的困难。

2、评分标准:学生只要写出三个特点就给满

分,少一个减2分。

2、答案

软件生命周期是一个软件从提出开发要求到废弃为止的整个时期。

软件生命周期可分为8个阶段:问题定义、可行性分析、需求分析、概要设计、详细设计、编码、系统测试和运行维护评分标准:每个问题给3分。

3、什么是软件生命周期?他分为哪几个阶

段?

3、一个程序片段如下,请设计符合条件组合覆盖

的测试用例。

……

if (a>=4) && (b<0)

c=a+b;

else

c=a-b;

if (c>3) || (c<1)

printf(“c不在计算区域\n”);

else

printf(“%d\n”, c);

……

3、答案

a>=4 b<0

a>=4 b>=0

a<4 b<0

a<4 b>=0

c>3

c<=3

c<1

c>=1

综合以上条件组合,设计测试用例如下(注意结

果不唯一,只要满足上面的组合条件即可):

a=4 b=-1 c=3

a=4 b=0 c=4

a=-1 b=-1 c=0

a=2 b=0 c=2

评分标准:列出a,b四组数据各给1分,考虑c

数据给2分。

4、请说明对象模型的作用是什么?

4、答案

对象模型:表示静态的、结构化的系统“数据”

性质。描述现实世界中实体的对象以及它们之间

的关系,表示目标系统的静态数据结构。在面向

对象方法中,类图是构建对象模型的核心工具。

5. 为了提高软件的可维护性,在软件开发过程的

各个阶段怎样充分考虑软件的可维护性因素。

5、答:

(1)在需求分析阶段应该明确维护的范围和责

任,检查每条需求,分析维护时这条需求可能需

要的支持,对于那些可能发生变化的需求要考虑

系统的应变能力。

(2)在设计阶段应该做一些表更实验,检查系统

的可维护性、灵活性和可移植性,设计时应该将

今后可能变更的内容与其他部分分离出来,并且

遵循高内聚、低耦合的原则。

(3)编码阶段要保持源程序与文档的一致性、源

程序的可理解性和规范性。

(4)在测试阶段测试人员应该按照需求文档和设

计文档测试软件的有效性和可用性,收集出错信

息并进行分类统计,为今后的维护打下基础。

6、面向对象的分析通常要建立三个模型,请问三

个模型的作用?

6、答案

1)功能模型:表达系统的详细需求,为软件的进

一步分析和设计打下基础。在面向对象方法中,

由用例图和场景描述组成。2)对象模型:表示静

态的、结构化的系统“数据”性质。描述现实世

界中实体的对象以及它们之间的关系,表示目标

系统的静态数据结构。3)动态模型:描述系统的

动态结构和对象之间的交互,表示瞬时的、行为

化的系统的“控制”特性。

7、软件工程为什么要强调规范化和文档化?

答:

(1)软件工程强调规范化和文档化。规范化的目

的是使众多的开发者遵守相同的规范,使软件生

产摆脱个人生产方式,进入标准化、工程化的生

产方式。

(2)文档化是将软件的设计思想、设计过程和实

现过程完整地记录下来,以便于后人的使用和维

护,在开发过程中各类相关人员借助于文档进行

交流和沟通。另外,在开发过程中产生的各类文

档使得软件的生产过程由不可见变为可见,便于

管理者对软件生产进度和开发过程进行管理。在

用户最终验收时可以通过对提交的文档进行技术

审查和管理审查,保证软件的质量。

8、简述模块独立性,内聚与耦合。

答:

模块独立性, 是指软件系统中每个模块只涉及软

件要求的具体的子功能, 而和软件系统中其它的

模块的接口是简单的。一般采用两个准则度量模

块独立性。即模块间耦合和模块内聚。耦合是模

块之间的互相连接的紧密程度的度量。内聚是模

块功能强度(一个模块内部各个元素彼此结合的

紧密程度)的度量。模块独立性比较强的模块应是

高内聚低耦合的模块。

9、简述在项目开发时选择程序设计语言的主要考

虑的因素。

答:

编程人员的水平和编程经历;

待开发的软件类型;

算法和计算复杂性;

数据结构的复杂性;

软件的开发成本和时间要求;

软件可移植性要求;

可用的软件工具。

10、一个程序片段如下,请设计符合判定覆盖的

测试用例。

if (a>=5) && (b<0) {

c=a+b;

else

c=a-b;

if (c>5) || (c<1)

printf(“c不在计算区域\n”)

else

printf(“%d\n”, c);

10、答案

条件:

a>=5 b<0

a>=5 b≮0

c<1

1

符合判定覆盖的测试用例(不唯一):a=5,b=-1,c=4;

a=5,b=5,c=0;

其中过程层定义了一组关键过程域,目的是保证

软件开发过程的规范性和可控性。方法层提供了

软件开发的各种方法,包括如何进行软件需求分

析和设计,如何实现设计,如何测试和维护等方

法。

12、请为下面的程序设计符合判定覆盖的测试用

例。

int main()

{

int a,b,c,x,y,z,t;

scanf(“d%,d%,d%),&a,&b,&c,&t);

if a>5 && t<1 x=10 else x=1;

if b>10 y=20 else y=2;

if c>15 z=30 else z=3;

printf(“d%,d%,d%\n”,x,y,z)

}

条件:

a>5,t=0

a<=5,t=0

b>10

b<=10

c>15

c<=15

测试用例(不唯一):a=6 t=0 b=11 c=16;a=5 t=0

b=10 c=15

评分标准:只要写出条件,不管测试用例是否给

出都给3分;两组测试用例各占3分。

13、活动图与状态图的区别?

13.答案

描述的重点不同:活动图描述的是从活动到活动的控制流;状态图描述的是对象的状态及状态之间的转移。

使用的场合不同:在分析用例、理解涉及多个用例的工作流、处理多线程应用等情况下,一般使用活动图;在显示一个对象在其生命周期内的行为时,一般使用状态图。

14、等价分类法的基本思想是什么?

答:

根据程序的输入特性,将程序的定义域划分为有限个等价区段——“等价类”,从等价类中选择出的用例具有“代表性”,即测试某个等价类的代表值就等价于对这一类其他值的测试。如果某个等价类的一个输入数据(代表值)测试中查出了错误,说明该类中其他测试用例也会有错误。

15、请说明判定表的作用及其结构。

答案

判定表是结构化设计的工具,用于多条件的描述。其结构分为4部分:条件列表、条件组合、操作列表、特定条件下的操作组合。

16、请给出软件工程七条基本原理中的任意三条基本原理。

答案

原理1.用分阶段的生命周期计划严格管理

原理2.坚持进行阶段评审

原理3.实行严格的产品控制

原理4.采用现代程序设计技术原理5.结果应能清楚地审查

原理6.开发小组的人员应该少而精

原理7.承认不断改进软件工程实践的必要性

17、结构化程序设计的特征是什么?

答案:

结构化程序设计的特征如下:程序模块只有一个

入口和一个出口、程序中只包含顺序、条件和循

环三种控制结构。

18.衡量模块独立性的两个标准是什么?它们各

表示什么含义?

答:

(1)两个定性的度量标准:耦合与内聚性。

(2)耦合性:也称块间联系。指软件系统结构中

各模块间相互联系紧密程度的一种度量。模块之

间联系越紧密,其耦合性就越强,模块的独立性

则越差。

(3)内聚性:也称块内联系。指模块的功能强度

的度量,即一个模块内部各个元素彼此结合的紧

密程度的度量。模块内元素联系越紧密,内聚性

越高。

19. 活动图与状态图的区别?

答:

(1)描述的重点不同:活动图描述的是从活动到

活动的控制流;状态图描述的是对象的状态及状

态之间的转移。

(2)使用的场合不同:在分析用例、理解涉及多

个用例的工作流、处理多线程应用等情况下,一

般使用活动图;在显示一个对象在其生命周期内

的行为时,一般使用状态图。

20.设计下列伪程序的判定覆盖测试用例。

if (a>10) then

x=10

else

x=1

end if

if(b>10)and (t<3) then

y=20

else

y=2

end if

if(c>15) then

z=30

else

z=3

end if

答:判断覆盖标准为,不仅使条语句都至少执行

一次,还要是程序中每个分支都至少执行一次。

也就是说,设计的测试用例使每个判定都有一次

取“真”和“假”的机会。

测试用例(不唯一):a=16 t=0 b=11 c=16;a=5 t=0

b=10 c=15

应用题

1.学校教师工资管理系统的需求描述如下:教师每月末将本月的工作量输入到系统中,学院负责人对教师输入的工作量进行审核,财务部门对审核后的工作量计算本月工资,本月工资=基本工资+各种补贴+工作量奖金-税收-保险一公积金金。基本工资、各种补贴、保险、公积金信息由人事处负责输入和维护,教师可以查询月工资明细。银行系统每月从本系统读入每位教师的实发工资,并向每位教师的银行卡帐户打入月工资。教师可以查询自己银行卡的金额。请根据要求画出该问题的数据流程图。

2.某个学生成绩管理系统的部分功能如下:

(1)基本信息管理:教务管理人员输入或修改学期教学计划、学生名单和教师名单;

(2)学生选课:学生根据课程和教师信息进行选课;

(3)分配任课教师:教务管理人员为符合开课条件的课程分配教师和时间;

(4)教师查询并打印课表;

(5)成绩管理:每门课程的教师在考试评分结束后将考试成绩录入,学生可查询。

请根据要求画出该问题的数据流程图。

4. 学校开发的网上作业管理信息系统需求如下:教师使用本系统将作业题输入到数据库中,并且针对不同的学生布置不同的作业。学生在网上查看教师给自己布置的作业,并完成作业,完成的作业放在学生作业表中。教师在网上批阅作业,并可以统计作业完成情况。学生可以查看教师批阅的作业,修改作业中的错误,教师仍然可以查看学生修改作业的情况,并给予批阅。

请仔细阅读上面的描述,画出数据流程图。

软件工程复习资料答案

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

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

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

软件工程案例

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

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

软件工程案例教程答案

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) 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.结构化分析方法是面向(B)的自顶向下逐步求精的分析方法。 A.目标 B.数据流C功能. D.对象 2.在进行软件设计时应该遵循的最主要的原理是(C) A.抽象B模块化. C.模块独立D信息屏蔽. 3.在结构化分析方法中,常用的描述软件功能需求的工具是(C) A.业务流程图、处理说明B软件流程图、模块说明. C.数据流程图、数据字典 D.系统流程图、程序编码

软件工程案例教程软件项目开发实践第一章练习题

第一章练习题: 一、填空题 1.软件工程是一门综合性的交叉学科,它涉及计算机学科、工程学科、管理学科和 数学学科。 2.软件工程研究的主要内容是方法、过程和工具三个方面。 3.由于软件产生的复杂性和高成本,使大型软件产生出现出现了很多问题,即出 现软件危机,软件工程正是为了克服它而提出的一种概念及相关方法和技术。 4.SWEBOK V3中,软件工程知识体细分为教育需求和工程实践两大类。 5.增量式模型假设需求可以分段,成为一系列增量产品,每一增量可以分别开发。 6.喷泉模型比较适用于面向对象的开发方法。 7.软件工程是用工程科学的知识和技术原理来定义、开发和维护软件的一门学科。 二、判断题 1.SWEBOK V3分两大类,共有15个知识域。(√) 2.软件工程的提出起源于软件危机,其目的是最终解决软件的生产工程化。(√) 3.软件工程学一般包含软件开发技术和软件工程管理两个方面的内容,软件开发 方法学和软件工程环境属于软件开发技术的内容,软件工程经济学属于软件工 程管理。(对) 4.软件开发中的最大的问题不是管理问题,而是技术问题。(×) 5.XP(eXtreme Programming,极限编程)是由Kent Beck提出的一套针对业务需求和 软件开发实践的规则,包括13个核心实践。(√) 三、选择题 1.下列所述不是敏捷生存期模型的是(C)。 A.Scrum 模型UP 2.软件工程的出现主要是由于(C)。 A.程序设计方法学的影响 B.其他工程科学的影响 C.软件危机的出现 D.计算 机的发展 3.以下(C)不是软件危机的表现形式。 A.开发的软件不满足用户的需要 B.开发的软件可维护性差 C.开发的软件价 格便宜 D.开发的软件可靠性差 4.以下不是SWEBOK V3的软件工程实践中的知识域的是(B)。 A.软件需求 B.工程基础 C.软件构造 D.软件设计 5.下列所述不是软件组成的是(C)。 A.程序 B.数据 C.界面 D.文档 6.下列对“计算机软件”描述正确的是(A) A.是计算机系统的组成部分 B.不能作为商品参与交易 C.是在计算机硬件设备 生产过程中产生出来的 D.只存在于计算机系统工作时

软件工程案例教程习题

软件工程 第一章 习题一 一、判断题 1.程序是按事先设计的功能和性能要求执行的指令序列。() 2.数据时使程序能够正确操纵信息的数据结构。() 3.文档与程序开发、维护和使用有关的图文材料。() 4.软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。() 5.增量模型的特点是文档驱动。() 6.瀑布模型的特点是文档驱动。() 7.瀑布模型是一种软件生存周期模型。() 8.在软件生存周期中,用户主要是在软件开发期参与软件开发。() 9.瀑布模型的主要问题是可靠性低。() 10.软件生存周期中时间最长的阶段是需求分析。() 11.原型化方法适用于需求已确定的系统。() 12.瀑布模型本质上是一种线性模型。() 13.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于需求不确定性 高的系统。 二、填空题 1.软件工程是开发、运行、维护和修复软件的系统化方法,它包含的三个要素指的是:()()和()。 2.软件是计算机系统中于硬件相互依存的另一部分,它是包括()、()及()的完整集合。 3.开发软件时对提高软件开发人员工作效率至关重要的是()。软件工程中描述生存周期的瀑布模型一般包括计划、()、设计、编码、测试、维护、等几个阶段,其中 设计阶段在管理上有可以一次分成()和()两步。 4.软件发展的第一阶段称为“程序设计的原始时期”,这时期即没有(),也没有(),程序员只能用机器指令编写程序。 5.软件发展过程的第二阶段称为“基本软件期”。出现了(),并逐渐普及。随着()的发展,编译技术也有较大的发展。 6.软件发展过程的第三阶段称为“程序设计方法时代”。这一时期,于硬件费用下降相反,软件开发费急剧上升。人们提出了()和()等程序设计方法,设法降低软 件的开发费用。 7.软件发展的第四阶段称为“软件工程期”。软件开发技术不再仅仅是程序设计技术,而是包括与软件开发的各个阶段,()、()、编码、单元测试、综合测试、()及整 体有关的各种管理技术。 8.原型化方法从用户界面的开发入手,首先形成(),用户(),并就()提出意见,它是一种()型的设计过程。 9.软件工程中描述生存周期的瀑布模型一般包括计划、()、软件设计、代码设计、软件测试、软件维护等几个阶段,其中软件设计阶段在管理上有可以依次分成()和 ()两步。 三、简答题 1.软件的特点有哪些?

软件工程案例分析

软件工程案例分析 表1 课程负责人情况 姓名吴涛性别男出生年月1972-12-28 最后学历博士职称副教授开课年限3 学位博士职务软件工程研究所所长授课对象研究生/ 本科生 课程类型专业课课程网址http://210.42.106.120/eptal/index.html https://www.wendangku.net/doc/3a18340534.html,/eptal/ http://210.42.106.120/eptal/index.html 主要教学工作简历(1) 作为软件学院微软技术方向的负责人,积极推动微软最新技术的教学工作和试验室建设,主持了《先进软件开 协助策划了微软实训工作的开展,参与了微软教材《高级编程技术》的修订工作。 (2) 作为首批进入软件学院的教师,承担了多门软件工程专业本科生与研究生核心课程的教学工作,包括:操作系先进软件开发技术与工具、个体软件过程等。教学效果受好评,获得2004年度“教学质量优秀奖”二等奖以及三育人积 (3)主要教学工作经历包括:2002~2003,软件学院讲师,微软俱乐部讲师;2004~2006,软件学院副教授;2006 (4) 积极探索新的软件人才培养模式,提出了实用梯级软件人才案例培养模式方案,参与了国际化拔尖创新型人才的研究成果多项。 近五年主要教育教学研究领域及成果(1) 2006年,主持了《案例模式软件人才培养研究与实践》研究项目; (2) 2006年,参与了《国际化拔尖创新型人才培养途径及模式研究》; (3) 2005年,开始编著国家“十一五”规划教材《软件项目管理与案例分析》; (4) 2005年,建设《软件项目管理与案例分析》校优质课程; (5) 2005年,率队获全国首届花旗集团“花旗杯”一等奖; (6) 协助完成2005年度软件学院微软项目实训工作; (7) 2004年,主持《先进软件开发技术与工具》精品课程建设; (8) 2004年,获华中科技大学2004年度三育人积极分子称号; (9) 2004年,获得2003~2004年度“教学质量优秀奖”二等奖。 (10) 2003年,率队获得微软亚洲研究院首届“微软创新杯”三等奖; (11) 2003年,发表《实用梯级软件人才培养模式研究》论文; (12) 2002年,撰写了《实用梯级软件人才培养模式研究》报告。 表2 课程主要成员情况 姓名性别年龄学历学位专业技术职务承担工作 吴涛男35 博士副教授主讲,教材,规划,案例陈传波男49 博士教授总体规划,项目管理 肖来元男50 博士教授主讲,教材,进度控制

软件工程教学工作经验特色亮点案例

软件工程教学工作经验特色亮点案例 《软件工程》是软件设计与开发以及各种计算机应用系统开发的重要基础。在计算机科学与技术等计算机相关专业人才培养中,对提高学生的能力、素质和形成良好的知识结构都具有重要意义。 同时它也是信息工程学院计算机科学与技术本科专业核心课之一和软件技术专业、网络技术专业和计算机应用技术等专科专业的专业必修课,也是一门综合性和实践性很强的核心课程,主要是介绍软件工程的基本概念和理论,其内容涉及传统软件工程和现代软件工程,从软件项目的分析、设计到实现,覆盖整个生命周期,包括软件质量与质量保证、项目计划与管理等内容。 根据培养应用型人才的需要,通过教学和实践,使学生通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法。为更深入地学习和今后从事软件工程实践打下良好的基础。 一、教学手段。结合《软件工程》课程的培养目标,教学团队确立了以工程型、应用型、技能型三型统一的教学理念,在教学组织和实施上注重理论性与实践性的统一、学科系统性与先进性的统一、传统媒体教学与现代技术结合的统一,选择教学方法与手段,提高教学

质量。 1.课堂教学采用情景式教学法与案例教学法相结合方式进行,采用情景引入、提出问题、理论探讨、案例讲授、模拟训练五阶段组织和实施教学活动。根据讲授内容的不同,辅助以讨论课、答辩课等形式,调动学生主动学习的积极性和课程的参与度。教学组织按照80人左右的教学班组织开展,通过具体实施,教学效果良好。 2.实践教学采用课题组组织方式,采用模仿-模拟-开发-答辩的四阶段教学方法。首先将学生按照5-8人为单位组织成为课题小组。针对实验内容,首先教师提交完整的实验案例,由课题组成员按照角色分工进行模拟实验,加深理论知识的感性认识。在此基础上,教师布置对等的实验作业,由课题组按照自身理解和能力,完成实验作业,经教师点评后进入开发阶段,从而巩固学生知识学习,加深知识的理解。开发阶段由课题组选择具有一定实际价值的项目进行开发,完成后由课题组答辩后方能通过。提高学生理论知识的运用能力和解决实际问题的能力。 3.组织部分学生参加教师的科研项目,软件工程课题组老师指导学生运用软件工程的知识分析需求,设计软件的架构和模块,按模块分工开发软件。开发过程中严格按照软件工程的要求作,开发成功一个模块后进行阶段分析和总结;开发完成全部项目后,进行总体总结,

软件工程案例教程答案

第一章 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) 第二章

相关文档
相关文档 最新文档