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

软件工程复习资料

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

软件工程复习题

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

1、下面哪个选项不是软件工程研究的内容()。

A. 生产无故障的软件

B. 精通一门编程语言

C. 生产满足用户需求的软件

D.生产及时交付的软件

2、软件工程的出现是由于()

A.软件危机

B.计算机硬件技术的发展

C.软件社会化的需要

D.计算机软件技术的发展

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

A.过程层

B.方法层

C.过程层和方法层

D.系统层

4、美国著名软件工程专家B.W.Boehm于1983年提出了软件工程的()条基本原理。

A.7

B.5

C.3

D.12

5、结构化分析方法(SA 法)使用的主要描述工具有()。

A.数据库

B.模块结构图

C.PAD 图

D.分层的DFD 图

6、源程序的效率与()阶段确定的算法的效率直接有关。

A.概要设计 B. 总体设计 C. 单元设计 D. 详细设计

7、可行性研究的主要任务是()。

A.确定系统做什么

B. 确定性能

C.确定功能

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

8、内容耦合是模块间最紧密的耦合,()是模块间最松散的耦合。

A.数据耦合 B.非直接耦合 C.控制耦合 D.外部耦合

9、面向对象是“先”确定()“后”()。

A.属性/方法

B.数据结构/方法

C. 动作的主体/执行动作

D.动作

10、UML是一种()语言。

A.高级编程

B.可视化建模

C.分析方法

D.过程

11、软件工程强调将()的方法应用于软件的开发和维护过程之中。

A.规范化

B.系统化

C.可度量

D.以上全部

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

A.问题定义、可行性研究、需求分析、设计、编码和测试。

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

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

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

13、假定银行的存款年利率是2%,请问现在存5000元,两年后价值应为()元。

A.5202

B.4500

C.5100

D.4712

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

A.系统流程图

B.数据流程图

C.程序流程图

D.E-R图

15、关于软件需求特性不正确的描述是“软件需求具有()”。

A.多变性

B.模糊性

C. 准确性

D.主观性

16、DFD中的每个加工至少需要()

A.一个输入流

B.一个输出流

C.一个输入或输出流

D.一个输入流和一个输出流

17、PDL是描述处理过程()。

A.做什么

B.为什么做

C.怎么做

D.对谁做

18、当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为()

A.数据耦合 B.公共耦合 C.标记耦合 D.内容耦合

19、按照模块独立性,耦合程度由强至弱正确的顺序是()。

A.数据耦合、控制耦合、外部耦合、内容耦合

B.控制耦合、数据耦合、内容耦合、外部耦合

C.内容耦合、外部耦合、控制耦合、数据耦合

D.外部耦合、内容耦合、数据耦合、控制耦合

20、UML 中,包图是一种()。

A.集合

B.数据结构

C.分组机制

D.对系统的动态描述

21、反映收发消息的对象的组织结构,用于描述系统的行为是如何有系统的成分协作实现的是()。

A.顺序图

B.类图

C.合作图

D.组件图

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

A.清晰的

B.模糊的

C.非线性的

D.确定的

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

A.状态图

B.交互图

C.活动图

D.以上全部

24、不适合作为数据处理与数据库应用的语言是()

A. SQL

B. Cobol

C. 4GL

D. Lisp

25.软件工程中,只根据程序的功能说明而不关心程序内部逻辑的测试方法,称为()测试。

A.白盒法

B.灰盒法

C.黑盒法

D.综合法

26、程序设计语言的技术特性不应包括()。

A.数据结构的描述性

B.抽象类型的描述性

C.数据库的易操作性

D.软件的可移植性

27、以下哪种测试方法不属于白盒测试技术()。

A.语句覆盖测试

B.边界值分析测试

C.条件覆盖测试

D.判断覆盖测试

28、软件测试的主要特点是()。

A.软件测试的开销不大 B.软件测试要依靠工具

C.软件不能进行“穷举”测试 D.软件测试要依靠人工

29、在软件生存期的维护阶段,继续诊断和修正错误的过程称为()。

A.完善性维护

B.适应性维护

C.预防性维护

D.改正性维护

30、不属于软件项目管理的是()。

A.开发机构能力评估

B.项目风险评估

C.质量监控

D.软件销售利润

31、用()模型描述和分析业务流程。

A.静态

B.业务

C.数据

D.动态

32、用()描述系统与角色之间的接口。

A. 表单

B.界面类

C.窗体

D.对话框

33、对类进行详细设计,主要是设计类的(),优化类之间的关系。

A. 数据结构

B.处理流程

C. 属性和方法

D.算法

34、面向对象设计强调定义(),并且使它们相互协作来满足用户需求。

A.软件对象

B.物理模型

C.E-R模型

D.接口

35、软件测试的目标是设计优秀的测试用例()。

A.最快速地找出程序中的问题

B.以最小的代价、在最短的时间内尽可能多地发现软件中的错误

C.保障程序的正确性

D.区分出程序员的编程水平

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

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

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

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

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

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

A.运行环境变化

B. 需求变化

C.系统有错

D.以上全部

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

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

39、现在人们更强调程序代码的()。

A.可维护性

B.可移植性

C.可扩充性

D.高效性

40、程序的三种基本控制结构,包括顺序结构、()和循环结构。

A.判断结构

B.说明结构

C.输入结构

D.输出结构

41、软件、程序和代码是()。

A.相同的软件概念

B.程序语言写的代码

C.计算机代码和数据

D. 三个不同的概念

42、下面哪个选项不是软件工程研究的内容()。

A. 生产无故障的软件

B. 精通一门编程语言

C.生产满足用户需求的软件

D.生产及时交付的软件

43、SW-CMM是一种()规范。

