软件开发过程(Software development process)描述了构造、部署以及维护软件的方式。(就是先做什么后做什么)
统一过程(The Unified Software Development Process)UP是一种流行的构造面向对象系统的迭代软件开发过程。
Rational统一过程(Rational Unified Process,RUP)是对统一过程(RP)的详细精化,并且已经被广泛采纳。
UP中的三个概念:
- 以构架为中心(就是各种模型)
- 用例驱动(确定用户使用软件来干什么,怎么用)
- 迭代和增量式开发
瀑布生命周期
- 试图在编程之前定义所有或大部分需求;
- 而且通常于编程之前创建出完整的设计;
- 试图在开始前定义“可靠的”计划或时间表;
但在很多的开发公司还在使用,是由于现实情况的需要。(在签订合同时有都明确规定,什么时候提供需求分析文档及设计文档等)
迭代和增量式开发
四个阶段:初始,细化,构造,交付(逐步演进)
- 在初始阶段:最重要的20%的需求来进行分析,建立用例模型,做需求【20%需求】把用户重点需求详细列出来,并行其他的工作比如根据程序员用什么技术,平台,等等并构建这些环境把各个项目的大体过程整理好【大约2星期】
- 在细化阶段:做其他80%的需求用用例的方式分析需求设计,持续地与客户沟通(需求+分析+设计(有多次迭代))
- 在构造阶段:编码+测试
- 交付阶段:测试+交付。
UML中的重要元素-表示法,UML包括:
事物(某种东西)
- 结构:类(描述概念)、接口(功能性描述)、构件(软件的模块)、节点(描述事个系统的部署结构)等
- 行为:交互(消息)、状态等
- 分组:包(用来组织其他事物的一种概念)、子系统(如权限管理系统、)等
- 注释:注释(图里未尽示意用注释来表示)
关系
- 依赖(公文系统、权限系统)
- 关联(聚合、组合)(任何一个公司都有多个部门,每个部分有多个人,)、
- 泛化
- 实现
图(表示从不同角度观察系统)
- 用例图
- 交互图(顺序图、协作图)
- 类图
- 活动图
- 状态图
扩展机制
- Stereotype
- Tagged Value
- Constraint
类图示例:
用例图示例:
活动图示例:
状态图: