软件工程期末复习题

一、考题类型:

填空、判断、选择、简答

二、知识点:

1、软件生命周期的组成;由软件定义软件开发 和运行维护三个时期组成

2、软件配置管理的功能主要有:(1)标识变化,(2)控制变化,(3)实现变化,(4)向需要的人报告变化

3、在进行软件结构设计时应该遵循的最主要的原理;

   模块独立

 4、系统的逻辑模型是由哪几部分构成;数据字典和数据流图

 

5、用面向对象的观点来建立的系统,一般有哪三种模型;

功能模型、对象模型、动态模型。

 

6、度量软件规模的常用技术主要哪几种;

代码行技术 、功能点技术

 

7、使用UML哪几种图形来分别建立对象模型、动态模型、功能模型;

使用UML的类图建立对象模型使用UML的状态图建立动态模型使用UML的数据流图或用例图建立功能模型

 

8、描绘软件结构的常用工具是哪两种图;数据流图、数据字典

 

9、设计黑盒测试方案的技术主要有:等价划分边界值分析错误推测

 

10、软件文档的类型;用户文档、系统文档

 11、如何根据已经估计的最小规模的平均值,最大规模的平均值,最可能的规模的平均值,运用所学的经验公式来估计程序的规模;

(a+4b+c)/6

 

12、根据软件小组的成员数,如果他们之间通信是平行的,即就是他们相互间都进行通信,计算可能的通信信道条数;

n(n-1)/2

 

13、CMM把软件过程从无序到有序的进化过程分成哪几个阶段;

     初始级、已重复级、已定义级、已管理级、优化级。

 

14、面向过程的需求分析过程应该建立3种模型它们分别是:数据模型功能模型行为模型

 

15、实践表明,环形复杂度的合理上限是多少;_10_

 

16、可行性研究的目的:

用最小的代价在尽可能短的时间内确定稳定能否解决。

 

17、大型软件的测试应该分阶段地进行,通常至少分为哪几个阶段;至少分为单元测试集成测试验收测试3个基本阶段

 

18、设计白盒测试方案的技术;语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖,根据程序流程图按照以上各覆盖要求设计测试用例。

void DoWork(int x,int y,int z){

int k,j=0;

if(x>3&&z<10){

k = x*y+10;

j = sqrt(k);

}

if(x==4||y>5){

j=x*y+10;

}

j = j%3;

}

 

由流程图看出 有四条不同的路径 P1(a-c-e)  P2(a-c-d)  P3(a-b-e)  P4(a-b-d)

判定条件 M={x>3 and z<10} 判定条件N={x=4 or y>5}

1.语句覆盖:

测试用例输入    输出    判定M的值    判定N的值    覆盖路径

2.判定覆盖:

P1和P4可以作为测试用例,P1为取真时的路径 P2为取反时的路径

测试用例输入    输出    判定M的值    判定N的值    覆盖路径

3.条件覆盖:

对于M: x>3取真时T1,取假时F1,z<10取真时T2,取假时F2

对于N: x=4取真时T3,取假时F3,y>5取真时T4,取假时F4

条件:x>3,z<10,x=3,y>5;

条件:x<=3,z>=10,x!=3,y<=5;

测试用例输入    输出    取值条件    具体取值条件    覆盖路径

 

19、模块的独立程度可以由哪两个定性标准度量;

内聚、耦合

 

20、Alpha和Beta测试的特点或区别;

Alpha:甲方到乙方现场操作

Beta:在甲方真实现场操作(风险难测)

 

21、瀑布模型的几个过程;

项目论证、需求开发、系统设计、系统实现、产品集成、系统验收、产品维护

 

22、理解软件的可靠性、可移植性、可使用性、兼容性;

可靠性:程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。

可移植性:软件可以转移到其他计算机上

可使用性:软件能够正常使用

兼容性:能够在计算机上兼容各种其他软件与硬件

 

23、为什么要使用原型化方法;

降低开发成本,减少风险,适应需求不明确的用户。

开发人员对问题进行总结,就主要需求取得一致意见后,开发一个原型,在短期开发一个实验性、简单易用的小型系统。可以对其进行修改,使之逐步完善,直到用户对系统满意为止。

