当前位置:文档之家› 软件工程期末复习资料(2)

软件工程期末复习资料(2)

软件工程期末复习资料(2)
软件工程期末复习资料(2)

软件工程复习资料

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

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

A.计算机的发展

B.其他工程科学的影响

C.软件危机的出现

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

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

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

B.编程速度快

C.熟悉众多的软件环境

D.语言天赋

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

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.类有3种类型,即()。

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

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

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

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

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

A.消息连接

B.参数传递

C.方法重写

D.继承

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

A.过程层

B.方法层

C.过程层和方法层

D.系统层

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

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

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

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

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

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

A.快速原型化模型

B.瀑布模型

C.软件成熟度模型

D.系统化模型

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

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

B.研究算法

C.及时交付软件

D.生产无故障软件

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

A.快速原型化模型

B.瀑布模型

C.软件成熟度模型

D.系统化模型

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

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

17、结构化设计方法划分模块的原则是()。

A.模块扇出小于5B.模块扇入小于5C.低耦合,高内聚D.模块深度小于7

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

A.逻辑架构

B.物理架构

C.组成结构

D.体系结构

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

A.数据库

B.接口

C.对象

D.时间

20、功能模型用于表达系统的需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由()实现。

A.场景描述

B.活动图和场景描述

C.用例图和场景描述

D.交互图和场景描述

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

A.程序的规模

B.程序效率

C.程序语言的先进性

D.程序易读性

22、对用例进行设计,发现实现用例功能的(),确定类之间的关系。

A.算法

B.业务流程

C.数据结构

D.关键类

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

A.类

B.数据结构

C.函数

D.过程

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

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

B.为了验证程序正确

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

D.区

分程序员水平

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

A.概要设计说明书

B.详细设计说明

C.项目开发计划

D.需求规格说明

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

A、黑盒测试

B、白盒测试

C、压力测试

D、外观测试

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

A.从需求开始重新开发

B.根据维护申请读源程序,并修改

C.找一个新的模块替换

D.不用读源程序,从新编写代码

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

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.测试数据

D.测试程序及数据

35、由于面向对象中的继承和消息机制,使得软件测试()。

A.更加简单

B.更加复杂

C.没变

D.不确定

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

A.算法说明

B.修改程序

C.优先级

D.环境要求

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

A.估算项目的进度

B.分配工作量

C.计划资源使用

D.以上全部

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

A.性能比

B.可扩充性

C.可读性

D.可移植性

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

A.X0==X1

B.X1-X0<ε

C.|X0-X1|<ε

D.X0=X1

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

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

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

A.确定系统做什么

B.确定性能

C.确定功能

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

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

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

B.业务需求

C.功能需求

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

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

A.描述模块组成

B.说明用户数据结构

C.描述软件功能

D.建造系统的逻辑模型

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

A.功能需求

B.用户需求

C.用户的具体业务流程

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

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

A.3

B.5

C.4

D.7

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

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

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

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

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

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

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

48、面向过程的方法最关心的是过程,而过程实施的对象是作为过程()传递的。

A.参数

B.主体

C.过程

D.数据结构

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

A.组件视图

B.逻辑视图

C.用例视图

D.对象视图

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

A.组织

B.CMM

C.数据

D.静态

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

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

B.研究算法

C.及时交付软件

D.生产无故障软件

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

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

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

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

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

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

A.5202

B.4500

C.5100

D.4712

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

A.系统流程图

B.数据流程图

C.程序流程图

D.E-R图

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

A.软件验收的依据

B.用户与开发人员对软件要做什么的共同理解

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

D.软件设计的依据

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

A.数据流图

B.判定表

C.PAD图

D.数据词典

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

A.模块的复杂性

B.模块的大小

C.模块的参数

D.内聚和耦合

58.两个模块都访问一个全局简单变量而不是同一全局数据结构,则这两个模块属于()。

A.数据耦合

B.外部耦合

C.公共耦合

D.内容耦合

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

A.逻辑视图

B.行为视图

C.组件视图

D.并发视图

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

A.数据

B.静态

C.动态

D.用例

61、对象模型描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。在面向对象方法中,由()实现。

A.顺序图

B.类图

C.状态图

D.组件图

62、如果对象之间的耦合是通过()来实现的,则这种耦合就是交互耦合。

A.消息机制

B.参数

C.方法

D.公共数据区

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

A.状态图

B.交互图

C.活动图

D.以上全部

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

A.SQL

B.Cobol

C.4GL

D.Lisp

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

A.白盒法

B.灰盒法

C.黑盒法

D.综合法

66.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是()。

A.条件覆盖法

B.等价分类法

C.边界值分析法

D.错误推测法

67.即使软件能顺利运行,但用户往往会提出增加新功能或改进已有功能的建议,为满足这一类要求而进行的活动称为()。

A.完善性维护

B.预防性维护

C.适应性维护

D.代码重构

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

A.可理解性与可测试性

B.效率与可修改性

C.可修改性与可理解性

D.可理解性与可读性

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

A.软件销售利润

B.项目风险评估

C.质量监控

D.开发机构能力评估

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

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

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

A.状态图

B.交互图

C.活动图

D.以上全部

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

A.清晰的

B.模糊的

C.非线性的

D.确定的

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

A.操作

B.参数

C.算法

D.控制

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

A.从详细设计阶段开始

B.从编码阶段开始

C.从需求分析阶段开始

D.以上都对

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

A.单元测试、集成测试

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

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

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

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

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

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

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

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

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

A.运行环境变化

B.需求变化

C.系统有错

D.以上全部

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

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

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

A.校正性维护

B.完善性维护

C.适应性维护

D.预防性维护

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

A.管理的基本思路

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

C.基本的技术路线

D.通过正式复审的文档

二、简答题

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

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

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

……

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

5.为了提高软件的可维护性,在软件开发过程的各个阶段怎样充分考虑软件的可维护性因

素。

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

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

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

11、请画图说明软件工程的层次化结构,并详细分析中间两层的内容。

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

int main()

{

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

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

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

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

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

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

}

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

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

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

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

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

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

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

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

三、应用题

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

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

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

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

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

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

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

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

3.一个简化的养老院软件需求描述如下:老人来到养老院,接待人员将老人的基本信息录入到系统中,管理员读取老人信息,进行护理级别的评估,根据评估结果分配床位、确定护理方案,床位的分配信息存入床位分配数据表,每位老人的护理方案也要保存到数据库表中。财务人员根据收费标准、床位分配信息、护理方案和老人的日常护理记录计算应收费用,老人的家属可以查询应收费信息和老人的日常护理信息。护士根据老人基本信息、护理方案对老人进行日常护理,并向系统录入每日的护理信息。请你根据以上的描述,画出数据

流程图。

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

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

软件工程复习资料答案

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

1.C

2.A

3.C

4.B

5.D

6.D

7.A

8.D

9.B10.D11.C12.D13.A 14.D15.A16.D17.C18.B19.D20.C21.D22.D23.A24.D25.D 26.B27.B28.A29.D30.A31.C32.D33.D34.A35.B36.B 37.D38.C39.C40.D41.C42.A43.B44.D45.C46.A47.C48.A 49.C50.D51.D52.A53.A54.A55.C56.C57.D58.B59.B60.D 61.B62.A63.D64.D65.C66.C67.A68.B69.A70.C71.D72.B

73.A74.C75.C76.B77.D78.C79.C80.D

二、简答题

1、答案

1)软件是一种逻辑实体,具有抽象性,无法看到软件本身的形态,必须通过观察、分

析、思考和判断才能了解它的功能和性能。

2)软件对硬件和环境有着不同程度的依赖性,这导致了软件升级和移植的问题。计算

机硬件和支撑环境不断升级,为了适应运行环境的变化,软件也需要不断维护,并

且维护的成本通常比开发成本高许多。

3)软件生产至今尚未摆脱手工方式,软件开发的手工行为造就了一个致命的问题,就

是为应用“量身订做”软件。长期以来,软件给人的感觉是修改几条指令很简单,

客户总是强调软件要适应自己的业务需求。因此,软件产品大多是为客户“订做”

的,通用性差。

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

高的要求。

5)软件是与文学艺术作品相似的精神作品,与体力劳动相比,精神活动过程的特点是

“不可见性”,这大大增加了组织管理上的困难。

评分标准:学生只要写出三个特点就给满分,少一个减2分。

2、答案

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

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

评分标准:每个问题给3分。

3、答案

a>=4b<0

a>=4b>=0

a<4b<0

a<4b>=0

c>3

c<=3

c<1

c>=1

综合以上条件组合,设计测试用例如下(注意结果不唯一,只要满足上面的组合条件即可):a=4b=-1c=3

a=4b=0c=4

a=-1b=-1c=0

a=2b=0c=2

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

4、答案

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

评分标准:6分。

5、答:

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

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

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

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

评分标准:每条1.5分。

6、答案

1)功能模型:表达系统的详细需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由用例图和场景描述组成。2)对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。3)动态模型:描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制”特性。

评分标准:功能模型2分,对象模型2分;动态模型2分。

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

答:

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

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

评分标准:每条3分

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

答:

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

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

答:

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

●待开发的软件类型;

●算法和计算复杂性;

●数据结构的复杂性;

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

●软件可移植性要求;

●可用的软件工具。

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

10、答案

条件:

a>=5b<0

a>=5b≮0

c<1

1

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

评分标准:如果只列出条件给3分;给出两组正确的测试用例各给3分。

11、答案

软件工程的内容具有层次化结构,最底层是质量保证层,中间是过程层和方法层,最上层是工具层。见图:

其中过程层定义了一组关键过程域,目的是保证软件开发过程的规范性和可控性。方法层提供了软件开发的各种方法,包括如何进行软件需求分析和设计,如何实现设计,如何测试和维护等方法。

评分标准:画图2分,过程层2分,方法层2分。

12.答案

条件:

a>5,t=0

a<=5,t=0

b>10

b<=10

c>15

c<=15

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

评分标准:只要写出条件,不管测试用例是否给出都给3分;两组测试用例各占3分。13.答案

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

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

图。

评分标准:活动图3分;状态图3分。

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

答:

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

评分标准:6分

15、答案

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

评分标准:作用3分、结构3分。

16、答案

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

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

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

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

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

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

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

评分标准:给出三条原理,每条2分。

17、答案:

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

评分标准:6分。

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

答:

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

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

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

评分标准:每条2分。

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

答:

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

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

评分标准:每条3分。

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=16t=0b=11c=16;a=5t=0b=10c=15

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

三、应用题

1.答案

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

2.答案不唯一。参考答案如下:

评分标准:考生只要画出教学计划管理、分配教师、学生选课、教师成绩录入的流程就给满分,缺一个减1分;所用符号错误减2分,流程不通减2分。

3.答案

答案不唯一,参考答案如下:

评分标准:考生只要画出老人信息录入、评审、床位分配、确定护理方案、计费和护理信息录入的流程就给满分,缺一个减1分;所用符号错误减2分,流程不通减2分。

4.答案:

评分标准:只要画出作业题输入、布置作业、批阅作业、网上做作业、查看批阅信息、统计作业完成信息的流程就给满分,缺一个减1分;所用符号错误减2分,流程不通减2分。

最新公司内部管理系统资料

内部管理系统(人事管理系统+客户关系管理系统) 需 求 分 析 说 明 书 2015.10.9

一、人事管理系统部分 1、系统人员类型 公司的人员类型有以下几种:普通员工、部门经理、总经理、人事部经理和人事助 2、系统基本功能图解 2.1 基本机构图

2.2用例图解

3、功能详情 3.3.1 登录页面 需要登录的人员,对于不同的身份,他们的权限是不一样的。当用户输入ID和密码时,查询数据库,如用户名和密码正确,则进入相应的员工信息页面,若不正确,则提示用户用户名或密码错误,仍显示当前页面

3.3.2 查询员工资料 该模块主要查看自己/同事的资料,以更好促进公司员工之间的相互了解。同时也可以修改自己的部分信息。 主要功能包括: ●查询自己的详细信息:员工ID、员工姓名、电子邮件、所在部门名称(不是部门ID)、经理、 分机和自我介绍等 ●修改自己的自我介绍 ●修改自己的登录密码 ●查询、搜索其他同事的相关信息 3.3.3 员工资料管理 人事部门负责维护员工的基本资料。当员工第一天来公司报道时,人事部门将员工的基本资料(姓名、性别、出生日期、电子邮件及所属部门等)录入到数据中,并打印一份报道单给员工,上门列出了该员工的登录ID、公司邮件的地址、该员工的部门名称以及该员工的同部门同事列表。 主要功能包括: ●添加/修改/删除员工 ●按任意条件搜索员工(支持模糊查询) ●打印员工报道单 上传/修改员工的照片。

