papachong

posts(6) comments(2) trackbacks(0)
  • 博客园
  • 联系
  • 订阅 订阅
  • 管理

News

昵称:爬爬
园龄:6年2个月
粉丝:0
关注:0

搜索

 

常用链接

随笔分类(6)

  • 构件技术(6)

随笔档案(6)

  • 2006年1月 (4)
  • 2005年12月 (2)

积分与排名

  • 积分 - 5577
  • 排名 - 12474

最新评论

阅读排行榜

评论排行榜

推荐排行榜

2006年1月19日

基于构件技术的需求管理过程-框架需求调研

  基于构件技术的需求过程与传统的需求过程有着非常大的区别,在传统的需求过程之中,更多的是强调需求沟通技巧,而基于构件技术的需求过程则是强调需求复用,很多项目管理人员把满足客户需求与提高客户满意度对等起来,认为越多的满足客户需求,客户满意度就越高,我不认为是这样的,原因如下:
客户希望项目能够完成,并且上线,产生一定的效益,如果这个不能保证,无限满足客户需求,也不能提高客户满意度。
项目负责人应该在满足客户需求和提高客户满意度这两个既对立又统一的目标进行平衡,通过科学量化的需求管理过程来实现其目标。

关于上述问题我想单独再提一个话题进行说明,这篇文章主要讲的是基于构件技术的需求过程,以下则称“框架需求调研”:

框架需求调研的目的是:

l        针对客户的业务领域找到合适的业务领域模型。

l        确保客户、最终用户和开发人员就项目需求在合同的基础上进一步达成共识。

l        导出支持目标组织业务所需的项目需求,并分解成构件,包括已有构件清单、采购构件清单、开发构件清单,另外还包括不属于构件范畴之内的其它需求,如设计约束、性能需求、标准需求等。

l        与客户和其他涉众在需要开发的构件需求方面达成并保持一致。

l        使系统开发人员能够更清楚地了解构件需求。

l        为估算开发构件系统和测试集成所需成本和时间提供基础。

l        定义新开发构件的用户界面,重点是用户的需要和目标。

 

为实现这些目标,框架需求调工作流程说明了如何采用新的业务构件来改变以前传统的工作模式,并确定该业务模型之中所需要的功能(流程)、角色(岗位)、权限(职责范围),并举例说明采用了信息化的业务构件之后的工作流程。

框架需求调研阶段的工作流程包括初步需求整理、搭建构件演示环境、构件需求调研准备工作、展开调研工作、调研结果的整理、需求评审、客户确认。如下所示:

 基于构件技术的框架需求调研过程

1初步需求整理

目的:

l        以合同为蓝本,对项目需求进行深入沟通

l        将客户对目标应用系统的框架需求文档化,便于达成共识;

l        分析出已有构件、外协构件、开发构件,从而评估应用系统规模;

l        根据应用系统规模来评估该应用系统的成本和初步的项目进度;

 

如何配备人员:

团队负责人需要完成框架需求的整理工作,整理工作的结果是《框架需求说明书》,团队负责人可以在构件咨询员的协助下完成该项工作,如果项目规模较大,构件咨询员可以直接参与并主导该项工作,团队负责人需要对该客户的业务领域有较深的理解。

 

工作指南:

根据构件资源库以及构件发布清单来确定客户哪些需求是可以采用构件予以满足,这部分形成已有构件清单,不能满足的需求则需要考察构件资源合作伙伴是否有外协的构件清单,如果没有,则需要自行开发新的构件。

针对构件发布状态清单,对于低稳定性的构件应予以优先升级。

所有的构件清单分类非常清晰之后,团队负责人应该邀请公司内部有项目经验的人员对该项目予以评审,评审的重点是构件清单选择是否合适,业务需求差异是否大到足够要开发一个新的构件,还是在原有的构件上予以升级。

可应用以下技巧示例来帮助团队负责人收集正确、相关的信息:

l        集体讨论并整理提议

l        制作示意板

l        角色扮演

 

2搭建构件演示环境进行确认

目的:

l        快速构件目标应用系统,争取市场订单;

l        通过演示环境使客户快速对目标应用系统有了非常深刻的理解;

