软件开发过程(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. canvas的api

    Canvas API(画布)用于在网页实时生成图像,并且可以操作图像内容,基本上它是一个可以用JavaScript操作的位图(bitmap).使用前,首先需要新建一个canvas网页元素. 1 2 3 ...

  2. excel 获取中文拼音首字母

      excel 获取中文拼音首字母 CreateTime--2018年5月31日08:50:42 Author:Marydon 1.情景展示 想要获取姓名的拼音首字母 2.实现方式 通过使用excel ...

  3. 【APP接口开发】常用HTTP响应头状态码详解

    1.200 OK,客户端请求城成功 2.400 Bad Request ,客服端请求语法错误,服务器无法理解和处理 3.401 unauthorized,请求未通过认证 4.403 permissio ...

  4. 复制Map对象:Map.putAll方法

    复制Map对象:Map.putAll方法 Map.putAll方法可以追加另一个Map对象到当前Map集合 package xmu.sxl; import java.util.HashMap; imp ...

  5. tomcat的web项目的远程热发布

    已经发布的项目war包更改了怎么办?我常用的做法是: .把war包上传服务器 .远程登录服务器后台 .停止tomcat服务 .用新的war包替换老的war包 .启动tomcat服务 后来才知道原来to ...

  6. C# BackgroundWorker的Bug???

    废话不多说,上代码: public partial class Form1 : Form { BackgroundWorker _bgWorker; int count; public Form1() ...

  7. C++ 资源管理之 RAII

    RAII,它是“Resource Acquisition Is Initialization”的首字母缩写.也称为“资源获取就是初始化”,是c++等编程语言常用的管理资源.避免内存泄露的方法.它保证在 ...

  8. B/S打印解决方案参考

    使用Lodop 插件,该插件占用8000端口,未使用过,仅知依赖浏览器打印 http://blog.csdn.net/harderxin/article/details/17262945 强大的web ...

  9. selenium 实现浏览器 前进和后退

    #coding=utf-8from selenium import webdriver driver = webdriver.Chrome()driver.get("https://www. ...

  10. Spring注解@ResponseBody,@RequestBody

    @RequestBody 将HTTP请求正文转换为适合的HttpMessageConverter对象. @ResponseBody 将内容或对象作为 HTTP 响应正文返回,并调用适合HttpMess ...