3.3.4请假模块 请假申请: 员工根据工龄享受年假。如果员工是本年度才加入公司的,则需根据报到日期按公司规章制度计算假期期数。员工请假不可以超过规定的请假小时数。员工可以通过本模块提交/查看/取消申请。 主要功能包括: ●显示员工本人年假总小时数、已使用小时数、当前可用小时数 ●用日历的方式显示可请假的日期,并突出显示国定节假日 查看员工本人某段时期内的请假记录、申请、批准状态等。 请假审核: 该模块只允许经理访问。经理可以查看下属的请假记录,批准/否决其中申请。 主要功能包括: ●显示经理下属名单 ●显示某段时间内所有/部分员工的请假记录汇总,包括年假总数、已使用小时数、当前可用小时 数、请假理由 显示当前所有待批准的请假记录,可以在上面执行“批准/否决”操作 请假管理: 人事部可以查看公司所有员工的请假记录,同时可以设定国定假日。 主要功能包括: ●设定国定假日 ●按部门汇总某段时期内的请假记录。 请假功能流程图:

软件工程复习资料

软件概念:与计算机系统操作有关的程序、数据以及相关文档的完整集合 软件特点:逻辑实体、智力产品,制造即拷贝2无磨损和老化,不遵循“浴盆曲 线”,但存在退化问题3尚未摆脱手工方式,软件移植的需要,复杂(问题复杂性/ 程序结构复杂性),软件开发的性质如成本、进度、质量等难以估计控制,维护困难,可复用性软件分类:按功能:系统软件/支撑软件/应用软件2按工作方式:实时处理/分时/交互/批处理3按服务对象:项目 / 产品(定制 / 通用)4按失效影响:关键/ 非关键5规模:微型、小型、中型、大型、甚大型、极大型 软件危机的表现:软件开发成本和进度失控,维护代价高2用户不满意3软件 质量不可靠4软件不可维护 5无文档资料6 计算机系统中软件成本比重加大7软件开发生产率提高不能满足要求软件危机的原因软件的规模和复杂性2人类智力的局限性3协同工作的困难性4缺乏方法学和工具5用户描述不精确、二义、遗漏,双方理解有偏差缓解软件危机的途径组织管理、协同配合的工程2软件工程的理论模型、技术方法3软件工具 软件工程的三要素1过程:管理部分2方法:技术手段3工具:自动或半自 动地支持软件的开发和管理三要素的关系:相互关联与支持 软件生命周期:可行性研究-需求分析-概要设计-详细设计-实现-集成测试-确认 测试-使用与维护-退役 软件开发和测试活动之间的关系软件 开发和软件测试都是软件生命周期中的重要组成部分,软件测试是保证软件开发产物 质量的重要手段。测试是贯穿于整个开发流程了,而不是在编码完成才开始。 瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工 作,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。最终得到软件产品优点是使用时间最长、应用面比较广泛的开发模型2是其他一些开发模型的基础3当前一阶段完成后,只需要去关注后续阶段缺点不能适应用户需求的变化2到最后阶段才能得到可运行的软件版本适用场合:对于规模较小,软件需求较为稳定的项目,采用模型能够显著提高软件开发的质量和效率 演化模型(原型模型)演化模型是一种全局的软件(或产品) 生存周期模型。属于 迭代开发方法。该模型可以表示为:第一次迭代(需求->设计->实现->测试->集成)->反馈->第二次迭代(需求->设计->实现->测试->集成)->反馈->……优点:1支持需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误缺点1需要为系统的每个新版本交付文档,不划算2新需求的不断增加,使系统结构退化,变更成本上升3不支持风险分析 螺旋模型1将瀑布模型与原型模型进行有机结合2增加风险分析步骤优点1支持 需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误4支持风险分析,可降低或者尽早消除软件开发风险5适合于需求动态变化、开发风险较大的系统缺点建设周期长适用场合在需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更。特别适合于大型复杂的系统 喷泉模型:软件复用与生命周期中多项开发活动集成,主要支持面向对象的开发 方法优点1软件系统可维护性较好2各阶段相互重叠,表明了面向对象开发方法各阶段间的交叉和无缝过渡3整个模型是一个迭代的过程,包括一个阶段内部的迭代和跨阶段的迭代4模型具有增量开发特性,即能做到“分析一点、设计一点、实现一点,测试一点”,使相关功能随之加入到演化的系统中5模型由对象驱动,对象是各阶段活动的主体,也是项目管理的基本内容6该模型很自然地支持软部件的重用缺点由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。 OO 为什么好oo 解决问题的思路是从现实世界中的客观对象入手,运用人类的 自然思维方式来构造软件系统,而传统的结构化方法从功能入手和信息工程化方法从信息入手。在面向对象方法中,把一切都看成是对象。OO 方法用类和对象作为系统的基本构成单位。对象对应问题域中的事物,其属性与操作刻画了事物的静态特征和动态特征,它们之间的继承关系、聚合关系、消息和关联如实地表达了问题域中事物之间实际存在的各种关系面向对象方法的特点(1)从现实世界中客观存在的事物出发来建立软件系统,强调直接以问题域中的事物为中心来思考问题、认识问题,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。这可以使系统直接映射问题域,保持问题域中事物及其相互关系的本来面貌(对象) (2)用对象的属性表示事物的状态特征;用对象的操作表示事物的动态特征(属性与操作)(3)对象的属性与操作结合为一体,成为一个独立的、不可分的实体,对外屏蔽其内部细节(封装)(4)对事物进行分类。把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例(分类)(5)复杂的对象可以用简单的对象作为其构成部分(聚集:一个(较复杂的)对象由其他若干(较简单的)对象作为其构成部分,称较复杂的对象为聚集,称较简单的对象为成分,称这种关系为聚集)(6)通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与操作,从而简化系统的构造过程及其文档,有利于复用(继承:特殊类拥有其一般类的全部属性与操作,称作特殊类对一般类的继承)(7) 类具有封闭性,把内部的属性和服务隐藏起来,只有公共的服务对外是可见的(类的封闭性)(8) 对象之间通过消息进行通讯,以实现对象之间的动态联系(消息)(9) 通过关联表达类之间的静态关系(关联) 自顶向下,逐步求精:从顶层开始逐层向下分解,直至系统的所有模块都小 到易于掌握为止 抽象从事物中舍弃个别的非本质的特征,而抽取共同的、本质特征的做法叫抽象。 过程抽象:将完成一个特定功能的动作序列抽象为一个函数名和参数表(模块)例: 比较字符串: int Compare (CString, CString)。数据抽象:将诸多数据对象的定义(描述)抽象为一个数据类型名,以后可通过该数据类型名来定义多个具有相同性质的数据对象例:Eg: 1, 2, 3,—>Integer ;软件工程书;人工智能书—>书类 封装把对象的属性和操作结合成一个独立的系统单位,并尽可能隐蔽对象的内部 细节。只是向外部提供接口,降低了对象间的耦合度使对象能够集中完整地描述并对应一个具体事物。意义:体现了独立性,使对象外部不能随意存取对象的内部数据,使其所含的信息对那些不需要这些信息的模块不可访问。对象的内部的修改对外部的影响很小,减少了修改引起的“波动效应”。公开静态的、不变的操作,而把动态的、易变的信息隐藏起来。 模块化将一个软件划分为一组具有相对独立功能的部件,每个部件称为一个模 块;当把所有的模块组装在一起时,便可获得满足用户需求的软件系统。为什么要进行模块化:模块化体现了“分而治之”的问题分析和解决方法。模块化的目的①进行功能分解,把复杂的大的功能划分成简单的小的子功能,尽量降低每个模块的成本。②尽量使每个模块间的接口不能太多,太多会使接口成本增加。兼顾二者可取得最佳的划分状态,确保软件总成本最低模块设计原则1信息隐藏2高内聚度(强)3低耦合度(松)什么是信息隐藏(1)模块应该设计得使其所含的信息(过程和数据)对那些不需要这些信息的模块不可访问(2)模块之间仅仅交换那些为完成系统功能所必须交换的信息信息隐藏的优点(1)支持模块的并行开发(设计和编码)(2)模块的独立性更好(3)便于系统功能的扩充(4)便于测试和维护,减少修改影响向外传播的范围模块化、信息隐藏,局部化是什么关系局部化与信息隐藏是一对密切相关的概念。局部化就是指将一些使用上密切相关的元素尽可能放在一起。对一个模块来说,局部化是期望模块所使用的数据尽可能是在模块内部定义的。因此,局部化意味着减少模块之间的联系,有助于实现模块之间的信息隐藏。在软件测试和维护期间经常需要修改一些模块的内容。信息隐藏和局部化降低了模块之间的联系,使得在修改一个模块时对其他模块的影响降到最低。“隐藏”的意思是,有效的模块化通过定义一组相互独立的模块来

