软件=业务+架构+流程+组织教程(1).ppt

上传人:仙人指路1688 文档编号:2754408 上传时间:2023-02-24 格式:PPT 页数:165 大小:15.65MB
返回 下载 相关 举报
软件=业务+架构+流程+组织教程(1).ppt_第1页
第1页 / 共165页
软件=业务+架构+流程+组织教程(1).ppt_第2页
第2页 / 共165页
软件=业务+架构+流程+组织教程(1).ppt_第3页
第3页 / 共165页
软件=业务+架构+流程+组织教程(1).ppt_第4页
第4页 / 共165页
软件=业务+架构+流程+组织教程(1).ppt_第5页
第5页 / 共165页
点击查看更多>>
资源描述

《软件=业务+架构+流程+组织教程(1).ppt》由会员分享,可在线阅读,更多相关《软件=业务+架构+流程+组织教程(1).ppt(165页珍藏版)》请在三一办公上搜索。

1、参考,商业,架构,软件,组织,过程,模型驱动开发平台,参考内容,eXpressApp Framework,技术架构思想,Mendix,初始,细化一,Sprint1,Sprint2,Product Backlog,Sprint Backlog,参考,Composite WPF,CSLA,其他,信息系统架构,商业,软件,MetaEdit+,组织,个人,团队,个人,团队,组织,模型驱动开发平台OpenExpressApp platform,产品线/产品族,产品设计,http:/,周金根,2010-2-28,pptPlex Section Divider,软件,The slides after thi

2、s divider will be grouped into a section and given the label you type above.Feel free to move this slide to any position in the deck.,软件,商业,组织,流程,架构,原创故事:不死鸡和不死牛的故事,为什么不死?永不消失的需求,如同软件项目一样,今天完成了,明天又有新需求。普通鸡牛和不死鸡牛代表什么,有什么区别?普通不死 项目(一次性)产品(持续性)鸡牛 单个产品 产品线/产品族要鸡还是牛?目标阶段策略不同,方法不同,BAPO模型覆盖了软件工程的主要关注点。这四个关

3、注点(商业、架构、流程和组织)成为了FEF的四个评估维度。每个维度有五个级别,并且有三到四个方面。,pptPlex Section Divider,商业,The slides after this divider will be grouped into a section and given the label you type above.Feel free to move this slide to any position in the deck.,业务领先模型,麦肯锡7S模型,以7S架构建立的组织,有助于提升效率。7S包括:策略规划(strategy)、制度建立(system)、员工

4、选择(staff)3个硬技巧,和 共同愿景(shared value)、抽象架构(structure)、技巧培养(skill)、企业文化建立(style)4个软技巧。,产品生命周期,在产品开发期间该产品销售额为零,公司投资不断增加;在引进期,销售缓慢,初期通常利润偏低或为负数;在成长期销售快速增长,利润也显著增加;在成熟期利润在达到顶点后逐渐走下坡路;在衰退期间产品销售量显著衰退,利润也大幅度滑落。如图所示:,市场生命周期,曲线表示细分市场的生命周期;曲线表示生命周期过程中市场投资水平的变化,这里可以理解为促销投资水平;曲线表示生命周期过程中盈利水平的变化。从图中可以看到,生命周期的不同阶段,

5、市场环境及主要营销指标的变化趋势。,波士顿矩阵:公司战略方向指南针,纵轴代表市场成长率、横轴为市场占有率,将事业划分为问题儿童(problem child)、明星(star)、金牛(cash cow)、败犬(dog)四个象限,是制定事业策略的有效工具。不同象限的投入资源是不一样。,GE矩阵,业务战略矩阵,3C策略,制定策略时,心中一定要有3C:企业自身(company)、竞争对手(competitor)、顾客(customer)。,Corporation,Competition,Customer,在可接受价格下寻求最佳效益,技术采用生命周期:跨越鸿沟,SWOT分析,pptPlex Sectio