A.编程规范

B.软件工作通用模型

C.软件设计模型

D.软件成熟度模型

44、可行性研究实质上是在较高层次上、以较抽象的方式进行()的过程。

A.详细软件设计

B.需求分析过程

C.深入的需求分析

D.测试设计

45、与传统行业的生产相比较,软件的需求具有()。

A.主观性

B.稳定性

C.明确性

D.客观性

46、源程序的效率与()阶段确定的算法的效率直接有关。

A.概要设计 B. 总体设计 C. 单元设计 D. 详细设计

47、画DFD 图的主要目的是()。

A.作为需求分析阶段用户与开发者之间交流信息的工具

B.对系统的数据结构进行描述

C.对目标系统的层次结构进行描述

D.作为编码和测试的工具

48、耦合度最高的是()。

A.外部耦合

B.内容耦合

C.控制耦合

D.数据耦合

49、为了提高模块的独立性,模块之间最好是()。

A. 控制耦合

B. 公共耦合

C. 内容耦合

D. 数据耦合

50、UML是一种()。

A.建模工具

B.可视化的程序设计语言

C.可视化的建模语言

D.过程

51、美国卡内基﹒梅隆大学制定的SW-CMM是()。

A.软件工作规范

B.软件工作流描述

C.软件成熟度模型

D.软件描述的一般方法

52、螺旋模型是一种考虑了()的软件开发模型。

A.效率

B.风险判断

C.可移植性

D.安全性

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

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

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

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

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

54、软件调研报告是在()提交的。

A. 可行性分析之前

B. 需求分析之前

C.签合同之前

D.设计的时候

55、描述软件需求通常不用哪个工具()。

A.数据流程图

B.数据字典

C.模块结构图

D.E-R图

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

A.模块B.调用参数C.返回结果D.判断

57、程序流程图与数据流程图的关系()。

A.不确定B.数据流程图可以转换成程序流程图

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

58、包含关系用于构造多个用例()。

A. 关系

B.共性的部分

C.角色

D.特殊活动

59、如果说用例F被用例T扩展,意思是()。

A.F是一个一般用例,T是一个特殊用例

B.F是一个特殊用户,T是一个一般用例

C.都是一般用例

D.都是特殊用例

60、用()对需要长久保存的信息进行建模。

A.实体类

B.数据库表

C.E-R图

D.对象类

61、面向对象程序设计的基本机制()。

A.继承

B.消息

C.方法

D.结构

62.表示对象相互行为的模型是()模型。

A. 动态模型

B. 功能模型

C. 对象模型

D. 状态模型

63、对象模型描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结

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

A.顺序图

B.类图

C.状态图

D.组件图

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

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

65、面向对象设计的步骤中,正确的顺序是()。

A.系统构架设计、用例设计、类设计

B.系统构架设计、数据库设计和用户界面设计

C.类设计、用例设计、构架设计

D.用例设计、构架设计、类设计

66、软件维护过程中产生的副作用,一般是由()引起的。

A.算法说明

B.修改程序

C.优先级

D.环境要求

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

A.估算项目的进度

B.分配工作量

C.计划资源使用

D.以上全部

68、如果程序代码的()好,则调试的成本就可以大幅度降低。

A.性能比

B. 可扩充性

C. 可读性

D.可移植性

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

A.X0==X1

B.X1-X0<ε

C. |X0-X1|<ε

D.X0=X1

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

A.用户容易参与开发B.适用可变需求 C.用户与开发者易沟通 D.缺乏灵活性

71、面向对象设计首先要确定系统的总体结构和风格,构造系统的()。

A.逻辑模型

B.物理模型

C.数据模型

D.用例模型

72、面向对象设计的步骤中,正确的顺序是()。

A.系统构架设计、用例设计、类设计

B.系统构架设计、数据库设计和用户界面设计

C.类设计、用例设计、构架设计

D.用例设计、构架设计、类设计

73、类有3种类型,即()。

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

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

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

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

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

A.消息连接

B.参数传递

C.方法重写

D.继承

75、结构化程序设计主要强调的是()。

A.程序的规模

B.程序效率

C.程序语言的先进性

D.程序易读性

76、程序的三种基本控制结构,包括顺序结构、()和循环结构。

A.条件/判断结构

B.说明结构

C.输入结构

D.输出结构

77、一般性的软件其测试工作量大约占整个开发工作量的()。

A.小于10%

B.40%

C.90%

D.大于100

78、下面哪些测试方法属于黑盒测试()。

A.路径测试 B.等价类划分 C.条件判断 D.循环测试

79、软件特性中,相互矛盾的是()。

A.可理解性与可测试性

B.效率与可修改性

C.可修改性和可理解性

D.可理解性与可读性

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

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

二、简答题

1、请说明快速原型化模型的基本思想。

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

3、请举例说明用例之间的包含关系和扩展关系的区别?

4.简述在项目开发时选择程序设计语言的主要考虑的因素。

5.设计下列伪程序的条件组合覆盖测试用例。

BEGIN

INPUT(x,y,z)

IF(y>1) AND (z=0) THEN

x=x/y

END IF

IF(y=2) OR(x=l) THEN

x=x+l

END IF

PRINT(x)

END

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

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

8、软件需求可以分为业务需求、用户需求、功能需求和非功能需求,请分析业务需求与功能需求的区别?

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

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

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;

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

}

11、什么是软件危机?试简述至少3种软件危机的典型表现。

12、试分析结构化方法存在的主要问题是什么?

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

14、为了提高软件的可维护性,在软件开发过程的各个阶段要充分考虑软件的可维护性因素。

15、设计下列伪程序的语句覆盖测试用例。

BEGIN