系统工程期末复习资料

系统工程期末复习资料 一、名词解释题 1、系统 2、工程 3、模型 4、工程系统 5、系统工程学 6、系统工程 7、反馈 8、系统模型 9、系统评价 10、价值工程 二、填空题 1、工程系统的特性包括:()()()()()()()() 2、Hall系统工程三维形态的第一维是逻辑维,包括()()()()()()()七个步 骤 3、切克兰德系统工程方法论的步骤为:()、()、()、()、()和实施。 4、系统的属性主要有()、()、()、()、()、()、() 5、Hall系统工程三维形态的第一维是时间维,包括()、()、()、()、()、()、()七个阶段, 6、霍尔系统工程方法论的步骤为弄清问题、()、()、()、()、()、() 三、判断题 1、系统工程的理论基础不包括“系统论、信息论、控制论以及运筹学”等() 2、控制论的发展经历了:经典控制论、现代控制论、大系统控制论三个时期。() 3、信息论可分为狭义信息论、一般信息论、广义信息论三种不同的类型。() 4、切克兰德系统工程方法论的核心是“比较”和“学习”。() 5、系统工程方法的特征:先总体后详细的设计程序、综合即创造的思想、系统工程的“软科学”性。() 6、系统工程方法论是分析和解决系统开发、运作及管理实践中的问题所应遵循的工作程序、逻辑步骤和基本方法,是系统工程考虑和处理问题的一般方法和总体框架。() 7、从提出或建立一个系统到该系统停止运行或为其他系统代替的这段时间,称为系统的生命周期。() 8、系统分析是一种运用建模及预测、优化、仿真、评价等技术对系统各个方面进行定量和定性相结合的分析为达到费用和效益最佳的辅助决策的方法和过程。() 9、决策分析的类型主要有:确定型决策分析、不确定型决策分析、风险型决策分析、对抗

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

填空题(每空 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 )。

软件系统项目建设项目管理文档

目录 1.项目管理 (1) 1.1项目范围管理 (1) 1.2项目时间管理 ......................................................................... 错误!未定义书签。 1.3项目里程碑 (6) 1.4培训方案 (6) 1.5技术支持与售后服务 (7) 1.6项目进度管理 (8) 信息系统项目建设项目管理文档 1.项目管理 1.1项目范围管理 (1)概述 项目范围管理就是要明确项目目标是什么,界定哪些工作必须做,并将项目目标分解到可以独立分包的程度,形成工作分解结构(WBS),并以此作为控制项目范围变更的基准。即项目范围管理是确保项目包含且只包含项目所必须完成的工作。 很多项目经常由于有做不完的报表、解决不完的问题而导致项目无法验收,很大一部分原因就是因为项目的范围没有定义清楚或者项目范围经常发生无可控制的变更所致。事实证明,缺少正确的项目范围定义和范围的核实是导致项目失败的主要因素。 因此,项目管理最重要的也是最难做的一项工作就是确定项目范围,并使项目范围在控制中,这就是项目范围管理的范畴,即项目范围管理就是项目该做什么,不该做什么,以及确保该做的事情必须做到,不该做的事情不能做。 在项目的规划阶段和蓝图设计阶段的前期,我们通过售前阶段的资料和项目