6、n Divider,信息系统架构,The slides after this divider will be grouped into a section and given the label you type above.Feel free to move this slide to any position in the deck.,山寨,完全自己做,完全用别人的,架构如何产生?,组合,扩展,架构是什么?,架构是针对某种特定目标系统的具有体系性的、普遍性的问题而提供的通用的解决方案。架构往往是对复杂系统的一种共性的体系抽象。架构让我们能够正确、合理地理解、设计和构建复杂的系统。,硬件架构

7、图:,软件架构图:,业务架构领域的组件及主题,业务架构规程是关于业务的“工作范围”,并且描述它是如何运作的。,解决方案架构规程的领域及主题,在信息系统开发和维护项目中处理应用、数据、技术和其他解决方案架构形式,具体到实现。,企业架构规程的组件及主题,EA 主题主要用于企业分析、计划和架构治理。关键的业务架构主题完整地包含于 EA 规程之中了。,企业架构路线图示例,企业架构领域原则上的关注点是企业范围内的业务需求的识别、规范,及优先级划分。,企业架构开发协会(Institute for Enterprise Architecture Development,IFEAD)概括出了企业架构规程的重要

8、指导原则:“没有战略眼光,就没有 EA。”换句话说,今天的企业架构关系着明天的业务系统。此原则的一个重要方面是企业架构是根据一个战略性的企业眼光结合业务和技术要素的整体规程,EUP 是 RUP 的扩展,它模仿 RUP 的方法,描述过程工作流和活动,而 FEAF 和 Spewak 都继承于 Zachman Framework。TOGAF 起源于早期的专有 EA 技术框架,像 Technical Architecture Framework for Information Management(TAFIM),并构建在企业架构 ANSI 推荐之上(IEEE 1471-2000)。TOGAF 和 RU

9、P 之间的原则差别是 RUP 是技术架构驱动的,然而,TOGAF 是业务架构驱动的。,EA 框架选择,介绍 TOGAF,TOGAF 架构开发方法(Architecture Development Method,ADM),TOGAF 与 RUP 的交汇点,TOGAF 和 Zachman Framework,虽然 TOGAF 和 Zachman Framework(ZF)属于一类“企业框架”,但是它们在方法、组成,和工作范围上都有差别。ZF 是结构化的(静态的)框架,当用作方法及框架的工件和元分析的分析和分类的模型时最有效,而 TOGAF 是过程(动态)框架,还包括使用它们的参考过程模型指导。尽管

10、有这些基本的差别,我们还是有很大可能一起应用这两种框架:利用 ZF 作为工件的字典和交付结构,将 TOGAF 用作工件交付过程 用 ZF 设置转换 TOGAF 和其他解决方案方法之间的工件,例如,RUP 和/或 IT Infrastructure Library(ITIL)的结构 在实现 TOGAF 过程中或之前,利用 ZF 进行现有企业过程和业务模型的间隙分析 利用 ZF 进行 TOGAF 的元分析,这可能导致对其弱点的确定,以及与其他方法的可能接口。将 ZF 用作设计 TOGAF 企业架构模型的助手(TOGAF 阶段 B-D),TOGAF 和 EUP,虽然 EUP 和 TOGAF 都工作于

11、组织层面上,但是它们的范围不同。EUP,将 RUP 扩展到企业级,引入了七个新的规程 企业架构是其中一个 并对它们的应用提供指导。虽然大多数 EUP 规程工作于组织层,并且作为企业架构过程的输入,但是 EUP 本质上不是企业架构开发框架。(尽管 EUP 可能在 RUP 的未来实现方面进行变更。)对比 EUP,TOGAF 只关注企业架构规程。从一开始就期望,并将其创建为企业架构实现的框架。尽 管 EUP 和 TOGAF 在视角上有差别,但是 EUP 所引入的规程对企业架构实现非常重要。举例来说,企业业务建模(Enterprise Business Modeling)对于对现有业务过程的“构架”变

