已阅读5页,还剩78页未读, 继续免费阅读
(计算机应用技术专业论文)需求开发与管理协同工作平台研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着软件复杂性的快速递增和软件开发的全球化趋势,开发高质量的s r s 日益成为软件开发中的核心问题。越来越多的实践证明,全面的过程管理是提高 产品质量的有效途径,且软件过程领域的理论研究也非常活跃。需求开发与管理 过程作为软件过程的研究内容之,本文对其质量改进方面做了全面的分析研 究,从需求过程在项目开发中的关键影响作用到对项目利益相关者的影响、从需 求过程的活动构成到需求过程的建模研究、从软件需求过程的构造技术理论到需 求过程的支持环境、从需求过程的评估改进到需求过程资产的积累等方面做了详 细的说明。 本文比较分析了r u p 、c 删c m m i 等已有的过程理论对软件需求开发与管理过 程描述,并对b p m 技术理论在过程管理方面的优势做了分析研究。r u p 以用例驱 动、架构为中心、迭代增量等特点对需求开发与管理过程的描述简洁清晰,但 是对流程的描述抽象笼统,可操作性不强。c m m c 埘i 侧重于去设定过程能力的 评价目标和度量属性,一般由具体项目组织自己去确定运作过程。在业务流程 管理技术和理论领域,b p m 技术通过跟踪与协调所有人、系统交互中的工作流和 信息,实现业务流程的自动化和管理,为改进特定的操作性流程设定了目标和策 略。作为种概念,b p m 利用先进的工作流技术,采用以流程为中心的可视化开 发模式,去构建、熬合现有系统的,支持协作的、柔性的自动化信息系统,其借 助于互联网强大的全球通讯能力,使得实施跨组织边界的复杂型流程成为可能。 在总结已有软件过程理论对需求开发和管理过程的描述不足的基础上,本文 借鉴了业务流程定义语言的思想,阱软件过程技术、w e b 服务、类x m l 规范的b p m l 等为基础,讨论了其适于定义软件需求开发与管理过程的可能性。通过对需求开 发与管理过程中的技术、方法、工具、角色等的融合统一,由此提出了一种新的 基于b p m s 框架支持下的定义软件需求开发与管理过程的方法,并使用b p m 的建 模理论和b p m s 框架体系构建了需求开发与管理过程协同工作平台。 关键词:软件需求,软件过程,业务过程管理 r e s e a r c ha n dl m p l e m e n t a t i o o f c o o p e r a t i v er e q u i r e m e n t sd e v e l o p m e n t & m a n a g e m e n ts y s t e m ( c r d m s ) a b s t r a c t n o ws o 胁a r eb e c o m e sm o r ec o m p l e x i t ya n dm es o 矗w a r ed e v e l o p m e mw o r l di s e x p e r i e n c i n g a ni r r e v e r s i b l e 打e n dt o w a r d st h e g l o b a l i z a t i o n o fb u s i n e s s ,i ti s b e c o m i n go fp a r a m o u n tt od e v e l o pq u a l i t ys r s ,w h i c hi st h ef o u n d a t i o nf o rb o t h s o f t w a r ed e v e l o p m e n ta 1 1 dp r o j e c tm a n a g e m e n ta c t i v i t i e s r e q u i r e m e n t sd e v e l o p m e m a n dm a n a g e m e mp r o c e s s e s ( r d & m ) i n t e 群a t em e l o d s ,t e c l l l l 0 1 0 9 i e s ,r e s o u r c e ss u c h a sc h e c k l i s t s ,t e m p l a t e s ,1 e s s o n s l e a m e d ,a i l dp r o v i d i n gb a s i cs u p p o n i n gf o ri t s i m p r o v e m e n t a s i m p o r t a n tp a r t s o fs o f h 帕r ep m c e s s e s ,t h e q u a l i t y a n di t s i m p m v e m e n t o fi mp r o c e s si sd e s c r i b e d ,s u c ha sm ee n e c t so ns o r w a r ep r o j e c t s a n da l ls t a k e h o l d e r s ,a n di t sa c t i v i t i e si n v o l v e da 1 1 di t sm o d e l i n g ,a i l dc o n c e p t so n p r o c e s sc o n s t m c t i n 岛e n v i r o m e n t so fp r o c e s so p e r a t i n g ,a c c u m u l a t i n g0 fp r o c e s s a s s e t s t h i sc r e a t e s 也en e e dt os n l l c t u r i n gt h ep l a t f o r mo rt o o l sw h i c hh e l pt or e a c h e f r c c t i v ea n dc o l l a b o r a t i v ep r o c e s s e sa c t i v i t i e sm a n a g e m e n t ,a n dt oi m p m v et h e p m d u c t i o n ,d e d u c et h ec o s t s ,l e s s e nt h er i s k so fs o r w a r er e q u i r e m e n t sd e v e l o p m e n t g r o u p t r a d i 石o n a la p p r o a c h e sc a nn o 】o n g e rh a j l d l ef b ec o m p l e x i t yo ft a s k ,a n d p r o g r a m m e r sc o u l dn o tk e e pu pw j t ht h e 铲o w i n gd e m a i l df o re n d t o - e n db u s i n e s s p r o c e s s e st h eb u s i n e s sp r o c e s sm a l l a g e m e n ts u i t e s ( b p m s ) e n a b l e si m p l e m e n t a t i o n o fb u s i r l e s sp m c e s s e sd i r e c t l yo nt h ei ti n f r a s t r u c t u r ew i t h o u tt h ep m h i b i t i v ec o s to f s o n w a r er c e n g i n e e r i n g e x i s t i n gh e r i t a g es y s t e m s ,h o w e v e r r e m a i nv a l u a b l ef o rb o t h i n t e m a la 1 1 de x t e m a l p r o c e s s _ b a s e dd e v e l o p m e n t , b e c a u s em e i r f u n c t i o n a l i t y , c u r r e n t l yi n g r a i n e da n de m b e d d e d ,c a nb et 却p 甜a n de n c a p s u l a t e db yt h eb p m s a s s o f t w a r ec o m p o n e n t st h a tc o n t r i b u t et on e wo ri m p m v e db u s i n e s sp m c e s sd e s i g l l s t h eb p m sd o e sn o tr e p l a c ee x i s t i n ga p p l i c a t i o n s ,a l t h o u 曲i t sa b i l i t yt oe a s i l yd e f i n e a n de x e c u t en e wp r o c e s s e sw i l ib eu s e dt or e p l a c es o m ea p p l i c a t i o nd e v e l o p m e n ta s e x p e r i e n c eg i v e sc o m p a n i e st h ec o n n d e n c et ot a k et h a fs t e p i ti sb u s i n e s sp r o c e s s e sm o d e l i n gj a n g u a g e ( b p m l ) t h a te n l i g h t e n e du so nt h e s u b j e c ti nt h i sp 印e rt oc o m p a r ca n da 1 1 a l y z ee x i s t i n gr d & mp r o c e s s e sd e n n i t i o n s , a 1 1 dt or e c o n c i l ea 1 1 du n i t ed i r e n tr e l 画o u sb e l i e f so nt e c h n 0 1 0 9 i e s ,m e t h o d s ,t 0 0 1 s , m l e sw h i c hu s e di n 瑚d & mp r o c e s s e s ,a n dm e nt op r 0 v i d eac o l l a b o r a t i v ep l a t f b r r n , c r d m s ,w h i c hh e l pp r o j e c tm a n a g e rt om o d e lr d mp r o c e s s e sa 1 1 de x e c u t ei t b a s e do nr e s e a r c ho fb u s i n e s sp r o c e s s e st e c h n 0 1 0 百e sa n dm e o r i e s ,s o f t w a r ep r o c e s s c o n c 印t so nr d & m ,w e bs e n r i c e sn o w s ,a i l db p m s ,也ei m p l e m e n t a t i o no fc r d m s w a sd e s c r i b e di nt h i sp a p e l l ( e y w o r d s : s o f h v a r e r e q u i r c m e n t s , s o r w a r e p r o c e s s e s , b u s i n e s s p r o c e s s e s m 柚a g e m e n t 西北大学学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻 读学位期间论文工作的知识产权单位属于西北大学。学校有权保留并 向国家有关部门或机构送交论文的复印件和电子版。本人允许论文被 查阅和借阅。学校可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学 位论文。同时,本人保证,毕业后结合学位论文研究课题再撰写的文 章一律注明作者单位为西北大学。 保密论文待解密后适用本声明。 学位论文作者签名:毒她指导教师签名:鞋 二“西年6 月6 日 年月日 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,本论文不包含其他人已经发表或撰写过的研究成果,也不包含 为获得西北大学或其它教育机构的学位或证书而使用过的材料。与我 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 第一章绪论 1 1 课题背景 需求工程是当前软件工程中的关键问题,从美国s t a n d i s hg r o u p 于1 9 9 5 年 开始的一项调查结果就足以看出这一点。在这项调查中,他们对全美国范围内的 8 3 8 0 个软件项目进行跟踪调查,结果表明,有l 3 的项目没能完成,而在完成的 2 3 的项目中,又有1 2 的项目没有成功实施。他们仔细分析失败的原因后发现, 与需求过程相关的原因占了4 5 ,而其中缺乏最终用户的参与以及不完整的需求 又是两大首要原因,各占1 3 和1 2 【c h a o s2 0 0 5 。同时一些研究表明在软件产 品维护阶段发现和修改一个需求方面的错误比在需求阶段发现和改正这个错误 要多付出2 0 0 倍的成本 b o e m1 9 8 l 】。因此对于需求开发及需求管理的问题已经 得到越来越多的重视。需求工程也是软件工程中最复杂的过程之- ,其复杂性来 自于客观和主观两个方面 j i n2 0 0 1 】。 软件过程( s o 脚a r ep r o c e s s ) 是人们建立、维护和进化软件产品整个过程中 所有技术活动和管理活动的集合。软件过程把软件生产的三个要素人、资源和 技术一有机地结合起来,形成一个高效运作的整体【h u m1 9 8 9 】。目前,软件过程 技术是一个非常活跃的研究领域,吸引了大批来自学术界和工业界的专家和学 者。从1 9 8 4 年起每年有软件过程国际研讨会( i s p w ) ,从1 9 9 1 年起开始召开软 件过程国际会议( i c s p ) ,每个国家几乎都有自己的软件过程改进网络( s p n ) 。 行之有效的软件过程可以提高开发软件组织的生产效率、提高软件质量、降 低成本并减少风险【h u m1 9 8 9 。因此综合考虑需求工程过程各组成因素的作用, 用系统的观点来寻求对需求开发和需求管理的改进,从而提高需求的质量是本文 重要的思路。软件的需求具有模糊性、不确定性、变化性和主观性的特点,同时 需求开发过程也是相关的两个团体相互沟通,识别需要的过程。两个团体通过这 个过程提取、定义需求,来约束两个团队。需求工程过程中既涉及技术问题,也 涉及社会交往问题。因此完成特定项目的需求捕获和定义,并没有一些特定的方 法。构建一个需求开发平台协同好各种不同类型的参与角色和工具、方法,处理 好需求工程过程中的分析、建模、评估改进,并使其因项目特点和项目开发团队 特点随需而变是本研究课题努力追求的目标。 业务过程管理( b u s i n e s sp r o c e s sm a n a g e m e n t ,b p m ) 既是指一种技术又是指 一个概念,它可为改进特定的操作性流程设定目标、策略。b p m 技术通过跟踪与 协调所有人、系统交互中的工作流和信息,实现业务流程的自动化和管理。它利 用先进的工作流技术,采用以流程为中心的可视化开发模式,去构建、整合现有 系统的,支持协作的、柔性的自动化信息系统。软件开发的业务分析人员可以在 不接触编程代码的前提下,根据业务需要可视化的建模和更改其商务流程、然后 配置实施并管理流程的运行。 1 2 研究内容及目标 本文分析研究了软件需求过程与企业业务过程的相似之处,进而通过分析 b p m s 的开发模式,研究并通过b p m s 实现需求开发与管理协同工作平台( c r d m s ) 。 主要研究内容有三个方面:( 1 ) 需求开发与管理过程中若干问题的分析研究,( 2 ) b p m 技术理论体系的分析研究,( 3 ) 基于b p m 框架体系来构建c r d m s 。 关于需求开发与管理过程的分析研究,主要从以下几方面来讨论: l 、需求开发与管理过程作为软件过程的一个内容,其过程的构造、过程的 开发、过程质量等问题对于需求产品质量的作用。 2 、从一个系统的观点来看,需求开发与管理过程的活动构成,以及其在项 目丌发过程中与所有项目利益相关者的影响作用。 f 、作为一个过程或活动流程,对需求开发与管理过程建模的研究,分析说 明了利用r u p 对需求开发与管理过程建模的优点和不足。 4 、研究分析了需求开发与管理过程运行的支持环境和评估改进问题,重点 说明了需求开发与管理过程持续改进所必要的些材料积累。 关于b p m 技术理论,则从以下几方面来讨论: 1 、以过程为中心的管理思想的发展渊源,以及它给软件需求开发与管理过 程发展所带来的点启示。 2 、b p m 技术理论发展成熟过程中的信息技术背景,以及相似技术对于构建 软件需求开发与管理过程平台的借鉴意义。着重介绍了过程建模语言以 及在此基础上的可视化的过程建模、过程执行、过程监控优化环境。 琴、研究分析了比较成熟的有代表性的b p m 框架,以及基于此框架进行过程 开发的模式和过程开发生命周期等问题。 第三部分说明了利用8 p m 技术理论设计实现c r d m s 过程中的一些问题,主要 是遵循b p m 应用开发的模式和生命周期来进行。 1 3 论文的结构安排 本文的结构是: 第一章为绪论,介绍了本课题的研究背景,并简要介绍了本文在理论和实践 上的所做的工作。 。 第二章简要介绍了本文的两个主要研究内容:软件需求开发与管理过程的 内容构成、需求开发与管理过程作为软件过程一个子过程的过程开发构造问题: 以过程为中心的管理一b p m 技术理论的发展渊源、在实现需求开发与管理过程 平台方面b p m 所具备的管理可行性、技术可行性。 第三章着重研究了需求过程管理涉及到的相关问题,主要是指其详细活动构 成,需求开发与管理过程的建模问题,分析了r u p 对需求开发与管理过程描述的 优点和不足。并进一步分析说明了需求开发与管理过程持续改进所需的关键积累 材料。 第四章对本文的另一主要内容b 附的关键技术理论从三个方面做了进一步 的研究论述。过程建模语言是进行过程开发的基础。b p m 框架体系说明并潜在的 规定了利用它进行过程开发的一些规则。利用b p m s 进行过程开发的基本模式和 应用开发的生命周期则为c r d m s 的构建提供了原则性的指导。 第五章说明了遵循b p m 框架开发c r d m s 的一些关键问题。首先说明了在b p m 技术理论背景下,c r d m s 所具备的一些功能需求特点。然后遵循b p m 过程开发模 式对需求过程进行了逐层次的详细分析、过程建模、过程执行和监控优化。 第六章是总结和展望,对本研究课题进行总结,并对设计实现过程中的一些 不足之处进行了说明。 第二章相关研究 2 1需求开发与管理过程的若干问题 在传统软件工程生命周期中,涉及需求的阶段被称作需求分析,是软件生命 周期的一个阶段,是软件工程过程的一个组成部分。随着软件系统规模的扩大, 需求分析与定义在整个软件开发与维护过程中的作用越来越重要,直接关系到软 件系统的成功与否。人们逐渐认识到需求分析不再是仅限于软件开发的最初阶 段,它贯穿于系统开发的整个生命周期,并因此形成了软件工程的予领域一需求 工程 n u s2 0 0 0 h u m2 0 0 2 。 虽然已经开始认识到需求工程对软件整个生命周期的重要性,但对它的研究 还远远没有对软件工程的其他部分的研究那么深入。需求工程是系统工程和软件 工程的一个交叉分支,涉及到软件系统的目标、软件系统提供的服务、软件系统 的约束和软件系统运行的环境,以及这些因素与系统的精确规格说明、系统进化 之间的关系 h u m2 0 0 2 】。 2 1 1 需求工程面临的问题 需求工程是软件工程中最复杂的过程之一,其复杂性来自于客观和主观两个 方面。从客观意义上说,需求工程面对的问题几乎是没有范围的。由于应用领域 的广泛性,它的实施无疑与各个应用行业的特征密切相关。其客观上的难度还体 现在非功能性需求及其与功能性需求的错综复杂的联系上,当前对非功能性需求 分析建模技术的缺乏大大增加了需求工程的复杂性。从主观意义上说,需求工程 需要方方面面人员的参与( 如领域专家、领域用户、系统投资人、系统分析员、 需求分析员等等) ,各方面人员有不同的着眼点和不同的知识背景,沟通上的困 难给需求工程的实施增加了人为的难度【j - n2 0 0 1 】。 由于需求分析的参与人员、业务模式、投资、时间等客观因素的影响和需求 本身具有主观性和难以准确描述的特点,因此,需求分析工作往往面临着一些潜 4 在的风险。这些风险主要表现在 w i e2 0 0 3 : l 、用户不能正确表达自身的需求。在实际开发过程中,常常碰到用户对自 己真正的需求并不是十分明确的情况,他们认为计算机是万能的,只要简单的说 说自己想干什么就是把需求说明白了,而对业务的规则、工作流程却不愿多谈, 也讲不清楚。这种情况往往会增加需求分析工作难度,分析人员需要花费更多的 时间和精力与用户交流,帮助他们梳理思路,搞清用户的真实需求。 2 、业务人员配合力度不够。有的用户日常工作繁忙,他们不愿意付出更多 的时间和精力向分析人员讲解业务,这样会加大分析人员的工作难度和工作量, 也可能导致因业务需求不足而使系统无法使用。 3 、用户需求的不断变更。由于需求识别不全、业务发生变化、需求本身错 误、需求不清楚等原因,需求在项目的整个生命周期都可能发生变化,因此,软 件开发的过程实际上是在不断处理变化的过程,需求变化是每个开发人员、项目 管理人员都会遇到的问题,也是最头痛的问题,一旦发生了需求变化,就不得不 修改设计、重写代码、修改测试用例、调整项目计划等等,需求的变化就像是万 恶之源,为项目的正常的进展带来不尽的麻烦。 4 、需求的完整程度。一个系统很难确定明确的范围并把所有需求一次性提 出来,这会导致开发人员在项目进展中去不断完善需求,先建立系统结构再完成 需求说明,造成返工的可能性很大,会给丌发人员带来挫折感,降低他们完成项 目的信心。 5 、需求的细化程度。虽然国家标准有需求说明的编写规范,但具体到某一 个需求上,很难给出一个具体的指标,可谓仁者见仁,智者见智,并没有定论。 需求描述越细致,需求开发的周期越长,可能的变化越多,对设计的限制越严格, 提取需求的共性特征难度也就越高,相反,需求描述的越模糊,开发人员在系统 设计时不清楚的地方就越多,影响后续的系统设计、开发工作。 6 、需求描述的多义性。需求描述的多义性一方面是指不同读者列需求说明 产生了不同的理解:另一方面是指同一读者能用不同的方式来解释某个需求说 明。多义性会使用户和开发人员等项目参与者产生不同的期望,也会使开发、测 试人员为不同的理解而浪费时间,带来不可避免的后果便是返工重做。 7 、忽略了用户的特点分析。分析人员往往容易忽略了系统用户的特点,系 统是由不同的人使用其不同的特性,使用频繁程度有所差异,使用者受教育程度 和经验水平不尽相同。如果忽略这些的话,将会导致有的用户对产品感到失望。 8 、需求开发的时间保障。为了确保需求的正确性和完整性,项目负责人往 往坚持要在需求阶段花费较多的时间,但用户和开发部门的领导却会因为项目迟 迟看不到实际成果而焦虑,他们往往会强迫项目尽快往前推进,需求开发人员也 会被需求的复杂和善变折腾的筋疲力尽,他们也希望尽快结束需求阶段。 需求分析是软件项目开发中最困难的一项工作,它不仅要求分析人员具有丰 富的需求分析经验和良好的专业素质,还要求分析人员具有良好的学习能力、公 关能力、语言能力和组织能力。在实际工作中分析人员要面对不同的单位、不同 的部门、不同的人员、不同的文化、不同的关系、不同的管理水平等等不同的情 况,面对如此纷繁复杂的环境,如何做好需求分析工作? 首先需要建立一个有效 的过程框架,只有建立了过程框架,才能保证需求工作按照既定方案执行,需求 开发和管理的参与者才会在一种有序的状态下工作。其次才是充分运用过程框架 和个人能力去获取问题、分析问题、编写需求文档和进行需求管理。 2 1 2 软件需求过程及其构造理论的研究 软件工程是为了经济地获得可靠的和能在实际机器上高效运行的软件而建 立和使用的好的工程原则,软件工程的基础层是过程层。软件工程过程是将技术 层( 方法和工具) 结合在一起的凝聚力,使得计算机软件能够被合理地和及时地开 发出来 h u m1 9 8 9 。其中: 质量:软件工程的目标是生产满足用户需求、开销合理的高质量的软件产品; 过程:软件工程的基础是软件过程。软件过程把生产所需要的各种资源和技 术通过各种活动结合在一起,使得软件产品能够合理地和及时地开发出来。 方法:软件工程方法是完成软件项目的技术手段,它说明为了建造软件产品, 在技术上应当如何做。它包括如何需求获取、进行分析,如何设计、编码、测试 和维护。 工具:软件工具则对软件过程和方法提供自动化或半自动化的支持。 软件产品作为软件过程的结果,它的质量与软件过程能力的成熟度有密切关 系。软件过程把软件生产的三个要素一人、资源和技术一有机地结合起来,形成一 6 个高效运作的整体。软件过程能力指的是软件组织或项目组通过执行其软件过程 能够实现预期结果的程度。行之有效的软件过程可以提高开发软件组织的生产效 率、提高软件质量、降低成本并减少风险。一个软件组织要提高生产高质量软件 的能力,必须不断地提高自己的软件过程能力 h 啪1 9 8 9 。因此从需求工程过程 的角度来寻求对需求开发和需求管理的改进,从而提高需求的质量是本课题一个 重要的理论思路。 2 1 2 1 需求过程的构造 构造开发需求过程,主要是基于以下几个方面的共识:需求过程是软件过 程:需求过程具有一些特点,如开放性,全生命周期性,动态性,参与者的广 泛分布性,其中间产品形式的多样性等;需求过程中融合了众多获取技术、记 录方法、管理工具,以及需求过程的建模问题:需求过程也需要去关注其本身 的质量问题;需求过程需要在实践中不断地改进。以下仅从软件过程的本质性 认识、软件过程的开发问题、软件过程的质量及持续改进问题三个方面做一些分 析说明。关于需求开发与管理过程的详细分析在第三章具体描述。 2 1 2 1 1 软件过程也是软件 0 s “9 8 7 软件产品是一种富于创造性、创新性的产品,软件开发过程是复杂的思维过 程,很大程度上依赖于开发人员高度民主的智力投入,其生产方式没有固定的模 式,其工作量、进度、质量等难以度量控制。开发人员的创造性与产品及产品开 发过程的规范化要求是一对难以协调的矛盾。同时软件复杂度与软件规模成指数 激增变化,一个大型软件系统就需要成百上千人来共同开发,需要高度的协调、 合作与组织。由于软件业是高速发展的行业,不断有新的技术、方法涌现,要求 软件过程对技术环境具有适应性。用户的需求是不确定的、不断变化的,要求软 件过程对用户需求具有适应性。因此软件过程是动态的、变化的、错综复杂的特 殊生产过程。 软件工程大师o s t e r w e i l 指出:软件过程也是软件 0 s t1 9 8 7 。软件有一个 开发的过程,软件过程也有一个开发的过程:软件开发产出软件产品,软件过程 丌发产出过程产品:软件开发可以是一个演进过程,软件过程开发也可以是一个 演进过程。 软件过程和软件一样,是我们“开发”出来的。软件过程也是经过了需求捕 获、分析、设计、实现和测试等活动才开发出来的。软件过程开发中,需求是指 采用该软件过程的目的是什么( 高层需求) ,要用来指导哪些活动( 需求) ;分析 和设计是指,各活动产出什么产品,活动之间如何衔接,以及如何并行执行;通 常我们将软件过程文档化,相当于软件开发的编码实现;软件过程开发的测试, 晟常见的是相关人员通过头脑来进行“运行”和评审。 软件项目各不相同、软件技术日新月异、开发团队情况各异、商业环境瞬息 万变,这些都是决定软件过程开发和对软件过程再工程改进的需求。软件过程 也应“随需应变”,为每一个项目定制相应的软件开发过程,不能假定一个开发 过程的每一个方面都自动地适合当前项目的情况。 进一步讲,软件过程不仅有开发过程,而且有完整的软件过程生存周期。因 为软件过程在开发出来之后,也有交付使用、维护升级直至废弃的过程。交付使 用就是将软件过程实施,用于指导软件项目的开发。然而,如果在使用软件过程 时发现有错误之处( b u g ,需纠错性维护) 或欠缺之处( 新需求,需升级性维护) , 就需要对原软件过程进行修改或增强。直到有一天,当其经过修改和增强也不能 满足指导开发的需要时,就意味着要将其废弃于是软件过程生存周期结束。 2 1 2 1 2 软件过程的开发 软件过程技术的研究主要有三个方向 【q i n2 0 0 4 】 1 、软件过程分析和建模。软件过程建模方法是软件过程技术的起点,其中 形式化半形式化建模方法有基于规则的,基于过程程序的等等。过程分析和过程 建模对于保证过程定义的质量、建立全面和灵活的过程体系具有重要的作用。 2 、软件过程支持。软件过程支持主要是指研究和开发支持软件过程活动的 c a s e 工具,过程支撑工具作为一种技术基础设施能够很好地支持、管理并规范 化软件过程。软件过程支持工具主要包括软件过程流程工具、过程文挡工具、评 审工具和人员管理工具。 3 、软件过程评估和改进。软件过程改进对生产高质量软件产品和提高软件 生产率的重要性已被越来越多的软件开发组织所认同。 要开发软件过程,一是要确定它包括哪些要执行的活动,二是确定它们之间 的关系从而确定以怎样的次序执行活动。为了指导和控制软件过程的实施,一般 可以采用以过程活动为中心、以角色为中心的或以产品为中心的建模方法来建立 软件过程,也可以采用基于模板的方法 s 锄1 9 9 8 】。 以活动为中心的方法主要有两大步骤:确定它包括哪些活动以及它们之间 的执行顺序:收集与各个活动有关的数据,如活动涉及的人员角色、制品、资 源和约束等。由于软件过程本身就是活动的集合,这种方法能够直观地反映软件 过程的实际工作流程,无歧义性。因而使人容易理解、分析、计划管理和控制软 件过程的实施。尤其对过程管理人员而言,他们能够清楚地监视、协调与管理软 件过程例化活动的进展情况。但是由于活动是动态的过程实体,而且实际工作流 程也是动态和多变的,因此过程模型缺乏稳定性,软件过程在实际的过程实施中 所发生的任何变化都将影响到原来的过程模型。同时,这种方法要求建模人员在 建模时,要具有相关活动的预备知识,并需要参与软件过程的实施,在参与的同 时对原来的过程模型进行一定的维护。这种方法比较适合于以指导和控制软件过 程的实施为目的的过程建模【s o m2 0 0 3 。 以角色为中心的建模方法是以软件过程的另类主体角色为中心,来构 造过程模型的建模方法。它主要有两大步骤:确定各个角色、各个角色的任务 和角色之间的关系;以角色为中心,收集软件过程的其他数据,如活动、产品、 资源和约束等。因角色是一个组织结构中的基本构成因素,相对活动而言是一个 易于接受和理解的相对稳定的抽象实体,并且一个软件项目所涉及的活动通常是 按照角色来分解的,因此以角色为中心的建模方法显得比较自然。因而所构造的 模型具有较好的稳定性,这是由角色的相对稳定而决定的。又由于角色的定义与 组织的结构有密不可分的关系,因此这种方法还能明确地描述软件过程在组织方 面的信息,使得参与软件项目的人员易于明确自己的任务,也便于过程管理人员 对过程模型实施过程实例化活动。这种方法的缺点是:很难对软件过程的工作流 程有2 个明显的描述和定义,人们难以从整体结构上了解一个软件过程及其自身 的角色在软件过程中的位置。此外,随着活动的分解和任务的细化,所涉及的角 色逐步增多,角色间的关系也变得更为复杂和难以明确 s o m2 0 0 3 。 基于模扳的方法是软件组织根据自身的特点和经验,提出的一种可供不同项 目剪裁和细化的框架,例如图1 就是r o g e rs p r e s s m a i l 在他的软件工程一实践 者的研究方法中给出的模板。 图1基于模板方法描述的软件过程 2 1 2 1 3 软件过程质量的评价 当软件过程仅以某种特定的描述形式存在时,过程质量就表现为静态的一面 q i n2 0 0 4 】。这时的过程质量实际上就是软件过程描述本身所具有的属性,它表 现为: 功能度:该过程描述满足实际需要的程度: 易使用度:用户使用该过程实施和运作所需的努力程度,包括易理解性和易 学习性等子特性; 准确度:描述特定类型的软件过程的准确程度,包括精确性、一致性、冗余 度等; 易维护性:用户在改进基于该描述形式的软件过程时所需努力程度,包括易 分析性、易修改性等。 当软件过程在执行运作时,过程质量就表现为动态的一面。此时的过程质量 是以软件过程所表现出的过程运作能力来衡量,包括过程运作能否达到预定的目 标、是否保证了软件产品的质量等,可以简称为过程能力 q i n2 0 0 4 。 当考虑过程质量的静态方面时,过程评价就是对建模方法的评价。当考虑过 程质量的动态方面时,过程评价就是对过程能力的评价。而过程度量是同过程运 作紧密相关的,因为只有通过过程运作,过程度量才能体现其过程含义,这也是 过程度量与产品度量的根本区别 s a m1 9 9 8 。过程度量的目标是评价过程、预测 过程结果和进行过程改进。 过程能力评价模型c m h i c 删i 软件过程管理引起广泛注意源于2 0 世纪7 0 年代中期。当时美国国防部曾立 题专门研究软件项目做不好的原因,发现7 0 的项目是因为管理不善而引起,而 并不是因为技术实力不够,进而得出一个结论,即管理是影响软件研发项目全局 的因素,而技术只影响局部。软件过程管理和其它过程管理相比有其特殊性。首 先,软件是知识产品,其生产进度和质量都难以度量,生产效率也难以保证。其 次,软件系统复杂程度随软件规模变化的程度也是超乎想象的。正因为软件如此 复杂和难以度量,软件过程管理的发展还很不成熟【 c m m l 0 1 】。 美国c a m e g l em e i i o n 大学软件工程研究所( c m u ,s e i ) 主持研究与开发的 c m m ,p s p 厂r s p 技术,为软件过程管理开辟了一条新的途经。c m m 是英文 c a p a b i | i t ym a t u r i t ym o d e l 的简称,意为能力成熟度模型。根据软件生产的历史 与现状,c m m 框架可用5 个不断进化的层次来表达:其中初始层是混沌的过程, 可重复层是经过训练的软件过程,定义层是标准一致的软件过程,管理层是可预 测的软件过程,优化层是能持续改善的软件过程。在c m m 框架的不同层次中, 需要解决带有不同层次特征的软件过程问题。任何软件开发单位在致力于软件过 程改善时,只能由所处的层次向紧邻的上一层次进化,即软件过程的进化是渐进 的,而不能是跳跃的。需要注意的是,并不是实施了c m m ,软件项目的质量就 能有所保障。c m m 不是万能的,它的成功与否,与一个组织内部有关人员的积 极参与和创造性活动是密不可分的,而且c m m 并未提供实现有关子过程域所需 要的具体知识和技能。【 c m m l 0 1 】。如表1 中,给出了c m m l 对软件需求管理 过程域的主要描述。 2 2b p m 技术理论 流程是对组织内外各种资源间运作逻辑的抽象和视图刻画,组织所有运作的 资源一人,技术,方法,标准等一分布于各种具有动态交互能力的流程上。流程 是各种资源最自然的动态有机组合方式,强调资源组合的动态特征。对于“过程” 和“流程”一词,因它们都译自英文的p r o c e s s ,本文中没有严格区分。在软件 工程领域习惯称软件“过程”,而在管理领域习惯称业务“流程”。 表1c m mj 软件需求管理过程域 目标目标描述 目标gg 1 分配给软件的系统需求作为软件工程和项目管理的基线而进行控制。 g 2 软件计划、产品和活动与分配给软件的系统需求要保持一致。 公共属性l ( p 描述 实施保证c oc 0 1 企业对r m 实施应有政策保证。 实施能力a ba b l 对于任何软件开发项目,要明确分析系统需求并将分析出的系统需求 指定给硬件、软件和其它系统部分的负责人 a b 2 分配给软件的系统需求( 软件需求规格) 要文档化。 a b 3 为需求管理提供充分的资源。 a b 4 软件工程组和相关组的成员需经过需求管理步骤的培训。 实施活动a ca c l 软件工程组织在进行软件项目之前需评审软件需求规格。 a c 2 软件工程组以软件需求作为软件计划、工作产品和软件开发活动的基 础。 a c 3 对需求的改变要进行评审并且这种改变要在软件项目中体现。 度量与分析mm 1 对需求管理活动进行度量并用于确定需求管理活动的状态。 实施验证v ev e l 高层管理对r m 活动的定期评审。 v e 2 项目经理对r m 活动的评审。 v e 3 q a 组织对r m 活动和工作产品的评审、审核和报告。 2 2 1 发展渊源一以过程为中心的管理 c a i2 0 0 4 诈式成为管理理论的过程管理思想始于以追求作业效率为首要目标的泰勒 和福特时代,这一时代采用手工化的流程管理及局部优化为主要实现手段。早在 上个世纪初,以泰勒为代表的科学管理学派就开始了对组织过程优化管理的理论 探索,当时的研究主要局限于底层作业过程运作效率的提高,提倡以科学明确的 管理规程替代过去的经验管理,将过程中原来分散隐性的经验资产集成提炼。 流程管理理论随着信息时代的到来而日渐丰富,信息技术逐渐成为流程管理 的重要支持手段。计算与通讯技术的发展是泰勒与福特时代流程管理向信息时代 流程管理的主要推动因素,带来了流程管理能力的一次飞跃。在信息时代初期, 信息技术促进了过程自动化协作的发展趋势,将原来部分依靠手工实施的过程管 理转化为自动化流程。信息技术被引入流程管理领域,这个时期的流程管理强调 利用信息技术对传统流程的自动化改造,从底层的车间操作流程自动化逐渐延伸 到中层的部门级运营流程集成、参谋部门辅助流程集成、再到高层决策与协调流 程集成。流程管理的边界主要局限于垂直型组织的各级职能部门内,以职能部门 单元自动化为特征,信息技术的主要作用是将职能部门单元流程内原来依靠手工 完成的计算、信息传输、工序编排等作业任务逐步自动化,以高效的数据处理与 分析能力获得某个局部领域暂时相对的效率优势。 随着全球化环境的巨变,原来一些沿用多年的流程基本逻辑渐渐地落后时代 需要,信息技术单凭对原有流程的自动化和模仿型优化已经难以满足环境变革因 素造成的对新型柔性动态多参与方的业务流程管理的实际需求。上世纪8 0 年代 末9 0 年代初,h a 咖e r 等提出了业务流程重组( b p r ) 思想,b p r 理论通过分拆 原有流程组件的逻辑交织关系,并进行创造性熏新组合,以价值增值为目标,删 除不利于整体价值增值的环节,增添新型流程联结机制和新的流程组件业务逻 辑,寻找解决流程失效的新方法。该理论作为一种革命性变革的指导思想与原则 缺少严谨的理论支撑体系,尤其是它忽视了对既往流程投资的保护和再利用,且 在实施中难以处理与“人”有关的因素。 随着互联网技术迅速在全球普及,互联网强大的全球通讯能力使得实施跨组 织边界的复杂型流程成为可能。到了上世纪9 0 年代末期互联网成为全球通讯技 术的基本标准,称为“全i p 化”( e v e r y t h i n go v e ri p ,i po v e re v e r y t h i n g ) , 基础设旋的一体化互联促进了业务流程在全价值链范围( e n d t o e n d ) 柔性动态 集成管理设想的实施。针对这些涉及组织内外动态协作环境变化因素的流程管理 新问题,国际上众多流程管理研究者和机构分别进行了广泛深入的探索,新一代 流程管理体系被p e t e rf i n g a r 等研究者称为“流程管理的第三波”,实现以流程 重用为基础的流程创新。按照g a r t n e r 等组织预测,新一代较为成熟b p m 技术将 在5 1 0 年内出现,h o w a r ds m i t h 认为现在b p m 的发展将决定今后5 0 年l t 在企 业管理中的应用趋势。 新一代流程管理技术产生的根本拉动因素,如全球化、大规模客户化背景下, 客户需求多种多样、波动因素复杂,难以预测市场变化、难以实施平缓管理、跨 组织协作关系频繁、参与者关系多变、需要在全价值链范围进行流程资产的动态 管理,依靠旧有技术难以有效协调。信息技术的发展是新一代流程管理技术产生 的推动因素,如:更高的计算与存储能力、更强的网络沟通能力、以及新型信息 资源管理技术、平台技术、流程智能技术、流程元模型技术、系统集成与多方动 态协调等技术的出现,使得市场因素带来的新型流程管理难题得到可能的解决方 案。 2 2 2 过程管理可行性b p m 带来的启示 企业的使命是为顾客创造价值,而为顾客创造价值的便是流程。成功的企业 必然有成功的流程,成功的流程又需要流程管理,以达到持续地改善和优化。从 表面上看,企业组织是阻业务和职能部门来划分的,但实际上起作用的是流程。 没有一个部门单独的活动能够创造价值,只有将所有活动一起放在一个整体框架 里进行才能创造价值,那个框架就是流程。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年家庭农场农业技术引进与培训
- 上海立达学院《安全检测与监控》2025-2026学年第一学期期末试卷(A卷)
- 2026年餐饮食材长期供货合同(米面粮油肉菜)
- 2026年蝇蛆养殖与蛋白饲料开发
- 上海立信会计金融学院《安全工程学》2025-2026学年第一学期期末试卷(B卷)
- 2026年少数民族医药助力乡村振兴实践
- 2026年新护士健康教育能力培训
- 上海立信会计金融学院《Android 应用程序设计》2025-2026学年第一学期期末试卷(B卷)
- 大连东软信息学院《ARM 嵌入式系统》2025-2026学年第一学期期末试卷(A卷)
- 上海科学技术职业学院《阿拉伯国家概况》2025-2026学年第一学期期末试卷(A卷)
- 低压电工实操培训
- 《清肠排毒一身轻》课件
- 系统可靠性方案
- 修炼好文笔:人人都能妙笔生花
- 有限空间作业安全告知
- 国际疾病分类ICD11编码库
- 龙虎山正一日诵早晚课
- 标准化工程PPT完整全套教学课件
- 神经电生理脑电图技术考试:第二章 神经生理学真题模拟汇编(共157题)
- 城市轨道交通轨道设备运营维保方案
- 主要通风更换方案及安全技术措施
评论
0/150
提交评论