现场的需求调研,确定项目该做什么,这就是经常说的定义项目范围。 (2)管理内容 1、定义项目范围 1)定义项目范围重要的参考资料和依据一般如下: ●项目售前实施方案; ●项目主合同; ●许可软件通用条款及清单; ●咨询实施服务和工作任务书; ●支持服务条款; ●战略合作承诺书; ●建设单位内部正式发问的项目实施意见书。 2)口头承诺 定义范围除了依据上述可见的项目资料外,售前阶段的一些口头承诺也是定义项目范围的重要信息来源,因此在项目准备阶段与售前进行内部交接时,一定不能忘记交接口头承诺的内容,实践证明,口头承诺的往往是在项目实施过程中难以交付的或者需求范围不好清晰界定的,正是范围管理的难点。 通过范围定义,可形成详细的范围说明书,以及对项目管理计划进行更新。 2、项目范围 范围是指项目所提供的产品或服务的总和,它包括以下两种含义: ●产品范围:产品或者服务的特性与功能,其衡量标准为产品要求,即产 品需求说明书。 ●项目范围:为交付所需产品(具有特定属性和功能)和服务而必须完成 的工作,其衡量标准为项目管理计划、项目范围说明书、WBS及WBS词汇 表。 项目实施的产品范围的描述一般应该通过两个维度,即产品功能模块和公司范围两个维度,清晰的描述出哪些公司具体实施、哪些产品的功能模块,对于集团型企业一定要以企业法人作为实施的公司范围。借用EXCEL建立功能模块与法人

软件工程复习资料

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.Ariane 5火箭发射失败的事例告诉我们 A.(2)软件后备系统可以通过复制生成 B.(3)软件重用必须重新进行系统论证和系统测试 C. 选项(1)和(3) D.(1)系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制

9.软件危机的主要原因是 A.软件本身的特点及开发方法。 B.软件工具落后。 C.软件生产能力不足。 D.对软件的认识不够。 10.下面的描述正确的是 A.软件质量是在开发过程中逐渐构建起来的。 B.软件质量是由产品的功能、性能、易用性等外在特性决定的。 C.运行正确的软件就是高质量的软件。 D.软件产品质量越高越好,最理想的情况是达到“零缺陷”。 11、可行性研究主要包括哪几项? A.技术可行性、经济可行性和操作可行性 B.技术可行性、经济可行性和道德可行性 C.技术可行性、法律可行性和操作可行性 D.技术可行性、操作可行性和法律可行性 12、成本/效益分析的目的是帮助()正确地作出是否投资于这项开发工程的决定。 A.系统分析员 B.客户组织的负责人 C.项目经理 D.软件开发人员 13、在进行成本/效益分析的时候,需要考虑() A.开发成本 B.运行费用 C.系统带来的经济效益 D.系统使用寿命 14、数据流图和数据字典共同定义了新系统的逻辑模型。 A.错 B.正确 15、可行性研究可行性研究需要的时间长短和所研究系统的规模关系不大。 A. 正确 B.错误 16、把可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。 A.正确 B.错误 17、结构化分析方法遵守的准则之一——定义软件需要完成的功能,需要建立的模型是 A.功能模型 B.数据模型 C.行为模型 D.动态模型 18、下列叙述中,()不属于数据字典的作用。 A.为用户与开发人员之间统一认识 B.为需求分析阶段定义各类条目

网络工程与系统集成期末复习题

简答题: 1.何时适合使用静态路由 中小型的网络,网络拓扑比较简单,不存在线路冗余等因素,通常采用静态路由的方式来配置 2.动态路由协议的功能是 用于建立和维护路由表和按照达到数据包的目的地的最佳路径转发数据数据包的动态路由协议 3.等价负载均衡 当到达目的地有多条路径时,而有多条路径的metric值一样,这时就可以做等价负载均衡,让数据包通过多条链路均衡转发 4.非对称路由 非对称路由是指往返某一节点的路径不一致,两个方向的延时不同。 5.如何定义网络系统质量因素 6.如何进行网络项目成本测算 7.简述Alex Zinin的路由表三原则 每台路由器根据其自身路由表中的信息独立作出决策。 一台路由器的路由表中包含某些信息并不表示其他路由器也包含相同的信息。 有关两个网络之间路径的路由信息并不能提供反向路径(即返回路径)的路由信息。 8.简述网络集成的生命周期和实施步骤 1.启动阶段:1识别需求2可行性研究3立项4初步集成方案5项目章程确立 2.计划阶段:1人员确立2系统设计效果确立3资源费用分析4风险再评估5工作分解 6项目建议和合同洽谈 3.实施阶段:1项目团队建立2实施计划确立3资源、成本、采购、沟通4项目实施5 项目监理和控制6质量、资金控制 4.收尾阶段:1项目验收准备2文档整理3项目初验4项目后评审5资源再分配 9.简述网络集成三个基本目标、内容和方法 目标:1:用户目标:用户在投入人力,物力,财力简历网络系统后,能达到用户需求2:系统集成目标:先进的技术,适当的产品,精湛的技术,优质的服务 方法:1:独立集成 2:联合集成 3:委托集成商 内容:1:需求分析2:网络规划3:产品选择4:网络设计5:系统集成实施6:应用软件开发和调试7:系统测试8:用户培训9:竣工文档编制10:项目验收11:售后技术支持12:系统维护和质保

软件工程导论-期末题库(完整版)

1.填空题 1.一般来说,可以从__一致性__、_完整性___、_现实性____和_有效性___四个方面验证软件需求的正确性。 2.IPO图是_输入、处理和输出图_的简称,它是美国IBM公司发展完善起来的一种图形工具。 3.系统流程图是描述__物理模型__的传统工具,用图形符号表达了系统中各种元素之间的_____信息流动_____情况。 4.数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点。 5.软件测试的步骤按顺序分别是:___单元测试_____、子系统测试、系统测试(子系统和系统测试通常称为集成测试)、__确认测试__和_____系统测试(集成测试) ____ 6.软件生命周期一般可分为_问题定义_、可行性研究、_需求分析_、设计编码、_测试_、运行与维护阶段。 7.可行性研究主要集中在以下四个方面_经济可行性_、__技术可行性____、__法律可行性___和抉择。 8.在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。 9.复杂问题的对象模型通常由下述五个层次组成:主题层、___类与对象_层、__结构___层、_属性_层和__服务_层。 10.实施精化设计的目标是基于模块的“高内聚低耦合”的原则,提高模块的_独立性。 11.软件生命周期一般可分为___问题定义_、可行性研究、__需求分析__、概要设计__、详细设计、编码、__软件测试_、运行与维护阶段。 12.面向对象的数据存储管理模式分为__文件__、_关系数据库__和__面向对象数据库___三种。 13.单元测试一般以_白盒_测试为主,__黑盒__测试为辅。

