EOS应用开发过程参考手册
1. 引言
1.1. 目的
本手册旨在为基于EOS产品的项目实施提供开发过程的参考。
本手册汇集了普元公司多年卓有成效的项目规划、实施和上线的最佳实践,建议基于EOS的项目采用。当然,这并不意味着本文档所描述的方式是EOS应用开发的唯一方法。
1.2. 目标读者
本手册的目标读者为采用EOS 5.x产品进行应用开发的所有项目组成员,具体角色包括项目经理、开发经理、架构师、业务专家、开发人员、测试人员等。
1.3. 术语与缩写
EOS
EOS Component
普元公司的核心产品名称,是面向构件的应用软件平台。 EOS提供了一个包括页面,展现逻辑,业务流程,业务逻辑,业务方法,数据逻辑等六种构件。
是EOS系统发布、复用的基本单位,它由一组相关的EOS构件组成,能够完成相对独立、完整的业务功能。EOS构件包中可以包含一个或多个的EOS构件在EOS应用中,它相当于一组有关系的构件的容器或命名空间(Namespace)。同一个构件包的构件不能重名。EOS平台对构件的调用也是首先通过包名来定位构件所在的包。
基于EOS产品所开发的应用系统 。
EOS Package
EOS Application
EOS Runtime Environment
EOS运行和管理环境是一个独立的EOS应用程序,可以部署在一个独立的EOS Server上,集中管理(包括部署、监控,察看日志等)位于不同的物理机器上的EOS 应用程序;也可以在每台EOS Server上都部署一个EOS Manager来实现分散式部署与管理,即只管理本 EOS Server上的EOS应用程序。
EOS Development Environment 普元EOS开发环境中包括EOS Studio(集成开发环境)、
EOS Server(运行/调试服务器)、版本控制库三部分组成。
EOS Studio 为用户提供基于向导的应用开发环境,包括数据构件定
义、业务逻辑开发、展现逻辑开发、业务流程开发、JSP页面开发、Bizlet开发、调试、应用部署。
http://www.primeton.com/
第6页共44页
EOS应用开发过程参考手册
EOS Server
XML Data Bus
EOS运行引引擎,负责在调试及运行期间对构件进行执行和管理。
作为EOS平台的一个特性,EOS的各种构件通过XML数据总线进行相关数据的交互,从而以数据流的方式来推动业务的进行。EOS的XML数据总线包含展现数据总线和业务数据总线。
1.4. 配套文档
与本文档配套提供如下项目实施过程参考模板: 《系统需求规格说明书》 《系统设计说明书》
《系统测试方案与测试案例》 《系统测试报告》
《应用系统用户使用手册》 《应用系统维护手册》 《项目开发规范》
与本文档配套提供如下项目管理方面的参考模板 《项目管理方案》 《项目周报》 《会议纪要》
《系统功能分解与跟踪矩阵》 《需求调研会议记录》 《需求变更方案》 《项目需求变更表》
1.5. 参考资料
标题 《普元构件规范》 《特征驱动开发方法》 项目文档模板 版本 0.8 2005-9-15 日期 来源 EOS6定位组 机械工业出版社 普元实际项目的输出文档 1.6. 其余部分的结构
本文档的其余部分,将依次阐述下列内容:
http://www.primeton.com/
第7页共44页
EOS应用开发过程参考手册
? ? ? ? EOS应用开发过程 EOS应用开发的角色 开发过程阶段描述 其他最佳实践
2. EOS应用开发过程
EOS应用是典型的J2EE企业应用,所以EOS应用的开发过程将以J2EE企业应用开发过程为参照并结合EOS的特点进行说明。一般而言,对于J2EE的企业级应用的开发,可以划分为如下内容:
? 需求: 明确软件开发的任务,形成所有相关涉众(如客户、用户、项目组)共同
认可的软件需求规格。需求规格需明确功能需求、质量属性、约束条件等需求的所有方面。
? 设计:针对需求进行分析设计,形成项目组的设计说明书和功能清单。 ? 开发:在设计说明的指导下完成应用的实现。 ? 测试:针对实现的应用进行系统良好性的验证,可能包含的测试工作如:功能测试、
系统测试、集成测试、性能测试等。
? 集成、部署:主要完成系统在用户环境中上线,并通过用户培训,将应用系统交付
用户使用。
应用开发中,针对以上工作,一般都划分为一个独立阶段,然而,各个阶段仅仅表明一个工作的重心和职能以及阶段间的顺序,并不代表着各个阶段的工作是串行的。实际上,各个阶段在不同的应用项目中,不同程度存在一定阶段重合(并行)或者迭代现象。如下图:
项目开发周期0需求设计项目阶段开发测试集成部署
对应用开发过程进行阶段划分的主要目标还是便于界定各个阶段的主要工作内容,而不在乎你是否把属于该阶段的工作放到上一阶段中,或者干脆将某两个阶段合并为一个阶段。需要关注的是相关的工作是否串行和对其他工作是否存在依赖型。
http://www.primeton.com/
第8页共44页
T1T2T3T4T5T6T7 EOS应用开发过程参考手册
本文档旨在为EOS应用项目的开发团队提供一种轻量级的敏捷开发方法,对于开发过程的描述,除了与应用开发和项目实施密切相关的工作内容以外,还将包括保障项目实施的各种项目管理方法和手段。另外,在对各个阶段的工作进行描述之前,先对EOS应用开发过程中可能涉及的各种角色进行简单的说明。
3. EOS应用开发的角色
3.1. 概述
我们可以认为,应用软件项目一般是由人、过程和技术(包含与技术配套的工具)组成的,采用的技术和工具固然重要(能够满足发展需求并最大化团队生产率),过程也是一样(能够保障项目实施有序进行),但从某方面而言,最重要的因素是人,因为系统所有的一切都是关于人的。试图用过程或技术取代人的做法是愚蠢的,因为技术也好,过程也好,没有项目组人员的支持和参与,就不会发挥出相应的作用。在EOS项目中,对于项目成员角色的定义与其他的J2EE项目的角色定义几乎是一致的,只是在某些角色的职责方面有一定的差异。以下将分关键角色、支持角色和额外角色分别进行说明。
另外,需要强调的是,角色代表着项目组的一种职责,并不意味着不同角色都必须由不同的人分别承担,细分角色的目的是为了了解在应用项目实施过程中,存在哪些工作需要由什么样知识结构、经验、技能的人承担。通常情况下,会根据项目的大小,人员的投入情况以及成员的个人能力和经验差异,某个人会承担一个或多个角色。例如,某些小型项目的项目经理可能主要的职责是管理项目开发团队和控制项目的开发进度,而他同时可能是具有较强业务知识的业务专家,同时又具有较深的技术根底,兼任项目的开发经理的职责。
总之,角色就象帽子,具体人与角色可以是一对多的关系。
http://www.primeton.com/
第9页共44页
EOS应用开发过程参考手册
3.2. 关键角色
关键角色是项目实施过程的主体,是实现应用系统从无到有的生产者和管理者,是项目实施成功与否的直接关系人。项目的绝大部分活动都是关键角色完成的。
3.2.1. 项目经理
项目经理是项目的行政领导,负责报告进度情况、管理预算、凑措人员,以及协调设备、场地、资源等。作为项目的操作者和维持者,项目经理的工作是创造和维持一个良好的环境,使项目组运行在最佳状态。
项目经理一般由有良好项目管理知识、具备实际项目管理经验,良好的协调沟通能力,较强的客户服务意识,同时具有超凡人格魅力的人员担任。
3.2.2. 开发经理
开发经理又称为技术经理,他辅助项目经理进行应用开发过程的控制。他在其他角色的配合之下,负责对进入条件、退出条件、项目输出的技术把关。另外,开发经理作为技术能手,还将主要关注技术风险、技术攻关点、技术能力搭配、知识积累及软件过程改过辅助等等
开发经理应当有良好的技术功底,同时具备较多的项目实施经验,对软件过程有较深的理解,尤以通才为佳。
3.2.3. 架构师
他应当为项目的技术方案负责。当有风险较大的技术问题时,架构师应成为技术课题攻关的带头人。
在基于EOS的应用开发中,架构设计师的主要职责:在熟悉EOS所提供的应用框架基础上,结合项目要求、J2EE特性、EOS产品功能,以及现有的构件资源(可能是EOS提供的、或者是以往的EOS项目积累的),设计出系统的最优(工作量最小、实现最简单、应用的结构最合理、系统复用度最高)总体实现方案和适用项目的应用架构。具体而言,他应按照面向构件的思想,将解决方案空间合理地分割成不同的构件、确定构件的粒度、描述构件的接口、确定构件之间的协作关系、并充分考虑构件的并发和构件的分布。
架构师应该由具有较强的J2EE系统设计经验,对EOS体系和功能较为熟悉的人担任。
3.2.4. 业务专家
业务专家是具备业务领域知识的人才,他对项目所涉及的业务知识比较清楚,对用户现有的IT系统的功能等也比较熟悉,他负责辅助其他角色建立业务模型,并对最终业务模型评审把关。
在大多数情况下,担任业务专家的人员还应该具备一定的业务建模知识,懂得如何建模的人才知道如何简化工作。在项目中,具有类似项目经验的技术人员也可以作为业务专家,
http://www.primeton.com/
第10页共44页