`
mfcai
  • 浏览: 410195 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
1.RUP简介
   谈到架构设计,就不能说rup,架构是在rup中最早提出来的。
   RUP(Rational Unified Process,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。
   RUP把一个项目开发概括成4个阶段,9个核心工作流程,6大方法。
RUP定义了初始、细化、实现和部署4个阶段
RUP是最佳软件开发经验的总结,它包括了软件开发中的六大方法:
1)迭代式开发;
2)管理需求;
3)使用基于组件的软件体系结构;
4)可视化建模;
5)验证软件质量;
6)控制软件变更。
RUP的9个核心工作流程是:
1)业务建模,理解待开发系统所在的机构及其商业运作,确保所有人员对它有共同的认识,评估待开发系统对结构的影响;
2)需求,定义系统功能 及用户界面,为项目预算及计划提供基础;
3)分析与设计,把需求分析结果转换为分析与设计模型;
4)实现,把设计模型转换为实现结果,并做单元测试,集成为可执行系统;
5)测试,验证所有需求是否已经被正确实现,对软件质量提出改进意见;
6)部署,打包、分发、安装软件,培训用户及销售人员;
7)配置与变更管理,跟踪并维护系统开发过程中产生的所有制品的完整性和一致性;
8)项目管理,为软件开发项目提供计划、人员分配、执行、监控等方面指导,为风险管理提供框架;
9)环境,为软件开发机构提供软件开发环境。
架构是rup的一个核心元素。
在rup中,软件的架构涉及到从早期的系统概念到设计,开发,测试,操作范围内的系统结构的计划和维护。

2.架构设计定义
    架构设计其实是两个概念:架构和设计。架构主要关注非功能性的,而设计关注的是应用业务用例,是和软件功能相关的。
    架构设计中的架构部分是一种抽象机制,用以澄清设计意图,提供设计之分析基础,改善可维护性,提供决策,减少风险所需的信息。
   架构设计中的设计部分主要是指如何将软件系统分解成不同的部分、各部分之间的静态结构关系和动态交互关系等。

3.架构设计的总体目标
   架构设计的总体目标,可以概括如下:
1)最大化的重用
2)尽可能的简单明了
3)最灵活的扩展性

4.基于组件的架构设计
    能够像生产汽车那样,将各个部件组装起来就能造出一辆汽车,在软件开发领域一直是个梦想。组件开发思想的出现,则使这个梦想更近了一步。组件,意味着高内聚、高复用,我们只需了解其外部接口规格,就能使用其功能,无需知道其内部如何实现及运作。
  软件架构在组件的设计、规范和使用中扮演着重要角色。软件的架构提供了组件设计和重复使用的设计环境。组件在软件架构的预定义方面扮演一定的角色。
    基于组件的架构设计必须由一系列独立部署的组件组成,组件的设计应该满足以下要求:
    第一,组件粒度合理。
    第二,分布式、面向接口访问
       组件实例能部署在一台或多台主机,服务使用者通过构件的逻辑名称即可获取服务而与构件所在主机的物理位置无关。
    第三,松耦合、高内聚原则
       组件之间保持松耦合状态,服务的具体实现方式对服务使用者透明。在构件内部所实现的功能与结构保持高度逻辑相关性的同时,保证组件间的相互独立性。
    第四,共享信息服务
      共享信息服务遵循企业的数据模型规范,外部系统通过企业集成与接口平台,访问系统的共享信息,以实现系统间的集成与互操作。
    第五,业务过程与组件实现分离
      业务过程与组件实现的分离的原则,利用流程管理、策略管理和界面集成技术,动态地定义系统的行为以实现系统功能。

   5.框架,模式,架构设计 
   框架是一个可实例化的、部分完成的软件系统或子系统,它为一组系统或子系统定义了架构,并提供了构造系统的基本构造块,还为实现特定功能定义了可调整点。在面向对象环境中,框架由抽象类和具体类组成。
   模式用来描述所交流问题及其解决方案。每个模式都是由三部分组成的一个规则。这个规则描述特定环境,特定系统作用,特定软件配置之间的关系。当一个领域逐渐成熟的时候,自然会出现很多模式。
   他们三者之间的关系如下:架构设计、框架、模式是一种从大到小的关系,也是一种组合关系。一个框架可能使用了多个模式,而一个架构设计有可能应用了多个框架。

6.j2ee平台的架构设计
      j2ee平台技术架构的核心思路是采用分层结构开发和设计,将界面、业务逻辑和数据分离,实现系统内部松耦合,以灵活、快速地响应业务变化对系统的需求。涉及到的设计模式包括:
   a.server page(叶面内容和逻辑)
   b.页面控件重用
    c.页面内容和表现风格的分离
    d.页面输入验证
    e.多语言支持
    f.用户身份认证确认
1)j2ee系统层次结构
系统层次结构一般划分为数据层、业务逻辑层和控制层。当然,也可以根据需要划分更多层.
  a. 数据层
     这一层为企业的信息系统服务,包括数据库系统,事务处理系统和与数据库交互的系统
  b.业务逻辑层
    实现系统业务逻辑相关的处理功能,它包括业务组件子层和展现组件子层,分别实现人机界面无关的业务逻辑组件与人机界面相关的界面展示组件。业务逻辑层的组件以服务的形式提供与业务逻辑紧密相关的系统功能。
  c.控制层
主要实现对系统行为以及其它资源进行关联和控制,包括:对组件所提供的服务和系统资源的配置和控制,对业务流程的关联和控制以及对人机交互界面的关联和控制.控制层利用流程管理技术实现业务流程的动态定义和控制,利用策略管理及界面集成等技术实现界面外观和行为的动态控制。引入控制层有利于保证系统迅速适应业务需求的变化和发展。
2)系统服务框架
    系统服务框架需要如下的系统运行的公共机制并实现系统内部的公共服务,包括日志服务、系统监控服务、配置管理服务、认证鉴权服务、异常处理服务、流程管理服务和策略管理服务等。
   使用这些服务与机制可以简化系统构件的开发、部署和各种运行信息的管理。保证系统运行的一致性和各构件的高度集成。各应用系统可以建立私有的系统服务框架也可以共用同一个框架所实现的系统服务。
分享到:
评论
2 楼 cesia1984 2008-04-06  
Rod Johnson写的Expert One-on-One J2EE Design And Development,这本书很不错,最近正在看
1 楼 leisure 2008-04-02  
有冒有 架构设计有关书籍 推荐

相关推荐

    J2EE系统架构师参考手册

    - **初级架构师**:即便是刚步入这一领域的初级架构师,本书也能够提供有益的指导和支持。 #### 三、核心内容概述 1. **需求分析**:本书强调了从客户需求出发进行分析的重要性,确保设计方案能够满足实际业务需求...

    学生选课管理系统(课程设计)

    首先,J2EE(Java 2 Platform, Enterprise Edition)是Oracle公司推出的用于构建企业级应用的平台,它提供了丰富的组件和服务,如Servlet、JSP、EJB等,用于处理分布式、多层架构的应用。在这个系统中,J2EE平台为...

    基于java图书管理系统 毕业设计(论文)开题报告.docx

    2. **系统设计**:根据需求分析结果,进行系统架构设计和技术选型。 3. **编码实现**:按照设计文档进行编码。 4. **测试调试**:进行单元测试、集成测试和系统测试,确保系统稳定性。 5. **部署上线**:部署到生产...

    毕业设计参考方向(Java,网站,多媒体)

    - **J2EE平台**:为企业级应用提供服务,如EJB、Servlet、JSP等,支持多层架构。 - **MVC架构**:Model-View-Controller模式,提高代码可维护性和可扩展性。 - **客户关系管理系统(CRM)**:处理客户信息、销售...

    基于JAVA WEB的果cc网站系统的设计开发.pdf

    以上知识点详尽地概述了基于Java Web的果cc网站系统的设计与开发过程,包括系统架构、功能模块设计、数据库建表、用户个人中心和管理员个人中心操作流程,以及电商行业的发展趋势和市场需求分析。通过这些内容,我们...

    Spring Framework 概述.pdf

    Spring Framework 的架构设计体现了以下几个关键优势: - **分层架构**:Spring 采用了清晰的分层架构,允许开发者根据需求选取合适的组件。这种灵活性有助于减少不必要的复杂性,同时也方便了后期的维护与升级。 ...

    智慧信息化工程项目解决方案培训资料全.docx

    - **整体架构与流程**:设计多层次、模块化的系统架构,确保各个子系统能够无缝对接,实现数据的高效流通。 - **建设标准与规范**:遵循国家及行业标准,确保系统建设的质量和安全性。 - **项目建设原则**:强调实用...

    智慧抚河信息化工程项目解决方案V.docx

    3. **MVC设计模式**:Model-View-Controller(模型-视图-控制器)是一种软件架构设计模式,主要用于Web应用程序的开发,可以清晰地分离应用程序的逻辑层、表示层和控制层。 4. **AJAX技术**:Asynchronous ...

    java语言,入门级,适合初学者

    4. **安全的**:Java移除了C++中可能导致非法内存访问的功能,如指针操作,结合其安全体系架构,确保代码在各种环境下都能安全运行。 5. **解释的**:Java代码首先被编译成字节码,再由Java虚拟机(JVM)解释执行,...

Global site tag (gtag.js) - Google Analytics