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. Tomcat源码学习(1)

    Tomcat源码学习(1) IntelliJ IDEA 17.3.3 导入 Tomcat 9.0.6源码 下载源码 tomcat_9.0.6 启动 IDEA. 点击 Open,选择刚才下载的文件解压后 ...

  2. 使用kubeadm安装kubernetes高可用集群

    kubeadm安装kubernetes高可用集群搭建  第一步:首先搭建etcd集群 yum install -y etcd 配置文件 /etc/etcd/etcd.confETCD_NAME=inf ...

  3. mysql学习(2)-Navicat Premium 12 链接MySQL8.0.11数据库报2059错误

    Navicat Premium 12 链接MySQL8.0.11数据库报2059错误 1,问题现象 安装完MySQL8.0.11和Navicat Premium12后,我们会用Navicat去测试连接 ...

  4. LeetCode 606. Construct String from Binary Tree根据二叉树创建字符串 (C++)

    题目: You need to construct a string consists of parenthesis and integers from a binary tree with the ...

  5. About The Algorithm Simplification

    For mode 1, you have to ergod all the data in the files. So the key point to solve this problem is t ...

  6. 通过动态包含和Ajax机制抽取Web应用的公共页面

    在Java Web应用开发中,经常遇到的一种情况是,许多的页面中都包含着“公共页面”,这部分动态页面的特征是:访问量大,会带来较大的性能压力.功能设计上会动态地改变自身的元素.比如在登录前和登录后所展 ...

  7. sqlserver 比较两个表的列

    一.问题 给了两个各有四五十个列的表,找出他们相同的列和不同的列 二.查询两个表的列,存在临时表 --#a ,#b都是临时表,当前连接断开后自动删除--RANK() OVER (ORDER BY sy ...

  8. BZOJ4628 BJOI2016IP地址(trie)

    离线,每次修改相当于对该规则的所有匹配点的值+1,考虑在trie上打加法标记和匹配标记,匹配标记不下传,加法标记下传遇到匹配标记时清空.注意是用b时刻前缀-a时刻前缀,而不是(a-1)时刻前缀,具体我 ...

  9. P2824 [HEOI2016/TJOI2016]排序

    题面 这是一道非常巧妙的线段树的题 我们会发现维护\(1 \sim n\)的序列非常困难,但如果我们维护\(01\)序列的的顺序,就非常容易了 但是我们怎么能把这道题变成维护\(01\)序列的顺序呢? ...

  10. 【刷题】BZOJ 3522 [Poi2014]Hotel

    Description 有一个树形结构的宾馆,n个房间,n-1条无向边,每条边的长度相同,任意两个房间可以相互到达.吉丽要给他的三个妹子各开(一个)房(间).三个妹子住的房间要互不相同(否则要打起来了 ...