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. 使用unity3d和tensorflow实现基于姿态估计的体感游戏

    使用unity3d和tensorflow实现基于姿态估计的体感游戏 前言 之前做姿态识别,梦想着以后可以自己做出一款体感游戏,然而后来才发现too young.但是梦想还是要有的,万一实现了呢.趁着p ...

  2. 评论beta发布

    1. 组名:飞天小女警 项目名:礼物挑选小工具 评价:该系统可以通过选择所要接礼的人的性别.年龄和与送礼者的关系及所要送礼的价值,就可以推荐出所送的礼物.还可以通过男/女所选的Top前10进行简单推荐 ...

  3. PAT 甲级 1087 All Roads Lead to Rome

    https://pintia.cn/problem-sets/994805342720868352/problems/994805379664297984 Indeed there are many ...

  4. multer详解

    Express默认并不处理HTTP请求体中的数据,对于普通请求体(JSON.二进制.字符串)数据,可以使用body-parser中间件.而文件上传(multipart/form-data请求),可以基 ...

  5. [转帖] Oracle数据库 通过触发器 限制登录ip

    转帖 From https://yq.aliyun.com/ziliao/123360 create or replace trigger logon_ip_control after logon o ...

  6. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 1. 神秘朋友

    Python (Windows 下) 自带了一个非常有趣的 海龟绘图程序 (turtle),它是本系列课程的主角. 在 PyCharm 中,新建一个项目,然后在代码编辑器中输入 import turt ...

  7. mysql存储过程学习第一天

    摘要:存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SQL语句.存储过程和函数可以避免开发人员重复的编写相同的SQL语句.而且,存储过程和函数是在 ...

  8. SP1043 GSS1

    题目链接 简单说就是带修的查询区间最大子段和,用线段树维护即可 对于每个区间,我们肯定要记录它的最大子段和\(v\),但是怎么维护呢? 我们可以记录下从区间左端点开始的最大子段和\(v1\),从右端点 ...

  9. gdb调试coredump文件

    linux上程序崩溃起来挺烦人,不过linux 比较好的是有gdb. 1.生成coredump文件 echo "ulimit -c unlimited" >> /etc ...

  10. 【题解】 luogu 3857 [TJOI2008]彩灯 (线性基)

    luogu3857,懒得复制 Solution: 裸的线性基,往里面添加数,记录添加个数\(sum\),快速幂输出\(2^{sum}\)即可 Code: //It is coded by Ning_M ...