UML&开发过程
UML学习
学习UML的三个阶段,就是要解决三个问题:
1. 如何使用UML画图?(How)
2. 为什么要使用UML?(Why)
3. 什么时候使用UML?(When)
三个问题对应三个阶段(Stage):
Stage1:学习UML的基本语法,包括各种UML的大图适用情形。目标是能够看懂UML图,理解模型所表达的意思,能够使用UML工具表达简单的建模思想。
Stage2:深入学习UML语法,理解UML建模的功能特征,体会UML建模给软件设计及开发过程带来的好处。目标是能够在实际应用中灵活地扩展和修改它。
Stage3:深入学习UML和开发过程,将UML与开发过程结合起来。目的是找到UML发挥威力的地方施展开来。
开发过程方法学(Methodology)就是开发过程中经历的步骤的结构和性质。
开发过程方法学:
1. 瀑布模型(waterfall)
四个阶段:分析Analysis,设计Design,编码Coding,部署Deployment
缺点:信息共享少,过程不能回溯到早期阶段,不利于问题的逐步理解
2. 现代开发过程
1) 强调阶段的无缝集成
2) 项目由多人协作完成,按角色分工
系统分析员:与客户交流,理解业务领域问题;
系统架构师:设计问题的解决方案;
程序设计人员:将解决方案编制成代码,交付可执行的目标系统;
系统工程师:将目标系统部署到硬件上运行;
项目经理:监控开发过程进度以及形成职责跟踪的工作产品,向客户报告项目的最新进展;
3) GRAPPLE(Guidelines for Rapid APPLication Engineering)快速应用工程指导原则,一个自适应的、灵活的开发思想。
五个段(Segment)组成一个过程RADDD(或RAD3):
1. 需求收集(Requirements Gathering)
2. 分析(Analysis)
3. 设计(Design)
4. 开发(Development)
5. 部署(Deployment)
每个段有一些动作(Act
段 | 动作 | 工作产品 | 执行者 | 参与者 |
需求收集 | 发现领域过程 | 1.业务领域词汇 | 系统分析员 | 目标系统的使用者 |
领域分析 | 1.深刻理解业务领域概念 | 系统分析员 | 目标系统的使用者 | |
识别协助系统 | 1.发现依赖的老系统 | 开发组成员 | 企业IT管理员 | |
发现系统需求 | 1.JAD session(Joint Application Development session)会议记录 | 开发组成员 | 客户组织决策者 | |
提交结果给客户 | 1.整理并提交上述工作产品给客户 | 项目经理 | 客户 | |
分析 | 理解系统用法 | 1.一组用例图(高层用例分析) | 用例分析人员 | 客户 |
充实用例 | 1.JAD session会议记录 | 用例分析人员 | 用户 | |
细化类图 | 细化的类图 | 对象建模者 | 用户 | |
分析对象状态变化 | 状态图 | 对象建模者 | 用户 | |
定义对象之间的交互 | 1.序列图 | 对象建模者 | 开发组成员 | |
分析与协作系统的集成 | 1.详细的系统部署图 | 系统工程师 | 开发组成员 | |
设计 | 开发和细化对象图 | 1.对象图 | 程序设计人员 | 开发组成员 |
开发构件图 | 构件图 | 程序设计人员 | 开发组成员 | |
制定部署计划 | 部署图(明确节点中的构件) | 系统工程师 |
| |
设计和开发用户界面原型 | 1.纸质GUI原型 | 程序设计人员 | 开发组成员 | |
测试设计 | 依据用例构建测试脚本 | 测试专家 | 开发组成员 | |
编制文档 | 1.设计文档 | 文档专员 | 开发组成员 | |
开发 | 编制代码 | 代码 | 程序员 |
|
测试代码 | 测试结果 | 程序员 |
| |
构建GUI和GUI带代码的连接及测试 | 带GUI的功能系统 | 程序员 |
| |
完成文档 | 开发和测试文档 | 程序员 |
| |
部署 | 编制备份和恢复计划 | 备份和恢复计划 | 系统工程师 | 开发组成员 |
在硬件中安装系统 | 完全部署好的计算机系统 | 系统工程师 | 开发组成员 | |
测试安装后的系统 | 测试结果 | 开发组成员 |
|