大学软件工程复习资料

五、简答题 1.层次图和层次方框图之间区别何在?P92 ①层次图描绘软件的层次结构,层次方框图描绘数据结构 ②层次图中方框代表一个功能模块,层次方框图方框代表数据的子集或数据元素 ③层次图中连线表示模块间调用关系,层次方框图连线表示组成关系。 2.2、软件设计过程中为什么要采用模块化设计方法?P85 参考答案: (1)、采用模块化原理可以使软件结构清晰,不仅容易设计,也容易阅读和理解; (2)、模块化使软件容易测试和调试,因而有助于提高软件的可靠性; (3)、模块化可以提高软件的可修改性; (4)、模块化有助于开发过程的组织和管理; 3.用某种软件复杂性度量算法来度量不同类型的程序时。得出的度量值是否真正反映了它们的复杂性? 如果对同类型的程序进行度量,其结果是否就比较有价值? 参考答案: 开发规模相同,但复杂性不同的软件,花费的成本和时间会有很大的差异。因此到目前为止,还没有一个软件复杂性度量的方法能够全面、系统地度量任一软件的复杂性,某一种度量方法只偏重于某一方面。所以,用某种软件复杂性来度量不同类型的程序,所得到的度量值不一定真正反映它们的复杂性。但对同一类里的程序,按某种视点来度量它们的复杂性,其结果还是比较有价值的。 4.数据流图的作用是什么?它有哪些基本成分? 参考答案: 数据流图可以用来抽象地表示系统或软件。它从信息传递和加工的角度.以图形的方式刻画数据流从输入到输出的移动变换过程,同时可以按自顶向下、逐步分解的方法表示内容不断增加的数据流和功能细节。因此,数据流图既提供了功能建模的机制.也提供了信息流建模的机制,从而可以建立起系统或软件的功能模型。 基本成分有:数据原点/终点数据处理数据流数据存储 5.常用的估算软件规模的方法有哪些?试比较这些方法的优缺点。 代码行技术的优点,容易计算,缺点是太片面,因为源程序只是软件配置的很少一部分,不同语言实现同一个软件所需的代码行数不同; 功能点数的特点:与编程语言无关,但是判断信息域复杂性级别和技术因素的影响程度时,存在着相当大的主观因素。 6.CMM的全称是什么?其基本思想是什么?为什么要对CMM进行分级?P321 其基本思想是:软件开发和维护过程中的问题是由于管理软件过程的方法不当引起的,即使是应用新的软件技术,也不会自动提高软件的生产率和质量。能力成熟度模型有助于软件开发机构建立一个有规律的、成熟的软件过程。改进后的软件过程将有利于开发出高质量的软件,使更多的软件项目免受时间和费用超支之苦。 ······························································································· 3分 对于任何软件开发机构的软件过程的改进都是在完成一个又一个小的改进的基础之上不断进行的渐进过程,而不是一蹴而就的彻底革命。CMM将软件过程从无序到有序的进化过程分为5个等级,用于测量软件机构的软件过程成熟度和评价其软件过程能力 什么是软件配置管理? 答:软件配置管理,简称SCM(Software Configuration Management),是在软件的整个生命周期内管理变化的一组活动。具体地讲,这组活动包括:①标志变化,②控制辩化,③确保适当地实现变化,④向需要指导这类信息的人报告变化。软件配置管理技术可以使软件变更所产生的错误达到最小并最有效地提高

系统工程期末复习资料(全)

系统:由两个及以上有机联系、相互作用的要素组成,具有特定结构、功能和环境的整体。系统边界:从空间结构上看,把系统和环境分开的所有点的集合;从逻辑上看,边界是系统构成关系从起作用到不起作用的边界,系统质从存在到消失的边界。 系统的属性:整体性{是系统最核心的特性,是系统性最集中的体现} 关联性(由多个有机联系、相互作用的要素组成,具备独立要素所不具备的功能) 环境适应性(环境输入系统,系统输出环境,系统要生存,一定要适应环境) 层次性(作为总体来看,系统可以分解一系列子系统,并有一定的层次结构) 目的性(有一定目的,为达到既定目的而具备一定的功能) 集合性(把具备某种属性的一些对象看成一个整体,从而形成一个集合) 系统的类型:人造系统和自然系统 实体系统和概念系统、动态系统和静态系统、封闭系统和开发系统 系统工程的概念:是组织管理系统的规划、研究、设计、制造、试验、使用的科学方法,是一种对所有系统具有普遍意义的科学方法。 系统工程方法论:是研究、探索系统问题的一般规律和途径 重要思想:最优思想、总体思想、组合思想、分解和协调思想、反馈思想 霍尔三维结构:知识维、时间维、逻辑维 时间维(6个阶段):规划阶段、方案阶段、研制阶段、生产阶段、运行阶段、更新阶段 逻辑维(7个步骤):明确问题、选择目标、系统综合、系统分析、方案优化、做出决策、付诸实施 特点:强调目标明确,核心是最优化,认为一切现实问题都可以规划为工程系统问题,运用定量分析法,做最优解答。该方法论在研究方法上有整体性,在技术应用上有综合性,在组织管理上有科学性,在系统工程上有问题导向性。 切克兰德方法论:主要内容:问题、根底定义、建立概念模型、比较与探索、选择、设计与实施、评估与反馈 主要步骤(略) 比较:同:同为系统工程方法论,均以问题为起点,具备相应的逻辑结构 异:前者主要研究工程系统问题,后者更适用于“软”系统问题的研究 前者以优化分析为核心,后者以比较学习为核心 前者使用定量分析方法,后者使用定性、定量与定性相结合的方法 前者研究对象为良结构,后者则为不良结构 系统分析:运用建模及预测、优化、仿真、评价等技术,对系统的各方面进行定性与定量相结合的分析,为选择最优或满意的方案提供决策依据的分析研究过程。 6要素:问题、目的及目标、方案、模型、评价、决策者 步骤(SA):认识问题——>探寻目标——>综合方案——>模型化——>优化或仿真分析——>系统评价——>决策 系统原则:坚持以问题为导向,以整体为目标,多方案模型分析与选优、以定量与定性相结合、多次反复进行 创新方法:提问法、头脑风暴法、德尔菲法、情景分析法、定性研究方法、数据挖掘方法结构模型:定性表示系统构成要素以及它们之间本质存在的相互依赖、相互制约和联系情况的模型 结构模型化:建立系统结构模型的过程 结构分析:实现系统结构模型化并加以解释的过程 SD流程图:认识问题——>界定系统——>要素及因果关系分析——>建立结构模型——>建立量化分析模型——>比较与评价——>政策分析

