RUP提供了一个给角色分配任务和责任的严格方法,在J2EE开发中使用RUP出于以下三个原因:

  1. RUP以架构为中心;在将资源分配给全面开发之前,它先开发一个可执行的架构原型。
  2. UP是迭代并基于构件的。
  3. RUP利用一门工业标准语言——UML,可视化建模系统的架构和构件。

  RUP有四个不同的开发阶段:初始、细化、构造和移交。然而,本文从技术角度覆盖了J2EE开发的八个必要活动,主要集中在系统架构。

  从8个方面来说明:

  1. 需求分析:需求分析描述系统应该做什么或不应该做什么使得开发者和客户可以签署一份原始的商业合同。可以使用业务概念、领域术语、用例和用户界面(UI)模型形成功能需求文档。
    对于非功能需求,如性能和事务,可以在需求文档附件中详细说明。根据参与项目深度的不同,确定在纸上还是使用HTML建造高层UI模型。
  2. 面向对象分析:人员构造问题领域模型:类、对象和交互。
    分析应该与技术和实现细节无关,并包含一个理想的模型。
    因为业务过程的改变比信息技术的改变要慢得多,所以必须要维持一个不含技术细节的纯领域模型。
    需求分析中得到主要概念,把这些概念建模为对象,并标识他们的关系,为开发架构,可以使用横向联合部分来设计对象,实现,测试来部署,横向联合部分,一个RUP概念,是指系统的一小部分,他的实现结果是包括前端UI,中间业务及后端数据的完整功能的小系统。
  3. 架构规格说明:经过需求分析以及面向对象后的领域问题后,
    将工作集中在技术策略和架构上。架构是指所有构件组合定义系统的一个蓝图:结构、接口和通讯机制。
    架构可以分为:企业级架构,应用级架构
  4. 企业级架构:包括硬件和软件基础设施,网络部局,开发,测试,生产环境等,反映企业的长期投资。
    构件组成:Web浏览器客户端,一个HTTP服务器(Web服务器主表示层,业务逻辑构件),关系型数据库主数据与数据逻辑。

    你的系统架构类型依赖于:安全,性能和可靠性的需求,也依赖于客户的财务状况。
    架构和设计完全不同,应用架构范围包括,系统主要结构,架构设计模式,可增加构件的框架,主要考滤非功能性方面。
    设计主要考滤的是业务用例. 对象设计在架构规范下进行,设计从技术扩展跟修改分析阶段产生的领域对象模型,领域对象模型虽然与技术实现无关,
    但依赖于技术因素,包括:平台,语言等等因素。

    理论上,为了维持业务对象的基本属性和行为,除非绝对必要,不应该破坏它们。在架构结果的指导下,详细设计工作应该说明所有类的规格,包括必须实现的属性、它们的详细接口和伪代码或操作的纯文本描述。

    规格说明应该足够详细使得和模型图结合时,它可以提供所有必须的编码信息。

    -------
    对象设计模型:在完成对象设计的详细设计后,还需要完成领域对象的对象-关系映射,将领域对象转化为关系模型或对象的数据库表是非常重要的。

  5. 实现:设计一个规范的架构,跟编写一份详细的高设计是非常重要的事情,不在需求分析定义对象模型,关系模型,对应的数据库表,以后开发过程中的各种规范,极有可能使用开发后期经常的测试功能,甚至可能到最后才发现方向跟结构不合理。
  6. 验证:
  7. 装配跟布暑:构件装配和解决方案部署在J2EE开发中特别重要。
  8. 运行跟维护:用程序到了用户手中,你必须给他们提供培训和文档。
    客户可能对不足提出更改,我们的更改应该尽量不影响系统的运行,添加一个新的构件或去掉一个老的构掉,尽量不以关闭运行为前提。

  软件架构过程必须做许多架构决定,必须为架构开发描述一个开发过程,在我们开发的多个项目中可能存在一些可通用的需求,在我们的项目周期中应该尽量使用以前项目所生成的成熟的可扩展,可重用的架构,为一系列软件应用提供同属结构和行为的通用框架和可重用软件架构是非常需要的。

  可以使用设计模式来扩展参考架构,提供一组J2EE模式目录的蓝图及提从“四人帮”模式都是不错的资源。一旦建立了一个基本的J2EE框架,必须实现一些用例来说明架构确实可以为你的领域服务。可以通过选用捕获系统关键功能的场景来实现,这些场景经常使用来展现关键的技术风险。

  从领域分析模型入手,可以将领域对象映射成高层和低层设计模型。如果每件事都按计划运行,那么重新评估风险开始下一个迭代,扩展要考虑的场景并选择更多的场景扩展架构的覆盖范围。经过几次迭代后,原始的架构原型应该变得稳定。识别要购买的构件,要保留的遗留系统和怎样将它们对接。

