软件系统架构实践课程课件_第1页
软件系统架构实践课程课件_第2页
软件系统架构实践课程课件_第3页
软件系统架构实践课程课件_第4页
软件系统架构实践课程课件_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

确定主要问题

对产品的初步定位定义市场需求形成文档架构的外部输入

评估产品机会目标市场:为谁解决这个问题?产品价值:产品要解决什么问题?市场规模:成功的机会有多大?市场时机:时机合适吗?营销策略:如何把产品推向市场?竞争格局:有哪些同类产品?竞争优势:为什么我们最适合做这个产品?解决方案:成功的必要条件是什么?度量指标:怎样判断产品成功与否?评估产品机会目标市场:为谁解决这个问题?定义产品问题模型市场需要客户问题产品问题技术问题市场驱动问题域方案域1123定义产品问题模型市场需要客户问题产品问题技术问题市场驱动问题定义产品功能分解图功能相对流程来说不易改变,表示企业应有的工作职责分层次的功能细化工作,可以按系统、子系统、业务模块、功能模块、功能点来划分最底层的功能点和最底层的流程任务是对应的定义产品功能分解图功能相对流程来说不易改变,表示企业应有的工定义产品信息结构图流程、功能都可能变,信息最业务的核心内容一个领域模型,考虑信息的抽象,对于重要属性可以表示出来信息集成时的一个重要参考定义产品信息结构图流程、功能都可能变,信息最业务的核心内容定义产品特征模型

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论