期末软件工程资料整理

1.软件工程的基本原理? 答:基本原理包括3要素:方法,工具,过程;其中,方法是完成软件开发任务的技术方法回答怎样做的问题;工具是为运用方法提供自动半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,他是完成各任务的工作步骤。 2.RUP中有9个工作流,前6个为过程工作流,后3个为核心支持工作流程。 3.问答:P.32第2题 4.简述结构化范型和面向对象范型的要点,分析优缺点。 5.电话号码有几类:校内电话号码由4位数字组成,第1位不是0;校外电话分本市电话和外地电话,拨校外电话需先拨0,本市电话则再接着拨8位数字(第1位不是0),外地电话则拨3位区码再拨8位电话号码(第1位不是0)。 答案: 电话号码=[校内电话号码|校外电话号码] 校内电话号码=非零数字+3位数字 校外电话号码=[本市号码|外地号码] 本市号码=数字零+8位数字 外地号码=数字零+3位数字+8位数字 非零数字=[1|2|3|4|5|6|7|8|9] 数字零=0 3位数字=3{数字}3 8位数字=非零数字+7位数字 7位数字=7{数字}7 数字=[0|1|2|3|4|5|6|7|8|9] 6.名词解释:第一范式,第二范式,第三范式 答:第一范式:每个属性都必须是原子值,仅仅是一个简单的值而不能含内部结构。 第二范式:满足第一范式条件,且每个关键字属性都由整个关键字决定。 第三范式:符合第二范式条件,每个关键字属性都仅由关键字决定,且一个费关键字属性不能仅仅是对另一个非关键字属性的进一步描述。 7.储蓄系统:储户填写的存款单或取款单由业务员输入系统,是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。 试用数据流图描绘下述系统的功能,并用实体-联系图描绘系统中的数据对象。 答案: 系统的数据流图如下图所示:

软件工程教材资料整理

软件工程复习资料 第一章 1、软件的概念:软件是计算机中与硬件相互依存的另一部分,它是包括程序、数据及其 相关文档的完整集合。 2、软件具有下列特点: 1.软件是一种逻辑产品,它具有抽象性和无形性。 2.软件的生产与硬件不同。 3.软件在运行和使用中,不会磨损和老化,但它存在退化问题。 4.软件的开发和运行对计算机系统有一定的依赖性。 5.软件开发至今仍未完全摆脱手工开发方式,大多数软件是“定做”的。 6.软件开发成本高、风险高。 7.相对于计算机硬件技术的发展,计算机软件技术的发展十分缓慢。 3、计算机软件技术的发展经历了三个阶段: 程序设计时期(20世纪40年代中期至60年代中期),软件质量取决于个人编程水平。 程序系统时期(20世纪60年代中期至70年代中期),软件质量取决于开发小组的技术水平 软件工程时期(20世纪70年代以后)。软件质量取决于软件工程管理水平。 软件技术的发展主线是由个体简单的开发方式向着复杂、大规模、标准化、工程化的方向发展,在最高阶段,把软件开发界定为两方面的内容:软件开发和软件维护。 4、软件开发引发的问题: 1.社会对软件需求的不断发展 2.软件开发理念和手段与客观实际存在的差异 ①对软件本身的认识存在差异②对软件的服务对象认识不足 ③对软件开发缺乏科学管理④软件开发手段落后 5、软件危机1)发生时间:软件发展第二阶段(程序系统阶段)的末期 (2)软件危机是指在计算机软件开发和维护过程中遇到的一系列严重问题。 (3)软件危机的主要表现有以下几方面: 1.软件开发经费超支、进度拖延 2.软件不能符合用户的要求 3.软件难以维护 4.软件可靠性差 5.软件开发生产率低 4)主要原因: 1 社会对软件的需求急剧增加 2 软件本身的特点:软件本身存在着复杂性 3软件开发理念和手段与客观实际存在的差异 ①对软件本身的认识存在差异②对软件的服务对象认识不足 ③对软件开发缺乏科学管理④软件开发手段落后 寻找解决软件危机途径的过程就是软件工程形成的过程 6、软件工程 核心:以工程化的原理和方法对软件进行规划、定义、开发和维护; 宗旨:以较少的投入,最快的时间生产出高质量的软件。 定义:“软件工程是软件开发、运行、维护和引退的系统方法”。 软件工程的主要思想是强调软件开发过程中应用工程化原则的重要性。 软件工程的三要素是方法、工具和过程。 软件工程的基本目标:实现软件的优质高产,即在给定成本、进度的前提下,达到要求的软件功能,取得较好的软件性能,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性,并满足用户需求的软件产品。

软件工程复习资料