INPUT(A,B,C)

IF A>5 THEN

X=10

ELSE

X=1

END IF

IF B>10 THEN

Y=20

ELSE

Y=2

END IF

IF C>15

THEN Z=30

ELSE Z=3

END IF

PRINT(X,Y,Z)

END

16、简述软件过程模型

17. 简述结构化分析的主要步骤

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

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

20、一个程序片段如下,请设计符合判定覆盖的测试用例。

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);

三、应用题

1、学校教师工资管理系统的需求描述如下:教师每月末将本月的工作量输入到系统中,学院负责人对教师输入的工作量进行审核,财务部门对审核后的工作量计算本月工资,本月工资=基本工资+各种补贴+工作量奖金-税收-保险一公积金金。基本工资、各种补贴、

保险、公积金信息由人事处负责输入和维护,教师可以查询月工资明细。银行系统每月从本系统读入每位教师的实发工资,并向每位教师的银行卡帐户打入月工资。教师可以查询自己银行卡的金额。

请针对上面描述的需求画出数据流程图。

2、用用例图描述图书管理。该系统主要包括三类用户:读者、图书管理员、系统管理员。其中,读者是多个,图书管理员是一个,系统管理员是一个。对于系统,读者可以查询自己的借阅情况、分门别类的查询图书和在规定期限内续借不能超过一次操作的情况下进行自行登录续借书等。图书管理员主要是日常操作以下几个工作环节:图书订购、新书验证、书目录入、图书登记、读者信息管理、借阅书登记、图书信息注销和读者信息注销等,而系统管理员统筹管理图书的系统相关事宜,比如权限维护、日志维护、增删用户和管理系统后台数据等。

3、某企业的设备维修委托给专业的技术公司完成,现在要开发软件对设备维修信息进行管理,具体描述如下:

车间主任填写维修申请单,内容有设备名称、型号、故障描述、维护时间要求、预计费用;填好后交给审计人员,审计人员根据企业的审计规定对维修申请单进行审计,填写审计意见和审计结果,审计意见可以修改费用,审计结果是同意或不同意;车间主任可以随时查询审计意见和结果;审计通过的维修申请单送给总经理进行审核,并填写审核意见和结果,审核也是以修改费用,审核结果是同意或不同意。审核通过后,车间把设备送去维修。维修后由车间主任组织对设备维修结果进行验收,企业对每台有设备验收标准。验收通过后,由财务人员进行结算,填写支付单并支付维修费。最后收取发票后,财务人员填写发票记录。

请画出设备维修信息管理软件的数据流程图。

4、现在有一个医院病房监护系统,请根据用户需求建立系统的Use Case模型。用户提出的系统功能要求如下:在医院病房监护系统中,病症监视器安置在每个病房,将病人的病症信号实时传送到中央监视系统进行分析处理。在中心值班室里,值班护士使用中央监视系统对病员的情况进行监控,根

据医生的要求随时打印病人的病情报告,系统会定期自动更新病历。当病症出现异常时,系

统会立即自动报警,通知值班医生及时处理,同时立即打印病人的病情报告,立即更新病历。请按上述描述,画出系统的用例图。

软件工程考试题一答案

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

答案

1. B

2.A

3. C

4. A

5.D

6. D

7.A

8. B

9. C 10. B

11.D 12.A 13.A 14.A 15.C

16.D 17.C 18.D 19.A 20.C

21.C 22.C 23.D 24.D 25.C

26.D 27.B 28.C 29.D 30.D

31. D 32. B 33.C 34. A 35.B

36. B 37.D 38.C 39. A 40. A

41.D 42.B 43.D 44.B 45.A

46.D 47.A 48.B 49.D 50.A

51.C 52.D 53.A 54.B 55.C

56. D 57.A 58.B 59.A 60.C

61.A 62.A 63.B 64.C 65.A

66.B 67.D 68.C 69.C 70.D

71.B 72.A 73.B 74.D 75.D

76. A 77.B 78.B 79.B 80.D

二、简答题

1、答案

在需求分析的同时,以比较小的代价快速建立一个能够反映用户主要需求的原型系统。用户在原型系统上可以进行基本操作,并且提出改进意见,分析人员根据用户的意见完善原型,然后再由用户评价,提出建议,如此往复,直到开发的原型系统满足了用户的需求为止。基于快速原型化模型的开发过程基本上是线性的,从创建系统原型到系统运行,期间没有反馈环。这是由于开发人员是在原型的基础上进行系统分析和设计,而原型已经通过了用户和开发组的审查,在设计阶段由于有原型作设计参考,所以设计的结果正确率比较高。

评分标准:原型描述基本正确6分。

2、答案

(1)软件工程强调规范化和文档化。规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。

(2)文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。

评分标准:每条3分

3、答案

包含关系用于构造多个用例共同的活动。例如,在ATM系统中,取钱、查询、更改密码等功能都需要验证用户密码。这种情况下应该将密码验证功能独立出来,便于复用、减少冗余。一个用例扩展另一个用例的功能,例如,在图书馆信息管理系统中,读者还书时,系统检查所还图书是否有预订记录,如果有则执行“通知”用例。

评分标准:包含关系3分;扩展关系3分。

4.答案

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

●待开发的软件类型;

●算法和计算复杂性;

●数据结构的复杂性;

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

●软件可移植性要求;

●可用的软件工具。

评分标准:答对其中任意六项,每项1分。

5、答案

条件组合覆盖标准为,使得每个判定表达式中条件的各种可能组合都至少出现一次。

本程序中共有两个判定表达式,每个判定表达式中有两个简单条件,因此,总共有8种可能的条件组合,它们是:

y>1, z=0

y>1, z<>0

y<=1, z=0

