(计算机软件与理论专业论文)软件质量体系结构.pdf_第1页
(计算机软件与理论专业论文)软件质量体系结构.pdf_第2页
(计算机软件与理论专业论文)软件质量体系结构.pdf_第3页
(计算机软件与理论专业论文)软件质量体系结构.pdf_第4页
(计算机软件与理论专业论文)软件质量体系结构.pdf_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

摘要 软件质量体系结构主要把软件质量所有相关的元素分为三个方面:1 ) 软件 质量本身的可行性分析、需求分析、设计、编码、测试和维护;2 ) 与软件质量 密切相关的组织结构、人员技术因素等。3 ) 以上所有元素各自在整体结构中的 地位、作用,采用什么组合方式以及组合起来具有的优点、劣势。 金字塔式软件质量体系结构是现在最常用的结构之一,简约明了地表示出了 软件质量体系中的质量方针、质量手册、组织结构各自地位和作用。但是,这种 结构过于简单,软件开发项目中的许多重要信息无法在结构中表现。本文采用字 顶而下,逐步就精的方法对改结构进行了完善,先划定出与质量相关几个的大的 方面,再对每个方面细化出相关元素。 金字塔式软件质量体系结构是基于能力成熟度模型( c m m ) 的。c m m 模 型一个重要欠缺就是对项目开发中人的因素缺乏考虑,因此这套质量体系也是不 完整的。从实践来看,项目开发过程中最重要的就是人的管理。因此,本文从软 件项目管理的角度,对开发项目中的组织结构、工作规章、技术水平等进行了研 究,讨论了它们各自的地位和作用,采用的组合形式,以及该形式的优缺点。 最后,本文提出了一种经过细化、完善的软件质量体系结构。该结构有以下 的特点: 1 ) 简约明了:该结构继承了金字塔式结构的这一特点; 2 ) 内容完整,本文提出的结构模型是经过细化、完善的,增加了人员因素; 3 ) 结构完整,涵盖了软件开发过程的各个阶段。 关键词:软件质量体系结构软件能力成熟度模型( c m m ) 分类号:t p 3 0 3 山尔帅池人学f i ! j ! i j 学f z 沦爻 s o f t w a r eq u a l i t ys y s t e ma r c h i t e c t u r e a b s t r a c t s o f t w a r eq u a l i t ya r c h i t e c t u r ei st od i v i d ea l lo ft h ee l e m e n t sr e l e v a n tt os o f t w a r eq u a l i t yi n t o t h r e ea r e a s :1 ) t h ef e a s i b i l i t ya n a l y s i s ,n e e d sa n a l y s i s ,d e s i g n ,c o d i n g ,t e s t i n ga n dm a i n t e n a n c ei n t h es o f t w a r ed e v e l o p m e n t ;2 ) t h eo r g a n i z a t i o n a l ,t e c h n i c a ll e v e l ,e t c w h i c hi sc l o s e l yr e l a t e dt o s o f t w a r eq u a l i t y ;3 ) t h es t a t u s ,r o l e ,h o wt oc o m b i n ea n dw h a ta d v a n t a g e so rd i s a d v a n t a g ew h e n c o m b i n e dt o g e t h e r p y r a m i ds t r u c t u r eo ft h es o f t w a r eq u a l i t ys y s t e mi sn o wo n eo ft h em o s tc o m m o ns t r u c t u r e , w h i c hs h o w st h es t a t u sa n dr o l eo ft h eq u a l i t yp o l i c y , q u a l i t ym a n u a l ,o r g a n i z a t i o n a ls t r u c t u r e s i m p l ya n dc l e a r l y h o w e v e r , t h i sk i n do fs t r u c t u r ei st o os i m p l et od e m o n s t r a t em u c ho ft h e i m p o r t a n ti ns o f t w a r ed e v e l o p m e n tp r o j e c t s i nt h i sp a p e r , t h em e t h o do ft o p d o w n ,s t e pb ys t e po n t h ep r e c i s i o ni sa d o p t e da n dt h es t r u c t u r ei sm p r o v e d f i r s t l y , s e v e r a la r e aa r ed r a w no u t ,a n dt h e n r e f i n ee a c ho ft h ea r e a s p y r a m i ds t r u c t u r eo ft h es o f t w a r eq u a l i t ys y s t e mi sb a s e do nc a p a b i l i t ym a t u r i t ym o d e lf o r s o f t w a r e ( c m m ) am a i nd i s a v a v t a g eo fc m mi st h el a c ko fh u m a n f a c t o r f r o mp r a c t i c e ,t h e m o s ti m p o r t a n tt h i n gi nt h ep r o c e s so fp r o j e c td e v e l o p m e n ti sh u m a n m a n a g e m e n t s o ,p y r a m i d s t r u c t u r eo ft h eq u a l i t yo ft h i ss y s t e mi s i n c o m p l e t e f r o mt h ep e r s p e c t i v eo fs o f t w a r ep r o j e c t m a n a g e m e n t ,t h et h eo r g a n i z a t i o n a ls t r u c t u r e ,w o r k i n gr e g u l a t i o n s ,s k i l ll e v e l s ,e t c w e r es t u d i e d w e r es t u d i e di nt h i sp a p e r m o r e ,t h e i rt h e i rs t a t u sa n dr o l e ,h o wt oc o m b i n ea n dw h a ta d v a n t a g e s o rd i s a d v a n t a g ew h e nc o m b i n e dt o g e t h e rw e r ed i s s c u s s e d f i n a l l y , i nt h i sp a p e r , ad e t a i l e d ,c o m p r e h e n s i v es o f t w a r eq u a l i t ya r c h i t e c t u r ei sp r o p o s e d t h es t r u c t u r eh a st h ef o l l o w i n gc h a r a c t e r i s t i c s : 1 ) s i m p l ea n dc l e a r , t h i si si n h e r i t e df r o mp y r a m i d - s t y l es t r u c t u r e ; 2 ) c o n t e n ti n t e g r i t y , t h es t r u c t u r ep r o p o s e di nt h ep a p e ri sad e t a i l e d ,c o m p r e h e n s i v eo n e ,a n d h u m a nf a c t o r sa r ei n c l u d e d ; 3 ) s t r u c t u r a li n t e g r i t y , a hs t a g e so ft h ep r o c e s si ns o f t w a r ed e v e l o p m e n ta r ec o v e r e d k e y w o r d s :s o f t w a r eq u a l i t ys y s t e ma r c h i t e c t u r e ;c a p a b i l i t ym a t u r i t ym o d e lf o rs o f t w a r e ( c m m ) 2 独创声明 本人声明所旱交的学位论文是本人在导师指导下进行的研究- i :作及取得的研究成果。 据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过 的研究成果,也不包含为获得( 注:如没有其他需要特别声明的,本栏可 空) 或其他教育机构的学位或证二 5 使州过的材料。与我一同i :作的同忠对本研究所做的任何 贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者繇考仫泼岛 导师繇 学位论文版权使用授权书 本学位论文作者完全了解堂撞有关保留、使用学位论文的规定,有权保留并向国家 有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权堂撞可以将 学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手 段保存、汇编学位论文。( 保密的学位论文在解密后适用本授权j f ;) 学位论文作者签名:考仫: 娩铆粹 签字日期:2 0 0 罗年多月7 日 签字日期:2 0 0 夕年多月拥 第一章绪论弟一早z 百下匕 1 1 研究背景、目的和意义 1 1 1 研究背景 随着软件规模成倍的增人、复杂度日益加深,软什开发的风险越来人。对软件质量、成 本、进度控制也就越米约显得重要。新一代的软什开发技术、方法和管理过程得剑了迅速的 发展;以软什开发和实施为核心业务的i t 企业更是层出不穷;软件需求譬正在快速增长。 六十年代的软件危机使得人们开始重视软件i :程的研究。起初,人们把软件设计的重点 放在数据结构和算法的选择上,随着软件系统规模越来越人、越米越复杂,整个系统的结构 和规格说明得越米越重要。软件危机的程度日益加剧,现有的软件:程方法对此显得力不从 心。对丁大规模的复杂软件系统来说,对总体的系统结构设计和规格说明比起对计算的算法 和数据结构的选择已经变得明显重要得多。在此种背景下,人f l j 认识到软件体系结构的重要 性,并认为对软件体系结构的系统、深入的研究将会成为提高软件生产率和解决软1 i ,| :维护问 题的新的最有希望的途径。 事实上,软件总是有体系结构的,不存在没有体系结构的软件。从细。1 了上来看每一个程 序也是有结构的。早期的结构化程序就是以语句组成模块,模块的聚集和嵌套形成层层调用 的程序结构,也就是体系结构。结构化程序的程序( 表达) 结构和( 计算的) 逻辑结构的一 致性及自顶向下开发方法自然而然地形成了体系结构。由- 丁结构化程序设计时代程序规模不 火,通过强调结构化程序设计方法学,白项向下、逐步求精,并注意模块的耦合性就可以得 到相对良好的结构,所以,并未特别研究软什体系结构。 2 0 世纪7 0 年代初,软件从传统的软件j :科进入到现代面向对象的软彳, :一i :程,开始研究 整个软件系统的体系结构,以寻求建构最快、成本最低、质量最好的构造过程。 软件体系结构虽脱胎丁软件t 程,但其形成同时借鉴了计算机体系结构和网络体系结构 中很多宝贵的思想和方法,近儿年软件体系结构研究已完全独立丁软件工程的研究,成为计 算机科学的一个最新的研究方向和独立学科分支。他i 软件体系结构研究的主要内容涉及软件 体系结构描述、软件体系结构风格、软件体系结构评价和软件体系结构的形式化方法等。解 决好软件的重用、质量和维护问题,是研究软件体系结构的根本目的。 软件体系结构得到广泛认同之后,在软件开发过程中并没有取得预期的效果。由于软件 的规模和复杂性成数量级式的膨胀,软件开发过程中的人员因素、公司制度因素等在保证项 5 山i 帅池人坝l 学 :i 论文 目顺利完成中都起剑了重要的作川。由此,人们开始了研究项h 开发过程中所有冈素在软f ,i : 开发过程中的作j ,由此产生了一个新的研究领域软竹质量体系结构。 软仆质量体系结构着重解决保证软件质量而建立起米的管理体系。其目的是瑚规范的、 清晰的描述米管理软什开发过程,从而保证软什系统结构中确定卜米的规稗得到切实有效的 实施。 1 1 2 研究目的 软件开发不同t 其他产品的制造,软什开发往往是一个设计过程,对人力资源有人量的 需求,而对物资资源的需求相对很少,而且软什项目开发的产品主要是程序代码和技术文档。 冈此,软件项目管理与其他项目管理相比,有很人的独特性,软1 :,l :项目的成功不仅依赖于成 熟和先进的开发方法和技术,而且依赖丁技术人员的素质和技能,甚至情绪都有可能对最终 产品的质量产生潜在的影响,所以建立一个软中l :质量体系机构米规范、科学、系统的项目管 理是必需的。 1 1 3 研究的意义 1 1 3 1 理论意义 一方面,能够完善软什开发研究领域的理论体系,把“整体管理”的思想更深入得渗透 到软件开发过程中去,使软件开发项目的管理更有效、更科学、更规范;另一方面,能够进 步延伸项目管理理论的研究领域,丰富项目管理的理论体系,完善项目管理的知识结构。 1 1 3 2 现实意义 软件质量体系结构贯穿于软什研发的整个生命周期内,具有重要的影响。主要表现在以 下三个方面: ( 1 ) 方便相关人员之间的交流:软件质量体系结构是一种常见的抽象,企业人部分相 关人员都可以借助软件质量体系结构来进行彼此理解、协商、达成共识或者相互沟通的基础。 ( 2 ) 利于系统设计的前期决策:软什质量体系结构是我们所开发的软件系统最早期设 计决策的体现,而这些早期决策对软彳,l :系统的后续开发、部署利维护具有相当重要的影响。 这也是能够对所开发系统进行分析的最早时间点。 ( 3 ) 可传递的系统级抽象:软件体系结构是关于系统构造以及系统各个元素工作机制 的相对较小、却又能够突出反映问题的模型。由丁软件系统具有的一些共通特性,这种模型 可以在多个系统之间传递,特别是可以应用到具有相似质量属性和功能需求的系统中,并能 够促进大规模软件的系统级复用。 6 止j 尔帅范人学砸i j 学位论文 1 2 论文的内容、方法、创新 1 2 1 研究框架、内容 本论文通过对软件质龟体系结构国内外的研究现状、问题及发展趋势进行深入的分析, 结合项目管理知识体系的相关内容,对金字塔式体系结构进行了细化、完善。论文的框架如 图卜1 所示。 研究的背景和意义 研究现状 已有会。,塔式模型提出的意义和小足 i l 细化、完善金字塔模型 i i 构建新模型 i 图1 1 论文的研究框架 本论文首先阐述了研究背景,对问题的研究背景、目的、内容、方法、理论意义和现实 意义进行了阐述;第二章解释相关术语;第三章阐述了国内外对于该课题的研究现状:第四 章叙述了软件能力成熟模型,为后面做知识准备;第五章叙述了金字塔式软什质量体系结构 模型,并对该模型进行了细化和完善;第六章根据全面五章的内容对构建软什质鼙体系模型 的要素进行了分析,初步构建了新的软件质量体系模型;第七章为研究的总结、研究的不足 以及研究展望。 1 2 2 研究方法 1 ) 文献研究。目前,专门针对软件开发项目管理信息系统进行研究的文献相对较少, 对项目管理系统以及软件开发项目分别进行研究的文献相对多一些,本文查阅了人量的国内 外关于项目管理系统、软件开发项目等的研究文献,理清脉络,对其进行对比分析与有效整 合,为论文的框架和研究打下坚实的基础。 2 ) 系统分析方法。本论文对软件开发项目管理信息系统的设计采取了系统分析的方法, 运用系统理论对软件开发项目管理信息系统要素进行综合分析,划分成子系统模块,再对子 7 系统模块进行详细的需求分析、功能改计以及实现分析, 1 2 3 可能的创新 通过阅读分析以往的研究文献,在原有金字塔式结构模型的基础上,初步定义了的软件 质量体系结构的定义、包括的内容等,探讨了一个公司采川事业部式、矩阵式组织结构的优 劣。对软什质量体系结构的要素进行了梳理,初步建立起了一个新的软什质量体系模型。对 软件公司的日常运行机制、组织结构创建、设计开发、斤期维护等都具有一定的指导意义。 8 i i 尔帅池人学i i = ! ;ll :革位论疋 第二章相关基础知识 2 1 质量 儿乎在每个领域,每个人都认同质量对于实现成功结果的重要性。一般意思的质量是产 品或服务的总体特征和特性,基丁此能力来满足明确或隐含的需要。 软什的质量就是以软什的总体的性能满足用户相关需要的属性m l 。 公司质量体系运作的过程中始终把质带放在核心地位,要求每一道i :序、每个部位必须 是为下道i :序提供精晶,把质量责任分解剑各个岗位、各个环肖、各个l :种,使严格的质量 管理贯穿丁不断变化的设计、施服务的全过程,做剑凡事有章可循,凡事有据可查,凡 事有人负责,凡事有人监督。 2 2 质量属性 了解如何提高质簧应该是任何软件t 作的优先考虑事项。在能够改进质量之前,需要对 质量进行测鼍利分析。质量属性提供了测姑和分析质量的关联项1 5 。 质量属性是描述在特定的关联项质量的元素,例如性能、安全性、可移植性、功能等等。 这其中每个属性都不是绝对量;它们的相关性直接与给定的情形联系在一起。例如,如果某 个客户不太关心可移植性( 也许所有系统都在运行相同的操作系统) ,而是非常关心性能, 则性能将优先丁可移植性。这允许按照对客户有重要意义的方面来组织任务。 为了能够正确测量属性,必须进行进一步的任务分解。例如,可以将性能属性分解为数 据延迟和事务吞吐量。此时,要使用的可能指标就变得更明显了。可以将这其中每个细化后 的实体进一步分解为特定的场景,这是引出需求信息的理想方法| 6 1 。 需求和质量属性之间的映射关系有助丁了解软件体系结构的适州性。如果没有这样的映 射,了解为什么在软件体系结构中设计了某些功能就会更加困难。因为无法确定该功能只对 设计人员起辅助作用,还是客户强烈要求的的功能。需求与质量属性之间的映射关系还可以 帮助有效地确定工作优先级,因为它描述了对客户非常重要的信息。 可以使用质量属性来限定特定的场景,这些场景可刚作引出进一步设计细化的理想工 具。 质量属性是刻画特定上下文质量的元素,例如性能、安全性、可移植性、功能等。这其 中每个属性都不是绝对量;它们的相关性直接与给定的情形联系在一起。例如,如果某个客 户不太关心可移植性( 也许所有系统都在运行相同的操作系统) ,而是1 卜常关心性能,则性 9 尔帅范人- 善f 酿卜化论文 能将优先丁可移植性。这允许按照对客户有重要意义的方面来组织任务。 2 3 软件体系结构 软件体系结构允许交付复杂的软件系统。软件架构师应把主要精力集中于对该解决方案 影响度高的细节,而不是集中于每个细节。在现代软件项目中,解决方案元素之间具有复杂 的互连性,让一个人去跟踪所有元素是难以实现的。软件架构师最重要的任务之一是通过确 定对成功最相关的元素的综合分析,将复杂性分解为可管理的儿个部分。然后研究质量、质 量属性和软1 :,| :体系结构之间的动态关系,以更好地了解如何能够提高质量。 软件体系结构是具有一定形式的结构化元素,即构什的集合,包括处理构件、数据构件 和连接构件。处理构什负责对数据进行加j l :,数据构 ;,i :是被加:l :的信息,连接构1 i ,l :把体系结 构的不同部分组组合连接起米。这一定义注重区分处理构件、数据构 i ,i :和连接构件,这一方 法在其他的定义和方法中基本上得到保持0 1f l i t 。 ( 1 ) d e w a y n ep e r r y 和a l e xw o l f 曾这样定义:软什体系结构是具有一定形式的结构 化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加 上,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起米。这定义注 重区分处理构件、数据构件和连接构件,这一方法在其他的定义平方法中基本上得到保持1 1 引。 ( 2 ) m a r ys h a w 和d a v i dg a r l a n 认为软件体系结构是软件设计过程中的一个层次,这 一层次超越计算过程中的算法设计和数据结构没计。体系结构问题包括总体组织和全局控 制、通讯协议、同步、数据存取,给设计元素分配特定功能,设计元素的组织,规模和性能, 在各设计方案间进行选择等。软件体系结构处理算法与数据结构之上关于整体系统结构设计 和描述方面的一些问题,如全局组织雨l 全局控制结构、关丁通讯、同步与数据存取的协议, 设计构什功能定义,物理分布与合成,设计方案的选择、评估与实现等引。 ( 3 ) k r u c h t e n 指出,软件体系结构有四个角度,它们从不同方面对系统进行描述:概 念角度描述系统的主要构件及它们之间的关系:模块角度包含功能分解与层次结构;运行角 度描述了一个系统的动态结构;代码角度描述了各种代码和库函数在开发环境中的组织9 。 ( 4 ) h a y e sr o t h 则认为软件体系结构是一个抽象的系统规范,主要包括用其行为来描 述的功能构件和构件之间的相互连接、接口和关系。 ( 5 ) d a v i dg a r l a n 和d e w n ep e r r y 于1 9 9 5 年在i e e e 软件工程学报上又采用如下的定 义:软件体系结构是一个程序系统各构什的结构、它们之间的相互关系以及进行设计的原 则和随时间进化的指导方针幢。 l o ! j 1 j - :e l i 范人! 坝i ? 俯论义 ( 6 ) b a r r yb o e h m 和他的学生提出,一个软f ,l :体系结构包括一个软什利系统构1 i ,l :,互 联及约束的集合;一个系统需求说i 月的集合;一个基本原理心以说明这一构1 :,l :,互联和约束 能够满足系统需求。 ( 7 ) 1 9 9 7 年。b a s s ,c t e m e n t s 和k a z m a n 在使用软件体系结构一二峙中给出如一卜- 的 定义:一个释序或计算机系统的软件体系结构包括一个或一组软件构件、软什构件的外部的 可见特性及其相且关系。其中,“软什外部的可见特性”是指软件构什提供的服务、性能、 特性、错误处理、共享资源使川等。 2 4 软件质量体系结构 由丁软1 i ,l :质量体系结构只是最近才作为软件i :程的一个独立研究领域出现,虽然目前对 其重要性和意义己取得比较j “泛的共识,但是迄今为止还没有一个标准的、被一致接受的定 义。关于软 :,l :质量体系结构,是川描述性的语言米表述的: 定义1 :软件质量体系结构描述的是不同项目相关人员之间进行沟通的使能器,不仅包 括构成软件的开发环境、质量方针、质量手册、开发标准、开发规程、处理构件、数据构件、 连接构件等元素在软件质量体系中的作川、地位,而且包括人员的组织结构、技术水平、客 户交流机制、_ t 作条例等人的冈素,甚至包括资金周转等外部冈素。 定义2 :建立软件质量体系结构是为了项目相关人员进行有效的沟通。包括软件本身的 质量属性和管理体系两个部分。质量属性包括性能、安全性、可移植:l 生、功能性等;管理体 系包括组织结构、工作条例、技术水平、资金流转和分配、客户交流机制等方面。 对比软件体系结构和软件质量体系结构的概念,前者是后者的子集,后者着重研究软件 开发应采用什么样的管理体系、该管理体系在整个软件生命周期中的所处的地位和所起的作 用。可以说,软件质繁体系结构把形式化的人为因素以包含进米,是软件开发项目管理上的 一人进步。 山尔帅范人学“f :i 学伊沦爻 第三章国内外研究现状 3 1 软件开发项目现状 3 1 1 软件开发项目的特点 随着信息技术的发展,软件开发行业以惊人的速度逐步深入到社会各行各业,成为推动 社会进步和国比经济发展的重要力量,对我国传统产业和传统的企业管理理念产生巨人的冲 击,深刻地改变着人们的生产、生活平l f f :作方式。软件开发项目具有高技术性、高渗透性、 高风险性以及高竞争性等特点他2 。 1 )高技术性。软什开发行业是最典型的技术密集型、知识密集型的产业,人才是此行业 最宝贵的财寓,具有明显的技术性、流动性和年轻化的特点。 2 )高渗透性。软件开发行业具有很强的渗透性和带动作用,是国l 心经济发展的倍增器, 该行业己逐步渗透剑我国第一、第二、第三产业以及社会生活的各个领域,有效地推 、 动了产业结构调整和技术升级,提高了人们的生活质量,为产业发展和整个社会生活 带米革命性的变化。 3 )高风险性。软件开发行业在产品研发、生产和市场推j i 过科中,都要投入人量的资金、 设备和人力,由于技术的高度复杂性和市场的高度不确定性,项目风险控制难度加人, 项目的成功率较低。但是一旦某个新项目或新产品获得成功,将会带米高额的回报。 4 )高竞争性。软件开发行业是一个富有创造性和挑战性的行业,要求在有限的资源条件 下,在非常短的时间范同内,为客户提供技术仓q 新性强、个性化程度高的信息产品和 服务。 3 1 2 我国软件开发项目管理的现状 软件项目管理的研究先是在西方大型软件企业得到了广泛应用,很多企业还针对自身业 务特点制定了专门的项目管理手册,使得企业的研发工作更加制度化、科学化和规范化。 作为目前项目管理应用最为广泛的软f ,i :行业,其项目的易于失败也不容忽视。1 9 9 5 年, 斯坦笛什咨询公司公布一份名为“混沌”的调查报告引起了广泛关注,这份报告指出每年美 国的公司要花费2 5 0 0 多亿美元在1 7 5 0 0 0 个信息技术项目上,但是在规定时问和预算内完成 项目目标的只有1 6 3 m 1 。 我国的情况如何呢? 曾经有专家说,中国在8 0 年代推行的c i m s 项目几乎全部失败,而 现在软件项目能达到项目目标的不到1 0 。如此令人震惊的数字后面,意味着巨大的人力和 1 2 山东! j i f j 池人学坝l 学位沧爻 财力浪费、巨额的利润损火。近儿年,我国的软什产业保持着高速增k 的态势,然而,在繁 荣火爆的市场背后也隐藏着相当的危机。据统计,在国内软件市场上,拥有自主知识产权的 主流软件产品较少,市场 1 有率不足4 0 。担5 1 通过对比国内外软件开发行业的成功与得火,我们认为,我国软件开发项目管理目前存 在的问题主要表现在以下儿个方面。 1 )对项目管理不够重视。项目经理或管理人员不十分了解项目管理的知识体系,所以在 实际j i :作中没有项目管理知识的指导,完全依靠个人现有的知识技能,管理+ i :作的随 意性、盲目性比较大。 2 )项目计划不完善。在软什企业一些项目管理人员对项目总体计划、阶段计划的作刚认 识不足,没有良好的开发计划和开发目标,项目的成功就无从谈起。 3 )项目沟通不彻底。在项目中一些重要信息没有进行充分和有效的沟通。在制定计划、 意见反馈、情况通报、技术问题或成果等方面与相关人员的沟通不足,导致责任不明、 】:作分解结构与项目组织结构不清晰;开发过程中沟通不充分,造成各做各事、重复 劳动,甚至造成不必要的损失。 4 )质量把关不及时。没能够提前明确质量验收标准,在开发过程中不能够及时地进行质 量评价与控制。 5 ) 变更管理不规范。需求变更是直接影响软件项目开发进度、质量的重要冈素。在国内 的软件开发项目中,国内机构一般只注重权威的推动作用和形式上的规范,在实际操 作中缺乏自发组织内部的有效软件管理机制,更缺少高效的需求变更管理规范和流 程。 6 )成本控制不明确。过分乐观估价,竞标过程中报价过低,导致过程中资金不足,最终 失败。没有可靠而明确的成本估算,在项目过程中就无法配置合理的资源,项目经理 也不能明确各个阶段的时间和j :作分配,导致项目无法正常进行。 7 )风险防范不剑位。项目管理人员没有充分分析可能的风险,对付风险的策略考虑比较 简单。 综上所述,目前我国的人部分软件开发企业把主要的精力集中在了技术层面上,还没有 真正意义上把项目管理理论体系充分运用到软件开发项目过程中。因此,研究如何更好的将 项目管理知识体系与软件开发项目相融合,对我国的软件开发行业有非常重要的意义。 1 3 东i j l | i 池人# f ! j ! i , ! :j :玲爻 3 1 3 软件质量体系结构在软件开发过程中应用 在由中国信息产业商会土办的“国际项目管理发展动态与成就”技术演讲会上,专家呼 吁中国i t 行业,特别是中国的软件行业更是迫切地需要廊川项目管理,以利州信息技术提 高对企业资源的整合和利用率。 紧迫性、独特性利不确定性是软件开发项目的特点,紧迫性决定了项目的历时有限,具 有明确的起点或终点。独特性在软什开发领域表现得1 卜常突山,不同的客户有不同的需求, 商家要根据其要求提供不同的解决方案,即使有现成的解决方案,也需要根据客户的特殊要 求进行一定的客户化一r :作。加之项目计划乖i 预算本质上是一种预测,在执行过程中与实际情 况肯定会有差异,使项目难以在规定的时间利规定的预算范同内由规定的人员完成。在执行 过程中还会遇到各种始料朱及的“风险”,使得项目不能按原有的预测米运行。软什开发项 目的诸多不可控因素导致项目失败率高,冈此,软件开发行业迫切需要加强项目管理【2 6 1 。 对比中外的软件开发状况我们可以看到:无论是开发过科所基于的平台、开发j :具还是 开发人员的个人水平方面,我秆j 都与国外处于同一层次上。但是国外的软件之所以优丁国内, 一个重要的原i 天l 是国外的软件组织对丁整个开发过程进行了有效的管理。比如在做某个项目 的过程中,客户往往会变更最初的需求或增加新的需求,使得项目难以在原定的时间内完成, 加之在项目预算时没有包括新需求,等到项目完成时所花费用会远远高丁预算,这个项目就 是失败的。 项目管理的九犬知识领域融会贯通地为软件开发项目管理提供了极好的解决方法。时间 紧迫是软件项目的一大特点,要求每个环节都要在规定的时间内完成任务。项目时间进度计 划能够协助项目经理详细地安排软件开发过程,确保项目的顺利进行。对于国内绝人多数的 软件开发组织来说,其开展软件? i :程实践化的首要任务是建立起项目管理的知识体系和实 践。在这些体系和实践建立起来以后,再去关注其他软件:i :程化技术的逐步引入,逐步提升 特定的软件生产环节上的技能,从而达到生产力向更高的层次迈进2 6 1 。 软件开发作为在高科技项目中对人指挥要求最高的一种项目和活动,也毫不例外的收到 这个成功条件的制约,甚至可以说它的成功对过程管理的合理性依赖更高。这就要求任何有 关软件开发企业的领导、经理和管理人员努力了解和学习项目管理的理论知识,懂得如何将 软件开发界近几十年来发展的相对成熟的项目管理技术和实践经验运用到自己公司的软件 开发管理实践中去【2 7 】。 将软件开发作为一个工程项目米看待,对其实施项目管理,意味着需要借助和参照几十 1 4 东帅范人莩f 改i 。学位论史 年在各个i :程行业的实践中所积累雨i 提炼山米的一整套从事项口管理的原则、理念、纪律或 规则、实践和指南,使川项目管理知识,针对软什丹发i :作的过科和团队进行科学的管理, 并将项目管理的知识应川t 软件开发流科中,它能为一个软件项目开发组织带来以- 卜好处: 使开发的软件功能更符合客户或市场的需求; 帮助提高软件质量; 保证或帮助开发项目能够按时完成; 帮助开发项目避免超支的结果,至少能降低这种结果的概率和由此带米的影响; 提高开发团队的效率,避免无谓的重复开发或造成浪费的无效益开发; 帮助开发团队建立一个能够反复的开发运作流程,保证开发的一致性,使得企业能够 反复按照同样的流科进行未来项目的有效的管理; 更好的利用人才,调动开发团队成员的积极性,发挥他们的创造力,提高整个开发组 织员1 :的凝聚力和对企业的向心力,帮助建立良好的企业文化。 有了完善的项目管理,能人人提高一个企业产品开发组织的j i :作效率。项目管理的质 量直接影响剑产晶开发的成败,甚至影响到一个企业立足市场的商业前途。冈此,将 整个软什开发过程利川项目管理的方法利实践去进行科学的管理,对一个软件开发企 业来说,有着重要的意义。 3 2 软件质量体系结构研究现状 无论国内还是国外,软件质量体系结构的研究都处于起步阶段,一些大型软件公司出于 质量控制的需要设计了软件系统结构,并规划了相虑的规程,制度等,已经形成了软件质量 体系结构的雏形。但是还没有形成系统化的结构模型。各类科学期刊、杂志鲜有对该课题的 理论成果。 最近儿年,随着对软件质量的重视,软件系统结构显示出不表达能力的不足,广大软件 工作者已经认识到它的重大意义和它对软件系统没计开发的重要性,软什质量体系结构逐步 成为研究的热点。并且在软件质量体系结构的形式化方面做出了一些成果。但是这些成果没 有形成一个完整的系统,即还没有在研究范围、内容等方面形成“定性”的结论。另一方面, 在该课题“定量”方面的研究还突破性的研究成果。 1 5 d i 尔帅范人学坝i j 学位论文 第四章能力成熟度模型 4 1 能力成熟度模型( c m m ) 能力成熟度模型( c a p a b i l i t ym a t u r i t ym o d e lf o rs o f t w a r e ,英文缩写为s w - c m m ,简称 c m m ) , 是指“能力成熟度模型”,是对丁软件组织在定义、实施、度量、控制和改善其软 什过程的实践中各个发展阶段的描述。c m m 的核心是把软仆开发视为一个过程,并根据这 原j j l 0 对软什开发和维护进行过稃监控和研究,以使其更加科学化、标准化、使企业能够更 好地实现商业目标2 8 1 。 4 1 1 g m m 的历史和发展 信息时代,软件质量的重要性越米越为人们所认识。软什是产品、是装备、是一l :具,其 质量使得顾客满意,是产品市场开拓、事业得以发展的关键。而软件:l :程领域在1 9 9 2 年至 1 9 9 7 年取得了前所未有的进展,其成果超过软件_ r 程领域过去1 5 年来的成就总和。 、 软件管理j :科引起广泛注意源于2 0 世纪7 0 年代中期。当时美国国防部曾立题专l 、j 研究 软f i ,| :项目做不好的原冈,发现7 0 的项目是| 天i 为管理不善而引起,而并不是因为技术实力 不够,进而得出一个结论,即管理是影响软件研发项目全局的冈素,而技术只影响局部。剑 了2 0 世纪9 0 年代中期,软件管理工程不善的问题仍然存在,大约只有1 0 的项目能够在 预定的费用和进度下交付。软件项目失败的主要原冈有:需求定义不明确;缺乏一个好的软 件开发过程;没有一个统一领导的产品研发小组;子合同管理不严格;没有经常注意改善软 件过程;对软件构架很不重视;软件界面定义不善且缺乏合适的控制;软件升级暴露了硬件 的缺点;关心创新而不关心费用和风险:军用标准太少且不够完善等等。在关系剑软件项目 成功与否的众多因素中,软件度量、工作量估计、项目规划、进展控制、需求变化和风险管 理等都是与:j :程管理直接相关的冈素。由此可见,软件管理工程的意义至关重要。 1 9 8 7 年,美国g - 内基梅隆大学软件研究所( s e i ) 受美国国防部的委托,率先在软件 行业从软件过科能力的角度提出了软件过程成熟度模型( c m m ) ,随后在全世界推广实施的 一种软件评估标准,用于评价软件承包能力并帮助其改善软件质量的方法。它主要用于软件 开发过程和软件开发能力的评价和改进。它侧重丁软件开发过程的管理及工程能力的提高与 评估。c m m 白1 9 8 7 年开始实施认证,现已成为软件业最权威的评估认证体系。c m m 包括 5 个等级,共计1 8 个过程域,5 2 个目标,3 0 0 多个关键实践。 1 6 1 1 尔i f | 】池人学坝l “竽旺论殳 4 1 2c m m 的基本思想 c m m 的基本思想是,因为问题是由我们管理软件过程的方法引起的,所以新软f l :技术的 运用不会自动提高生产率和利润率。c 姗有助丁组织建立一个有规律的、成熟的软件过程。 改进的过程将会生产出质鼙更好的软件,使更多的软件项目免受时间和费用的超支之苦。 软件过程包括箨种活动、技术和州来生产软仆的:l :具。冈此,它实际上包括了软 :,i :生产 的技术方面和管理方面。c 删策略力图改进软什过科的管理,而在技术上的改进是其必然的 结果。 c 咖是一种用于评价软什承包能力并帮助改善软件质量的思想方法,它侧重丁软1 :,l :开发 过程管理及j i :程能力的提高利评估。c m m 分为5 个等级:基本级、重复级、确定级、管理级、 优化级m 。 第一级基本级软件过程是混乱无序的,对过程儿乎没有定义,成功依靠的是个人的才 能和经验,管理方式属于反应式; 第二级重复级建立、基本的项目管理米跟踪进度费用和功能特征,制定了必要的项 目管理,能够利用以前类似的项目府州取得成功,需求管理,项目计划,项目跟踪和监控, 软件子合同管理,软件配置管理,软件质量保障; 第三级确定级已经将软件管理和过程文档化,标准化,同时综合成该组织的标准软件 过程,所有的软件开发都使用该标准软件过程组织过程定义,组织过程焦点,培训人纲, 软机集成管理,软件产品工程,组织协调,专家审评: 第四级管理级收集软件过程和产品质量的详细度量,对软件过祥和产品质量有定量的 理解和控制,定量的软件过群管理和产品质量管理; 第五级优化级软件过程的量化反馈和新的思想和技术促进过程的不断改进,缺陷预 防,过程变更管理和技术变更管理。 除了第一级外,其他每一级由几个关键过程方面组成。每一个关键过程方面都由上述5 种公共特性予以表征。c 姗给每个关键过程了一些具体目标。按每个公共特性归类的关键惯 例是按该关键过程的具体目标选择和确定的。如果恰当地处理了某个关键过程涉及的全部关 键惯例,这个关键过程的各项目标就达到了,也就表明该关键过程实现了。这种成熟度分级 的优点在于,这些级别明确而清楚地反映了过程改进活动的轻重缓急和先后顺序。 对于c 删的作用归纳两个主要方面:科学地评价软件开发单位的软件能力成熟等级; 帮助软件开发单位进行自检,了解自己的强项和弱项,从而不断完善和改进单位的软件开发 1 7 l l j 尔娜池人。l i ! f ! l 学位论上 过程,确保软件质量,提高软什开发能效率。 除第一级外,s w c 嘲的每一级是按完全相同的结构构成的。每一级包含了实现这一级 目标的若干关键过程域( k p a ) ,每个k p a 进一步包含若干关键实施活动( k p ) ,无论哪个k p a , 它们的实施活动都统一按五个公共属性进行组织,即每一个k p a 都包含五类k p 。 1 目标每一个k p a 都确定了一组目标。若这坌i 目标在每一个项日都能实现,则说明企 业满足了该k p a 的要求。若满足了一个级别的所有k p a 要求,则表明达剑了这个级别所要求 的能力。 2 实施保证实施保证是企业为了建立和实施相应k p a 所必须采取的活动,这些活动主 要包括制定企业范同的政策和高层管理的责任。 3 实施能力实施能力是企业实施k p a 的前提条什。企业必须采取措施,在满足了这些 条件后,才有可能执行k p a 的执行活动。实施能力一般包括资源保证、人员培训等内容。 4 执行活动执行过科描述了执行k p a 所需求的必要角色和步骤。在五个公共属性中, 执行活动是唯一与项目执行相关的属性,其余四个属性则涉及企业c m m 能力基础设施的建 立。执行活动一般包括计划、执行的任务、任务执行的跟踪等。 5 度量分析度量分析描述了过程的度量和度量分析要求。典型的度量和度量分析的要 求是确定执行活动的状态和执行活动的有效性。 6 实施验证实施验证是验证执行活动是否与所建立的过程一致。实施验证涉及到管理 方面的评审和审计以及质量保证活动。 在实施c m m 时,可以根据企业软件过程存在问题的不同程度确定实现k p a 的次序,然后 按所确定次序逐步建立、实施相应过程。在执行某一个k p a 时,对其目标组也可采用逐步满 足的方式。过程进化和逐步走向成熟是c m m 体系的宗旨。 4 1 3c a 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 8 山尔! j f j 范j 、学坝i :! 位派之 的积弊。 实施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

提交评论