十二、系统设计
设计模型:按图索骥
接口设计:单个对象 相似行为的对象 软件各层次 基于方便目的
包设计:应该在系统分析阶段
自顶向下 职能集中 互补交叉
软件层次包?——软件架构与框架 软件模块包——分析模型 代码包——设计模型
面向服务设计 面向对象设计
十三、开发
生成代码:建模工具 开发工具
分工策略:纵向分工 横向分工
十四、测试
设计和开发测试用例:
确定用例 确定用例场景 确定执行路径 确定测试场景 确定测试因素 开发测试矩阵 开发和执行测试例
十五、理解用例的本质
用例是系统思维
用例是面向服务的
十六、理解用例驱动
用例与项目管理:以用例实现划分工作包
用例与可扩展架构:以用例驱动技术架构
十七、理解建模的抽象层次
层次高低问题
层次不交叉问题
十八、划分子系统的问题
以对象的依赖关系划分子系统
包可以作为划分子系统的单元
十九、学会使用系统边界
边界是面向对象的保障
利用边界来分析需求:边界决定用例粒度
边界意识决定设计好坏
二十、学会从接口认识事物
接口决定了系统行为
接口是系统的灵魂
二十一、学会正确选择
学会综合权衡
学会改变视角
二十二、学会使用设计模式
如何学习设计模式:理解意图和适用性
如何使用设计模式:分析设计目标,挑选最适合的设计模式