UP与瀑布模型
软件开发过程(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
类图示例:

用例图示例:

活动图示例:

状态图:

UP与瀑布模型的更多相关文章
- 10. Software, Software Engineering, water fall (瀑布模型),Code Complete等名词的来源
①.Software-软件”一词是20世纪60年代才出现的,软件Software——1958年由贝尔实验室的著名统计学家John Tukey 提出软件与硬件一起构成完整的计算机系统,它们是相互依存,缺 ...
- 瀑布模型,(增量开发)渐增式开发,原型化开发,统一过程模型(RUP)
瀑布模型:设计在开发阶段 瀑布模型有以下优点 1)为项目提供了按阶段划分的检查点. 2)当前一阶段完成后,您只需要去关注后续阶段. 3)可在迭代模型中应用瀑布模型. 增量迭代应用于瀑布模型.迭代1解决 ...
- 瀑布模型&螺旋模型
软件开发模型:1.瀑布模型1)软件概念阶段 用户需求2)需求分析 软件需求3)架构设计 架构文档4)详细设计 模型设计5)编码阶段 代码文档6)测试阶段瀑布模型的特点是在每个阶段的工作都清晰详尽,容易 ...
- 敏捷软件开发VS传统软件工程
敏捷软件开发:又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新兴软件开发方法,是一种应对快速变化的需求的一种软件开发能力. 与传统软件工程相比,它们的具体名称.理念.过程.术语都不尽相同 ...
- Atitit 软件工程概览attilax总结
Atitit 软件工程概览attilax总结 1.1. .2 软件工程的发展 进一步地,结合人类发展史和计算机世界演化史来考察软件工程的发展史. 表2 软件工程过程模型 表2将软件工程的主要过程模型做 ...
- 软件工程的引入:Scrum开发框架总结
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及的知识点如下: 软件工程概念 敏捷开发过程scrum 一.什么是软件工程?请用一句话描述. 软件工程是一门研究性的学科:它用工程化 ...
- [转]如何循序渐进向dotnet架构师发展
微软的DotNet开发绝对是属于那种入门容易提高难的技术.而要能够成为DotNet架构师没有三年或更长时间的编码积累基本上是不可能的.特别是在大 型软件项目中,架构师是项目核心成员,承上启下,因此RU ...
- 传统瀑布式&敏捷开发
---传统瀑布式 瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求.分析.设计.编码.测试的步骤顺序进行. 步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等. 瀑布式 ...
- Apworks框架实战(三):单元测试与持续集成
虽然这部分内容并没有过多地讨论Apworks框架的使用,但这部分内容非常重要,它与Apworks框架本身的设计紧密相关,也是进一步了解Apworks框架设计的必修课. 单元测试与持续集成概述 在敏捷开 ...
随机推荐
- NCBI SRA数据预处理
SRA数据的的处理流程大概如下 一.SRA数据下载. NCBI 上存储的数据现在大都存储为SRA格式. 下载以后就是以SRA为后缀名. 这里可以通过三种方式下载SRA格式的数据. 1.通过http方式 ...
- ScriptableObject 对象化的运用
http://www.cnblogs.com/oldman/articles/2409554.html using UnityEngine; using UnityEditor; using Syst ...
- UVA - 10162 Last Digit
Description Problem B.Last Digit Background Give you a integer number N (1<=n<=2*10100). Ple ...
- hdu2444 The Accomodation of Students(推断二分匹配+最大匹配)
//推断是否为二分图:在无向图G中,假设存在奇数回路,则不是二分图.否则是二分图. //推断回路奇偶性:把相邻两点染成黑白两色.假设相邻两点出现颜色同样则存在奇数回路. 也就是非二分图. # incl ...
- FastDFS简易概括
FastDFS是一个文件系统,可以部署在Linux上. 该文件系统具备高可用和负载均衡特性,还可以动态扩充容量. 此文件系统有两个服务组成:跟踪服务和存储服务,也就是说你必须部署了这两种服务,这个文件 ...
- 微信小程序项目实战之豆瓣天气
概述 微信小程序项目实战之豆瓣天气 详细 代码下载:http://www.demodashi.com/demo/10943.html 一.准备工作 1.注册微信小程序 2.在小程序设置中设置reque ...
- Solr 4.0部署
http://www.blogjava.net/xiaohuzi2008/archive/2012/12/03/392373.html
- List多个字段标识过滤
class Program { public static void Main(string[] args) { List<T> list = new List<T>(); ...
- 修改mysql中的auto_increment
在mysql数据库中,如何修改自增值auto_increment呢?请看下面的语句: 1.sql语句 ALTER TABLE table_name AUTO_INCREMENT=1 2截断表,trun ...
- 重装windows导致grub损坏
本人一块磁盘第7分区装linux,第一分区先装xp,后重装为windows8.1后,发现grub引导没了,直接进了windows,解决办法如下: 1.LiveCD进入系统,打开shell 2.输入sh ...