世界级软件公司的研发模式

上传人:kms****20 文档编号:51407658 上传时间:2018-08-14 格式:PPT 页数:131 大小:1.37MB
返回 下载 相关 举报
世界级软件公司的研发模式_第1页
第1页 / 共131页
世界级软件公司的研发模式_第2页
第2页 / 共131页
世界级软件公司的研发模式_第3页
第3页 / 共131页
世界级软件公司的研发模式_第4页
第4页 / 共131页
世界级软件公司的研发模式_第5页
第5页 / 共131页
点击查看更多>>
资源描述

《世界级软件公司的研发模式》由会员分享,可在线阅读,更多相关《世界级软件公司的研发模式(131页珍藏版)》请在金锄头文库上搜索。

1、 我在美国的研发经历分享甲骨文公司 仲秋MAIL: 背景l本人科大毕业后在软件所特宝科公司做开发软 件工作,在亚里桑纳大学取得硕士学位后,前 后在爱德华(J.D. Edwards)、仁科 (PeopleSoft)、甲骨文(Oracle)三大公司做软 件开发工作。 l主要的工作范围: 维护和开发中间件。 维护和开发应用软件的构件开发平台,调试平台和 运行平台。 对运行平台实现代码的分析,优化和二次开发。 l本报告不代表任何公司见解和立场,不妥之处 请指正。所讲内容可从以下提供的线索找到, 但本报告是以我亲身经历来谈我的体会。参考资源WIKI http:/wiki.org/wiki.cgi?Wh

2、atIsWiki Systems Life Cycle http:/www.house.gov/cao-opp/PDFSolicitations/SDLCPOL.pdf ISO9000 http:/www.iso.org/iso/en/iso9000-14000/index.html UML http:/www.uml.org/, http:/www.visual- Design Patternhttp:/en.wikipedia.org/wiki/Design_pattern_(computer_science) Borland CaliberRM http:/ Borland Togeth

3、er http:/ Microsoft Project Server http:/ Oracle JDeveloper http:/ Unit Test http:/en.wikipedia.org/wiki/Unit_testing IBM WSAD http:/ Mercury TestDirector http:/ Mercury QuickTest Professional http:/ professional/ Mercury LoadRunner http:/ Mercury WinRunner http:/ JUnit http:/www.junit.org/index.htm

4、 JsUnit http:/ CUnit http:/ Apache Ant http:/ant.apache.org/ Boland StartTeam http:/ Microsoft SourceSafe http:/ us/dnanchor/html/VSS6Anchor.asp IBM Rational ClearCase http:/ McCabe http:/ JProbe http:/ Borland Optimizeit http:/ Tito Web Studio http:/ Rational Suite http:/ JavaDochttp:/ l第一部分:公司中的开发

5、过程的各模式 概述。多部门合作的、多环境 、多级( 多平台)、多阶段、 多代码视图、和工 作流开发模式。 l第二部分:在软件开发周期或各阶段中 各环节的工程技术和工具。每个环节分五个方面讲述 挑战问题、解决办法、工作流程、工 具介绍和个人体会。报告目的 学习国外经验,指导国内发展l国内策略 学习经验 正确起步 避免弯路 快速跟上 改进创新l国外发展 长期摸索 总结经验 吸取教训 竞争淘汰 技术领先第一部分: 软件企业中的各开发模式概述1.1 多部门合作的模式 1.2 多级(平台)的模式 1.3 生命周期的多阶段模式 1.4 多种代码视图模式 1.5 多环境开发的模式 1.6 工作流开发模式1.

6、1多部门开发模式 -软件开发的部门分工总经理应 用 开 发 部工 具 开 发 部质 量 保 证 部产品 维护 及 客户 关系 部营 销 决 策 部研 究 部 门后 勤 人 事 部测 试 员维 护 员文 档 员客 户 方领 域 专 家产 品 主 管构架员 程序员 部署员1.2 多级(平台)的开发模式 -二级开发,二级用户应用开发部工具开发部最终客户应用构件开发,管理, 调试,测试平台应用产品应用运行 平台开发开发使用使用运行应用程序的商务 逻辑(4GL)3GL(JAVA, C+)使用应用配置 平台使用应用开发部工具开发部最终客户应用开发部工具开发部所谓二级开发、二级用户l由工具开发部门根据总体框

7、架用第三代语言设 计和开发构件库及各种工作平台。 l由应用开发部门根据用户需求用4GL二次开发、 组装构件, 制订应用产品的商务逻辑. l工具开发部门开发应用配置平台. 工具开发部门, 应用开发部门和最终用户都可以使用它配置自 己的工作环境。(不同的商务逻辑和商务数据) l工具开发部门开发提供运行平台,使用用户配置 的商务数据和应用开发部门配置的商务逻辑,合 并成最终的产品.多级开发的优点 加强知识和技能的分工细化,降低开发员的素质要 求和开发的复杂度,利于人才的招聘和分配,提高 开发效率。 分离商务逻辑和构件工具实现逻辑(商务引擎),实 现体系结构一定程度上的松耦合。 多条产品线可以在两极并

