2010
软件需求规格说明书不应包括算法的描述
软件需求规格说明书应包括用户界面的描述、主要功能的描述、软件性能的描述
功能模型不是软件生存周期模型
瀑布模型、增量模型、演化模型是软件生存周期模型
使用白盒测试方法时,确定测试数据应依据程序的内部逻辑
汽车有一个发动机,汽车和发动机之间是一种聚合关系
若运输工具和火车都是类,则它们之间是一种泛化
关系。
2011
螺旋模型和演化模型都适用于软件需求不明确的项目开发
螺旋模型是在瀑布模型和演化模型的基础上加以修改而形成的
增量模型是在瀑布模型的基础上加以修改而形成的
每一个增量开发过程都要有明确的需求。螺旋模型
=
瀑布模型
+
演化模型
+
风险分析活动;识别风险迭代的进行。
设计软件结构不需考虑模块内的局部数据
设计软件结构需要考虑模块之间的接口、模块间的调用关系、
模块的功能
验证测试的目标是发现软件的功能实现与需求规约的不一致。
单元测试
-
详细设计;
集成测试
-
概要设计;
系统测试
-
规格说明书;
验证测试
-
需求分析(正确实现需求);
千里马和马都是类,它们之间是一种泛化
关系
泛化:人有老师、学生;
关联:球员和球队;
聚合:电话机和话筒,学校和老师;
组合:人和人的心脏;
依赖:司机依赖车;
公司有一名法人代表,公司和法人代表之间是一种聚合关系。
2012
软件的正确性是指软件达到预期功能的程度
结构化分析方法中的主要概念有加工、数据流和数据源等
模块内聚和耦合是从功能角度来度量模块内的联系;
对象及类是面向对象的程序设计语言中的概念;
模块和信息隐藏是开发整体程序结构时使用的法则;
加工、数据流和数据源等是结构化分析法中的主要概念。
软件需求很明确时,适用的软件开发模型是瀑布模型
喷泉模型使开发过程具有迭代性和无间隙性;
增量模型是分析员先作出需求分析和概要设计
,
用户参与逐步完善;
需求明确且稳定时,适用瀑布模型;
螺旋模型将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析, 特别适合于大型复杂的系统。
软件测试过程模型给出了软件测试的要素以及它们之间的关系
教师是学校的一个部分,学校和教师之间是一种聚合关系
聚合关系
是整体与部分的关系;且部分可以离开整体而单独存在:如车和轮胎是整体和部分的关系, 轮胎离开车仍然可以存在;
泛化关系
是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为,例如:老虎是动物的一种,既有老虎的特性也有动物的共性;
依赖关系
是一种使用的关系,即一个类的
实现需要另一个类的协助,所以要尽量不使用双向的互相依赖。