资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ZPEDU.ORG,讲义版权由中培教育所有,未经同意,不得转印,ZPEDU.ORG,讲义版权由中培教育所有,未经同意,不得转印,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ZPEDU.ORG,讲义版权由中培教育所有,未经同意,不得转印,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ZPEDU.ORG,讲义版权由中培教育所有,未经同意,不得转印,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,ZPEDU.ORG,讲义版权由中培教育所有,未经同意,不得转印,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,ZPEDU.ORG,讲义版权由中培教育所有,未经同意,不得转印,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,ZPEDU.ORG,讲义版权由中培教育所有,未经同意,不得转印,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,ZPEDU.ORG,讲义版权由中培教育所有,未经同意,不得转印,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,ZPEDU.ORG,讲义版权由中培教育所有,未经同意,不得转印,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,软件系统架构实践,中国信息化培训中心,2013,年,6,月,课 程 目 录,一、系统架构概述,二、系统架构,之三分过程,三、系统架构之,四入策略,四,、系统架构之,六大战术,五,、系统架构,之案例探究,六,、,系统架构之评估体系,七、系统架构师成长之路,三、系统架构之四入策略,(一)系统架构之层次深入,-,层次架构,(二)系统架构之服务深入,-SOA,架构,(三)系统架构之产品线深入,-,产品线架构,(四)系统架构之模式深入,-,通用架构模式,(三)基于产品线的平台架构设计,1,、产品线定义,2,、产品线基本活动,3,、产品线生命周期模型,4,、产品线的组织结构,5,、产品线的优缺点,6,、产品管理模型,7,、基于产品线的架构开发方法,ADM,软件产品线的起源,软件开发可以象制造业一样,在产品线上采用标准的软件构件来进行组装生产,软件产品线的起源可以追溯到,1976,年,Parnas,对程序族的研究,软件产品线是软件复用的一种重要方法,是一种预先规划的和系统化的软件复用技术,软件产品线的基本思想是:大部分的软件需求并不是全新的,而是已有系统需求的变体,软件产品线定义,软件产品线,(Software Product Line,,,SPL),是指一组可管理的,具有公共特性的软件应用系统的集合,在利用软件产品线方法构建一个应用系统时,主要的工作是组装和繁衍,而不是创造,其重要的活动是集成而不是编程,核心资源是软件产品线的实现基础,通常包括:,软件产品线定义,产品线体系结构、可复用软件构件、领域模型、需求陈述、文档技术资料、规格说明书、性能模型、进度表、预算、测试计划、测试用例、工作计划和过程描述等,其中产品线体系结构是核心资源中的最关键部分,(三)基于产品线的平台架构设计,1,、产品线定义,2,、产品线基本活动,3,、产品线生命周期模型,4,、产品线的组织结构,5,、产品线的优缺点,6,、产品管理模型,7,、基于产品线的架构开发方法,ADM,软件产品线的基本活动,软件产品线包括核心资源开发、利用核心资源的项目开发以及在这两部分中所需要的技术协调和组织管理,软件产品线的基本活动,软件产品线的基本活动,软件产品线的基本活动,软件产品线工程与其它复用技术相比,主要存在以下两方面的差异:,软件产品线工程涉及一系列具有相似应用需求的软件产品,软件项目开发是以公共核心资源为基础来进行的,(三)基于产品线的平台架构设计,1,、产品线定义,2,、产品线基本活动,3,、产品线生命周期模型,4,、产品线的组织结构,5,、产品线的优缺点,6,、产品管理模型,7,、基于产品线的架构开发方法,ADM,软件产品线的双生命周期模型,软件产品线的双生命周期模型,应用工程是在领域工程的基础上开发软件项目的过程,在软件产品线中,应用工程包括应用需求分析、应用系统设计和应用系统实现,3,个阶段,在领域工程和应用工程的相应阶段之间,存在着纵向连接线,其含义是:产品线领域工程指导应用工程的实施,应用工程的结果可以反馈给领域工程,促进核心资源的建设,因此,整个软件产品线是一个互相迭代和相互完善的过程,软件产品线的双生命周期模型,领域工程是一个在较高抽象层次上,从领域遗留系统中抽取公共的、可重用的核心资源,创建软件产品线以支持应用开发的过程,应用工程使用领域工程所创建的产品线体系结构和构件资源来开发应用系统,此外,还要根据应用的特殊需求来定制新构件,若新定制的构件具有领域可重用特性时,则需要进行泛化处理,将其加入到产品线核心资源中,软件产品线的双生命周期模型,青鸟软件生产线将开发组织划分为三个不同的车间,应用架构生产车间、软件构件生产车间以及基于构件,-,架构复用的应用集成组装车间,青鸟软件生产线的活动主要包括:领域工程、应用工程、标准规范的制定以及质量保证等,在青鸟软件生产线中,将开发人员分成三类,构件和架构生产者、构件和架构管理者以及构件和架构复用者,软件产品线的双生命周期模型,(三)基于产品线的平台架构设计,1,、产品线定义,2,、产品线基本活动,3,、产品线生命周期模型,4,、产品线的组织结构,5,、产品线的优缺点,6,、产品管理模型,7,、基于产品线的架构开发方法,ADM,软件产品线的组织结构,软件产品线的组织结构,产品线管理者协调体系结构组、配置管理组、核心资源组和软件项目组来共同完成一系列具有相似需求的应用开发任务,体系结构组负责监控核心资源组和软件项目组,以保证核心资源建设和应用系统开发能够遵循预先定义的架构,同时,要完成构架的演化工作,配置管理组要负责基础资源的更新,维护软件项目的版本,体系结构组、核心资源组和软件项目组之间是互相独立的,软件产品线的组织结构,SEI,将软件产品线组织划分为,4,个部分:,市场分析人员:是产品线、应用系统和客户需求之间的沟通桥梁,核心资源组:负责软件产品线体系结构和构件资源的开发工作,软件项目组:负责完成应用系统的开发工作,产品线管理者:负责开发过程的协调和计划,设有独立核心资源组的结构适用于,50,100,人的大型软件开发企业,软件产品线的组织结构,这种结构可以使小组成员将精力都集中在核心资源的设计和开发工作上,得到更加通用的产品线基础设施,另一种典型的组织结构是不设立独立的核心资源组,核心资源的开发任务由各个软件项目组来完成,只是设立专人来监管核心资源的开发工作,(三)基于产品线的平台架构设计,1,、产品线定义,2,、产品线基本活动,3,、产品线生命周期模型,4,、产品线的组织结构,5,、产品线的优缺点,6,、产品管理模型,7,、基于产品线的架构开发方法,ADM,软件产品线的优点,降低开发费用,缩短上市时间,灵活的人员配备,更高的可预测性,更高的质量,减低维护成本,减少系统设计复杂度,便于估计开发成本,软件产品线开发所面临的问题,产品线既要满足领域共性需求,又要设计满足特定产品变化的软件体系结构,同时还要支持产品线体系结构和核心资源的演化,产品线的前期投资比较大,投资回报的周期比较长,而且失败的风险也比较大,难以制定遗留系统向软件产品线迁移的有效策略,软件产品线理论还缺少策略化的重用模型和支持系统化重用的发展策略,软件产品线开发所面临的问题,领域范围和技术基础的变更将会导致软件产品线的更新,甚至是完全抛弃已有的产品线,进一步增加了产品线开发的风险,软件产品线涉及到一个软件企业的多个项目,选择了软件产品线就意味着开发过程要承担由此所带来的诸多风险,在收益和风险之间,难以进行权衡,核心资源设计的通用性要求可能会导致其质量下降,适用范围缩小,软件产品线开发所面临的问题,目前,企业的软件产品线实践经验严重不足,可能需要对软件开发企业的组织结构和方针政策进行相应的调整,(三)基于产品线的平台架构设计,1,、产品线定义,2,、产品线基本活动,3,、产品线生命周期模型,4,、产品线的组织结构,5,、产品线的优缺点,6,、产品管理模型,7,、基于产品线的架构开发方法,ADM,产品管理模型,产品规划,描述,定义,开发,维护,描述市场问题和需要,定义解决问题的方案,构建解决市场问题的方案,销售渠道和产品更新,市场需求文档,功能矩阵,用例,产品路标,产品营销,评估,战略,就绪,执行,检查市场机会,规划市场途径,商业案例,使命,竞争对手分析,产品定位,产品差异分析,价值文档,市场计划,缺失的环节,让不同的利益相关者更好的理解架构、原则和运作模式,提出相应的解决方案,使得组织能够达到它们的目标,计划,构建,测试,实现,方案没有解决问题,描述,定义,计划,构建,测试,实现,差距分析(,to-do,),分析,as-is,分析,to-be,产品客户清单,分析的客户,项目开发(,doing,),基于项目做产品,产品树模型,产品组合,Product Mix,产品线,Product Line,产品族,Product Family,产品组,Product Group,产品单元,Product Unit,产品成员,Product Member,产品变体,Product Variant,产品线工程成熟度的评估框架,(FEF),34,软件产品线工程成熟度(,BAPO,),35,单项目,有意识,可管理,可测量,最优化,商业,独立开发,基础设施,软件平台,可变性,可配置,架构,初始级,可管理级,已定义,量化管理,最优化级,过程,项目,重用,弱关联,同步,基于领域,组织,(三)基于产品线的平台架构设计,1,、产品线定义,2,、产品线基本活动,3,、产品线生命周期模型,4,、产品线的组织结构,5,、产品线的优缺点,6,、产品管理模型,7,、基于产品线的架构开发方法,ADM,定义市场需求形成文档,架构的外部输入,确定主要问题,对产品的初步定位,评估产品机会,目标市场,:为谁解决这个问题?,产品价值,:产品要解决什么问题?,市场规模,:成功的机会有多大?,市场时机,:时机合适吗?,营销策略,:如何把产品推向市场?,竞争格局,:有哪些同类产品?,竞争优势,:为什么我们最适合做这个产品?,解决方案,:成功的必要条件是什么?,度量指标,:怎样判断产品成功与否?,定义产品问题模型,市场需要,客户问题,产品问题,技术问题,市场驱动,问题域,方案域,1,1,2,3,定义产品功能分解图,功能相对流程来说不易改变,表示企业应有的工作职责,分层次的功能细化工作,可以按系统、子系统、业务模块、功能模块、功能点来划分,最底层的功能点和最底层的流程任务是对应的,定义产品信息结构图,流程、功能都可能变,信息最业务的核心内容,一个领域模型,考虑信息的抽象,对于重要属性可以表示出来,信息集成时的一个重要参考,定义产品特征模型,产品特征的可配置模型,指导产品线工程进行开发,通用功能,定制功能,可变功能,产品线范围,实现技术,适配,替换,扩展,定义产品,可变性管理,产品开发,核心资产开发,开发以重用,使用,重用,来开发,共性业务域,特定产品,配置,通用功能,扩展,新的需求,定制,扩充范围,7,2,1,需求,设计,实现,测试,产品线,工件,需求,设计,实现,测试,应用,产品,工件,定义产品开发模型,谢谢大家!,Questions or comments?,
展开阅读全文