流行的软件工程过程--Rational统一过程!
RUP提供了一个给角色分配任务和责任的严格方法,在J2EE开发中使用RUP出于以下三个原因:
- RUP以架构为中心;在将资源分配给全面开发之前,它先开发一个可执行的架构原型。
- UP是迭代并基于构件的。
- RUP利用一门工业标准语言——UML,可视化建模系统的架构和构件。
RUP有四个不同的开发阶段:初始、细化、构造和移交。然而,本文从技术角度覆盖了J2EE开发的八个必要活动,主要集中在系统架构。
从8个方面来说明:
- 需求分析:需求分析描述系统应该做什么或不应该做什么使得开发者和客户可以签署一份原始的商业合同。可以使用业务概念、领域术语、用例和用户界面(UI)模型形成功能需求文档。
对于非功能需求,如性能和事务,可以在需求文档附件中详细说明。根据参与项目深度的不同,确定在纸上还是使用HTML建造高层UI模型。 - 面向对象分析:人员构造问题领域模型:类、对象和交互。
分析应该与技术和实现细节无关,并包含一个理想的模型。
因为业务过程的改变比信息技术的改变要慢得多,所以必须要维持一个不含技术细节的纯领域模型。
需求分析中得到主要概念,把这些概念建模为对象,并标识他们的关系,为开发架构,可以使用横向联合部分来设计对象,实现,测试来部署,横向联合部分,一个RUP概念,是指系统的一小部分,他的实现结果是包括前端UI,中间业务及后端数据的完整功能的小系统。 - 架构规格说明:经过需求分析以及面向对象后的领域问题后,
将工作集中在技术策略和架构上。架构是指所有构件组合定义系统的一个蓝图:结构、接口和通讯机制。
架构可以分为:企业级架构,应用级架构 - 企业级架构:包括硬件和软件基础设施,网络部局,开发,测试,生产环境等,反映企业的长期投资。
构件组成:Web浏览器客户端,一个HTTP服务器(Web服务器主表示层,业务逻辑构件),关系型数据库主数据与数据逻辑。你的系统架构类型依赖于:安全,性能和可靠性的需求,也依赖于客户的财务状况。
架构和设计完全不同,应用架构范围包括,系统主要结构,架构设计模式,可增加构件的框架,主要考滤非功能性方面。
设计主要考滤的是业务用例. 对象设计在架构规范下进行,设计从技术扩展跟修改分析阶段产生的领域对象模型,领域对象模型虽然与技术实现无关,
但依赖于技术因素,包括:平台,语言等等因素。理论上,为了维持业务对象的基本属性和行为,除非绝对必要,不应该破坏它们。在架构结果的指导下,详细设计工作应该说明所有类的规格,包括必须实现的属性、它们的详细接口和伪代码或操作的纯文本描述。
规格说明应该足够详细使得和模型图结合时,它可以提供所有必须的编码信息。
-------
对象设计模型:在完成对象设计的详细设计后,还需要完成领域对象的对象-关系映射,将领域对象转化为关系模型或对象的数据库表是非常重要的。 - 实现:设计一个规范的架构,跟编写一份详细的高设计是非常重要的事情,不在需求分析定义对象模型,关系模型,对应的数据库表,以后开发过程中的各种规范,极有可能使用开发后期经常的测试功能,甚至可能到最后才发现方向跟结构不合理。
- 验证:
- 装配跟布暑:构件装配和解决方案部署在J2EE开发中特别重要。
- 运行跟维护:用程序到了用户手中,你必须给他们提供培训和文档。
客户可能对不足提出更改,我们的更改应该尽量不影响系统的运行,添加一个新的构件或去掉一个老的构掉,尽量不以关闭运行为前提。
软件架构过程必须做许多架构决定,必须为架构开发描述一个开发过程,在我们开发的多个项目中可能存在一些可通用的需求,在我们的项目周期中应该尽量使用以前项目所生成的成熟的可扩展,可重用的架构,为一系列软件应用提供同属结构和行为的通用框架和可重用软件架构是非常需要的。
可以使用设计模式来扩展参考架构,提供一组J2EE模式目录的蓝图及提从“四人帮”模式都是不错的资源。一旦建立了一个基本的J2EE框架,必须实现一些用例来说明架构确实可以为你的领域服务。可以通过选用捕获系统关键功能的场景来实现,这些场景经常使用来展现关键的技术风险。
从领域分析模型入手,可以将领域对象映射成高层和低层设计模型。如果每件事都按计划运行,那么重新评估风险开始下一个迭代,扩展要考虑的场景并选择更多的场景扩展架构的覆盖范围。经过几次迭代后,原始的架构原型应该变得稳定。识别要购买的构件,要保留的遗留系统和怎样将它们对接。
流行的软件工程过程--Rational统一过程!的更多相关文章
- php 启动过程 - sapi MINIT 过程
php 启动过程 - sapi MINIT 过程 sapi 概念 sapi 是 php 的应用编程接口, server 端接收请求通过 sapi 接口层交给 php 处理 不同的 server 端底层 ...
- VScript 函数调用的两种分类:Sub过程和Function过程
来源:http://soft.zdnet.com.cn/software_zone/2007/0925/523318.shtml 在 VBScript 中,过程被分为两类:Sub 过程和 Functi ...
- php 启动过程 - reqeust RSHUTDOWN 过程
php 启动过程 - reqeust RSHUTDOWN 过程 概述 request RSHUTDOWN 过程在请求结束后调用 调用触发 同 request RINIT 过程一样, 先是用 apach ...
- php 启动过程 - reqeust RINIT 过程
php 启动过程 - reqeust RINIT 过程 概述 apache 接收到请求之后, 交给 php 处理 php 模块在接收到请求后, 会对请求进行初始化, 及 RINIT 过程 调用触发 a ...
- php 启动过程 - sapi MSHUTDOWN 过程
php 启动过程 - sapi MSHUTDOWN 过程 概述 当服务器关闭时, 会走到 sapi MSHUTDOWN 过程 注册过程 本次内容是在 php 启动过程 - sapi MINIT 过程 ...
- 第三次作业(1) Visual Studio程序安装过程和练习过程
Visual Studio程序安装过程和练习过程 第一步 首先要在网上找一个VS2013的安装包,之后我安装在D盘上,C盘上也需要有5.2G空间,勾选相应的选项,才能继续安装. 安装的过程很漫长,接近 ...
- Atitit. 软件开发中的管理哲学--一个伟大的事业必然是过程导向为主 过程导向 vs 结果导向
Atitit. 软件开发中的管理哲学--一个伟大的事业必然是过程导向为主 过程导向 vs 结果导向 1. 一个伟大的事业必然是过程导向为主 1 1.1. 过程的执行情况(有明确的执行手册及标准) ...
- STM32CubeMX软件工程描述_USART配置过程
推荐 分享一个朋友的人工智能教程,零基础!通俗易懂!希望你也加入到人工智能的队伍中来! http://www.captainbed.net/strongerhuang Ⅰ.写在前面 学习本文之前可以查 ...
- Linux引导过程和服务过程
目录 一.Linux操作系统引导过程 1.1.开机自检 1.2.MBR引导 1.3.GRUB菜单 1.4.加载Linux内核 1.5.init进程初始化 二.系统初始化进程 2.1.init进程 2. ...
随机推荐
- java的struts2项目实现网站首页只显示域名不显示index.do的做法
自己的网站快做完了,发现首页显示的时候总是跳转到http://www.xxxxxx.com/index.do 而我想让http://www.xxxxxx.com/ 这样的方式来访问,不想带有后边的in ...
- mac 安装 tomcat 配置
前面的话:记录下 Mac 安装配置 Tomcat 过程 1. 下载安装 Tomcat 下载 Tomcat 地址(官方地址):https://tomcat.apache.org/download-80. ...
- Day Two
站立式会议 站立式会议内容总结 442 完成了计划列表和toolbar的事件监听部分 遇到问题:父组无法实现事件监听,只能实现点击折叠.展开的功能. 331 学习form中list数据添加 遇到的问题 ...
- ElasticSearch 5.6.1 安装 Kibana、X-Pack和head
前面已经有写过ElasticSearch和iK的安装了这里就不在所了. 安装Kiabna 在下载tar包的时候需要注意下一安装的es版本号,按照官网的说明版本是对应一致的. https://www.e ...
- ElasticSearch 2 (32) - 信息聚合系列之范围限定
ElasticSearch 2 (32) - 信息聚合系列之范围限定 摘要 到目前为止我们看到的所有聚合的例子都省略了搜索请求,完整的请求就是聚合本身. 聚合与搜索请求同时执行,但是我们需要理解一个新 ...
- css3新增的伪类和伪元素
E:target事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素.文档或窗口 E:disabled表示不可点击的表单控件 E:enabled表示可点击的表单控件 E:checked表 ...
- 『编程题全队』alpha阶段项目复审
小组的名字和链接 优点 缺点,bug 报告 最终名次 Gakki赛高 (1)支持注册账号和账号管理(2) 支持自动登录,提供便捷性(3)题目不重复且题目答案准确(4)支持排行榜统计功能(5)自己设计算 ...
- std::string 字符串切割
在很多字符串类库里都实现了split函数.不过在std里没有实现.在这里拿出几个: 1. 用单字符作为分隔 #include <string> #include <vector> ...
- 使用VBA批量转换Excel格式,由.xls转换成.xlsx
问题分析: Excel2007以前的格式是.xls,之后的格式是.xlsx.打开单独的一个Excel文档,使用“另存为”功能,可以很轻松的转换格式.但是面对几百个Excel表这样就太累了,搜索很久,也 ...
- Android应用如何跳转到应用市场详情页面
Android应用开发过程中,可能会有需求,比如:推广时跳转到应用市场下载应用,跳转到应用市场给自己的应用打分,跳转到应用市场更新自己的应用.那如何跳转到应用市场呢?可能跳转的方法大家都是知道的,方法 ...