y<=1, z<>0

y=2, x=1

y=2, x<>1

y<>2, x=1

y<>2, x<>1

条件组合覆盖设计测试用例:

实现1,6两种条件组合

输入:x=4,y=2, z=0;

实现 2,5两种条件组合

输入:x=1,y=2, z=1;

实现 3,8两种条件组合

输入:x=2 ,y=1, z=0;

实现 4,7两种条件组合

输入:x=1,y=1, z=1.

评分标准:分析2分,每测试用例各1分。

6. 答案

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

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

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

原理4.采用现代程序设计技术

原理5.结果应能清楚地审查

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

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

评分标准:每个原理1分

7、答案

结构化程序设计的特征如下:程序模块只有一个入口和一个出口、程序中只包含顺序、条件和循环三种控制结构。

评分标准:6分。

8、答案

业务需求是用户高层领导机构决定的,它确定软件的目标、规模和范围。业务需求一般在进行需求分析之前就应该确定,需求分析阶段要以此为参照制定需求调研计划、确定用户核心需求和软件功能需求。业务需求通常比较简洁,大约三~五页纸就可以描述清楚,也可以将它直接作为需求规格说明书中的一部分。

功能需求定义了软件开发人员必须实现的软件功能。用户从他们完成任务的角度对软件提出了用户需求,这些需求通常是凌乱的、非系统化的、有冗余的,开发人员不能据此编写程序。软件分析人员要充分理解用户需求,将用户需求整理成软件功能需求。开发人员根据功能需求进行软件设计和编码。

评分标准:业务需求和功能需求各占3分。

9、答案

模块独立性, 是指软件系统中每个模块只涉及软件要求的具体的子功能, 而和软件系统中其它的模块的接口是简单的。一般采用两个准则度量模块独立性。即模块间耦合和模块内聚。耦合是模块之间的互相连接的紧密程度的度量。内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。模块独立性比较强的模块应是高内聚低耦合的模块。评分标准:正确模块独立性(2分);正确说明内聚概念(2分);正确说明耦合概念(2分)

10、答案

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分。

11、答案

(1)软件危机是指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。

(2)典型表现:

●开发费用和进度难以估算和控制,大大超过预期的资金和规定日期;

●软件需求分析不够充分,用户不满意“已经完成”的软件系统。

●软件质量难于保证;

●软件维护困难;

●通常没有保留适当的文档资料

●开发成本逐年上升;

●软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势

评分标准:概念3分,表现3分(每条1分)。

12、答案

1)结构化方法分析和设计阶段所应用的模型之间存在鸿沟。分析阶段的主要模型是数

据流程图,设计阶段的主要模型是软件模块结构图,数据流程图和软件模块结构图

之间需要进行转换。不同的人转换出的模块图可能不同,有很大的随意性。

2)需求分析的细化程度没有标准,只能凭借分析人员的经验自己把握;需求分析的过

程是在一种瀑布形式,当需求变更时,功能变化就会导致软件模块结构发生变化,造成了软件结构不稳定。

3)结构化程序设计将数据定义与处理数据的过程相分离,不利于软件复用。

4)结构化方法设计的软件结构不稳定,缺乏灵活性,可维护性差。

评分标准:只要回答出以上三点即给6分。

13、答案

a)功能模型:表达系统的详细需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由用例图和场景描述组成。

b)对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。在面向对象方法中,类图是构建对象模型的核心工具。

c)动态模型:描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制”特性。面向对象方法中,常用状态图、顺序图、合作图、活动图构建系统的动态模型。

14、答案

(1)在需求分析阶段应该明确维护的范围和责任,检查每条需求,分析维护时这条需求可能需要的支持,对于那些可能发生变化的需求要考虑系统的应变能力。

(2)在设计阶段应该做一些表更实验,检查系统的可维护性、灵活性和可移植性,设计时应该将今后可能变更的内容与其他部分分离出来,并且遵循高内聚、低耦合的原

则。

(3)编码阶段要保持源程序与文档的一致性、源程序的可理解性和规范性。

(4)在测试阶段测试人员应该按照需求文档和设计文档测试软件的有效性和可用性,收集出错信息并进行分类统计,为今后的维护打下基础。

评分标准:每条1.5分。

15、答案

因为每个判定表达式为真或假时均有赋值语句,为了使每个语句都至少执行一次,总共需要两组测试数据,以便使得每个判定表达式取值为真或假各一次。下面是实现语句覆盖的典型测试用例:

(1)使3个判定表达式之值全为假

输入:A=1,B=1,C=1

预期的输出:X=1,Y=2,Z=3

(2)使3个判定表达式之值全为真

输入:A=20,B=40,C=60

预期的输出:X=10,Y=20,Z=30

评分标准:分析2分,每个用例各2分。

16、答案

(1)软件过程是人们开发和维护软件及相关产品的活动、方法、实践和改进的集合。

它明确定义软件过程中所执行的活动及其顺序,确定没一个活动内容和步骤,定

义每个角色和职责。

(2)软件工程将软件开发和维护的过程概况为8个大的活动:问题定义、可行性研究、需求分析、总体设计、详细设计、编码、系统测试和运行维护。

评分标准:每条3分。

17. 答案

(1)根据用户的需求画出初始的数据流程图,写出数据字典和初始的加工处理说明(IPO 图),实体关系图。

(2)以初始数据流程图为基础,从数据流程图的输出端开始回溯。在对数据流程图进行回溯的过程中可能会发现丢失的处理和数据,应将数据流程图补充完善。

(3)对软件性能指标、接口定义、设计和实现的约束条件等逐一进行分析。

(4)系统分析人员与用户一起对需求分析的结果进行复查。

