定制化产品探讨(周金根).ppt_第1页
定制化产品探讨(周金根).ppt_第2页
定制化产品探讨(周金根).ppt_第3页
定制化产品探讨(周金根).ppt_第4页
定制化产品探讨(周金根).ppt_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

1、 2002 IBM Corporation,第九届中国软件工程大会(CCSE 2012),定制化产品探讨,演讲人: 周金根,2,商业,组织,流程,架构,定制化产品探讨,模型驱动开发,敏捷个人,高效团队,精益组织,周金根,管理,2012年中国软件技术大会,2012年中国软件工程大会,Open Product Development Famework ( OPDF v0.5 ),企业架构,产品开发,资产开发,规模化 定制化,3,敏捷个人 - 认识自我,管理自我,周金根 架构师、培训师 专注软件研发、产品管理、敏捷个人,4,敏捷个人 - 认识自我,管理自我,做正确的事,热情愿不愿意?,价值应不应该?

2、,潜能能不能?,正确的做事,能力沟通、学习问题、创造,精力身体、情绪 思维、精神,时间优先、计划 专注、时中,成长平衡点,个人,工作,团队,生活,敏捷个人架构图 版本1.2 Created by 周金根,目标,以终为始,提供企业内训,5,议程,复用 软件产品线工程 模型驱动开发,6,敏捷个人 - 认识自我,管理自我,1 重用,快速上市,降低开发风险,高质量,低成本,低维护,产品规模化,面向市场的产品目标,灵活定制,8,函数,对象,组件,1960,1970,1980,1990,2000,服务,规模化?,重用的历史,9,软件复杂性,系统自身涉众对功能和质量的更多需求,重用资产组合需要解决更多客户群

3、组的需要,软件 策略,技术 创新,重用,流程 改进,产品线,2000年8月 第一届软件产品线研讨会,规模化,核心资产,更大范围的重用,一种战略性的、强制的、能够实现的、有计划的重用,函数,对象,组件,1960,1970,1980,1990,2000,服务,模型驱动,2006,问题域,12,产品组合 Product Mix,产品族 Product Family,产品组 Product Group,产品单元 Product Unit,产品成员 Product Member,产品变体 Product Variant,产品树模型,产品线 Product Line,客户驱动 市场驱动 技术驱动,战略性的

4、,13,强制的,缩短上市时间,开发生产力能够提高5-10倍 由于使用的是经过验证的工具,产品质量显著提高 积累领域知识 .,特定领域模型商业价值,能够实现的,效率和成本,产品数量,累积成本,单一产品,产品线 先期投资,3个,收支平衡,有计划的,17,2 软件产品线工程,产品开发,传统的开发,产品线开发,特定项目,基于代码或框架,特定业务领域,基于业务平台,代码重用,高达90%的核心资产重用,产品开发,19,成熟度 稳定度 资源约束(不仅是时间和金钱,还有专家) 组织约束 市场潜力(外部和内部) 通用性和变化性 高内聚低耦合 已存在资产,产品线风险分析,商业 Business,架构 Archit

5、ecture,流程 Process,组织 Organisation,方面,商业,财务,愿景,战略,重用,参考架构,可变性,领域,应用,协作,协作,组织结构,角色职责,级别1,维度,级别2,级别3,级别4,级别5,BAPO成熟度模型,21,产品线 四个主要原则,3. 可变性管理,1. 商业驱动,2. 架构驱动,4. 两阶段生命周期,产品线四个主要原则,22,基于市场策略,产品业务相似性,产品结构相似性,基于技术相似性,技术平台,业务平台,产品线,产品族,1. 商业驱动,技术战略 + 商业战略,产品组合计划 问题域分析 核心资产范围,23,传统的IT角色,扩展的IT角色,应用 接口 系统 ,传统的

6、信息规划,应用,数据 (信息),技术,平台 网络 基础设施 ,解决方案/应用架构师,IT技术架构师,数据库 信息构件 ,业务架构师 业务咨询师,市场驱动,业务战略,业务流程和信息,组织,功能 流程 产品 事件 ,组织单元位置 施动者 角色 .,业务规划,咨询厂商/企业架构师角色,企业架构师,驱动 整体视图 目标 架构原则 愿景 IT-业务对齐, IDS Scheer AG www.ids-,业务战略 业务需求,项目管理 组合分析,业务架构,业务流程、角色 业务变革、协作,数据架构,技术架构,硬件、服务器、操作系统、网络,应用架构,系统、服务、功能,数据、业务对象、交换格式、安全和隐私,企业架构

