从需求分析到系统设计的完整方法论
问题识别与建模
需求工程全过程
概要与详细设计
用户体验设计
努力更清晰、更明确地掌握客户对系统的需求
通过各种方式收集用户需求
对收集的需求进行分析整理
形成正式的需求文档
确认需求的正确性和完整性
对需求的变化进行管理的过程
确定需求的基准版本
管理需求变更流程
跟踪需求实现状态
系统必须提供的功能和服务
性能、安全、可用性等质量属性
技术、环境、标准等限制条件
高层次的业务目标和期望
用户期望系统提供的服务
详细的功能和非功能需求
现有文档、报告、规范等
召集多部门开会讨论
结构化/非结构化访谈
书面调查收集需求
实地观察业务流程
参与实际业务操作
服务器、网络、存储
操作系统、数据库、中间件
人员结构、管理制度
业务流程建模
数据元素定义
业务规则描述
确定系统边界
保留人工环节
人机交互界面
DFD
DD
PDL
Decision Table
Decision Tree
数据和方法的结合
类之间的层次关系
同一接口不同实现
忽略细节关注本质
对问题域进行分析,建立基于对象的模型
从问题域中抽象出对象
确定对象的数据特征
确定对象的行为特征
确定对象间的关联
将分析模型转换为设计模型
完善类的接口和实现
建立继承和组合关系
定义对象间的交互
设置访问控制级别
从需求描述中提取名词作为候选对象
从用例场景中识别参与的对象
类-职责-协作者卡片分析
描述系统功能需求和用户交互
与系统交互的外部实体
系统提供的功能服务
关联、包含、扩展、泛化
描述类的结构和类之间的关系
属性、方法、可见性
继承、实现、关联、依赖
1, 0..1, 1..*, 0..*, n..m
描述对象间按时间顺序的交互
对象的生存期
同步、异步、返回消息
对象执行操作的时间
描述业务流程或算法的执行流程
业务处理步骤
顺序、分支、并行、循环
责任分工和组织结构
数据和方法的结合
类之间的层次关系
同一接口不同实现
忽略细节关注本质
描述系统功能需求和用户交互
与系统交互的外部实体
系统提供的功能服务
关联、包含、扩展、泛化
描述类的结构和类之间的关系
属性、方法、可见性
继承、实现、关联、依赖
1, 0..1, 1..*, 0..*, n..m
描述对象间按时间顺序的交互
对象的生存期
同步、异步、返回消息
对象执行操作的时间
描述业务流程或算法的执行流程
业务处理步骤
顺序、分支、并行、循环
责任分工和组织结构