(5)根据细化的需求修订开发计划。

(6)编写需求规格说明书和初始的用户手册,测试人员开始编写功能测试用的测试数据。评分标准:每条1分。

18.答案

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

(2)耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。

(3)内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。模块内元素联系越紧密,内聚性越高。

评分标准:每条2分。

19. 答案

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

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

图。

评分标准:每条3分。

20、答案

判断覆盖标准为,不仅使条语句都至少执行一次,还要使程序中每个分支都至少执行一次。也就是说,设计的测试用例使每个判定都有一次取“真”和“假”的机会。

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

评分标准:分析2分,每个测试用例各占2分。

三、应用题

1.答案

评分标准:只要画出工作量输入、审核、计算工资、工资入卡、基本信息管理和查询明细的基本流程就给满分,缺一个减1分;所用符号错误减2分,流程不通减2分。

2答:参考答案

3.答

IPO1

维修申请

DS2审计条款

车间主任

DS1申请记录

IPO2

审计

IPO3

总经理审核

DS3审计结果DS4审核结果

IPO4

查询结果

IPO6

结算

IPO7

验收

IPO5

发票管理

DS5付费标准

DS8验收结果DS9验收标准

总经理

车间主任

财务人员

DS6发票管理

DS7付费记录

申请

申请

记录

查询指令

申请

记录

审计条款

审计

结果

审计结果

审计

通过

审核

审核结果

审核

通过

验收

付费

标准

验收

结果

验收

标准

验收

通过

付费

记录

发票信息

结算

发票

信息

评分标准:只要画出申请、审计、审核、验收、结算和发票的基本流程就给满分,缺一个减1分;所用符号错误减2分,流程不通减2分。

4.答:参考答案

软件工程习题及详细答案

个人收集整理勿做商业用途 软件工程习题及答案 一、选择题: 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、数据流和文件均不要命名,通过加工可自然反映出

软件工程专业认识实习报告 - 副本

软件工程专业 软件项目实践(认识实习)报告 教学单位软件学院 班级软件13-3班 学生姓名 学号 132001031 实习时间 2015.6.29-2015.7.10 指导教师 辽宁工程技术大学教务处制

目录 1 实习时间 (1) 2 实习目的 (1) 3 实习项目及内容 (1) 3.1 校内实习内容总结 (1) 3.2 校外实习内容总结........................... .. (11) 4 存在的问题 ........................... (20) 5 总结与展望 .............................. (21)

人能力有问题。这也是领导最不想听到的话,不要轻易说不。我们不会,完全可以借这个机会去学习,去查资料,但我们不能说不。 第五,不要把工作的活拖到明天,那样会越来越多,也不要在工作期间老是打酱油,否则经理一怒之下,临下班的时候,给你发过来一个任务,让你务必今天完成,那你就悲剧了,还是木有加班费的加班。 第六,没有任务了,就主动去问经理还有没有任务了,和经理处好关系很重要,以后有什么好事都会想到你的,倘若实在是没事了,那就多测测自己的项目。 第七,多学学英语还是有点好处的。 第二次报告: 主要关于Linux的有关知识和如何去学好它: 1.掌握至少50个以上的常用命令。 2.熟悉Gnome/KDE等X-windows桌面环境操作。 3.掌握.tgz、.rpm等软件包的常用安装方法 4.学习添加外设,安装设备驱动程序(比如网卡) 5.熟悉Grub/Lilo引导器及简单的修复操作。 6.熟悉Linux文件系统和目录结构。 7.掌握vi,gcc,gdb等常用编辑器,编译器,调试器。 8.理解shell别名、管道、I/O重定向、输入和输出以及shell脚本编程。 9.学习Linux环境下的组网。 第三次报告: Oracle数据库 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。 Oracle数据库最新版本为Oracle Database 12c。Oracle数据库12c 引入了

软件工程期末试题(含答案)解析

一、填空题(每空1分,共25分) 1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行 和维护。 2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。 3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方 案可行性等方面研究。 4.系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子 形式描绘系统里面的每个部件 5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文 件。 6.结构化分析方法是面向_数据流_进行需求分析的方法。结构化分析方法使用_数据流图DFD_与_ 数据字典_来描述。 7.继承性是自动地共享类、子类和对象中的方法和数据的机制。 8.软件详细设计工具可分为3类,即_图示工具_、_设计语言_和_表格工具_。 9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___ 测试_。 10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。 二、单项选择题(每小题2分,共20分) 1.软件设计中划分模块的一个准则是(C )。 A、低内聚低耦合 B.低内聚高耦合C.高内聚低耦合 D.高内聚高耦合 2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( C )的软件设计方法。 A、对象 B.数据流 C.数据结构 D.控制结构 3.试判断下列叙述中,哪个(些)是正确的( C )。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a B、b C、c D、b和c 4.( A )是用户和设计交换最频繁的方法。 A、原型化方法 B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型 5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证 是( C )。 A、硬件环境 B、软件开发的环境 C.软件开发工具和软件开发的环境 D、开发人员的素质 6.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言 ( D )。 A、PASCAL B、 VISUAL BASIC C. C++ D、汇编语言 7.软件测试的目的是?( D ) A、证明软件的正确性 B.找出软件系统中存在的所有错误 C.证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误 8.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。 A、程序的内部逻辑 B、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 9.软件维护工作的最主要部分是( C )。 A、校正性维护 B、适应性维护 C.完善性维护 D、预防性维护

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

第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. 假

软件工程专业认知