流行的软件工程过程--Rational统一过程!的更多相关文章

  1. php 启动过程 - sapi MINIT 过程

    php 启动过程 - sapi MINIT 过程 sapi 概念 sapi 是 php 的应用编程接口, server 端接收请求通过 sapi 接口层交给 php 处理 不同的 server 端底层 ...

  2. VScript 函数调用的两种分类:Sub过程和Function过程

    来源:http://soft.zdnet.com.cn/software_zone/2007/0925/523318.shtml 在 VBScript 中,过程被分为两类:Sub 过程和 Functi ...

  3. php 启动过程 - reqeust RSHUTDOWN 过程

    php 启动过程 - reqeust RSHUTDOWN 过程 概述 request RSHUTDOWN 过程在请求结束后调用 调用触发 同 request RINIT 过程一样, 先是用 apach ...

  4. php 启动过程 - reqeust RINIT 过程

    php 启动过程 - reqeust RINIT 过程 概述 apache 接收到请求之后, 交给 php 处理 php 模块在接收到请求后, 会对请求进行初始化, 及 RINIT 过程 调用触发 a ...

  5. php 启动过程 - sapi MSHUTDOWN 过程

    php 启动过程 - sapi MSHUTDOWN 过程 概述 当服务器关闭时, 会走到 sapi MSHUTDOWN 过程 注册过程 本次内容是在 php 启动过程 - sapi MINIT 过程 ...

  6. 第三次作业(1) Visual Studio程序安装过程和练习过程

    Visual Studio程序安装过程和练习过程 第一步 首先要在网上找一个VS2013的安装包,之后我安装在D盘上,C盘上也需要有5.2G空间,勾选相应的选项,才能继续安装. 安装的过程很漫长,接近 ...

  7. Atitit. 软件开发中的管理哲学--一个伟大的事业必然是过程导向为主 过程导向 vs 结果导向

    Atitit. 软件开发中的管理哲学--一个伟大的事业必然是过程导向为主    过程导向 vs 结果导向 1. 一个伟大的事业必然是过程导向为主 1 1.1. 过程的执行情况(有明确的执行手册及标准) ...

  8. STM32CubeMX软件工程描述_USART配置过程

    推荐 分享一个朋友的人工智能教程,零基础!通俗易懂!希望你也加入到人工智能的队伍中来! http://www.captainbed.net/strongerhuang Ⅰ.写在前面 学习本文之前可以查 ...

  9. Linux引导过程和服务过程

    目录 一.Linux操作系统引导过程 1.1.开机自检 1.2.MBR引导 1.3.GRUB菜单 1.4.加载Linux内核 1.5.init进程初始化 二.系统初始化进程 2.1.init进程 2. ...

随机推荐

  1. App推荐 | Google Tasks

    前不久,Google推出了一款移动任务管理应用Google Task,在使用2天后,写一下使用感受,并与Google同类产品Keep进行一个对比. 首先欣赏几张官方的App截图 然后来看一下官方的介绍 ...

  2. 基于tensorflow2.0 使用tf.keras实现Fashion MNIST

    本次使用的是2.0测试版,正式版估计会很快就上线了 tf2好像更新了蛮多东西 虽然教程不多 还是找了个试试 的确简单不少,但是还是比较喜欢现在这种写法 老样子先导入库 import tensorflo ...

  3. 机器学习初入门04 – Seaborn(持续更新)

    Seaborn库可以说是在matplotlib库上的一个封装,它给我们提供了非常丰富的模板 一.整体布局风格设置 import seaborn as sns import numpy as np im ...

  4. python引入pytesseract报错:ValueError: Attempted relative import in non-package

    http://blog.csdn.net/yifengfuxue/article/details/79015651

  5. JAVA每日一旅2

    1.关于类型转换 两个数值进行二元操作时,会有如下的转换操作: 如果两个操作数其中有一个是double类型,另一个操作就会转换为double类型. 否则,如果其中一个操作数是float类型,另一个将会 ...

  6. Daily Scrum NO.7

    工作概况 今日由于时间比较充裕,没有编译作业的干扰,团员们的进度喜人.线程池.动态爬取.异常清理这三个主要开发工作已经步入尾声.其中线程池开发工作的代码已经签入,现主要在测试和优化.动态爬取今日也签入 ...

  7. 软件项目第一次sprint评分表

  8. Hamburger

    Bread: 我觉得舒婷解决问题的思路还是很不错的,对于java 的窗口框架也是很熟悉,打码速度也快了很多. Meat:但是我发现你在命名的时候会出现随意的现象,如果命名只有你自己看得懂的话,那么会增 ...

  9. div z-index无论设置多高都不起作用

    这种情况发生的条件有三个: 1.父标签position属性为relative: 2.当前标签无position属性(relative,absolute,fixed): 3.当前标签含有浮动(float ...

  10. Hbase之JavaAPI连接池

    源码: package HbaseOperation; import com.alibaba.fastjson.JSON; import org.apache.hadoop.conf.Configur ...