8、行发展。 给予最终用户和测试员一定的自由度去组合各种 工作环境。 开发员可利用交叉测试的策略孤立故障到应用层 或工具层。组合出各种工作环境第N-1代运行平 台(商务引擎)第M-1代应用 的商务逻辑应用部门工作环境工具部门工作环境第M代应用的 商务逻辑第N代运行平台 (商务引擎)测试部门工作环境多级开发的潜在问题各级开发部门不了解彼此的领域知识 和实现。在调试一个具体的应用产品 时难以独立完成。 对构件和工具的功能和约束条件存在 不同的理解和假设,易在问题责任上 纠缠。避免多级开发问题的策略 主要靠统一文档资料和规范l对构件和工具的界面,功能和约束条件制订公开,详细,与产品 同步和易查阅的界面文

9、档资料.双方以此为依据,作为责任仲 裁依据.(建议使用版本控制的超文本或WIKI)l如在实际应用开发和使用中发现文档资料中的含糊不清和缺 陷的地方,双方开发代表要及时统一规范,落实到界面文档中.l对新构件和工具功能的开发,要双方开发代表(stakeholder)共 同协商需求,权衡代价和利益,设计测试,补充界面文档,并以签 字标志通过.l在运行平台上,在商务逻辑调用构件界面的地方,实现详细的 日志(包括构件,功能名,参数和返回值). 一半的责任问题可单 纯的审查日志来决定.l在升级测试阶段,工具开发部先通过自己的测试,在交给应用 开发部测试,以防止工具层的问题困扰应用开发层.1.3 多阶段/周

10、期的开发模式l一步到位式开发 big bang delivery (小项目)l渐进式迭代开发 evolutionary delivery (大项目)举例每个阶段/周期又细分为若干环节 (分别适用于工具和应用层)l需求l计划l设计l编程l测试l部署l维护l产品补丁及升级l体系结构重构l评估和优化1.4 多视图(代码视图)的开发模式l主产品视图(开发员和维护员工作交接点 ) l子项目开发视图(开发员工作视图) l对应已部署在客户方正在使用的视图(维 护员工作视图)主产品视图主产品视图子项目开发视图子项目开发视图子项目开发视图子项目开发视图客户方正在使用的视图客户方正在使用的视图分支分支归并归并上线

11、上线分支分支归并归并上线上线1.5多工作环境的开发模式 - 是通过配置平台控制的l开发环境(Development Environment) 是应用或工具开发员自己的工作环境(sandbox),没 有特定的商务数据。 l测试环境(Test or Staging Environment) 是测试员自己的工作环境 包含测试员的对客户环境模拟商务数据,用于回归测 试,一般不允许开发员过多的直接操作。商务数据被 定期初始化。 l客户产品环境(Production Environment) 客户端的实际使用的商业环境,不允许开发员和测试 员直接操作商务数据。1.6 工作流开发模式 -控制软件开发流程及其

12、管理系统l横向由分工很细的团队组成部门(who),这是为了 更快地开发出优质的产品,在市场竞争中生存下 去。 l纵向按生命周期(when)中需求、计划、设计、编 程、测试、部署(编译和集成打包)、维护、再 开发和产品补丁升级的几个环节。 l每个环节中,各团队分别完成整个开发过程中的 某些职能,并合作组成一些工作流,由此组成了 职能流程图(what)。 l通过软件开发工作流程的管理系统 (how)来协调和 组织各团队的开发工作。 (它与国内目前采用的项 目管理系统略有不同)。以工作流方式用文档和规范 来管理的管理系统 管理系统是用于管理工作流程的软件。 各工作流之间是通过工作单来连接,项目和维护

13、的开始 创建工作单。 流程表现为工作单按内部状态机规则在状态间流动。 工作单属性包括:问题描述,重要度,从属分支,讨论 ,解决方案等各种文档。 系统根据工作单当前状态通知下一个接受者,并还优先 权加入接受者的工作单队列。 接受者(程序员,测试员,客户,经理等)的对工作单 的不同状态有不同的控制职责,权限和规定。 工作单的终点是项目的解决或推翻。 三大公司都有自己的独立开发的管理系统,融合了自己 公司的管理特性。由于工作单的细节属于公司内部的知 识产权,不易公布。举例: 简化的维护过程中的工作单状态图答疑:可提问第二部分: 软件开发生命周期中各环节简述l我将按如下统一的格式介绍开发生命周期 中的几个环节.每环节分以下五方面讲述: 挑战问题 解决办法 工作流程 工具介绍 个人体会趣味案

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号