第九章
1、构件的描述模型有:
1)3C模型。 2)REBOOT模型
2、构件的分类
1)枚举分类 2)刻面分类 3)属性-值分类
3、构件库管理系统的功能
构件的分类存储,构件检索,构件库浏览,删除构件,构件使用情况评价
4、构件检索的方法
1)规约匹配。 基于有序的谓词逻辑的匹配
2)型构匹配。 通过接口的定义进行匹配
3)术语轮廓匹配。 基于构件编目描述语言的匹配
4)行为采样。 基于构件测试的匹配
第十一章
1、人机界面的分类
1)语言界面
2)图形用户界面
3)直接操纵用户界面
4)多媒体用户界面
5)多通道用户界面
2、界面设计的问题
1)系统响应时间
2)用户求助设施
3)错误信息处理
4)命令标记
3、人机界面设计的黄金原则
1)让用户拥有控制权。 提供灵活的交互,允许用户交互可以被中断和撤销
2)减少用户的记忆负担。 减少对短期记忆的要求,建立有意义的默认值
3)保持界面一致。 在应用系列内保持一致性,不要改变用户已经熟悉的用户交互模型
第十二章
1、程序设计的风格
源程序文档化,数据说明,语句结构,输入和输出
第十三章
1、常用的白盒测试的方法
1)逻辑覆盖测试。 语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖
2)基本路径测试。
3)数据流测试。
4)循环测试。
2、黑盒测试方法
等价类划分,边界值分析,比较测试,错误猜测,因果图法
3、测试策略
1)单元测试(模块测试):通常采用白盒测试,为每个被测试模块开发一个驱动程序和若干个桩模块。(编码阶段)
2)集成测试(组装测试):分为非增量集成测试和增量集成测试 。(设计阶段)
增量集成测试包含
1-自顶向下的集成,优点:能尽早对程序的主要控制和决策机制进行检验,较早的发现错误。 缺点:在测试较高层时底层处理采用桩模块代替,不能反映真实情况,测试并不充分。
2-自底向上的集成,优点:不用桩模块,测试用例的设计相对简单。 缺点:程序最后一个模块加入才具有整体的形象,错误发现的较晚。
3)确认测试。通常采用黑盒测试(需求规约)
4)系统测试。基于计算机的系统进行的一系列的测试。(系统工程)
包括恢复测试,安全保密性测试,压力测试(强度测试)和性能测试。
4、主要的调试方法:蛮力法,回溯法,原因排除法。
5、软件测试和软件调试的区别:
1)测试从一个侧面证明程序员的失败;调试是为了证明程序员的正确
2)测试从已知条件开始,使用预先定义的程序,且有预知的结果;调试一般以不可知的内部条件开始,除了统计行调试,结果是不可预见的
3)测试是有计划的,并要进行测试设计;调试是不受时间约束的
4)测试是发现错误,改正错误,重新测试的过程;调试是一个推理的过程
5)测试的执行是有规程的;调试的执行往往要求程序员进行必要的推理及直觉的飞跃
6)测试通常由测试组在不了解软件设计的前提下完成;调试必须由了解详细设计的程序员完成
7)大多数测试的执行和设计可由工具支持;调试时程序员能利用的工具主要是测试器
第十五章
1、软件维护的分类
1)纠错性维护。 为了改正软件系统中的错误,使软件能满足正常运行状态的要求而进行的维护
2)适应性维护。 随着计算机的飞速发展,数据环境或外部环境可能发生变化,为了使软件适应这种变化而修改软件的过程
3)改善性维护。 在软件使用过程中用户会提出增加新功能或修改已有功能的建议,为了满足这类要求而进行的维护
4)预防性维护。 为了使计算机程序能够更好的纠错,适应和增强提高软件的可维护性可靠性,为以后打下良好基础
第十六章
1、软件度量的分类方法
1)第一种分为面向规模的度量,面向功能的度量,面向人的度量
2)第二种分为生产率度量,质量度量,技术度量
2、软件质量的模型有McCall模型,GB/T 16260模型,ISO/IEC 25010模型
3、McCall模型中的软件质量的11个要素
1)软件产品的运行:正确性,可靠性,完整性,易用性,效率
2)软件产品的修正:可维护性,可测试性,灵活性
3)软件产品的转移:可移植性,可复用性,互操作性