l        缩短对目标应用系统理解的时间,客户可以直接操作,甚至可以直接部署安装;

 

如何配备人员:

构件测试集成人员根据已有构件清单来搭建该演示环境,并由团队负责人组织演示数据。

 

工作指南:

演示数据应该贴近客户实际情况,如果不了解客户实际情况,则采用通用的演示数据。

如果项目涉及面广,则可以同步制作PPT,通过会议形式进行演示,在向客户进行演示时应该注重说明这是一个可运行的目标应用系统,而不是说明让客户看这还需要哪些改进,应该将提意见的重点部分放在新开发的构件或拟定要升级的构件之中。

搭建的目标应用系统如果沟通情况良好,则可以直接组织培训和运行,需要进行新开发的构件则后期通过构件集成方式进行集成到运行环境之中。

可应用以下技巧示例来帮助团队负责人收集正确、相关的信息:

l        进行演示会议

 

3构件需求调研准备工作

 

目的:

l        为深入了解需求制作调研工具,包括调研表格、原型系统、调研问卷;

 

如何配备人员:

团队负责人和资深的构件开发人员可以担当此工作任务,最好是开发该业务构件的开发人员,进行需求调研的准备工作人员应该具备项目调研工作经验和新开发或升级构件的业务领域知识,懂得如何制定项目调研表格。

 

工作指南:

根据开发构件业务清单和业务构件建模文档来制定项目所有的新开发/升级构件的调研表格,所有的调研表格必须以最终用户进行分类,不要让最终用户分开填多个调研表格。

团队负责人协调美工制作人员进行原型系统的设计,原型系统的设计应该遵守《构件设计开发标准》和《构件互操作性及界面标准》。

团队负责人也可以从公司历史项目之中找到一些案例,并修改一下界面或在网上找到其它公司的产品进行说明。

 

可应用以下技巧示例来帮助团队负责人收集正确、相关的信息:

l        集体讨论并整理提议

l        鱼刺图

l        Pareto 图

 

4展开调研工作

 

目的:

l        深入了解需求,与客户达成一致的需求理解;

l        扩大项目在客户方的影响;

 

如何配备人员:

团队负责人、构件咨询员、资深的构件开发人员可以担当此工作任务,如果能事先指派构件开发人员,则可以直接委派该开发人员参与调研工作;

 

工作指南:

项目调研人员应该能充分利用调研工具与客户进行交流,但每次交流项目调研人员都有非常明确的目的,而不是漫无目的的交流,比如说你们的网络结构是什么样的?目前有什么应用系统,为确保每次交流都是富有成效,所以项目调研人员必须对每次交流做好充分的准备。

调研过程应该可以采用笔记、录音等方式,以便于调研完成之后进行调研结果的整理;

 

可应用以下技巧示例来帮助团队负责人收集正确、相关的信息:

l        访谈

l        演示会议

l        需求研讨班

 

 

5调研结果的整理

 

目的:

l        形成书面的需求文档,以便于内部评审以及客户达成一致;

l        更新业务构件建模文档,为将来设计业务构件做好准备;

 

如何配备人员:

团队负责人、构件咨询员、资深的构件开发人员可以担当此工作任务,如果能事先指派构件开发人员,则可以直接委派该开发人员参与调研结果的整理;

 

工作指南:

项目调研人员应该立刻记录下调研的信息,以免长时间调研会遗漏细节,需求调研以构件为基础,所以需求文档应该包括业务构件需求和其它需求,业务构件需求应该直接引用更新了的业务构件建模文档,其它需求主要是环境方面的需求,如数据库环境、部署范围等等;

 

对所有的业务构件需求整理完毕之后,应该邀请有经验的人员对该系统进行需求评审,以有利于项目商务工作和业务构件的积累。

需求整理完毕之后,应该形成客户可以签署确认的文档,此份文档可根据国标或者其它软件工程方法学之中的需求文档编写,但在以下方面应该做调整:

1、  以业务构件为基础的需求文档;

2、  应该添加客户可签署确认的位置;

 

6需求评审

目的:

l        对需求的充分性、合理性、确切性进行全面评审;

l        对项目复用程度进行评审;

l        建立需求变更管理配置环境

 

如何配备人员:

团队负责人提交需求评审申请,公司可组织专家委员会对其进行评审;

 

工作指南:

每一条需求应该是可以实现的、确切的,且对客户产生了价值,并具备充分性、合理性。

需求评审的过程也是对需求难易程度、优先级、工作量等指标进行排序的过程。

在公司的构件资产之中找到合适的构件来满足项目需求,从而增加项目复用度,加速项目实施。

posted @ 2006-01-19 16:27 爬爬 阅读(1775) 评论(0) 编辑

2006年1月17日

基于构件技术的软件工程 - Small Team Practice小型团队项目实践标准

   

构件技术不仅仅是一种技术上的变化,基于构件技术的软件工程是构件技术非常重要的组成部分,就拿上面所述的家庭装修的例子而言,如果家装设计师还是采用八十年代的方式去谈需求的话,情况就会变得很糟,客户会被采用何种木料类似的问题而搞得晕头转向,而这样的情况恰恰是在我们目前的应用软件项目之中经常发生的情况。

基于构件技术之后,客户只需要说明自己的主要需求和愿意承受的价格,项目负责人则会选择相应的构件,而不再是与客户在一些细节上探讨,结果需求越来越发散,对于超出的工作量只能是项目组内部消化了。

所以基于构件技术的软件工程是非常重要的,Small Team Practice小型团队项目实践标准为基于构件技术的软件工程提出了一个良好的指导。

STP构件项目实施是一个结合中国软件行业现状及特点,以小型团队项目实践为基础的软件工程方法学,在现代软件工程方法学的基础之上结合软构件技术,为成功实施应用软件系统提供了一个实际可指导操作的项目实施方法学。

STP小型团队项目实践标准

STP标准将应用软件项目过程分为四个重要阶段计14个软件过程:项目售前阶段、项目实施阶段、构件开发阶段、项目维护阶段;并从四个角度分为项目管理过程、项目实施过程、资产管理过程、项目支撑过程。

项目管理过程包括三个重要过程:立项管理、项目监控、结项管理;

项目实施过程包括六个重要过程:框架需求调研、框架分析设计、构件开发管理、部署实施、配置管理、维护管理;

资产管理过程包括二个重要过程:业务领域工程、构件资产管理;

项目支撑过程包括三个重要过程:人力资源管理、项目成本管理、市场营销管理;

STP标准有四个非常显著的特征:

1.业务领域工程对应用软件项目所面向的特定行业业务领域进行建模,分析其业务架构,并形成构件的组装规则;

2.需求分析过程变成“框架需求分析”,其重点是找到合适的业务领域架构,并采用合适的构件,减少项目实施的成本,提高项目的质量。

3.到“框架分析设计”之后,应用软件项目实施分成二个部分工作展开,一部分是已有构件的组装和实施,使得客户很快体验的项目成果,并且将项目培训过程提前,避免项目周期过长。另一部分则是根据客户需求开发新的构件,并不断集成到应用系统之中,使得应用系统一开始就可以以“维护”方式运行。

4.适合中国大多数公司项目组相对较小,其更多的是面向应用实践的指导,并非一个标准体系,强调其规范性。

另外说明一下CMM与基于构件技术的软件工程,CMM软件成熟度模型目前并未涉及到构件技术,同大多数管理方法学一样,其重点还是强调从更好的软件过程产生更好的软件质量。

在CMM 1.1版本之中,CMM 3级提到了软件产品工程,但构件不仅仅是软件产品工程,在CMM 2.0版本之中,CMM 4级提到了“组织共性资产”,但目前为止还未批准,其主要原因仍然是CMM不仅面向应用软件行业,还面向类似于军用软件等要求严格的行业。

 

posted @ 2006-01-17 14:37 爬爬 阅读(1484) 评论(1) 编辑

2006年1月12日

构件项目与家庭装修的类比

 

在第一篇文章里面,我对构件项目与家庭装修是一笔带过,很多人不甚理解,或者有异议,在本文里面我将构件项目与家庭装修进行一次详细的对比,借此对将来的应用软件行业做一个展望。