7、,25,企业应用蓝图,T平台,2. 架构驱动,架构,管理,组织结构,商业方法,技术方法,业务方法,27,平台层,应用层,表现层,管理控制台,Microsoft .NET Framework,平台工具集,项目管理业务应用框架,协同办公业务应用框架,业务组件库,T6 平台整体架构,基础平台,管理 工具,协同 应用,业务 应用,开发 工具,实施 工具,集成 工具,平台门户,业务开发人员,实施人员 信息系统管理人员,用户,开发,配置,集成,具备快速客户化开发实施能力的平台,产品线架构,特定领域模型语言,产品线分析,问题域,范围分析,通用性分析,可变性分析,问题空间,抽象,方案空间,特定领域组件框架,元

8、模型,模型解释器,平台,产品线分析和架构,产品,商业目标、业务领域,参考架构,对象、组件和服务,核心资产,共享一个,构建成,属于特定,满足,组织,参考架构,31,通用功能,产品功能,实现技术,3. 可变性管理,产品线范围,32,基于 T6 平台的产品架构,标准,客户化插件,客户化成果,行业产品,行业插件,行业接口,高级客户,细分行业开发部,标准产品开发部,合作伙伴,客户化开发部,T 平台,合作伙伴,7,2,1,特征建模,34,产品开发,核心资产开发,开发以重用,使用重用来开发,领域工程,应用工程,配置,通用功能,扩展,定制,扩充范围,7,2,1,领域需求,领域设计,领域实现,领域测试,共性域,

9、系统需求,应用设计,应用实现,应用测试,特定产品,4. 两阶段生命周期,输出,输出,反馈,新的核心资产,35,业务开发工具,低成本、高效率地开发高品质模块,高水平平台架构师,搭建好经过严格测试高品质的业务模板 中低级开发工程师,通过业务开发工具快速开发高品质业务模块,T平台架构师,开发模板,单据模板,字典模板,参照模板,报表模板,流程模板,规则模板,组件模板库,业务组件生成引擎,配置与开发,开发工程师,业务系统,需用计划,采购计划,材料采购合同,.,机械设备 采购合同,纵向领域,成本管理,指标管理,运维管理,横向领域,报表引擎,工作流引擎,业务,技术,包含,使用,类似,核心资产,关系,领域工程

10、,AutoUI,领域工程开发活动,领域定义 目标和风险承担者分析。此活动的工作量依赖于项目的大小和上下文。 领域范围界定和上下文分析 应用领域和现有系统的分析 领域特征的确定 与其他领域关系的确定 领域建模 关键概念的确定 应用领域和现有系统的分析 领域特征的确定 与其他领域关系的确定 关键概念的特征建模(共同点、可变性、特征依赖和特征交互),DSM 生成器 实现组件,整个实现架构的规范 领域特定语言的规范 配置知识的规范,领域定义 领域建模,每次发生的问题都有很多方面是相同的,而这些相同的方面可以一次性的解决。我们需要解决重复发生的问题的方法。 根据问题空间来定义一个模型语言,让我们有能力在

11、问题空间工作,避免以往用通用语言表述问题容易犯的一些错误,降低了犯错的机会。 对于问题的每次发生,就用这个特殊语言建立模型,然后把模型插入到解决方案的固定部分。解决方案中的固定部分采用传统的设计、编码和测试技术实现。根据要解决问题的规模和种类,固定部分可以称为框架。 高度抽象后,开发更统一规范,速度和质量都有所提高,领域工程,应用工程,问题空间,方案空间,问题域的可变性,产品变体规格,产品线平台,特定平台,产品线和模型,3 模型驱动开发,40,传统的开发方式,质量,方案:RAD工具 缺点: 受约束的功能 难定制 依赖性强,方案:CASE工具 缺点: 落后于当前新技术 缺少灵活性 固定语言,方案

12、:离岸 缺点: 落后的工业化和维护性 协同一致 沟通壁垒,What,How,41,传统的模型,代码的模型表现,模型草图或者文档,重型建模开发,生成需要更改的代码,生成不足够的代码,不使用模型和代码的双向同步,基于UML的MDA,特定领域业务,模型作为核心资产来驱动后续产品开发,基于需要部分建模生成产品,迭代进行,生成领域框架需要的执行模型或者代码,自己完成控制生成环节,由模型生成代码,特定领域模型DSM,42,语言,文本,图形,特定,通用,Class Invoice: Document public void Bill(),07713248,ab & c=d,43,WebML,模型基于DSL,

