考点01:软件生命周期
考点02:软件开发模型
瀑布模型
自上而下,顺序执行。阶段按审核严格。成本高,风险大。
要求需求明确。
V模型
用测试活动审核模型内容。
喷泉模型
各个开发阶段不重叠,可以相互迭代。工作效率更高,人工成本更高。需要管理各个阶段产生的文档
原型化模型
对瀑布模型的优化。快速构建一个模型给予用户,让用户对模型进行重新更改、定义。降低成本。适合前期需求不明确的开发。
分类:原型化模型:会抛弃原型
演化模型:保留原型
增量模型:保留原型
螺旋模型周期性开发,加入风险分析。适合大规模开发
考点03:软件开发与测试
划分软件系统模块时应做到高内聚、低耦合。
内聚:模块内部之间的联系
耦合:模块相互之间的联系
考点04:测试(是否会运行程序):尽可能发现bug
动态测试
黑盒测试:功能测试,将数据输出,能够完成预期输出则认定为有效
白盒测试:又称为逻辑驱动测试、;路径测试、结构测试。了解内部实现,是否能完成测试
灰盒测试:上述两种测试的折中
静态测试考点05:软件测试
回归测试:修改会解决原有问题,生成新的问题
考点06:项目管理—-甘特图
能够描述活动之间的时间关系,不能描述活动之间的依赖关系
考点06:PERT图
关键路径:路径最大值
关键路径上的活动不允许推迟
例题分析:1、进度安排的常用图形描述方法有Gantt图和PERT图。Gantt图不能清晰地描述PERT图可以给出哪些任务完成后才能开始另一些任务。下图所示的PERT图中, 事件6的最晚开始时间是__
A、0 B、3 C、10 D、11
解析:
15-4-1=10
2、以下关于进度管理工具Gantt图的叙述中,不正确的是()。
A能清晰地表达每个任务的开始时间、结束时间和持续时间
B能清晰地表达任务之间的并行关系
C不能清晰地确定任务之间的依赖关系
D 缺清晰地确定影响进度的关键任务
解析:
甘特图(Gantt图)也称为线条图(或橫道图),定以橫线来表示每项活动的起始时间到终止时间。
在甘特图上,可以看出各项活动的开始时间、结束时间和持续时间。
在绘制各项活动的起止时间时,也考虑它们的先后顺序,能清晰地表达任务之间的并行关系。
但其缺点是不能显式地描绘各项活动之间的依赖关系,也没能指出影响项目生命周期的关键所在,即不能清晰地确定影响进度的关键任务。
3、某项目组拟开发一个大规模系统,且具备了相关领域及类似规模系统的开发经验。下列过程模型中,( ) 最适合开发此项目。
A原型模型 B瀑布模型 C V模型 D 螺旋模型
解析:
瀑布模型开发是一种结构化开发方法,其指导思想是使用户需求在系统建立之前就能被充分了解和理解。由于新项目与过去成功开发过的项目类似,已经具备了相关领域及类似规模系统的开发经验,因此,应尽可能将这些项目开发经验和所积累的软件模块应用到新项目中,即对于这个大规模的系统项目最适合采用瀑布模型进行开发。
原型法的基本思想:本着开发人员对用户需求的初步理解,先快速开发一个原型系统,然后通过反复修改来实现用户的最终系统需求。它适于用户需求开始时定义不清、管理决策方法结构化程度不高的系统开发,开发方法更易被用户接受;但如果用户配合不好,盲目修改,就会拖延开发过程。
4、软件产品的可靠度并不取决于()。
A潜在错误的数量 B潜在错误的位置
C软件产品的使用方法 D软件产品的开发方式
解析:
软件产品的可靠度是指在给定时间内,特定环境下软件无错运行的概率。
以技术角度来看,主要因素有(但不限于):
①软件运行环境(如用户对软件产品的操作方式、运行环境等);
②软件规模(该因素将影响到潜在错误的数量、位置等);
③软件内部结构(该因素也会影响到潜在错误的数量、位置等);
④软件的开发方法和开发环境;
⑤软件的可靠性投入等。
一般而言,软件产品的开发方式(如结构化开发方法、面向数据结构开发方法、面向对象开发方法等)不是软件产品的可靠度的主要影响因素。
5、下列关于风险的叙述不正确的是:风险是指( )。
A可能发生的事件 B 一定会发生的事件
C 会带来损失的事件 D 可能对其进行干预,以减少损失的事件
解析:
当事件、活动或项目有损失或收益与之相联系,涉及到某种或然性或不确定性和涉及到某种选择时,才称为有风险。
以上3条的每一条都是风险定义的必要条件,而非充分条件。风险是一种不确定的事件或条件,一旦发生会对至少一个项目目标(如范围、进度、成本和质量)造成影响。因此,“风险是指一定会发生的事件”的观点有误。6、使用PERT图进行进度安排,不能清晰地描述( ),但可以给出哪些任务完成后才能开始另一些任务。
A 每个任务从何时开始 B 每个任务到何时结束
C 各个任务之问的并行情况 D各任个务之间的依赖关系
7、软件复杂性度量的参数不包括()。
A 软件的规模 B 开发小组的规模 C 软件的难度 D 软件的结构
8、在敏捷过程的开发方法中,()使用了迭代的方法,其中把每段时间(30天)一次的迭代称为一个“冲刺”,并按需求的优先级别来实现产品,多个自组织和自治的小组并行地递增实现产品。
A极限编程XP B水晶法 C 并列争球法 D 自适应软件开发