一、考题类型:
填空、判断、选择、简答
二、知识点:
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、平时的作业及教材各章后面的练习。