*这两章需要记忆的知识点比较多,计算题主要考McCabe度量法
一、系统安全性
系统级:不允许未经授权的用户进入系统,措施:注册和登录
用户级:对用户分类,对不同用户设置不同权限
目录级:保护系统中的目录,与用户权限无关,只有系统核心才具有写目录的权利
文件级:系统管理员或文件主对文件属性的设置来控制用户对文件的访问
二、软件能力成熟度模型 CMM
初始级:无序,混乱,没有定义
可重复级:基本的项目管理过程,跟踪费用、进度和功能特性,必要的纪律
已定义级:文档化,标准化
已管理级:详细度量,有定量的理解和控制
优化级:量化反馈,先进思想,不断改进
三、成本估算模型 COCOMO II
3种不同的规模估算选择:对象点,功能点和代码行
应用组装模型阶段:对象点
早期设计阶段:功能点
体系结构阶段:代码行
四、软件质量特性 ISO/IEC 9126
考过特性和子特性的关系,e.g. Q:保密安全性是 ISO/IEC 9126 中哪个特性的体现?A:功能性
五、软件开发模型
- 瀑布模型
- 各个阶段固定顺序
- 缺陷:缺乏灵活性,无法通过开发活动澄清不明确的需求
- 增量模型
- 优先级最高的最先交付,每一次增量版本都是可独立操作的作品
- 演化模型
- 原型模型:针对需求不明确的情况
- 螺旋模型:与原型类似,增加了风险分析
- 喷泉模型:适合面向对象开发
- 基于构建的开发模型:利用预先包装的构件来构造应用系统
- 形式化方法模型:建立在数学基础上的软件开发方法
- 统一过程模型UP(考过交付物):
- 用例和风险驱动,架构为中心,迭代且增量,四个阶段及交付物:
- 初始 — 构想文档,初始用例模型,初始项目术语表等
- 精化 — 用例模型,补充需求,分析模型,软件体系结构描述,可执行的软件体系结构模型等
- 构建 — 设计模型,软件构件,集成的软件增量,测试计划及步骤等
- 移交 — 提交的软件增量,测试报告,综合用户反馈
- 用例和风险驱动,架构为中心,迭代且增量,四个阶段及交付物:
- 敏捷方法
- 极限编程(XP)
- 水晶法(Crystal)
- 并列争求法(Scrum)
- 自适应软件开发方法(ASD)
六、白盒测试
- 语句覆盖
- 执行程序中的每条语句至少一次
- 判定覆盖
- 每个判断条件都被“真”和“假”至少执行一次
- 条件覆盖
- 每个条件表达式中的每个布尔子表达式都被“真”和“假”测试至少一次
- 判定/条件覆盖
- 结合判定覆盖和条件覆盖,确保每个判定和条件的所有可能结果都得到测试
- 条件组合覆盖
- 测试条件中的所有可能的布尔子条件组合
- 路径覆盖
- 测试每条可能的独立执行路径,确保所有可能的执行路径都被覆盖
**判定/条件覆盖和条件组合覆盖的区别:
七、McCabe度量法
复杂度 = 边数-顶点数+2