软件工程专业认知 计算机专业分方向我选择的是软件工程这个方向。软件工程是应用计算机 科学、数学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程 的原则、方法,以提高质量、降低成本。其中,计算机科学、数学用于构 建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及 确定权衡,管理科学用于计划、资源、质量、成本等管理。这个方向的学科基础选修课有:软件质量管理与测试、软件体系结构、软件项目管理以及软件复用技术。 软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移 植性、可追踪性和可互操作性并且满足用户需求的软件产品。追求这些目 标有助于提高软件产品的质量和开发效率,减少维护的困难。 软件质量管理与测试:质量管理在软件工程中是非常非常重要的一个环节,无论你有多么精妙的算法,或是使用了多么先进的技术,还是拥有了多少强的设计,在质量控制或质量管理面前,这些都可能什么都不是。这里,有一些质量管 理的法则,可以让软件的用户从中受益。如果对质量管理一言以蔽之:面对一个长期不断需要改善的软件,当其用户或是管理者们来说,他们对某个组织所提供的标准有一种完全和最基本的信任。软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。 软件体系结构:软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。 软件项目管理:软件项目管理的对象是软件工程项目。它所涉及的范围覆盖了整个软件工程过程。为使软件项目开发获得成功,关键问题是必须对软件 项目的工作范围、可能风险、需要资源(人、硬件/软件)、要实现的任务、经历的里程碑、花费工作量(成本)、进度安排等做到心中有数。这种管理在技术工

《软件工程》期末考试及答案

《软件工程》 期末考试试卷 考生注意:1.本试卷共有五道大题,满分100分。 2.考试时间90分钟。 3.卷面整洁,字迹工整。 4.填写内容不得超出密封线。 一、名词解释题(每小题3分,共15分) 1.软件生存周期模型 2.数据字典DD

3.内聚性 4.JSP方法 5.多态性 二、填空题(每空2分,共20分) 1.在软件开发过程中要产生大量的信息,要进行大量的修改,能协调软件开发,并使混乱减到最低程度。

2.规定功能的软件,在一定程度上对自身错误的作用具有屏蔽能力,则称此软件具有的软件。 3.McCall提出的软件质量模型包括个软件质量特性。 4.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、、可使用性和效率。 5. 为了便于对照检查,测试用例应由输入数据和预期的两部分组成。 6. 程序设计语言的心理特性主要表现在、简洁性、传统性、局部性和顺序性。 7. 软件结构是以为基础而组成的一种控制层次结构。 8. 使用类创建对象的过程实际上是类的过程。 9. 结构化语言是介于自然语言和之间的一种半形式语言。 10.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P= 。 三、简答题(每小题5分,共20分)

2.以G.J.Myers的观点,简述对软件测试的目的。 3.就程序设计语言的工程特性而言,对程序编码有哪些要求? 4.模块的内聚性包括哪些类型?

四、理论应用题(每小题15分,共30分) PDL语言描述在数组A(1)~A(10)中找最大数的算法。 2.根据下列条件使用等价类划分法设计测试用例。某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065。

-软件工程习题答案参考

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

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

对软件工程的认识

我对软件工程的认识 随着软件危机的存在才慢慢地产生了对软件工程的认识,在软件开发和维护的过程中存在着很多严重的问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关,逐渐地产生了软件工程。 软件危机的表现: i)软件开发成本难以控制、软件开发进度难以预测。 费用超支、进度拖延的情况屡屡发生。有时为了赶进度或压成本不得不采取一些权宜之计,这样又往往严重损害了软件产品的质量。 ii)软件的可靠性差,产品质量无法保证。 软件是逻辑产品,质量问题很难以统一的标准度量,因而造成质量控制困难。尽管耗费了大量的人力物力,而系统的正确性却越来越难以保证,出错率大大增加。 iii)生产出来的软件难以维护 很多程序缺乏相应的文档资料,程序中的错误难以定位,难以改正,有时改正了已有的错误又引入新的错误。随着软件的社会拥有量越来越大,维护占用了大量人力、物力和财力。 iiii)软件成本在计算机系统总成本中所占的比例居高不下,且逐年上升。 由于微电子学技术的进步和硬件生产自动化程度不断提高,硬件成本逐年下降,性能和产量迅速提高。然而软件开发需要大量的人力,软件成本随着软件规模和数量的剧增而持续上升。 iiiii)软件开发生产率提高的速度远远满足不了计算机应用迅速普及深入的需要。软件产品供不应求的状况使得人类不能充分利用现代计算机硬件所能提供的巨大潜力。 iiiiii)用户对产品功能难以满足。 开发人员和用户之间很难沟通、矛盾很难统一。往往是软件人员不能真正了解用户的需求,而用户又不了解计算机求解问题的模式和能力,双方无法用共同熟悉的语言进行交流和描述。

软件工程是将系统的、科学的和严密的方法应用于设计、开发、运行和维护软件,以及对这些方法本身的研究,也就是将工程应用于软件,它由方法、工具和过程三部分组成,而软件是计算机系统中程序、数据和文档的集合。程序是用程序设计语言描述的、适合计算机处理的语句序列,数据是使程序能够适当地处理信息的数据结构,文档是软件开发、使用和维护程序所需要的图文资料。软件具有个体化、规模庞大、维护复杂和长期性的特点。软件又分为应用软件和系统软件。应用软件是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。而系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,使得他们可以协调工作。 软件工程的框架可以概括为:目标、过程和原则。 (1)软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。 (2)软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。

软件工程期末试题(部分答案)