优点:(1)需求表示清除,用户满意度高。(2)降低开始风险与开发成本。

缺点:(1)不适合大型系统。(2)难于维护。(3)用户合作不好盲目纠错或拖延开发过程。

 

24、关键路径的确定;

最长的那条,机动时间少。

 

25、软件的质量(以什么标准来衡量软件的质量是否达标);

如满足并超越客户预期;增加额外事项,使客户满意;符合要求、规范并适用;符合管理层要求。

 

26、软件质量保证的措施主要有:

复审或评审,软件测试 和程序正确性证明。

 

27、需求规格说明书的内容以及需求分析的工具;

需求规格说明书的内容:项目概述、功能列表、功能需求描述、非功能需求、外部接口说明

工具:E-R图、数据流图、状态转换图、数据字典

设计时常用的工具(扩充):程序流程图、N—S图、PAD图、判定表、判定树、Jackson图

 

28、E-R图的基本元素及如果绘制。

实体集、属性和联系

找到书中例题及作业。

 

29、分析增量模型的优点及使用增量模型时的困难;

优点:(1)人员灵活、刚开始不用投入大量人力资源。

(2)如果产品收欢迎则可以增加人力实现以一个增量。

(3)可先发布部分功能给客户,镇静剂。

缺点:(1)并行开发不易于集成,软件必须具备开放性系统结构。

(2)容易退化为边做边改模型,使软件过程控制失去整体性。

 

30、在选择程序设计语言时,应该要考虑哪些实用标准;

用户要求、编译程序、软件工具、工程规模、程序员的知识、可移植性、应用领域。

 

31、瀑布模型的优缺点;

优点:(1)提供检查点。

(2)当前阶段完成后,只需关注后续阶段。

(3)可运用于迭代。

缺点:(1)在项目各个阶段极少有反馈。

(2)在项目周期结束后才能看到结果。

(3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。

 

32、螺旋模型的优点和要求;

优点:(1)灵活性。

(2)成本计算简单。

(3)保证项目部偏离正确方向以及项目的可控性。

(4)客户始终掌握项目的最新信息。

(5)客户认可。

缺点:建设周期长,很难让客户却信这种演化方法是可以控制的。

33、为什么对一个已经延迟的项目增加人员,会使项目更延迟?

需要重新分配任务

 

34、大型、复杂系统的对象模型通常由哪5个层次组成;

主题层、类与对象层、结构层、属性层、服务层。

 

35、软件危机的主要典型表现;

估计不准确、质量靠不住、客户不满意、不可维护、成本高、文档资料少。

 

36、可能被重用的软件成分。

代码重用、设计结果重用、分析结果重用。

 

37、黑盒测试力图发现哪些类型的错误;

功能不正确、界面、数据结构、外部数据库访问、性能、初始化和终止。

 

38、需求分析的任务是:

(1)确定对系统的综合要求。

(2)分析系统的数据要求。

(3)导出系统的逻辑模型。

(4)修正系统开发计划。

 

39、用户文档至少应该包括的内容有:

(1)功能描述;

(2)安装文档;

(3)使用手册;

(4)参考手册;

(5)操作员指南。

 

40、风险有两个显著特点。

不确定性和损失。

 

41、功能流程图的环形复杂度和独立路径数。

 

42、在分析阶段是否需要与用户配合?为什么?

必须密切配合。得出经过用户确认的需求,减少过多测试。

 

43、根据描述,画系统的对象模型、用例模型、对象模型、实体—关系图;

 

44、关注以下几种图,并学会绘制:类图、状态图;

 

45、面向对象方法有哪些优点?

符合人们的思维方式、稳定性好、可重用性好、可维护性好、容易开发大型的软件产品。

 

46、单元测试、集成测试、验收测试各以哪些文档作为测试的基础?

单元测试:详细设计报告;集成测试:概要设计报告;验收测试:软件规格说明书。

 

47、软件各阶段主要任务

问题定义、可行性分析、需求分析、总体设计、详细设计、编码和单元测试、综合测试、运行维护。

 

48、平时的作业及教材各章后面的练习。

 

你可能感兴趣的:(软件工程)