12、更来说是有帮助的,而投资组合管理(Portfolio Management)是企业架构师分析潜能,并监控(或 EA 术语中的治理)正在进行的实现的“必用”工具。,TOGAF 实现路线图,对成功的 EA 实现的其他潜在威胁包括缺乏用于获取并管理 EA 工件的标准工具,并且缺乏标准标记符。,http:/www.telin.nl/NetworkedBusiness/Archimate/ART/,EA:,EA Notation:,理解架构:一组类比,理解1:高楼大厦是由钢筋、水泥和砖块构成。理解2:信息系统是由数据和代码构成。理解1:高楼大厦是由一个个楼层、一个个房间构成。理解2:信息系统是由一个个模

13、块、一个个对象和组件构成。答案1:高楼大厦是由支撑框架、管道系统、强弱电系统、给排水系统等构成。答案2:信息系统是由组织机构、业务流程、业务功能、业务信息等构成。,业务流程梳理,至顶而下的对企业业务进行层层梳理,确保企业核心价值链在您的梳理分析下不失真、不偏离。第一层:企业流程地图(使用EVC价值增值链法)第二层:企业流程区域(使用EVC价值增值链法)第三层:主流程(使用EPC事件过程链)第四层:子流程(使用EPC事件过程链)第五层:活动(使用活动元素来描述),企业价值增值链图(EVC),企业事件过程链图(EPC),系统划分粒度,系统1,系统2,架构是蓝图,是从整体到部分的最高层次的划分,架构

14、是关注点分离,架构是一种权衡,用友U9产品SOA设计架构遭技术质疑,架构可以先不做,但一定要先想,瓦萨战舰的故事,架构是持续完善的,pptPlex Section Divider,参考,The slides after this divider will be grouped into a section and given the label you type above.Feel free to move this slide to any position in the deck.,可持续的争竞优势:,Company Logo,开发方法?,可维护?,定制化能力?,开发效率?,产品质量?,

15、MetaEdit+,The key benefits of this approach are:Productivity increases by a factor of 5-10:Shorter time to marketDevelopers can concentrate on features and design instead of writing code manuallyProduct quality improves significantlyFull control over both modeling and code generation,Domain-Specific

16、 Modeling,Metacase:The worlds leading supplier ofDomain-Specific Modeling(DSM)environments.,.NET Application Framework-DevExpress eXpressApp Framework,The fastest way to platform independent business applications Feature DetailsArchitecture XPO The UI Model Modularized Architecture Base Class Librar

17、y Role-based Security Data Validation Localization Reporting Visual Studio IDE Integration,Component-based,Scalable Logical Architecture,a software development framework that helps you build a powerful,maintainable business logic layer for Windows,Web,service-oriented and workflow applications.CSLA.

18、NET enables you to create an object-oriented business layer that abstracts and encapsulates your business logic and data.CSLA.NET includes a technology-neutral client/server abstraction,allowing you to build your application and then decide at deployment whether to use 2-tier or 3-tier client/server

19、(and 4-tier with Silverlight).CSLA is the result of over 12 years worth of research and development.The.NET implementation of CSLA was started in 1999,and development continues today,with the addition ofCSLA.NET for Silverlight and upcoming support for Silverlight 3.0 and Microsoft.NET 4.0.,润乾报表,类 E

20、xcel 报表设计模型 非线性报表模型多源填报模型 强关联语义模型,Mendix,Novulo,Model Driven Development(MDD)platforms,pptPlex Section Divider,技术架构思想,The slides after this divider will be grouped into a section and given the label you type above.Feel free to move this slide to any position in the deck.,基于单项目开发 基于产品线开发,以独立技术为中心 以业务