选择题 . 开发软件的高成本和产品的低质量之间有着尖锐的矛盾,这称作()。.软件投机.软件危机.软件工程.软件产生 . 软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是()。 .引入新技术提高空间利用率.用较少的投资获得高质量的软件.缩短研制周期扩大软件功能.硬软件结合使系统面向应用 . 瀑布模型把软件生存周期划分为软件定义、软件开发和()三个阶段,而每一阶段又可细分为若干个更小的阶段。 .详细设计.可行性分析.运行及维护.测试与排错 . 一个软件项目是否进行开发的结论是在()文档中作出的。 .软件计划.可行性报告.测试报告.需求分析说明书 . 常用的成本估计技术不包括()。 .任务分解.自动估计成本.代码行.投资回收估算 . 需求分析说明书不能作为()。 .可行性研究的依据.用户和开发人员之间的合同.系统概要设计的依据.软件验收测试的依据 . 需求分析需要确定的系统基本需求不包括()。 .开发语言.功能.性能.接口 . 状态图中定义的状态不包括()。 .初态.终态.中间状态.事件 . 验证软件正确性不包括()。 .一致性.易操作性.完整性.有效性 . 软件的()设计主要任务是建立软件系统的总体结构。 .总体.抽象.逻辑.规划 . 下面()不是模块化设计的目的。 .可采用结构化设计方法.降低复杂度 .有利于信息隐蔽.描述系统的功能与性能 . 模块内部的算法设计在结构化方法的()阶段进行。 .系统分析.概要设计.详细设计.可行性分析 . ()先于任何技术活动之前开始,贯穿于软件的整个生命周期中。 .项目计划.风险评估.软件测试.软件项目管理 . 实现包括编码和()两个阶段。 .选择开发工具.测试.数据库设计.程序复杂度计算

我对软件工程专业的认识

班级:姓名:学号: 我对软件工程专业的认识 软件工程这个专业,当初并不了解,只是自认为对计算机比较感兴趣,于是选择了一些和计算机有关的专业,最后,在各种机缘巧合下,我来到了杭州电子科技大学的软件工程学院。 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用都促进了经济和社会的发展,也提高了工作和生活效率。 以上来源于百度百科软件工程。看这段话,也只是非常粗略地介绍了一下软件工程。而我对于软件工程,仍然是模糊一片。进入大学后,经过三四个月的学习以及学校开办的《软件工程专业学科导论》课程,我对软件工程有了新的认识。 在《计算机科学及时百科全书》中,对计算机软件做出如下定义:计算机软件指计算机系统中的程序及其文档。程序是计算任务的处理对象和处理规则的描述。任何以计算机为处理工具的任务都是计算任务,处理对象是数据(如数字、文字、图形、图像、声音等)或信息(数据及有关的含义)。处理规则一般指处理的动作和步骤。文档是为了便于了解程序所需的阐述性资料。 上面对于软件的描述强调抽象的逻辑定义,我们在使用计算机时用到的软件可以帮助我们更好地理解。例如Microsoft office 、腾讯QQ、Photoshop、迅雷等等,这些软件已经渗 入我们的生活,为我们提供不同的服务,包括办公、聊天、绘图、下载等等。随着计算机的普及程度越来越高,其所适用范围也越来越广,而我们对软件的需求也会越来越大,甚至依赖于软件。我相信,随着软件的更新发展,软件将能够满足人们的各种需求,所谓,软件工程,无所不能。 对于软件的大量需求,我们是否有足够的能力去研制和开放呢?著名软件工程专家 B.Boehm综合有关专家和学者的意见并总结了多年来开发软件的经验,于1983年在一篇 论文中提出了软件工程的七条基本原理。 (1)用分阶段的生存周期计划进行严格的管理。 (2)坚持进行阶段评审。 (3)实行严格的产品控制。 (4)采用现代程序设计技术。 (5)软件工程结果应能清楚地审查。 (6)开发小组的人员应该少而精。 (7)承认不断改进软件工程实践的必要性。 B.Boehm指出,遵循前六条基本原理,能够实现软件的工程化生产;根据第七条原理,不仅要积极主动地采纳新的软件技术,而且要注意不断总结经验,才能开发一款好软件。现在市场上有非常多的软件企业,软件的数量也是不计其数,可当中适合人们需求,使用方便,易于掌握的软件又有多少呢?从目前的情况来看,企业研发软件的成本还是很高,研发周期仍需要比较长的时间,孕育出来的软件仍需要不断地修改完善。为了提高软件的研发效率,降低软件的研发成本,保证软件的质量,软件工程学科应运而生。人类5000年的文明历史,工程建设领域可谓硕果累累,这当中很重要的一点是工程建设领域的生产模式已经比较成熟,

软件工程实践实验指导书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.软件测试的目的是()。 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)如何组织软件评审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)编码

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

第一章 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.软件程序测试的目的是发现程序中的错误,其主要任务是通过在计算机上执行程序,暴露程序中潜在的错误。

软件工程认识实习报告

软件工程认识实习报告 专业班级:csdn-java 学生姓名:曹炳旭 随着软件工程学习的深入,除了对基本专业知识的掌握外,对软件工程总体的把握显得越来越重要,因此这次认识实习学到的知识对于我们认识软件工程和规划今后道路来说非常重要,通过这次认识实习,了解了软件工程的定义、目的历史、热点问题等,掌握了软件开发的流程,编程语言和行业现状。并对今后的学习和职业道路有了自己的规划,明确了自己的方向。 软件工程认识实习 一、认识软件工程 1、软件工程定义与目的 (1)软件工程定义软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。 (2)软件工程的目的软件工程的目标是明确的,就是研制开发与生产出具有良好的软件质量和费用合算的产品。费用合算是指软件开发运行的整个开销能满足用户要求的程度。软件质量是指该软件能满足明确的和隐含的需求能力的有关特征和特性的总和。 2、软件工程的内容 (1)软件工程研究内容软件工程学主要研究软件结构、软件设计方法

