软件开发过程(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与瀑布模型的更多相关文章

  1. 10. Software, Software Engineering, water fall (瀑布模型),Code Complete等名词的来源

    ①.Software-软件”一词是20世纪60年代才出现的,软件Software——1958年由贝尔实验室的著名统计学家John Tukey 提出软件与硬件一起构成完整的计算机系统,它们是相互依存,缺 ...

  2. 瀑布模型,(增量开发)渐增式开发,原型化开发,统一过程模型(RUP)

    瀑布模型:设计在开发阶段 瀑布模型有以下优点 1)为项目提供了按阶段划分的检查点. 2)当前一阶段完成后,您只需要去关注后续阶段. 3)可在迭代模型中应用瀑布模型. 增量迭代应用于瀑布模型.迭代1解决 ...

  3. 瀑布模型&螺旋模型

    软件开发模型:1.瀑布模型1)软件概念阶段 用户需求2)需求分析 软件需求3)架构设计 架构文档4)详细设计 模型设计5)编码阶段 代码文档6)测试阶段瀑布模型的特点是在每个阶段的工作都清晰详尽,容易 ...

  4. 敏捷软件开发VS传统软件工程

    敏捷软件开发:又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新兴软件开发方法,是一种应对快速变化的需求的一种软件开发能力. 与传统软件工程相比,它们的具体名称.理念.过程.术语都不尽相同 ...

  5. Atitit 软件工程概览attilax总结

    Atitit 软件工程概览attilax总结 1.1. .2 软件工程的发展 进一步地,结合人类发展史和计算机世界演化史来考察软件工程的发展史. 表2 软件工程过程模型 表2将软件工程的主要过程模型做 ...

  6. 软件工程的引入:Scrum开发框架总结

    俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及的知识点如下: 软件工程概念 敏捷开发过程scrum 一.什么是软件工程?请用一句话描述. 软件工程是一门研究性的学科:它用工程化 ...

  7. [转]如何循序渐进向dotnet架构师发展

    微软的DotNet开发绝对是属于那种入门容易提高难的技术.而要能够成为DotNet架构师没有三年或更长时间的编码积累基本上是不可能的.特别是在大 型软件项目中,架构师是项目核心成员,承上启下,因此RU ...

  8. 传统瀑布式&敏捷开发

    ---传统瀑布式 瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求.分析.设计.编码.测试的步骤顺序进行. 步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等. 瀑布式 ...

  9. Apworks框架实战(三):单元测试与持续集成

    虽然这部分内容并没有过多地讨论Apworks框架的使用,但这部分内容非常重要,它与Apworks框架本身的设计紧密相关,也是进一步了解Apworks框架设计的必修课. 单元测试与持续集成概述 在敏捷开 ...

随机推荐

  1. 查看物体A是否被相机B渲染

    using UnityEngine; using System.Collections; public class Test : MonoBehaviour { public GameObject a ...

  2. SQL Server Management Studio 简单使用说明

    1.对数据库中的数据生成脚本 a.选中要生成脚本的数据库右键->任务->生成脚本(如下图)->下一步->下一步->选中你想要生成的内容->下一步->完成

  3. 18-spring学习-利用Annotation配置AOP

    之前是通过配置完成aop操作,如果自己写的话,太麻烦了,可以使用基于annotation的配置完成. 第一步:打开AOP的annotation支持 加上一句话: <context:annotat ...

  4. OFBiz:配置过程

    OFBiz使用了大量的配置文件,整个过程有点复杂.这里将配置过程大略整理了一下,方便后面查阅. 第一层:org.ofbiz.base.start.Start启动类.该类载入org/ofbiz/base ...

  5. iOS开发-应用之间的跳转及通信

    Update 2016-08-12: 在Github的Demo上增加Mac自定义Url Scheme,可以在Safari上输入特定协议头打开应用,并传递参数) 简介 我们接下来将要实现应用程序之间的跳 ...

  6. 从零开始配置Ubuntu 14.04&SSH&curl&Git&MongoDB&Node.js

    从零开始配置Ubuntu 14.04 从零开始配置Ubuntu 14.04,记录配置服务的过程,安装组件如下: SSH curl Git MongoDB Node.js ... ​ Ubuntu 安装 ...

  7. Python-类属性与对象属性之间的关系

    只要对象的属性未被指定赋值过, 不论类的属性怎么改变, 对象的属性都会跟随改变, 若对象属性被赋值过, 则不跟随类的属性而改变

  8. jquery 常用api 小结2

    *一)jQuery常用方法API实战 (1)DOM简述与分类 A)DOM是一种标准,它独立于平台,语言,浏览器. B)如果项目中,你完全按照DOM标准写代码,你就能在各大主流的浏览器中操作标准控件. ...

  9. jquery tmpl 详解(转)

    动态请求数据来更新页面是现在非常常用的方法,比如博客评论的分页动态加载,微博的滚动加载和定时请求加载等. 这些情况下,动态请求返回的数据一般不是已拼好的 HTML 就是 JSON 或 XML,总之不在 ...

  10. appframework学习--nav的使用说明

    app-framework学习--nav的使用说明: 语法: <nav id="mynav" style="background-image:url(../imag ...