21、集成平台为中心,代码 模型,业务和IT的鸿沟,已有的业务模型,/添加过滤条件 oSQLInfo:=ASubModelInfo.Items0.SQLInfosASubModelInfo.Items0.SQLInfos.IndexOf(oReportMXEntity.Name);oSQLInfo.SQL:=oSQLInfo.SQL+Format(Where%0:s.%2:s In(+select%2:s from%3:s where%5:s and+Exists(Select*from#OrgIDs where#OrgIDs.OrgID=%3:s.OrgID)Order By%6:s,oRepor

22、tMXEntity.Name,sFromClause,oReportEntity.IdentityEntityProperty.Name,oReportEntity.Name,GetFieldClause,GetDateFilterStr,GetOrderByStr);iTBType:=Model.Databases0.FindTable(Report).Locate(ReportID,CurrentRecord.AsIntegerReportID).AsIntegerTBType;oCreatedRecordList:=OrgReportTable.CreateRecordList(Form

23、at(OrgID=%d)and(ReportID.ReportPID.Type=%d)and(ReportPID=%d)or+(ReportID.Type=%d)and(ReportID=%d)and(BrowserType=%d),CurrentRecord.AsIntegerOrgID,CurrentRecord.AsIntegerType,CurrentRecord.AsIntegerReportID,CurrentRecord.AsIntegerType,CurrentRecord.AsIntegerReportID,iTBType);Create table#Report(Repor

24、tID int)INSERT INTO#ReportSelect Report.ReportID from Report LEFT JOIN ReportOrgON Report.ReportID=ReportOrg.ReportIDwhere Report.OrgID IS NULL or ReportOrg.OrgID IN(Select OrgID from GetUserOrgRight(UserID)and(BasicFilter_OrgID IS NULL or Report.OrgID=BasicFilter_OrgID)and(BasicFilter_Type IS NULL

25、or Report.Type=BasicFilter_Type)and(BasicFilter_Name IS NULL or Report.Name like)Select Report.*from Report where ReportID in(Select ReportID from#Report),Serializable Table DefaultObject(Catalog=指标管理),Label(项目信息)public class Project:GBusinessBase Required,IsTitle,ShowInList,ShowInDetail,Label(名称)pu

26、blic string Name get;set;private void DataPortal_Fetch()using(var ctx=ConnectionManager.GetManager(BusinessDBName)IDb db=DbFactory.Instance.GetDb(ctx.Connection);IQuery q=db.Query();var list=db.Select(q);foreach(var item in list)this.Add(Project.GetLazy(item.Id);public void CalcProjectCostIndicator(

27、)ProjectCostIndicatorList pcIndicators=ProjectCostIndicatorList.GetListByProjectId(project.Id,budgetType);foreach(ProjectCostIndicator item in pcIndicators)item.TotalCost=GetTotalCost(Guid)item.PBSId);(pcIndicators as ISavable).Save();,面向数据库开发 面向对象,DDD,描述DDD时我们强调的最重要的内容有:领域模型归业务代表所有。这就要从业务代表的头脑里抽象概念

28、,并将这些概念嵌入到软件中,而不能从软件的角度思考,并试图影响业务代表。技术团队是关键的利益相关者。我们将围绕具体细节据理力争。,一致的语言、实体、值对象、服务、资源库,在规划阶段利用DDD时我们使用的两个重要原则是:领域模型归属于业务:这意味着技术团队的关键角色是聆听并理解,而不是解释什么可能、什么不可能。需求抽象要求将概念性的领域模型映射到具体的功能需求上,并在存在不匹配的地 方对业务代表提出异议或进行询问。接着,存在不匹配的地方要么改变领域模型,要么在更高层次上解决功能需求(“你想用此功能达成什么效果?”)。领域模型需要一个权威的业务源:,http:/,不同复用层次,思想,pptPlex

29、 Section Divider,模型驱动开发平台OpenExpressApp platform,The slides after this divider will be grouped into a section and given the label you type above.Feel free to move this slide to any position in the deck.,没有创新性的技术,更多的揉合现有技术和产品中有价值的部分,通过借鉴和整合别人已经实践的方法来提高我们自身的开发能力。不同于以往为特定开发角色提供独立的开发工具和框架,它基于业务模型驱动开发指导思

30、想,为业务分析人员、软件设计和开发人员提供的一 种集成的开发平台提供报表、流程、元数据等基础引擎,具有业务建模、领域建模和应用建模等模型,并提供权限、报表等多个通用应用模块。为了支持软件开 发,还提供基于敏捷思想的软件项目管理工具、快速原型工具和测试等工具支持。,http:/,测试,OpenExpressApp,OpenStudio,流程建模,领域建模,项目管理,原型,UI建模,EA建模,OpenTool,OpenEngine,OpenModule,组织权限,报表,审批,模块导航,第一阶段主要工作:现在主要做OpenExpressApp框架,已开始在项目中应用。现阶段实现主要是基于C/S分布式

31、,参考了ExpressApp Framework(应用框架),使用了CSLA作为分布式业务对象框架,Composite WPF作为UI框架,还使用了其他一些代码(如 LiteORM、Flee等)。支持C/S后续阶段主要工作:OpenMetaEdit(参考MetaEdit+)OpenReport(参考润乾报表)OpenWorkflow(使用微软的WF)OpenStudio(基于OpenExpressApp开发,参考Mendix、Novulo)OpenTool(基于OpenExpressApp开发),UI,业务层,数据层,OpenORM,类库CSLA,应用模型,WPF,ASP.Net MVC,Op

32、enExpressApp,运行期自动生成,Command,特定应用,pptPlex Section Divider,Mendix,The slides after this divider will be grouped into a section and given the label you type above.Feel free to move this slide to any position in the deck.,pptPlex Section Divider,eXpressApp Framework,The slides after this divider will b

33、e grouped into a section and given the label you type above.Feel free to move this slide to any position in the deck.,pptPlex Section Divider,Composite WPF,The slides after this divider will be grouped into a section and given the label you type above.Feel free to move this slide to any position in

34、the deck.,pptPlex Section Divider,CSLA,The slides after this divider will be grouped into a section and given the label you type above.Feel free to move this slide to any position in the deck.,Basic Design Goals,Validation and maintaining a list of broken business rules Standard implementation of bu

35、siness and validation rules Tracking whether an objects data has changed(is it“dirty”?)Integrated authorization rules at the object and property levels Strongly typed collections of child objects(parent-child relationships)N-level undo capability A simple and abstract model for the UI developer Full

36、 support for data binding in WPF,Windows Forms,and Web Forms Saving objects to a database and getting them back again Custom authentication Other miscellaneous features,pptPlex Section Divider,MetaEdit+,The slides after this divider will be grouped into a section and given the label you type above.F

37、eel free to move this slide to any position in the deck.,Metametamodel,Object,Role,Relationship,Metamodel,Object X,Object Y,Model,InstanceOf,System in operation,Customer instance,InstanceOf,Object X”customer”,InstanceOf,Relationship instance,InstanceOf,GOPRRMethod(ology)ConceptsRulesSymbolsReportsPr

38、oduct specifications,Property,Graph,Model architecture in MetaEdit+,91,ConceptsGraphObjectPropertyRoleRelationshipMetaEdit+has own tool for each metamodeling concept,Metamodeling concepts of GOPRR,MetaEdit+method engineering tools,MetaEdit+(model),Method Workbench(metamodel),93,Apply in software pro

39、duction,MetaEdit+delivers immediately the method to your team(editors,reports,multi-user,multi-platform,etc)Prototype your design;refine and iterate,Architecture:integrated CASE and metaCASE,WindowsLinuxSolarisHP-UX,Method Workbench,95,Concepts,Symbols,Generators,Rules,1,2,3,4,Steps for implementing

40、 DSM,96,1.Design domain concepts,Identify domain conceptsMap domain concepts accurately to modeling conceptsConcentrate on semantics!Enter the concepts in the forms,97,2.Define domain rules,Define semantics and rules as they exist in the domainExamples of rule types:Start state may not be directly c

41、onnected with end stateStart state may may be in at most 1 transition relationshipState may have substatesActions are reused from classetc.,98,3.Draw symbols(notation),Draw symbols for your concepts with Symbol EditorGraphical behavior in modeling tools is provided automaticallyNote that symbols are

42、 used also in documentation(Word,HTML)and in matrixes,99,4.Implement generators(reports),Reports access conceptual design data in models and generate textual ASCII output(on screen or to files)You may use reports for various purposes:Creating configuration dataGenerating codeDocumentingCheckingRevie

43、wetc.,pptPlex Section Divider,其他,The slides after this divider will be grouped into a section and given the label you type above.Feel free to move this slide to any position in the deck.,LiteORMWpf-ContribFleeCaliburnAvalonDockCommandPattern,pptPlex Section Divider,过程,The slides after this divider w

44、ill be grouped into a section and given the label you type above.Feel free to move this slide to any position in the deck.,好的过程,具有良好的边界,提供足够的结构以指导创新和创造,并控制开发周期清晰的定义任务,任务焦点放在结果而不是细节,项目可有效的进行,但仍然可以适用一些非常事件和环境的变化为开发小组负责人、项目经历、高层管理者以及客户提供准确的金都和状态信息,而对开发人员的时间影响最小很快会成为习惯,而不是一系列谨慎的行为。帮助开发小组维持质量,应对复杂局面优化开发小

45、组内外的沟通,过程是用来改进人们如何协同工作的。每个人都有自己的一些过程,每个开发小组也是如此,无论过程好坏,使之明确清晰是理解发生了什么事情,明白什么能行,什么行不通的第一步。过程让人明白自己在干什么,别人在干什么,互相之间有哪些问题和变化,哪些是瓶颈和加速器。,Process Map,敏捷是为了快速响应需求变化和降低风险敏捷不能保证成功敏捷把产品和开发问题及早暴露无论你的想法高明或者不高明,都不如用户的选择高明,所以任何美妙的想法,不如先把它简单地做出一点点,就拿到市场上做实验,因为一旦对了,你马上能看到增长,你能迅速跟进。一旦不对,你调整的成本也很低。,Scrum Master角色转变,

46、我的地盘我做主,为人民服务,敏捷实践基于敏捷文化,敏捷团队来自敏捷个人,XP four core values,XP 13 practices,5月份,初始,The slides after this divider will be grouped into a section and given the label you type above.Feel free to move this slide to any position in the deck.,1.需求理解以及系统架构:通过沟通以及查看相关需求文档,熟悉指标业务,进行系统架构分析,输出架构视图(1-2周)2开发方案比选:针对城

47、建合同执行时间以及新需求对原有版本的可修改性确定开发方案 A 基于以前版本修改:研究以前版本技术实现以及功能差异,进行技术改造和工作量评估(额外增加 1周)B 全新开发3原型开发:根据比选后方案进行针对性的模块和功能设计,输出原型和总体功能列表(2-3周),完成C/S框架基线,细化一,The slides after this divider will be grouped into a section and given the label you type above.Feel free to move this slide to any position in the deck.,6.1

48、-6.12 技术评估阶段:对.Net实现部分实现技术进行技术验证评估内容分布式面向对象架构:CSLA客户端组合应用:Prism、Caliburn模块化开发、模型化开发:eXpressAppFrameworkASP.MVC、Catharsis、Silverlight(开发B/S应用时验证)评估方法 Fit analysis.Determine if the guidance suits your needs.Initial evaluation.Install,run,and examine the guidance.In-depth evaluation.Conduct a thorough

49、examination of the guidance.Adoption.Incorporate the guidance into a composite application.6.15-7.17 实现C/S框架基线,实现标准体系指标模板,Sprint1,The slides after this divider will be grouped into a section and given the label you type above.Feel free to move this slide to any position in the deck.,Sprint1目标完成工程指标标

50、准体系指标模板建立backlogPBS建立(3.6)工程属性规范和清单匹配(6d)合同科目(2h)指标模板(6d)核算单位换算字典(1d)日期安排 sprint迭代周期:2009-7-20/2009-8-14每日晨会:8:308:45 330(预算组对面会谈室)演示会议:2009-8-14 9:00-11:30回顾会议:2009-8-14 3:00-5:00,回顾会议流程1、介绍会议目标和议程;2、拟定会议规范:a、不指责,坚信每个人在当前的工作都是全力以赴的;b、不回避问题;c、尽量少用“你”,多用“我们”;d、不准用手机;e、不要发怒;f、对事不对人;h、不讨论具体业务;3、收集数据:事件

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号