论、软件工具、软件工程标准和规范,以及与软件工程有关的理论等。 (2)软件工程学习的内容从软件的生产管理技术来分:软件的需求定义和分析技术;软件设计技术和设计审查技术;软件设计表现技术;软件测试技术;软件可靠性的理论及其评价方法;软件扩充和维护;软件成本估算等。从内容上可分为理论、结构、方法、工具等部分。其中理论与结构是方法论与工具的基础及前提。在方法论与工具方面存在着这样的关系:为了找出行之有效的方法就应该具备合适的工具;反之,为了制造、改进软件工具,也应先有合适的方法3、软件工程的发展历史 (1)、早期软件的出现计算机出现之前,就已经有很多数学家为计算机软件的出现打下了坚实的数学理论基础,比如著名的数学家“阿兰.图灵”和他的导师一起努力,在20世纪三、四十年代年代就创建立了“图灵机”理论,从理论上解决了计算机软件和核心——“计算复杂性”以及“算法表示”问题。(2)、现代计算机软件的问世1946年,伴随着第一台电子计算机的问世诞生了。以写软件为职业的人也开始出现,他们多是经过训练的数学家和电子工程师,硬件通常用来执行一个单一的程序,而这个程序又是为一个特定的目的而编制的。1954年,“约翰.巴科斯”建立了高级语言的思想,并设计出了世界上第一个真正意义上(至今广泛应用)的高级语言,第一个完全脱离机器硬件的高级语言—Fortran问世1961年第一个数据库管理系统—IDS由通用电气(GE)公司的Charles Bachman开发出。 (3)软件危机的出现 60年代中期软件开始作为一种产品被广泛使用,出现了“软件作坊”专职应别人的需求写软件。“软件危机”就这样开始了!1968年北大西洋公约组织的

软件工程实验指导书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应用程序。

软件工程习题参考答案

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

软件工程专业认识实习

××学院 学生实习报告 实习名称认识实习 实习时间2017.10.23~2017.10.29 实习地点 专业班级 学生学号 学生姓名 指导教师 教学单位(盖章) 二O一七年十月二十九日

实习报告正文内容及格式要求: 1.题目……………………………黑体,小三号,居中 2.实习时间………………………黑体,五号,左对齐…(正文:宋体,五号) 3.实习目的………………………黑体,五号,左对齐…(正文:宋体,五号) 4.实习单位综合概述……………黑体,五号,左对齐…(正文:宋体, 五号) 5.实习内容及进度………………黑体,五号,左对齐…(正文:宋体, 五号) 6.实习体验与心得………………. 黑体,五号,左对齐…(正文:宋体,五号) 7.结论……………………………. 黑体,五号,左对齐…(正文:宋体,五号) 实习报告撰写要求: 1、文字通顺,语言流畅。 2、图表整洁,布局合理,须按国家规定的绘图标准绘制。 3、毕业实习报告字数不少于3千字。 4、使用德州学院学生实习报告统一用纸(A4纸)打印或书写,其他默认。 注:1、各专业可根据不同的实习类型适当调整报告内容。 2、实习报告交所在系存档,其中评选出5%的优秀实习报告复制后交教务处存档。

认识实习报告 实习时间 2017年10月23日至2017年10月29日。 实习目的 (1)了解计算机等的IT行业,并且能够参与到IT行业; (2)了解计算机技术和信息处理技术的应用现状、前景以及对IT人才的需求; (3)了解本专业的知识体系结构,向学生介绍大学四年的基本课程体系结构; (4)了解本专业知识在社会的应用领域及重要性,从而加强学生对专业的感性认识,培养学生的专业学习兴趣,提高学生的专业基本素质,为以后的专业学习和未来的人生职业规划奠定良好的基础。实习单位综合概述 1、QST青软实训创建于2006年,是从事专业化职业培训(教育)和企业人力资源服务的机构。总部设于青岛软件园培训中心,并设有QST青岛高新区基地、QST大连软件园基地、QST如皋软件园基地(江苏省省级高新技术开发区),是国内早批通过ISO9001:2000的大学生IT实训机构。成立以来,已与全国上百所高校进行合作,开展了实训、短训、课程置换、N+1、合办软件工程专业、共建二级学院等业务,成功向社会输送了万余名专业的IT人才。 根据IT企业对人才资源的需求趋势,提供成本可控的定时、定量、定制的IT人力资源服务--RTO 锐聘,为不同需求IT企业提供从招聘外包、定制培养到人才租赁的整体解决方案,帮助企业招到人、培训好人、使用好人。 总部位于青岛,是通过ISO9001:2000的大学生IT实训机构。经过多年的发展,QST青软实训已经成为专业化大学生实训和企业IT人力资源解决方案提供商。 2、北京恩源科技有限公司 北京恩源科技有限公司1999年起步于青岛,是国内较早从事互联网信息服务的公司,是国内专业的区域互联网+服务提供商及系统集成商,截至2015年底,公司在全国范围内设立近100个管理中心,体系内员工达3千余人。恩源长期坚持自主创新,致力于用信息技术推动商业文明和社会进步。 公司产品和解决方案涵盖云计算、物联网、电子商务、服务外包、移动互联网、电信增值技术的研发与应用领域;同十几个国家级高新技术产业园区、上百家地区电信运营商达成战略合作,为企业、个人客户提供电子商务咨询、采购、商旅、产品销售、人才培训等方面的解决方案和服务,业务范围遍布全国28个省(自治区、直辖市),电子商务服务会员近1000万人。目前,恩源的核心业务领域主要包括电子商务平台搭建、城市产业规划、产业招商、产业运营、会员服务。 业务规模:北京恩源科技有限公司自1999年创业以来,公司在全国范围内设立近100个管理中心,

相关文档