软件质量之路-面向组件的大规模软件架构


    软件质量路面组件规模软件架构

    中规模软件中象象间协作关系够满足需软件规模扩复杂度升时候面象技术强调协作表现出极端特点-耦合度太高导致复杂度时候需种新方法弥补面象技术弱点规模软件特点规模软件特点复杂度较典型例子集成性项目软件系统需种样硬件遗留系统外部接口整合起间遇硬件接口操作系统语言台数库消息中间件网络介质系统变非常复杂面象技术特点通象间职责分工高度协作完成务样处代码量较少系统布局合理重程度高象数量增加时候象间高度耦合关系会系统变复杂难理解前问题方法采包(请参考拙作面象软件开发中包相关讨)作容器组织象象间赖性转化包间赖性种方法听起道理实际中会出现难解决问题包仅仅容器意味着象组织意包间赖关系设计取决象赖外包设计象样缺乏统风格统风格正规模软件设计必须样效改进系统理解性点非常重面组件编程面组件编程缩写COPCOPOOP补充帮助实现更加优秀软件结构组件粒度需取决具体应COP中重概念:服务服务(Service)组接口供客户端程序例验证授权服务务调度服务服务系统中部件相互调接口组件组件(Component)实现组服务外组件必须符合容器订立规范例初始化配置销毁COP 种组织代码思路尤服务组件两概念文会提Spring框架中采COP思路系统作组件通定义组件间协作关系(通服务)完成系统构建样做处够隔离变化合理划分系统框架意义定义组织组件方式理解组件组件新概念Java中javaBean规范EJB规范典型组件组件特点定义种通处理方式例JavaBean 拥视特性样通工具实现JavaBean视化EJB规范定义企业服务中特性EJB容器够符合EJB规范代码增添企业计算需力例事务持久化池等组件起象进步通规范引入通规范够组件添加新力(面讨)组件添加限制例需实现EJB接口讨组件相关问题:组件粒度组件粒度系统架构息息相关组件粒度确定系统架构确定规模软件中组件粒度仅相普通象规模系统说组件包括十甚百象COP技术系统说需正确定义组件粒度较定义粒度方法核心流程进行分析针接口接口实现分离COP基础没接口实现分离没COP接口高度抽象特性组件够独立抽取出影响系统部分接口实现分离处:1模块组件象间解耦2轻松抽换实现修改客户端3户需解接口需解实现细节4增加重性IOCIOC Inversion of Control简称原理基OO设计原莱坞原(The Hollywood Principle):访问访问说组件动(Passive)组件初始化调容器负责IOC种实现类型包括基方法参数调Methodbased (M) IoC组件传递方法调基接口Interfacebased (I) IoC(通常称类型1)接口声明组件间赖性例Serviceable Configurable基Setter方法Setterbased (S) IoC(通常称类型2)setter方法设置组件间赖性基构造函数Constructorbased (C) IoC(通常称类型3)Martin FowlerIOC模式称Dependency Injection模式IOC框架开发基原理开源软件中少容器类框架采IOC思路组件污染IOC 第类型中组件需实现特定接口某类集成组件受约束(称Invasive)例组件移植便种情况组件需赖特定容器典型EJB组件法脱离容器单独存组件受约束两种情况属组件污染理想组件专注身工作组件没额外逻辑种标准目前部分代码符合目前开源软件界出现轻量级容器框架典型文提PicoContainerspring定位提供组件理统模式组件单独放容器中容器仅仅组件提供额外功组件身没直接赖什说接口继承重原接口更加灵活组件赖性更弱样目前种做法采标记性语言实现接口更灵活度例基xml配置文件J2SE15中引入属性组件测试组件容器赖脱离组件测试提供环境测试节中讨容器测试较麻烦原面说组件污染问题例 spring框架中组件标准JavaBean直接编写代码设置组件属性定义组件间赖关系(适动化测试)项工作交spring容器(适开发部署)组件测试测试分类中属集成测试理解服务讨组件时谈组件粒度问题组件粒度仅仅限单象时候构成组件象中象处组件部组件交互象需外部组件进行交互种象起服务作设计模式中种设计称Facade模式OO语言中相接口概念喻服务订立组件组件间契约种契约稳定(果业务需求稳定)会着组件部变化发生变化理解点非常容易提供户认证组件服务户进行认证授权组件部采LDAP关系数库存放户信息服务说没差样做处组件间够种稳定方式存组件部变化扩散整软件系统二软件设计会转重点设计组件间服务组件实现细节会隐藏起助设计者更握软件全局架构助分工细化服务什新颖概念RPCIDL类似技术谈服务侧重架构理念涉具体技术点SOAWebService关系类似-SOA结构性概念WebService实现SOA种适合技术 服务实现接口原服务种技术:JMSWebServiceRPC简单方法调出服务稳定性考虑应该服务具体技术绑定起样会服务发生变化性增Java语言中接口具极灵活性接口实现普通Java接口较选择样做话许够远程调Web服务类功紧原服务适配器客户端直接接口通适适配器普通接口服务转换特定技术实现服务
    图示普通接口通适配器模式转换成特定技术相关服务JMX技术中采种方式JMX台够普通服务端口通适配器进行转换适种协议例httpsocksnmp等等AOP技术服务帮助文章讨AOP技术里重复容假设已拥基AOP概念qca网站AOP做简单整理 AOP作OO技术补足够种优雅方式处理系统横切点服务层面应AOP绝佳位置:
    图中普通户注册服务通AOP动态添加种样力AOP提供处够通简单代码服务添加功服务编写代码节省代码量二横切点分离出样服务仅保留核心代码提高系统模块化程度点模块化增加服务动态增加删功成例通配置动态新Aspect添加户注册服务服务测试服务测试测试分类中属接受测试服务概念引入动化接受测试变容易规模软件设计中业务流程涉种组件通服务介面相互协作测试重点回前讨组件粒度问题果时编写出测试代码繁琐说明组件设计粒度太果组件粒度太会发现测试代码根法编写服务理服务理较话题方面规模系统中然通组件服务形式够降低系统复杂度服务然需进行理方面服务状态服务性需监控理规模应说必须服务需种理形式JMX规范提出目种组件进行统理阐述类似处JMX分规范远程接口两部分J2SE15版中JMX已纳入J2SE范畴中兴趣读者参考sun相关文档软件总线软件工厂直目前止软件开发然属手工作坊阶段果制造业水相应话基处蒸气机发明前水着软件开发技术发展软件开发象制造业样步入工业时代软件开发说机器然代码代码代开发员编码活动具手工编码更高生产力高产量机器描述成现代化软件工厂软件工厂底什?解软件工厂需先解软件总线概念COP仅仅提出系统划分基础构成完整应光组件服务够需组件服务种效方式组织起文章种组织性代码称 Fabric结构组织意思文章中称软件总线(bus)
    软件总线什?计算机总线样负责组件中传递信息流组件组织起完成具体务总线抽象概念实际中总线具体技术构成例总线段代码负责调组件总线消息系统负责收集分派消息总线工作流系统负责系统信息流转总线JMX负责消息路目标组件总线实现技术什总线特点采种松耦合方式组件组织起样总线身挂接总线组件松耦合组件挂接总线形式前讨服务服务适配器做事情例目前软件总线三种实现:直接调远程调WebServiceMOM工作流根应系统特点采总线实现例调总线适流程较明确应流程硬编码变化起相麻烦工作流总线适流程较灵活需复杂分支干预MOM总线适型分布式异构应应间种松散方式进行协作采取种总线实现方式组件服务变变化服务适配器MOM服务适配器工组流服务适配器MOM服务适配器工作消息中容翻译POJO调服务工作流服务适配器基前工作流状态调样形成系统架构相稳定松散耦合组件发生变化总线技术发生变化服务总线规范稳定整体软件系统稳定服务总线规范软件组织核心竞争力正软件总线目软件工厂组件软件总线基础发展根组件软件总线技术特点定义系列理活动提高开发效率软件工厂定义软件质量框架种实现方式软件组织说根身研发特点定义软件工厂构成非常重具体容包括理实践选择组件积累软件总线技术实现系列文章中推荐前两项实践属理实践范畴容第三项实践偏重建立软件工厂底
    层支撑框架软件工厂概念代表种新软件开发模式优势够技术理结合起提高生产力
     
    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 2 积分 [ 获取积分 ]

    下载文档

    相关文档

    软件质量之路-软件质量框架

    软件质量之路-软件质量框架软件质量的重要性是不言而喻的,但是当所有人都意识到它的重要性的时候,却很少有人能够清晰的描述出如何才能够提高软件质量。软件质量框架的目的就在于提出一个评价的原型,帮助...

    11年前   
    602    0

    面向软件开发过程的软件质量控制

    面向软件开发过程的软件质量控制一、软件质量定义   ISO9000:2000《质量管理体系-基础和术语》中把产品定义为:“过程的结果”,而且这种结果是非自然性的,也就是说实际上这种结果是人们所...

    10年前   
    444    0

    软件质量保证的成功之路方案

    软件质量保证的成功之路方案1 概述在软件开发团队中,由于质量被视为软件产品的生命,而始终被人们所高度关注;然而在现实生活中,许多软件产品却时常陷入质量低下的旋涡,总是不尽人意。究其根源,在于这...

    9年前   
    451    0

    软件架构文档(样例)

    4In1 System软件架构文档版本 <1.1>修订文档历史记录日期版本说明作者2010/11/231.0初始版本2010/12/201.1目录1. 简介 41.1 目的 41.2 范围 4...

    3年前   
    775    0

    浅谈用软件测试来提高软件质量

    浅谈用软件测试来提高软件质量做软件测试的人,往往会有这样的想法:由于软件的复杂导致了测试的复杂,所以不能指望培训能给我们很多工作中的实际指导。偏重理论是肯定的,但并非没有意义,虽然理论同样可以...

    8年前   
    564    0

    从印度软件项目管理谈我国软件质量保障

    从印度软件项目管理谈我国软件质量保障计算机和通信技术的迅速发展,特别是Internet技术的发展与普及,为企业内部、企业与外部提供了快速、准确、可靠的信息交流渠道。信息化企业运作管理系统已成为...

    10年前   
    640    0

    软件架构师工作的职责

    软件架构师工作的职责职责:- 在充分调研和理解客户业务需求的基础上,为企业应用/产品做架构设计- 与客户沟通设计方案,协助他们做出关键的技术决策- 在构建整个企业系统架构的过程中,能很好的平衡...

    2年前   
    386    0

    软件项目管理:质量先行

    软件项目管理:质量先行软件开发为何不能像硬件开发那样可控?软件质量之旅将带给我们一些启示。 提到软件产品开发,我们的脑海里总是浮现出这样的情景:开发组的每一位成员都在辛苦地工作,加班加点,甚至...

    9年前   
    605    0

    有效的软件质量管理

    有效的软件质量管理  摘要  质量管理包括:质量计划编制、质量保证和质量控制三个过程域。质量计划是质量管理的第一过程域,它主要结合各个公司的质量方针,产品描述以及质量标准和规则通过收益、成本分...

    10年前   
    660    0

    软件项目当中的质量管理

    软件项目当中的质量管理软件的质量是软件开发各个阶段质量的综合反映,本文结合“金保”工程软件项目管理的实际经验,探讨了在项目计划、需求分析、软件开发和系统维护等四个关键环节进行软件质量控制的方法...

    12年前   
    604    0

    软件项目质量管理实战总结

    软件项目质量管理实战总结摘要:本文详细阐述了作者对软件项目质量管理的认识,是作者实际经验的总结。主要内容包括对软件项目质量管理理论的认识、软件项目质量管理在实践中的具体做法。文章详细介绍了有关...

    10年前   
    704    0

    programing的水平是软件质量效率的关键

    programing的水平是软件质量效率的关键◆外部用户要求   正确,高效,健壮,易用和可靠   ◆内部维护人员要求   可维护(代码易读,易读,易Debug,注释清晰,容易扩展)   ◆内...

    9年前   
    390    0

    软件项目管理的质量保证

    软件项目管理的质量保证软件产品质量的保证是软件项目管理的一个重要内容。软件项目的目标不仅仅是进度目标和成本目标,更重要的就是质量目标,质量直接决定了软件产品能否生存已经后续的升级和维护等工作量...

    11年前   
    608    0

    军用软件质量管理规定

    军用软件质量管理规定第一章 总则第一条 为了加强军用软件质量管理,保证军用软件质量,依据《装备条例》制定本规定。第二条 本规定适用于作为装备或装备组成部分的软件质量管理。本规定中所称的军用软件...

    2年前   
    476    0

    如何对软件质量进行评估

    如何对软件质量进行评估本文从软件质量的有关概念出发,根据指标选取原则,在分析软件质量特征的基础上提出了相应的软件质量评估指标的选取原则,并进而建立了软件质量评估体系。 1软件质量的有关概念 软...

    12年前   
    730    0

    软件质量改进的六要六不要

    软件质量改进的六要六不要摘要:   国内有不少软件企业通过了ISO或CMM(I)的资质认证,但有不少企业却很少或没有看到资质认证给公司软件质量改进带来的明显效果,原因何在?有些企业领导怀疑IS...

    9年前   
    501    0

    软件项目的质量管理

    软件项目的质量管理软件的质量是软件开发各个阶段质量的综合反映,本文结合“金保”工程软件项目管理的实际经验,探讨了在项目计划、需求分析、软件开发和系统维护等四个关键环节进行软件质量控制的方法。 ...

    11年前   
    487    0

    软件质量守护――测试管理

    软件质量守护――测试管理前言:软件迅猛发展凸现软件测试问题随着软件业蓬勃发展,各种软件需求纷繁而来,在潮起潮落的IT洪流中,软件项目越来越凸现大型化、复杂化的发展趋势。几十人上百人的开发团队、...

    10年前   
    392    0

    论软件项目的质量管理

    论软件项目的质量管理  一、基于对软件质量管理的认识与分析  我认为,影响软件质量的因素有很多,通常有:人的因素、软件需求、质量问题可能出现在开发过程的各个环节上、测试的局限性、质量管理的困难...

    10年前   
    599    0

    软件项目质量管理责任分配

    软件项目质量管理责任分配以在开发项目上按照规范化软件的生产方式进行生产,在开发质量管理流程上采用ISO9000的标准进行。每个项目除配备了项目开发所需角色外,还专门配备了配置管理小组、测试小组...

    9年前   
    617    0