启发规则 设计结果应该清晰易懂 用词一致——按习惯用法命名 使用已有的 protocol 尽量减少 message模式的数目 ■避免模糊定义 般-特殊结构的深度应适当 设计简单的类 避免过多 attributes 能用简单的语句描述一个clas的任务 objects之间合作关系要简单 避免过多 method(≤7个
启发规则 ◼ 设计结果应该清晰易懂 ◼ 用词一致 —— 按习惯用法命名 ◼ 使用已有的protocol ◼ 尽量减少message模式的数目 ◼ 避免模糊定义 ◼ 一般----特殊结构的深度应适当 ◼ 设计简单的类 ◼ 避免过多attributes ◼ 能用简单的语句描述一个class的任务 ◼ objects之间合作关系要简单 ◼ 避免过多methods( 7个)
启发规则 ■使用简单的协议 使用简单的服务 ■把设计变动减至最小
启发规则 ◼ 使用简单的协议 ◼ 使用简单的服务 ◼ 把设计变动减至最小
软件重用 ■11.3.,1概念 ■132软件重用的效果 ■11.3.3软件重用技术 113.4类构件
软件重用 ◼ 11.3.1 概念 ◼ 11.3.2 软件重用的效果 ◼ 11.3.3 软件重用技术 ◼ 11.3.4 类构件
软件重用 概念 ■知识重用(例如软件工程知识的重用) 方法和标准重用 软件成分的重用 ■代码重用 ■设计重用 ■分析重用
软件重用 ◼ 概念 ◼ 知识重用(例如软件工程知识的重用) ◼ 方法和标准重用 ◼ 软件成分的重用 ◼代码重用 ◼设计重用 ◼分析重用
软件重用 ■软件重用的效果 额外代价 ■创建可重用成分的专门投资 ■多花24倍时间测试以保证质量 构件库的建立与维护需要投资 重用率( Reusability)与生产率( Productivity) 开发代码的生产率C=Ln 重用新代码的生产率C (-CB/CPR
软件重用 ◼ 软件重用的效果 ◼ 额外代价: ◼ 创建可重用成分的专门投资 ◼ 多花2~4倍时间测试以保证质量 ◼ 构件库的建立与维护需要投资 ◼ 重用率(Reusability)与生产率(Productivity) 开发代码的生产率 n n n E L C = 重用新代码的生产率 r r r E L C = 1 (1 C /C )R C P n r n − − =