软件工程的定义:软件工程是一门研究如何用系统化、规范化、数量化等工程化思想和方法去进行软件开发、维护和管理的学科。 软件危机的定义:软件开发和维护过程中所遇到的如软件规模越来越大,复杂度不断增加,软件的需求量日益增大等的严重问题我们称之为软件危机。 软件工程有哪些基本的思想:a.推迟实现的观点b.逐步求精的观点c.分解与抽象的观点d.信息隐蔽的观点e.质量保证的观点 CMM(Capability Maturity Model)能力成熟度模型,是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。 极限编程(Extreme Programming , XP)是一种软件工程方法学是敏捷软件开发中最富有成效的几种方法学之一。它的的核心有四个要点:交流、简单、反馈、勇气 软件生命周期模型:通常把软件生命周期中各项开发活动的流程用一个合理的框架——开发模型来规范描述,这就是软件过程模型,或者称为软件生命周期模型。 软件需求分类:功能需求、非功能需求和领域需求 结构化分析(Structured Analysis, SA) 结构图(Structure Chart ,SC) 面向对象的一些概念:类是具有相同或相似性质的对象的抽象。实例是类的具体化。继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。消息是指对象间相互联系和相互作用的方式 数据流类型:变换型数据流、事务型数据流、混合型数据流 Jackson图:Jackson图是Jackson方法分析和设计最有效的表达手段,用它既可以描述问题的数据结构,也可以描述软件的程序结构。Jackson图的优点是便于表示层次结构,利于结构自顶向下分解,形象直观,可读性好。Jackson方法用某种形式的伪码给出程序的过程性描述。伪码一般采用结构化形式的英语描述,例如,用”select”语句描述选择结构,用”until”或”while”语句描述重复结构。 结构化程序设计的三种基本逻辑结构是:顺序结构、选择结构和循环结构。 类与类之间的关系:关联、泛化、聚集 软件设计的三类活动:软件设计的第一类活动是软件结构设计,也称为总体设计、概要设计或高层设计。第二类活动是软件详细设计,也称为(模块)过程设计或底层设计。第三类活动是设计测试。 软件模块化设计的指导思想:分解、抽象、逐步求精、信息隐蔽和模块独立性。 软件模块化设计的定义:把一个大型软件系统的全部功能,按照一定的原则合理地划分为若干个模块,每个模块完成一个特定子功能,所有的这些模块以某种结构形式组成一个整体。 模块独立性的定义及控制标准:模块独立性是模块化、抽象、信息隐蔽概念的直接结果,也是判断模块化结构是否合理的标准。模块独立性可以由两个定性标准度量,即模块自身的内聚和模块之间的耦合。 内聚性、耦合性和抽象的定义:内聚性是从功能的角度对模块内部聚合能力的量度,耦合性是对一个软件结构内不同模块之间互连程度的度量。抽象是一种从一般的观点看待事物的方法,它要求我们集中于事物的本质特征(内部状态和运动规律),而非具体细节或具体实现。 信息隐蔽定义:每个模块对其他所有模块都隐蔽自己的设计决策,也就是说,模块应该详细说明且精心设计以求在某个模块中包含的信息不被不需要这些信息的其他模块访问。 按耦合度从低到高依次有7种耦合方式:a.非直接耦合(独立运行)b.数据耦合(用参数表传递简单数据)c.标记耦合(传递数据结构或者一部分)d.控制耦合(传递的信息包括控制模块的信息)e.外部耦合(模块与软件之外的环境有关)f.公共耦合(多个模块引用同一全局的数据区)g.内容耦合(访问内部数据,代码重叠或者多个入口)按内聚度从低到高依次有7种内聚种类:a.偶然内聚(模块完成的多个任务,任务之间的关系松散)b.逻辑内聚(模块完成逻辑相关的一组任务)c.瞬时内聚(模块的所有任务必须在同一时间间隔内执行)d.过程内聚(模块的处理元素相关而且按照特定的次序执行)e.通信内聚(模块的所有元素集中在一个数据结构区域上)顺序内聚(模块的处理元素相关,必须顺序执行)f.功能内聚(模块完成单一的功能,各个部分协调工作,而且不可缺少)结构化设计方法(SD)是基于模块化、自顶向下细化、结构化程序设计等程序设计技术基础上发展起来的。 软件维护类型及对应方向的维护: 纠错性维护:对在测试阶段未能发现的,在软件投入使用后才逐渐暴露出来的错误的测试、诊断、定位、纠错以及验证、修改的回归测试过程。纠错性维护占整个维护工作的21% 完善性维护:为了满足这些日益增长的新要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、

系统工程期末复习资料

系统工程的研究对象是组织化的大规模复杂系统。P5 ★系统的定义:是由两个以上相互联系、相互作用的要素所构成,且具有特定功能、结构、环境的整体。有以下四个要点: (1)系统及其要素。系统是由两个以上要素组成的整体,构成这个整体的各个要素可以是耽搁事物(元素),也可以是一群事物组成的分系统、子系统等。系统与其构成要素是一种相对的概念,取决于所研究的具体对象及其围。 (2)系统和环境。任一系统又是它所丛书的一个更大系统(环境或超系统)的组成部分,并与其相互作用,保持较为密切的输入输出关系。系统连同其环境超系统形成的系统总体。系统与环境也是两个相对的概念。 (3)系统的结构。在构成系统的诸要素之间存在着一定的有机联系,这样在系统的部形成一定的结构和秩序。结构即组成系统的诸要素之间相互关联的式。 (4)系统的功能。任系统都应有其存在的作用与价值,有其运作的具体目的,也即都有其特定的功能。系统功能的实现受到其环境和结构的影响。 系统的一般属性:P6 (1)整体性:整体性是系统最基本、最核心的特性,是系统性最集中的体现。 (2)关联性:构成系统的要素是相互联系、相互作用的;同时,所有要素均隶属与系统整体,并具有互动关系。关联性表明这些联系或关系的特性,并且形成了系统结构问题的基础。(3)环境适应性:任一个系统都存在于一定的环境之中,并与环境之间产生物质、能量和信息的交流。环境的变化必然会引起系统功能及结构的变化。系统必须首先适应环境的变化,并在此基础上使环境得到持续改善。管理系统的环境适应性要求更高,通常应区分不同的环境类(技术环境、经济环境、社会环境等)和不同的环境域(外部环境、部环境等)。 ★大规模复杂系统的主要特点:P6 (1)系统的功能和属性多样,由此而带来的多重目标间经常会出现相互消长或冲突的关系。(2)系统通常由多为且不同质的要素构成。 (3)一般为人—机系统,而人及其组织或群体表现固有的复杂性。 (4)由要素相互作用关系所形成的系统结构日益复杂化和动态化。大规模复杂系统还具有规模庞大经济型突出等特点。 该类系统的主要特点:规模庞大、结构复杂、属性及目标多样、一般为人—机系统、经济性突出等。 系统工程:是从总体出发,合理开发、运行、革新一个大规模复杂系统所需思想、程序、法的总称。P9 系统工程强调以下基本观点(系统工程法的特点):P10 (1) 整体性和系统化观点(前提)(2) 总体最优或平衡协调观点(目的) (3) 多种法综合运用的观点(手段)(4) 问题导向及反馈控制观点(保障) 期中: 1.选择一个你所熟悉的系统问题说明:(1)系统的功能及其要素;(2)系统的环境及输入、 输出;(3)系统的结构(最好用框图表达);(4)系统的功能与结构、环境的关系。 2.管理系统有特点?为什么说现代管理系统是典型的(大规模)复杂系统。

相关主题
文本预览
相关文档 最新文档