13、每一个 DSL 的核心都是一个域模型 可以是文本,也可以是图形,或者两者混合使用 图形DSL有几个重要内容必须要定义 符号 域模型(域类和关系、约束) 生成 序列化 工具集成,DSL,问题域,语义模型,生成代码,46,代码生成,输入模型,模版,输出代码,AST,47,模型驱动DSL框架,模型驱动开发,一种以模型作为主要工件的高级别抽象的开发方法,模型在工具的支持下,被作为核心资产被转换成代码或者可运行配置。建模的过程是由不同阶段的成员来完成,有些模型之间有引用关系,应用软件通过所有人的建模工作而构建起来。,特定领域建模 DSM 软件工厂 Software Factories 产生式编程 Gen

14、erative Programming 语言工作平台 Language Workbenches 面向语言编程 LOP 意图软件 Intentional Software 模型驱动架构 MDA,49,谁在用,Eclipse EMF/GMF IBM SAP OpenArchitectureware XText Itemis xUML/MDA Kennedy Carter Blue Age Artisan AndroMDA Olivanova Model Execution,Microsoft DSL Tools OSLO(rebranded to Microsoft SQL Server Mode

15、ling) MetaCase MetaEdit+ Language workbenches Jetbrains MPS Spoofax Intentional Workbench Code Fluent ,Eclipse Modeling Project,软件开发中使用模型的演化,抽象层级,1.CASE工具,需求,通用模型,操作系统,语义鸿沟,2.框架和DSLs,需求,DSL模型,操作系统,语义鸿沟,框架,3.关联DSLs,需求DSL,DSL,操作系统,框架,DSL,DSL,DSL,DSL,DSL,52,模型的一些用途,模型,报告,模型检查,1.验证,模型,运行期 解析,2.解析,模型,生成的

16、 代码,代码生成,3.代码生成,程序代码,部署文件,文档,配置,测试,Mendix,提高抽象级别,专用的方案域的技术相关内容,直接使用问题域的业务概念和规则,55,需要,客户问题,产品问题,技术问题,问题空间,方案空间,1,1,2,3,问题金字塔,业务工程,平台针对业务专家而不是开发人员,采用一种统一的可视化模型方式来进行业务分析,应用软件大部分功能由业务分析师完成,而剩下的复杂功能由技术人员来解决。 业务-IT对齐关注问题域,领域专家通过构建核心资产模型参与开发过程,捕获领域知识,改善涉众沟通,通过可运行模型可以很好的进行设计和实现阶段的衔接 提高产能开发快、降低成本、提高质量 积累核心资产

17、构建块、模板等都会在应用开发过程中很好的进行累积,提高可重用性、一致性、可维护性,OpenExpressApp make business engineers develop applications,57,领域模型,元模型,领域框架,元模型解析,可执行模型,定义,运行,代码生成,模型解析,模型驱动开发,软件产品线工程,架构框架,特定领域模型,模型驱动软件工厂,模 型,一个程序是对某个领域的某个问题领域以及解决方案的清晰而明确定义的模型表示。,特定领域模型作为核心资产来驱动后续产品开发,58,领域专家具备问题域的丰富业务知识,他们熟悉领域内的术语、概念、流程和规则。当开发业务系统时,专家懂得业

18、务知识。如果是技术领域,则架构师和开发经理就是领域专家。 特定模型语言开发人员设计元模型,并提供使用指导和模型示例。语言开发人员与领域专家和关键DSM用户关系密切。 生成器开发人员从模型转换成代码。通常生成器开发人员也是定义领域框架的人员。 领域框架开发人员通常是有应用架构的具有丰富经验的架构师和开发人员。他们提供在目标环境下的参考实现,并且已经开发过组件框架、类库等。 建模工具开发人员实现模型语言和代码生成器的建模工具。 DSM用户模型在高级别层次上进行抽象,很大程度上支持测试、产品管理、QA、实施、销售和客户等多种人员进行沟通。DSM用户人数做多,他们使用建模工具进行开发。 业务工程师使用模型建立业务领域概念 IT工程师使用模型扩充技术模型 测试人员使用模型建立测试用例 部署人员可以生产安装程序 管理人员可以获取度量信息,DSM开发角色,从模型定义到建模到模型运行,这几步中模型一个分为四个级别:,模型的4个实例化级别,元元模型,元模型,模型,应用,GOPPRR、Ecore、MOF等,实体,作者,张三,元元模型,Object,Role,Relationship,元模型,Object X,Object Y,模型,InstanceO

温馨提示

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

评论

0/150

提交评论