(管理科学与工程专业论文)小型软件企业开发流程支持系统研究.pdf_第1页
(管理科学与工程专业论文)小型软件企业开发流程支持系统研究.pdf_第2页
(管理科学与工程专业论文)小型软件企业开发流程支持系统研究.pdf_第3页
(管理科学与工程专业论文)小型软件企业开发流程支持系统研究.pdf_第4页
(管理科学与工程专业论文)小型软件企业开发流程支持系统研究.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

(管理科学与工程专业论文)小型软件企业开发流程支持系统研究.pdf.pdf 免费下载

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

文档简介

大连理 大学硕士乎f t 论文 摘要 本文从我国软件行业中小型软件企业居多这一实际情况出发,研究分析了我国小型 软件企业的特点,同时运用软件工程中的c m m 模型和流程管理思想设计实现了适合我 国小型软件企业的软件流程管理支持系统。 虽然国内对于中小型软件企业与c m m 模型的关系已有研究,但是基本都是从c m m 模型的关键过程域出发对中小企业提出的一种理论上的设想和基本结构框架,并没有给 出具有可操作性的系统。本文从知识管理角度,把小型软件企业看作学习型组织,运用 裁剪后的c m m 模型和知识流模型实现了基于b s 模式的支持系统。 本文的主要工作如下: o 本文结合我国小型软件企业的特点和实际情况,对c m m 模型进行裁剪,从新 模型的各个关键过程域出发,设计实现系统 本文将c m m 模型和知识管理的知识流理论进行比较分析,找n - - 者的相关性, 为本系统从流程角度进行设计提供理论依据 。本系统对企业成员进行角色分类,设计基于项目的组织结构和角色自定义方法, 使责任体系更清晰,组织结构更灵活 本系统设计并实现基于c m m 新模型各个关键过程域的几个关键实践库,并提 供了基于项目的关键实践自定义过程,强化文档管理 。本系统实现了用户与系统双向的交流,对资源的下载与上传 本系统设计了培训课程库功能,开设了适于软件开发人员的使用培训科目,而 且设置了自主学习、专家指导和集体讨论等多种培训途径 关键词:渊m 模型;软件开发流程;知识管理;知识流 小即软f ,l 企业开发流拌支持系统研究 r e s e a r c ho np r o c e s sm a n a g e m e n ts u p p o r ts y s t e mf o r m i n is c a l es o f t w a r ee n t e r p r i s e s a b s t r a c t t h i sp a p e rf i r s t l ya n a l y s e st h ec h a r a c t e r so ft h o s em i n i s c a l es o f t w a r ee n t e r p r i s e si no u r c o u n t r ya c c o r d i n gt ot h ef a c tt h a tam a j o r i t yo ft h ee s t a b l i s h e de n t e r p r i s e si ns o f t w a r ei n d u s t r y a r em i n i s c a l e a n dt h e nt h ep a p e rd e s i g n sa n di m p l e m e n t sap r o c e s sm a n a g e m e n ts u p p o r t s y s t e mf o rt h o s em i n i s c a l eo n e s ,u s i n gt h et h o u g h t so fp r o c e s sm a n a g e m e n ta n dt h em o d e lo f c m mf o rs o f t w a r ee n g i n e e r i n g a l t h o u g ht h e r ea r es o m ed o m e s t i cr e s e a r c h e so nt h er e l a t i o n s h i pb e t w e e nt h em o d e lo f c m ma n dm i n i - s c a l es o f t w a r ee n t e r p d s e s ,b a s i c a l l ym o s to ft h e ma r ea c a d e m i cc o n c e p t sa n d f r a m e sf o rt h em i n i - s c a l eb a s e do nt h ek p a so ft h em o d e lo fc m m ,a n dt h e r ei s n ta n y o p e r a b l es y s t e m s t h e r e f o r et h et h e s i st a k e sm i n i s c a l es o f t w a r ee n t e r p r i s e s a sak i n do f l e a r n i n go r g a n i z a t i o n sf r o mt h ep e r s p e c t i v e o fk n o w l e d g em a n a g e m e n t ,a n di ta l s o i m p l e m e n t sas u p p o r ts y s t e mb a s e do nb sm o d eu s i n gt h em o d e lo fk n o w l e d g ef l o wa n dt h e t a i l o r e dc m mm o d e l t h em a i nr e s e a r c h e si nt h i sp a p e ra r ea sf o l l o w e d : t h ep a p e rt a i l o r st h em o d e lo fc m ma c c o r d i n gt ot h ec h a r a c t e r sa n dp r a c t i c a l s i t u a t i o n so ft h o s em i n i s c a l es o f t w a r ee n t e r p d s e si no u rc o u n t r y ,a l s oi td e s i g n sa n d i m p l e m e n t sas y s t e mb a s e d o nt h ek p a so ft h en e wm o d e l t h ep a p e rc o m p a r e st h em o d e lo fc m mw i t ht h et h e o r yo fk n o w l e d g ef l o wi n k n o w l e d g em a n a g e m e n ta n df i n d so u tt h er e l a t i v i t yb e t w e e nt h e m ,w h i c hp r o v i d e s t h et h e o r e t i c a lb a s i sf o r t h es y s t e m sd e s i g ni nt h ew a yo fp r o c e s s , 4 - t h i sp a p e rs e t sd i f f e r e n tr o l e sf o rp r o j e c tm e m b e r s ,a n dd e s i g n saw a yt oc u s t o m i z e t h es t a f fs t m c t u r ea n dr o l e st om a k ec l e a rr e s p o n s i b i l i t i e sa n df l e x i b l es t r u c t u r e kt h e p a p e rd e s i g n sa n di m p l e m e n t s as y s t e mw i t hs e v e r a lk e yp r a c t i c eb a s e s a c c o r d i n gt ot h ek p a so fn e wc m m m o d e lh e r e ,a n dp r o v i d e saw a yt od e f i n et h e k p sf o re a c hp r o j e c t a l s o ,d o c u m e n tm a n a g e m e n ti sas t r e s st h r o u g ht h es y s t e m ot l l es y s t e mp r o v i d e saw a yf o ru s e r st oc o m m u n i c a t ew i t hi t s u c ha st h eu p l o a da n d d o w n l o a do ft h er e s o u r c e s t h ep a p e rd e s i g n sat r a i n i n gl e s s o nb a s ei n c l u d i n gs u i t a b l es u b j e c t sf o ru s e r si nm a n y w a y s ,s u c ha ss e l f - t r a i n i n g ,e x p e r t s g u i d a n c ea n dg r o u pd i s c u s s i o n k e yw o r d s :c m mm o d e l :s o f t w a r ed e v e l o p m e n tp r o c e s s :k n o w l e d g em a n a g e m e n t : k n o w l e d g ef l o w 独创性说明 作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究:【 作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得大连理 工大学或者其他单位的学位或证书所使用过的材料。与我一同工作的同志 对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。 作者签名: 火连理i 大学硕士研究生学位论文 大连理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位论文版权使用 规定”,同意大连理工大学保留并向国家有关部门或机构送交学位论文的复印件和电子 版,允许论文被查阅和借阅。本人授权大连理工大学可以将本学位论文的全部或部分内 容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论 文。 作者签名 导师签名 舛 进二聋 四年j 月上日 f 大连理工大学硕士学位论文 1 引言 1 1 问题的提出 随着个人计算机的普及和飞速发展,软件行业也成为最近3 0 年成长最快的行业。 m i c r o s o f t ,o r a c l e ,s a p 等这样一批优秀的软件公司,用不到2 0 年的时间就让很多上百年 历史的传统企业望其项背。同样,现今中国的软件业市场前景广阔,极具吸引力。据相 关统计,2 0 0 2 - - 2 0 0 6 年中国软件市场仍继续保持2 5 的增长速度,年均增长速度达到 2 7 6 。2 0 0 2 年中国软件市场的销售额预计为3 5 7 亿元,增长速度为2 5 3 1 1 1 。与此同 时,我们还注意到了这样一组数据:国内的软件企业中1 0 0 0 人以上的软件企业不到企 业总数的1 ,同时5 0 人以下的软件企业则占到了6 0 0 r - - 6 5 。从这组数据中,我们可 以得到这样两个结论:第一,我们的软件行业缺乏竞争力,亟待改善;第二,从实际情 况出发,对于小型软件企业的研究具有重大的现实意义。 为什么说我们的软件业缺乏竞争力? 有人或许会用数据说话,因为几乎所有的关于 软件产业的统计数据都显示着软件产业的快速增长。的确,这是毋庸置疑的,销售额在 增加,利润或许也在增加;但是我们也会发现,软件公司数量在增加,软件从业人员更 在增加,同时规模型的大型软件公司却仍然很少。也就是说我们自己的软件企业无论是 管理模式上,营销手段以及产品的服务上还处于初级阶段,很多软件企业仍然挣的是苦 力钱,吃的是青春饭,仍然缺乏有效的盈利模式,就更谈不上培育自己的品牌了。不少 的软件公司,从软件设计到销售都还停留在“手工作坊”阶段,软件研发人员承担着从 设计、开发、测试甚至编辑文档的所有流程,没有明确的分工,没有合乎规范的开发流 程,没有标准化的过程。 当然,这种现象是很多原因造成的,比如软件企业入门的门槛低,造成了小型企业 大量涌现;很多软件研发的末端工作也给了小企业生存的空间;软件从业人员的猛增也 大大促进了小型企业的产生等等。然而,不论公司的大小,真正的竞争力是需要规范化, 流程化的,缺少了这些,公司难以长远发展。所以对于小型软件企业的发展模式,管理 方法等问题的研究,不但对企业有帮助,对于我国的软件行业也是势在必行的。 调查研究发现,小型软件企业为了生存的需要,几乎把所有的精力都花在代码和测 试上,而且由于人员有限,常常会产生身兼多职的情况,这些导致了小型软件企业常常 会出现如下问题: 1 文档的编写不规范,不及时。这是最常见最容易忽视也危害最大的事情,如果 出现人员流动的情况( 这在软件业是很常见的) ,文档的不规范往往会导致后 小型软件企业开发流程支持系统研究 继人员无法迅速开展工作:同时不及时编写文档,会造成项目完工前凭借记忆 编写文档的情况 2 项目经理缺乏统筹的意识。小型软件企业的项目经理一般是由技术强人直接转 变而来,往往缺乏项目经验和管理经验,而如果没有相应的机制来辅助项目进 度,往往会造成人员安排不合理,项目进度混乱等 3 测试人员的效率问题。小型软件企业的测试人员往往没有太多的测试经验,而 如果开发人员的文档不规范,又没有以往的测试文档以供查询,测试的效率可 想而知;同时测试遇到的新问题也很难分门别类,对以后的工作很难带来帮助 4 团队的交流,协作的程度。小型软件企业的员工之间可能会比较熟悉,但是在 开发过程中对于技术的交流,项目进展的了解却往往彼此缺乏了解,往往是项 目经理一声令下,大家各自为战 本文针对小型软件企业存在的上述问题,结合软件开发过程与知识管理的紧密的内 在联系,本文从知识管理的一个微观层面出发,运用知识流模型和软件开发的流程管理 理论,设计了一个基于b s 模式的流程管理支持系统。系统从实际需要出发,结合软件 企业的开发流程和小型企业的特点,为不同角色的员工提供相应的角色和权限,使得员 工可以与系统与其他人员进行交互。另外,通过设立知识管理专员这个特殊的角色,来 加强软件企业内的知识资源库和档案室的管理,对于企业成员按照分配的不同角色来进 行知识访问控制;同时提供问题清单功能以及相应的问答形式的知识库和领域专家,成 员列表和论坛功能更一定程度上增加了隐性知识显性化的可能。作为一个面向小型软件 开发企业的流程管理支持工具,本系统利用知识管理原理解决知识分类存储、知识创新 和企业知识的固化等问题,具体实现则是通过j a v a 技术,数据库技术和w e b 编程技术 的综合运用来完成的。 1 2 国内外研究现状与启发 1 2 1 知识管理在软件企业的应用 2 0 世纪3 0 年代哈耶克( h a y c k ) 在其个人主义与经济秩序中专门论述了“知识在 社会中的利用”【4 】,知识管理开始被赋予了生命。9 0 年代的托马斯达文波特提出了“知 识管理两阶段论”企业像有形资产一样把知识存入“知识库”中;当知识库中拥有 太多“知识资产”时就要考虑知识工作业务本身的改进与提高【列。在知识管理理论近一 个世纪的发展过程中,知识管理本身的定义有很多,有广义的对组织的研究,有狭义的 企业知识管理,而且很多学者从各自的领域对知识管理进行了定义。在众多定义中,以 王众托院士的知识管理内涵最具说服力,因为知识管理涉及到实施企业的软件、硬件和 大连理工大学硕士学位论文 人的因素,是个需要统筹的概念,而王院士从系统工程的角度来描述知识管理。他认为 可以从知识系统的结构和功能上来看知识管理。知识系统的结构是网状的,功能是高效 率高效能的获取和组织知识1 6 1 ,能够有效地存取和保护知识,能适时将知识传播到适当 的地方、适当的人,能高效率高效能地开发新产品或新的服务,能按市场规律经营管理 知识资产,能营造和加强有利于知识生成、转移、使用的组织文化【7 1 。 从那些成功实施知识管理的大公司那里 9 1 ,我们深刻认识了在知识经济时代学习型 组织所具有的强大竞争力i l o l 。而这对于我们所要研究的小型软件企业也有着很好的借鉴 作用,即运用知识管理思想来优化小型软件企业。比如软件开发的过程模型从最初的 瀑布模型发展到组件集成模型甚至到智能模型【2 1 ,强调的就是知识的共享与重用;软件 开发的重点从原来的设计、编码、测试转移到需求分析上,强调的也是软件工程师、用 户实现无障碍的知识交流和共享。至于第三方需求分析则是通过第三方咨询机构来辅助 完成软件工程师和用户的知识交流。 概括的说,本文主要使用的知识管理理论如下: 知识重用形象的说法:“不要重复发明轮子”,对应的软件开发术语为“复 用”。根据经验,开发一个系统中的大部分工作都是成熟的,比如组件、构件 甚至是代码段,需要创新的只是少数几个环节。而成熟的东西又具有更高的可 靠性,所以通过复用来实现大量的成熟工作,可以大大提高工作效率 文档管理从知识管理角度看,文档在软件开发的知识管理过程中担负着重要 角色,是知识交流与共享的基础与桥梁。一份高质量的文档可以使其对应的组 件、代码等得到更好的复用,充分实现知识共享 隐性知识显性化软件工程的目标也是要解决开发过程中各个环节、各种不确 定问题显性化,由不可控变为可控。举例来说,软件能力成熟度模型c m m 是 衡量软件企业能力的标准,指导软件企业的开发过程,以其规范化增加软件开 发过程的可控性【弼】 以客户为中心软件开发的过程可看作一条为客户提供服务并为本企业创造价 值的价值链:前期的概念设计和需求分析意在掌握客户的需求;中期的系统设 计、编程、测试,核心目标在于实现客户要求;而后期实施、维护是帮助客户 满足需要 下表更简洁的描述了软件企业竞争力、软件工程和知识管理的相互关系【3 1 : 小型软件企业开发流程支持系统研究 表1 1 软件企业竞争力、软件工程和知识管理的关系表 t a b 1 1i n t e r - c o n n e c t i o na m o n gs c s e a n dk m 从另外一个角度来看,我们运用知识管理来增强小型软件企业的竞争力,实际上是 将软件企业建成具有自我学习能力的学习型组织。我们先来看看学习型组织的界定。彼 得圣吉是这样概括的:学习型组织即通过学习可以持续扩展其自身能力的组织,这种能 力可以带给相应组织美好的发展前景。这是被广泛引用的一个定义,不过加尔文给出了 一个更加具体的概念【1 1 1 :学习型组织即具有创新、获取以及传递知识的能力的组织,而 且组织能够通过改进其组织行为来反映所学到的新知识、新能力。由于软件业与传统行 业有很大差别,而且软件企业的学习能力是竞争力的主要体现,所以把小型软件企业向 学习型组织转型就成了提升竞争力的最有效途径之一。 1 2 2 知识流定义及其模型分析 为了更好的理解知识流,我们先来看看学者们从不同角度对知识流的定义: 把知识在多个参与者( 组织内或组织间) 之间按照一定的规则或流程的产生、 传播与应用称为知识流【2 0 】。 知识流是知识的流动过程,其根据定义好的团队工作的过程逻辑,把团队中某 个成员的知识传递给执行后续活动的团队成员,在成员问共享知识的内容,并 积累所有团队成员的知识【2 l j 。 知识流是指知识传递过程中从知识源到知识接受者之间发生的知识转移,其有 三个组成要素:知识源、知识接受者和知识通道。 s z u l a n s k i 将知识转移定义为一个过程,其中复杂的、模糊的规则在新的环境中 被不断创新并被维持【矧。 a r g o t e 和i n g r a i n 把知识流动看作是一个单元( 组织、部门或个人) 被另一个单 元的知识经验影响的途径, g i l b e r t 和c o r d e r - h a y e s 提出一个概念性框架来分析知识的流动过程,他们把知 识的流动过程定义为五个阶段:知识获取,知识交流,知识应用,知识接受和 知识消化1 。1 。 大连理工大学硕士学位论文 g a r a v e l l i a 和o o r g o g l i o n e 认为知识流动是一个认知过程,由编码化和通译两部 分组成【蚓。 l y n n e 认为知识流动是由知识共享与知识重用两个过程组成1 2 7 1 。 总结归纳一下,我们不难发现,知识流具备三个要素知识源、知识传输、知识 接受者;知识流是对于知识的动态的管理:知识流需要同时也一定程度上打破了传统的 组织结构;知识流更好的实现了知识共享;影响知识流实现效果的几个因素知识库 的建立、使用,公司文化氛围,实现技术以及知识流管理人员的水平等。一般的,根据 不同的角度,以方便解决各自问题为原则来对知识流进行分类。从宏观的以组织为对象 的角度来看,按照相互间逻辑关系r a mm u d a m b i 把知识流分为三类【冽;其他一些研究 人员则从微观的层次,按照建模的需要,将知识流进行了分类【2 9 l 。 知识流作为知识的载体,把知识按照一定的逻辑过程从团队中的一员传递到其相应 的下一个成员,彼此之间共享知识,并完成对于知识的积累。一个完整的知识流几乎贯 穿团队的所有成员,这样团队中就形成了一个知识流网络。在企业内部的知识流往往 是多元化的、双向的,发生在个体与其上面的层次之间的垂直的相互关系过程中,从辅 助部分到主干部分的更新的反向传输清晰的说明了知识流的双向性和垂直特性。 下面以软件企业为例,描述一下知识流的基本模型: 图1 1 知识流描述型模型( 一) f i g 1 1t h ed e s c r i p t i v em o d e lo fk n o w l e d g ef l o w1 1 0 1 小型软件企业开发流程支持系统研究 如上图,共有三种知识流动方式:【a 】知识员工( 项目组) 知识库,【b 】知识 库) 知识员工( 项目组) 以及【c 】知识员工( 项目组) - - ) 知识员工( 项目组) 。 一般地,方式【a 】【b 1 多是显性知识的流动,方式【c 】则最大可能的含有隐性知识的流动, 从知识管理角度来看,该方式的知识流动具有最大意义。从图中我们可以看到,知识员 工成为了知识型企业的核心【3 l l ,知识的创新、使用、传递以及完善都是通过知识员工来 完成的,因此对于知识管理工作来说,现阶段最重要的工作就是要建立知识激发机制、 学习机制和交流机制来激励知识员工的知识交流和创新,同时要建立企业知识库以固化 知识,实现企业知识的动态增长。本文的支持系统正是从这两个目的出发,既为知识员 工提供便捷的知识交流平台,又建立起企业知识库,对知识进行积累并对相应的角色提 供相应的知识支持功能1 8 】。 1 2 3c m m 及其实施的研究现状 c m m ( c a p a b i l i t ym a t u r i t ym o d e l ) 即能力成熟度模型,是美国卡内基梅隆大学软 件工程研究所( s e i ) 在美国国防部资助下于2 0 世纪8 0 年代末建立的,用于评价软 件机构的软件过程能力成熟度的模型。此模型在建立和发展之初,主要目的在于为大型 软件项目的招投标活动提供一种全面而客观的评审依据,发展到后来被应用于软件机构 内部的过程改进活动中。 c m m 的主要用途: i 用于软件过程的改进( s p is o f t w a r ep r o c e s si m p r o v e m e n t ) :帮助软件企业对其软 件( 制作) 过程的改进来进行计划、( 措施) 制定以及实施。 2 用于软件过程评估( s p as o f t w a r ep r o c e s sa s s e s s m e n t ) :在评估中,一组经过培 训的软件专业人员确定出一个企业软件过程的状况,找出该企业所面对( 存在) 的与软件 过程有关的、最迫切的所有问题;以及取得企业领导层对软件过程改进的支持。 3 软件能力评鉴( s c es o f t w a r ec a p a b i l i t ye v a l u a t i o n ) :在能力评鉴中,一组经过 培训的专业人员鉴别出软件承包者的能力资格;或者是检查监察正用于( 进行) 软件制作 的软件过程的状况。 c m m 提供了一个级别框架,将软件机构所各自拥有的软件过程,根据其过程成熟 度的不同划分为由低到高的五个级别:初始级、可重复级、已定义级、已定量管理级和 优化级t 1 5 1 。c m m 共有1 8 个关键过程域,分布在2 5 个级别中,如下表所示 一6 一 大连理工大学硕士学位论文 表1 2c 删关键过程域 t a b 1 2k e yp r o c e s sa r e a so fc m m l e v e l l 乩e v e l 2 可重复的过程 l e v e l 2 一l e v e l 3 : 标准一致的过程 l e v e l 3 一l e v e l 4 : 可预测的过程 l e v e l 4 一l e v e l 5 : 持续改进韵过程 需求规范管理 软件项目计划 软件项目跟踪和控制 软件子合同管理 软件质量保证 软件配置管理 组织过程焦点 组织过程定义 培训大纲 集成软件管理 软件产品工程 组间协调 同行评审 质量过程管理 软件质量管理 缺陷预防 技术更新管理 过程变更管理 c m m 中的主要概念: 1 ) 软件过程成熟度:指一个具体的软件过程被明确地定义、管理、评价、控制和 产生实效的程度。成熟度包含着能力的增长潜力,同时也表明了组织实施软件过程的实 际水平。随着软件组织的软件过程成熟度的提高,软件开发组织将其软件过程规范化和 具体化,使软件开发组织可以明确定义有关管理的工程方法,建议工程的实践和规程。 2 ) 关键过程域:指相互关联的若干软件实践活动和相关基础设施的集合。关键过 程域是一组信息,指示了一个软件机构为改进其软件过程所应该集中关注的区域,因为 实践证明这些关键过程区域对改进过程能力最为有效,同时也指明了达到一个成熟度级 别所必须解决的问题和满足的要求。c m m 提供了1 8 个关键过程域。 3 ) 关键实践:是对一个关键过程域的具体化和细节化的描述,当完成关键实践时, 将能满足哪个关键过程域的目标。关键实践是c m m 的具体化和最底层细节的概述, c m m 共包含3 1 6 个关键实践,它们是对关键过程区域的规范化和实施起直接作用的 程序和活动集合,为软件机构中的软件过程工程小组的过程改进工作提供具体指导。 小型软件企业开发流程支持系统研究 除c m m l 外,c m m 的每一级是按完全相同的结构成的。每一级包含了实现这一级 目标的若干关键过程域( k p a ) ,每个k p a 进一步包含若干关键实施活动( k p ) ,无论哪个 k p a ,它们的实施活动都统一按五个公共属性进行组织,即每一个k p a 都包含五类k p 。 目标每一个k p a 都确定了一组目标,若这组目标在每一个项目都能实现,则说 明企业满足了该k p a 的要求。若满足了一个级别的所有k p a 要求,则表明达到了这个 级别所要求的能力。 执行约定执行约定是企业为了建立和实施相应k p a 所必须采取的活动,这些活 动主要包括制定企业范围的政策和高层管理的责任。 执行能力执行能力是企业实施k p a 的前提条件。企业必须采取措施,在满足了 这些条件后,才有可能执行k p a 的执行活动。执行能力一般包括资源保证、人员培训 等内容。 执行活动执行过程描述了执行k p a 所需求的必要角色和步骤。在五个公共属性 中,执行活动是唯一项目执行相关的属性,其余四个属性则涉及企业c m m 能力基础设 施的建立。执行活动一般包括计划、执行的任务、任务执行的跟踪等。 度量分析度量分析描述了过程的度量和度量分析要求。典型的度量和度量分析的 要求是确定执行活动的状态和执行活动的有效性。 验证执行验证执行是验证执行活动是否与建立的过程一致。验证执行涉及到管理 的评审和审计以及质量保证活动。 在实施c m m 时,可以根据企业软件过程存在问题的不同程度确定实现k p a 的次 序,然后按所确定次序逐步建立、实施相应过程。在执行某一个k p a 时,对其目标组 也可采用逐步满足的方式。过程进化和逐步走向成熟是c m m 体系的宗旨。 如果一个组织被评估为等级5 ,它便达到了完全的成熟度,即组织有一套实践、方 针和规范,使各个团队能以一种可预见的、可靠的和可重复的方式生产高质量的软件。 而被评估为等级1 的组织缺乏这种能力,质量或多或少成为一个不可预见的目标,成功 与否更多的依赖于个人,实际上处于“有组织的混沌状态”1 1 5 l 。从等级2 开始,c m m 要求组织采用一系列过程工具、方法学和策略,彼此相互配合,以帮助组织来稳定和控 制其环境。 据s e i 估算,在全部的软件开发组织中,7 0 可能属于c m m 等级1 ,如果组织成 功的完成了从c m m l 到c m m 2 的过渡,更高级别的成熟度的实现就会变得相对容易。 在c m m 2 上,软件开发机构已建立管理软件项目的策略和实施这些策略的规程,对于 新项目的计划和管理基于类似工程经验。项目执行这样一些有效过程,即经过定义的、 文档化的、曾经实施过的、人员经培训的、可测量的、强制的和可改进的。 大连理工大学硕士学位论文 如上表所示,c m m 2 由6 个关键过程域( k p a ) 组成:需求管理( r m ) 、软件项目计划 ( s p p ) 、软件项目跟踪与监控( s p t o ) 、软件子合同管理( s s m ) 、软件质量保i i 正( s q a ) 、软 件配置管理( s c m ) 。该等级的k p a 建立基本的项目管理过程来跟踪成本、进度和功能特 性,制定必要的过程纪律,以实现以往类似应用项目所取得的成功经验。 c m m 3 有7 个关键过程域,组织过程焦点( o p f ) 、组织过程定义( o v o ) 、培训程序 f r p ) 、集成软件管理m ) 、软件产品工程( s p e ) 、组间协调( x 6 3 、同级评审( p r ) 。该等级 的k p a 将管理和工程活动两方面的软件过程文档化、标准化,并综合成机构的软件过 程,所有项目均采用该机构软件过程的一个经批准的、书面形式的版本来开发和维护软 件。 作为目前国际上最实用的软件生产过程标准和软件企业成熟度等级认证标准, c m m 能帮助软件企业改进和优化管理,实现软件生产工程化。然而c m m 提供的实 践指南是以美国大型软件项目为基础的,在国内中小软件企业中可操作性的研究尚无成 熟的理论体系。同时,软件企业实施c m m 是需要投入较大数量的人力、资金等资源, 通过c m m 认证的企业一般都具有较大规模,资金相对充裕。目前在我国中小企业 中,c m m 的实施和应用并不普及。所以本文从我国的小型软件企业的实际出发,借鉴 c m m 的理论和经验,来开发一套支持系统,以提升小型软件企业自身的竞争力,具体 的过程分析在第二章的系统分析中将作具体的描述。 1 3 本文的主要研究工作 本文在分析了我国小型软件企业的特点基础上,借鉴c m m 模型的理论和经验,运 用j a v a 技术,数据库技术和w e b 技术设计并实现了一套基于b s 模式的流程管理支持 系统,主要研究工作如下: 1 结合小型软件企业的特点,对c m m 模型进行了剪裁。借鉴软件工程的基本理 论,从人员、过程、培训、技术引入和测试等方面对软件开发过程提供支持, 以有效加快开发效率,提高企业的竞争力 2 运用推拉技术实现用户和系统之间双向的交流,员工在开发过程中可以通过该 系统迅捷的获取所需的知识,又可以通过该系统把自己的知识或者问题提交, 实现知识积累和知识共享 3 设计了灵活的知识资源库、软件开发文档库和测试文档库,同时按照角色( 知 识管理专员、软件工程师、测试工程师和项目经理) 对员工进行了分类,并对 不同角色分配了不同的权限 4 在系统中应用了邮件技术并建立论坛,同时尝试设置了培训计划功能和专家答 小型软件企业开发流程支持系统研究 疑功能,可以有效改善内部职员的学习环境同时为外部的新技术引入打下基础 5 运用b s 模式的系统设计,采用分层结构,不仅使得设计、开发和维护工作方 便,也很大程度上方便了用户的使用 本文的结构如下: 共分五章 第一章引言部分首先提出本文所要研究的问题,然后概述使用到的相关理论和模型 及其发展过程和应用状况,最后对本文的研究方法和具体工作做一概括 第二章到第四章是本文的主要内容。第二章简要分析我国小型软件企业的特点及开 发流程模型,对剪裁后的新模型及其各k p a 进行分析和设计实现,同时分析了小型软 件企业内部知识流动情况和c m m 模型如何促进小型企业的知识积累 第三章分别从三层逻辑层次结构和功能模块分析开始,对系统的数据层,逻辑层和 控制层进行了详细的设计,并对视图层的设计给出了描述 第四章是对系统的具体实现,分别以不同角色登陆系统,对系统功能进行描述。 第五章对前文进行总结,归纳本文的研究工作并概括系统的主要功能和特征,同时 对以后相关的研究工作做了展望。 大连理工大学硕士学位论文 2c m m 在小型软件企业的应用分析 2 1 小型软件企业开发流程分析 2 1 1 小型软件企业的开发流程模型 小型软件企业的特点 开篇我们就提到,我国现在的小型软件企业占到了全行业的六成到七成,这些小型 企业由于成立时间短,资金不充裕,人员偏少等各种原因,大多以软件外包业务为主, 而且大多数小型软件企业具有如下特点: 1 人员分工不明确,管理、设计、开发、测试、维护无明确到具体人,公司的每 个人,上到经理,下到职员在一个项目中的角色不固定,体现出人员的多面手 特点 2 各项工作的文档化程度不够,主要通过交流,监控项目进展 3 公司领导级在软件工程的管理方面理论和实践经验不足,大多为技术人员出身 4 培训工作开展得不够 5 个人因素决定了一个企业和项目的成功与失败,个人英雄主义色彩较重 6 由于时间和资金问题,造成企业在质量控制和效率之间进行取舍平衡 7 人员少,资金不足是小企业的最大特点 针对上述特点,尤其是小型软件企业往往重编码、轻计划、轻测试等问题,结合 c m m 的关键过程域和其对文档的严格规定等特点,给出了如下图的开发流程,由于大 部分小企业以软件外包业务为主,1 1 6 所以该图以开发计划、测试为主,编码过程为辅, 同时注重文档的及时编写,以求规范小型软件企业的开发流程。 小型软件企业开发流程支持系统研究 计 划 分 析 腑 段 开 发 阶 段 一母9 j 堕程- 一兰l 垫皇一一! 皂 图2 1 小型软件企业开发流程模型 f i g 2 1t h e p r o t o t y p e o f d e v p r o c e s s f o r m i n i s c a l es e 一1 2 一 b ym i c h a e ld a e 大连理工大学硕士学位论文 2 1 2 小型软件企业知识流动分析 在知识管理研究领域,软件企业已经成为了公认的知识型企业类型。如果单纯从传 统制造企业的角度来研究和分析软件企业,显然走错了方向,必然事倍功半。因此对于 软件企业的研究要上升到知识管理的高度,即使是小型软件企业也应该如此i ”。因为小 型软件企业往往是刚起步阶段,很多方面都不成熟,没有规矩,缺乏知识资源是正常的, 所以如何进行经验知识的积累则显得尤为重要。只有注重知识积累,才是增加自身的竞 争资本的关键。软件企业中最重要的是开发流程,因为那相当于传统企业的产品线以及 流水线设备,软件的质量就取决于开发流程的完整规范与否。所以我们结合软件产品的 开发过程,选择知识流模型来设计和实现软件企业的知识管理。 下图清楚地显示了一般小型软件企业开发过程中知识流动的主要类型和基本过程, 下面我们作一下具体分析: 一,小型软件企业中,知识可以分为两大类,一类主要指的是过往项目的经验积累 和教训总结,这是属于自有的知识;另一类是指项目相关的新技术和开发模式等,这是 公共类的指示,对于企业发展也很重要。当然,对于大型软件企业还有需求分析、市场 分析等方面的知识,这些对于一般的小公司而言,可以忽略。 二,根据小型软件企业的知识类型,我们分别设计了项目实例库、开发档案库和测 试档案库来实现自由知识的存储;同时设置资源库,并开设培训计划和联系领域专家, 以实现多方位的公共类知识的存储和吸收。 三,由于知识的流动并不局限于特殊的路线和形式,所以为了最大程度的保证知识 流的畅通和完整,我们从软件开发的业务流程着手,既实现了不同开发阶段的知识流动, 又实现了同一阶段内的知识流动。如图,实线箭头表示开发过程的业务流程走向,虚线 箭头表示软件开发整个过程的知识流动。 四,如图,对于每一个开发阶段我们简化成两个项目成员和一个项目组来表示,同 时项目阶段与项目阶段之间存在着明确的业务流程,这样的不同阶段的知识流动,常常 是针对同一项目的纵向的流动;而在同一阶段,不同成员间,成员与其他项目组( 的成 员) 之间都存在着业务联系,联系方式为电话、消息、邮件或者论坛,当然还有面谈; 这些联系过程中也包含知识的流动,并且既有同一项目的纵向的流动,又存在很大程度 的对以往项目的横向的知识流动。 五,成员与成员的交流,成员与资源库、知识库、项目实例库以及远程专家发生的 联系,这些都包含着知识流动,不过既有显性的文档化的知识,又有隐性的语言等知识, 而系统提供了“添加新知识”这一功能,使得系统成员可以随时的隐性知识显性化。 小型软件企业开发流程支持系统研究 六,系统设置了知识管理专员这一角色,负责两个档案库和知识资源库的管理;更 主要的任务是负责对有代表性的问题向( 远程) 领域专家求教以及通过开办灵活的培训 计划,向员工提供专门性的帮助,这是小型软件企业吸收新技术,解决问题的重要途径: 简单的说,k m c 基本实现了知识流动过程中协调人的角色,相当于一个高级别的功能 灵活的知识网络节点。 图2 2 软件开发流程的知识流动示意图 f i g 2 2t h ed i a g r a m o ft h ek n o w l e d g ef l o w si ns o f t w a r ed e v 从上面的分析,我们发现知识管理视角能够将小型软件企业的项目经验、技术等很 多问题进行清楚的分类,有利于我们化繁为简、化难为易的解决小型企业中的经验技术 积累等重要问题。而应用知识流动进行开发流程分析,则条理清晰的显示了本支持系统 的设计目的和开发过程,以及能够预见的到的应用效果因为这是通过对小型软件企 业开发过程的详细分析,量身订制的支持系统。 大连理工大学硕士学位论文 2 2 适于小型软件企业的c m m 裁剪模型 2 2 1 小型软件企业引入c m m 的必要性 为了解决小型软件企业都或多或少存在的问题,我们很自然的想到了c m m 模型, 因为s e i 当初成立并设计c m m 模型的时候也是要解决类似的一些问题: 软件开发与维护不断上涨的费用 需要提高软件产品的质量 软件项目的延期时间不断增加 不过由于标准的c m m 模型的初衷是为大型项目和大型企业服务的,所以很多地方 既不适用于小型软件研发企业,又是很多小型软件企业无法承受的【3 3 】,比如: 1 编制各种文档的负担太重,使有效的人力资源分配比例失调 2 负责管理责任的角色和头衔太多,在小企业和小项目中操作困难 3 需要评审( r e v i e w ) 的地方太多,使小企业无法承担 4 小企业有限的资源( 人员、资金) 无法满足c m m 的要求 5 太高的培训费用,使小企业无法承担 6 不相关的实践( p r a c t i c e ) 无助于企业的改进 m a r kc p a u l k ( 1 9 9 9 ) 在对小型软件企业进行定义及对c m m 进行分析的基础上得出 结论:虽然用为大组织,大项目所开发的发行版来相应的解释用于小项目和小组织中的 c m m ,可能会存在程度上的差异,但决不会是本质上的不同。正确有效的使用c m m , 要求具有专业性的判断,并且能够理解c m m 是如何针对不同的用途来进行建构的【3 2 1 。 虽然c m m 不能按部就班的用于小型软件企业,但我们依然明确了一点:即c m m 可以应用于小型软件企业。尽管实施c m m 会遇到很多来自时间、金钱的压力,甚至企 业员工的阻力,比如他们不想改变已形成的习惯等等,但下面的分析可以清楚地看到 c m m 究竟能够为这些小型企业带来些什么与众不同,作为管理者应该能够清楚地认识 到这些不同将会给企业的未来带来怎样的改进甚至飞跃【卅: 首先,c m m 能够极大的规范小型软件企业的文档管理。我国的小型软件企业常常 存在重编码、轻调试和轻文档的现象,尤其是与开发相伴的文档以及项目完成后的文档 编写都相当的不完整甚至没有相关文档。而c m m 的各个关键过程域对于文档的要求都 很严格细致,所以c m m 的过程规范可以督促小型软件企业及时地完成文档编写。 其次,c m m 可以降低小型软件企业的项目风险和管理风险。风险是介于确定性和 不确定性之间的状态,是处于无知和完整知识之间的状态。根据风险内容,我们可以将 风险分为项目风险( 成本提高,时间延长等) 、技术风险( 技术不成熟等) 、商业风险 小型软件企业开发流程支持系统研究 ( 销售问题等) 、战略风险( 公司的经营战略发生了变化) 、管理风险( 公司管理人员 是否成熟等) 、预算风险( 预算是否准确等) 等。由于c m m 对于需求管理、项目计划 和跟踪监督、质量保证、软件过程定义等关键过程域的严格规范,因此很大程度降低了 项目超出预算时问和项目人员变动带来的项目和管理风险。 最重要的是,c m m 可以促进小型软件企业与国外大型公司的融合。我国大部分

温馨提示

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

评论

0/150

提交评论