八十年代的时候,还谈不上家庭装修的概念,很多的时候都是请一位木匠师傅到家里来做活,家里也可能有一些松木,木匠师傅可以就地取材,经过一翻讨论之后,木匠师傅就开始干活了,锯、刨、装,最后满足客户的需求,木匠师傅通常会在你家住上一段时间,走的时候会留下一堆刨花,可以生柴火。

二十年过去了,在城市里,一个家庭要进行装修,装修公司的项目经理一般是这样的过程:

1.首次见面,看客户是商用还是住宅,了解客户家的面积和初步需求,向客户推荐欧式风格、中式风格、古典风格、简洁风格;

2.二次见面,根据与客户上次交流沟通的结果,带上初步的装修效果图,向客户推荐基于某种风格的家俱或者装饰物,通过家俱或者装饰物的介绍手册,客户可以非常清楚的看到这些东西的作用,是否满足客户个人的喜好;

3.三次见面,带上调整后的装修效果图,经过协商,最终确定家俱或者装饰物,协商价格,换掉不满意或者价格贵的家俱或装饰物,换取性价比良好的家俱或装饰物,项目经理回公司向厂里下订单;

4.如果厂里已经有存货,则直接进行装修,如果厂里没有存货,则根据图纸进行制作;风格的装修(如墙面、地板等)展开工作。

5.完成项目,就细节问题满足客户的需求。

家庭装修行业发生了很大的变化,我们来分析这其中的一些要点:

步骤

要点

说明

1

确定大的框架

商用?还是住宅

欧式风格、中式风格、古典风格、简洁风格

2

装修效果图

家俱介绍手册

与客户能够互动,通过直观的效果图及家俱介绍手册比一大堆文字来得更直观,客户更容易理解,避免出现技术性问题,除非客户关注,如你这个桌子腿是用什么做的,全钢的还是檀木的?

3

价格沟通

通过替换整个家俱,而不是换掉一个桌子腿。

4

下订单及生产过程

项目经理在满足客户需求的前提下,尽量推荐存货,这样使得工期更短,更节约成本以及减少库存。

如果没有,则利用图纸进行生产,进行复用。

5

项目施工及完成

不断的向客户展现装修效果,使得客户满意,对细节问题一一解决,最终完成项目的验收。

 

目前的软件项目基本上是有两种方式来实现:

一种是基于套装软件实现,优点是实施快,缺点是不容易修改,不易于将来的扩展,容易形成信息孤岛;

另一种是基于定制开发实现,优点是满足客户需求,缺点是开发周期长、项目成本高、项目失败率高,甚至出现项目还没完成,客户的需求已经变化了。

 

正因为如此,我们采用构件技术进行应用软件行业的项目实施,它具有以下特征:

1.基于业务复用,面向特定行业的业务领域实现构件的架构;

2.基于软件复用的软件工程方法,使得构件可以满足大多数客户的需要;

3.构件资源在项目实践过程之中积累,并且很容易被使用到新的项目之中;

 

 

与此相对应,我们来类比一下基于构件的应用软件行业以及传统的软件工程(进行定制开发)的区别:

家庭装修

应用软件行业的构件技术

传统软件工程

商用?还是住宅

欧式风格、中式风格、古典风格、简洁风格

行业、业务架构

基于B/S结构的三层框架体系,可以选择总体界面

面向客户做具体分析,客户需要一段时间进行状态与项目经理沟通

装修效果图

家俱介绍手册

基于历史项目的经验

快速搭建可用的原型系统

构件介绍手册

需求分析技巧

不可使用的原型页面

客户不懂技术,容易需求扩散

项目经理的能力对需求调研的成果占很大比重。

需求分析“空对空”,客户容易疲劳,而不愿意再完成全部的需求分析;

通过替换整个家俱,而不是换掉一个桌子腿

让客户选择合适的构件或做少量改动。

构件技术细节或构件的部分不可替换(除非你没有同类的构件或者你确实没有实现类似的业务构件)

让客户对某个模块的原型发表意见,让开发人员进行修改,直到客户满意。

满足客户需求的前提下,尽量推荐存货

满足客户需求和公司有足够构件的前提下,尽量推荐已有构件,新开发构件或采购其它厂商的构件需要经过公司审批。

全部进行开发

不断的向客户展现装修效果

如果有可能,上线一批构件,客户就使用一批构件,避免项目尾期实施推广时间过长

全部开发完,通过整体验收,然后再经过1-2个月的推广实施期。

 

通过上述比较我们可以非常清晰的看到构件项目与家庭装修的类比,通过构件项目,我们可以更快、更轻松、更高效的去完成应用软件行业的项目,从而走进一个全新的构件项目新天地。

 

posted @ 2006-01-12 19:09 爬爬 阅读(816) 评论(0) 编辑

2006年1月9日

基于构件技术的复用与传统复用的区别

 

有人问我构件技术也是一种软件复用,它跟我们所说的传统意义上的复用有什么区别呢?应用软件行业的发展至今,软件复用一直在进行着,我们可以看到有以下的软件复用的发展史:

1.汇编语言的产生,使得程序可以模块化;

2.clib库,基于C语言,使得有更多的可复用的函数,提供了操作系统、文件处理、数学运算、图形处理;

3.STL库,基于C++语言,提供更丰富的数据结构操作,支持泛型;

4.J2EE平台及.NET平台,提供更为庞大及全面的类库调用,如操作系统、数据存储、消息传递、图形/图像、Web服务、XML解析等等;

 

以上我把它们定义成为基于技术的复用,更多的是代码的复用(包括二进制代码和源代码),而应用软件行业的构件技术则是更全面的复用,包括以下内容:

1.需求的复用,如果有类似项目已经做过需求,则该需求是可以复用的;

2.架构的复用,该行业的业务领域已经被建模,形成架构,则基于该架构进行新构件扩展;

3.设计的复用,如果有类似的构件设计,则参考;

4.测试的复用,自动化测试用例及人工测试用例可用于回归测试;

……………….

 

构件在进行复用的时候需要注意以下几点:

1.构件复用是依赖于业务架构,业务架构定义了客户的业务模型以及构件的接口方式;

2.构件复用是以项目实践为原则的,不一定是将构件A越完善越好,越完善/越灵活的构件不一定适合小型用户,所以正确的做法是合理判断是从构件A进行扩展好,还是基于构件A编写一个构件B,从而适合不同层次的用户使用。

3.构件复用不一定是IDE开发环境进行编译成相互引用的二进制代码,可以通过相对简单的部署方式进行复用;

4.构件不仅仅是包括人机交互接口,还包括程序交互接口,每一个构件不仅可以通过界面进行操作,还可以通过类库调用进行操作;

5.做好构件的设计和归档工作,使得构件更好复用;

posted @ 2006-01-09 13:45 爬爬 阅读(905) 评论(1) 编辑

2005年12月21日

Lilosoft.CoSpace 构件平台对外发布

下载地址:http://www.eastit.com/website/CoSpaceDownLoad.htm

欢迎开发人员下载使用并反馈。

 开发平台界面

构件资源库管理平台界面

构件技术是软件复用的最新体现,使得应用软件系统可以更高效率、高质量、低成本的积累,减少了IT资源的浪费,使得开发工作更加轻松有效,CoSpace构件开­发平台使得基于构件技术的开发成为了可能。
Small Team Practice
小型团队项目实践标准为适合中国的小型软件项目团队实施基于构件技术平台的应用软件项目提供了有效的指导。
Lilosoft.CoSpace构件开发平台,构建应用软件行业的未来!!!

 

posted @ 2005-12-21 15:20 爬爬 阅读(404) 评论(0) 编辑

2005年12月7日

构件技术,应用软件行业的未来

摘要: 19世纪,人类文明历经了第一次工业革命—机械的发明;20世纪,人类文明历经了第二次工业革命—电子的发明;20世纪末期,人类文明正在历经第三次工业革命—信息产业;每一次伟大的革命都有惊人的相似之处,如今机器和电力都遍布我们身边的每个角落,已经成为一种重要的生产资料。软件产业自20世纪70年代的迅猛发展,20世纪90年代中期互联网的产生,已经确实在改变我们的生活了,任何一种划时代革命意义的产业革命,当...阅读全文

posted @ 2005-12-07 14:28 爬爬 阅读(197) 评论(0) 编辑

仅列出标题  
 
Powered by:
博客园
Copyright © 爬爬