




已阅读5页,还剩60页未读, 继续免费阅读
(计算机应用技术专业论文)基于rup的质量管理系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着计算机应用领域的扩大,软件质量以及软件质量管理日益成为人们关注 的焦点。软件质量特性,反映了软件的本质。讨论一个软件的质量问题最终要归 结到定义软件的质量特性。为了定量地评价软件的质量,必须对软件质量特性进 行度量。本文从研究软件质量特性及其度量技术的角度出发,重点研究了如何利 用面向对象方法和r u p 框架进行软件开发;如何在基于r u p 的软件开发过程中, 对各个过程环节及软件产品的质量进行度量以及对各个环节及软件产品的度量模 型的研究。接下来介绍了质量度量的方法论,分析比较了现行软件质量度量模型, 提出了一种改进的面向对象度量的过程模型。并利用质量度量结果对软件质量进 行控制。 本文所涉及的研究内容是大连市科学技术局批准立项的“软件项目管理系统 的设计与实现”研究课题中的一个子课题,着重研究面向对象的基于r u p 的软件 质量度量技术。以及在软件开发的各个环节及软件产品的质量度量方法。并给出 了具体的实现方法和实现思路。 本文通过分析各个质量因素的特征与作用,给出了利用软件质量度量数据对 软件质量进行控制的基本方法和实现思路。作为软件质量管理系统的个实现结 果,依据各个质量度量数据生成的软件产品质量报告能够为软件项目管理者实施 项目管理决策,提供一个定量化的可靠依据,提高软件质量。 本课题的研究意义在于帮助软件企业根据项目的不同类型和质量要求进行软 件质量管理,逐步改进软件过程质量,增加过程控制的可见性,最终达到提高软 件产品质量,提高软件企业市场竞争力的目的。 实现结果表明,在质量管理系统中引入r u p 的概念,是一种提高软件质量的可 行方法。 关键词:软件质量管理;软件质量度量:软件过程:r u i ;u m l r e s e a r c ha n di m p l e m e n t a t i o no fs o f t w a r eq u a l i t ym a n a g e m e n t s y s t e m b a s e do nr u p a b s t r a c t a ss o f t w a r eb e c o m e sm o r ep e r v a s i v e t h eq u a l i t yo fs o f t w a r ei sm o r eo fv i t a l c o n c e r n m e n t s o f t w a r e q u a l i t yc h a r a c t e r i s t i c sr e f l e c tt h ee s s e n c eo fs o f t w a r e d i s c u s s i o no fas o f t w a r eq u a l i t yp r o b l e mu l t i m a t e l yu pt ot h ed e f f m i t i o no fs o f t w a r e q u a l i t yc h a r a c t e r i s t i c s f o rt h eq u a n t i t a t i v ee v a l u a t i o no fs o f t w a r eq u a l i t y , s o f t w a r e q u a l i t ya t t r i b u t e sm u s tb em e a s u r e d n l i sp a p e ri sf r o ms o f t w a r eq u a l i t yc h a r a c t e r i s t i c s r e s e a r c ha n dm e 删e m e n tt e c h n o l o g y p e r s p e c t i v e ,f o c u s i n g o nh o wt ou s e o b j e c t o r i e n t e ds o f t w a r ed e v e l o p m e n tm e t h o d sa n dr u pf r a m e w o r kt od e v e l o p s o f t w a r e h o wt om e a s u r e m e n tv a r i o u sp r o c e s s e st a c h ea n ds o f t w a r e p r o d u c t sa n dt h e r e s e a r c ho fm e a s u r e m e n tm o d e li nv a r i o u sp r o c e s s e sa n ds o t t w a r ep r o d u c t si nt h e p r o c e s so fs o f t w a r ed e v e l o p m e n tb a s e do nr u p n e x ti n l x o d u c e dq u a l i t ym e a s u r e m e n t m e t h o d o l o g y c o m p a r a t i v ea n da n a l y s i so fe x i s t i n gs o f t w a r eq u a l i t ym e a s u r e m e n t m o d e l a d v a n c e dak i n d o fp r o c e s sm o d e l si m p r o v i n gt h em e a s u r e m e n to b j e c t o r i e n t e d a n dt h eu s eo fs o f t w a r eq u a l i t ym e a s u r e m e n tr e s u l t so nt h eq u a l i t yc o n t r 0 1 t h i st h e s i si so n ep a r to far e s e a r c ht h e s i sn a m e d ”t h ed e s i g na n di m p l e m e n t a t i o n o fs o l b v a r em a n a g e m e n ts y s t e m f o c u so nt h eo b j e c to r i e n t e dr e s e a r c hb a s e do nr u p s o f t w a r em e a s u r e m e n tt e c h n o l o g y a n dt h eq u a l i t ym e a s l l r e m e n tm e t h o d si ns o f t w a r e d e v e l o p m e n to fv a r i o u sp r o c e s sa n ds o f t w a r ep r o d u c t s a n dp r o v i d i n gs p e c i f i cm e t h o d s a n dt h er e a l i z a t i o no f i d e a s b ya n a l y m n gt h ec h a r a c t e r i s t i c sa n d r o l eo f t h eq u a l i t a t i v ef a c t o r s ,g i v e nt h eu s eo f s o f t w a r eq u a l i t ym e a s u r e m e n td a t af o rs o f t w a r eq u a l i t yc o n t r o lm e t h o d sa n da c h i e v e b a s i ci d e a s a sas o f t w a r eq u a l i t ym a n a g e m e n ts y s t e mt oa c h i e v er e s u l t s ,t h eq u a l i t yo f m e a s u r e m e n td a t ag e n e r a t e do nt h eb a s i so fv a r i o u ss o f t w a r ep r o d u c tq u a l 畸r e p o r tt o t h ep r o j e c tm a n a g e rf o rt h ei m p l e m e n t a t i o no ft h ep r o j e c tm a n a g e m e n ts o f t w a r e d e c i s i o n - m a k i n g ,p r o v i d eas o l i db a s i sf o rt h eq u a n t i f i c a t i o n e n h a n c et h eq u a l i t yo f s o f t w a r e n l es i g n i f i c a n c eo ft h er e s e a r c ht o p i c si st oh e l ps o f t w a r ee n t e r p r i s e sb a s e do nt h e d i f f e r e n tt y p e sa n dq u a l i t yo ft h ep r o j e c tc a l l sf o rs o a r eq u a l i t ym a n a g e m e n t ,a n d g r a d u a l l yi m p r o v et h eq u a l i t yo fs o l t w a r ep r o c e s s e sa n di n c r e a s et h ev i s i b i l i t yo ft h e c o n t r o lp r o c e s s ,i no r d e rt ou l t i m a t e l ya c h i e v ei m p r o v e dq u a l i t ys o f t w a r ep r o d u e t st o e n h a n c ee n t e r p r i s es o f t w a r em a r k e tc o m p e t i t i v e n e s s t h er e s u l to ft h ei m p l e m e n ts h o w st h a ti ti sf e a s i b l em e t h o dt or e a l i z eh i 曲q u a l i t y s o f t w a r et h a tp u tr u pi n t oq u a i i t ym a n a g e m e n ts y s t e m , k e yw o r d s :t h em a n a g e m e n t o fs o f t w a r eq u a l i t y :s o f t w a r eq u a l i t y m e a s n r e m e n t ;s o f t w a r ep r o c e s s :r a t i o n a lu n i f i e dp r o c e s s :u n i f i e dm o d e l i n g l a n g u a g e 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果,撰写 成博士顾士学位论文“基王墼旦的厦量萱堡丕统数堡究墨塞理”。除论文中已经 注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中以明 确方式标明。本论文中不包含任何未加明确注明的其他个人或集体己经公开发表 或未公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名:髹锶护占年岁月哆日 学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、 版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于;保密口 不保密口( 请在以上方框内打“4 ”) 论文作者签名:燃、导师签名 日期:乃辨叫自 第1 章绪论 1 1 研究背景 面对不断变化和激烈竞争的市场,软件产品质量己成为软件开发公司或企业 能够保持其长期优势和获得更多用户的关键。很多软件企业拥有优秀的软件人才 和先进的工具与方法,但是仍然没有生产出高质量的软件,其主要原因就是缺乏 有效的管理。软件开发过程不可能是线性的。在软件开发过程中,有各种各样的 要素可能会影响软件质量,比如用户需求变化,版本控制问题,项目交付滞后, 设计中有错误,技术难题不能克服等。如果项目组不能很好地处理和控制这些要 素,那么就不可能得到高质量的软件。经验表明,提高软件质量有三种基本途径, 即提高软件人员的素质、采用好的方法和技术以及加强软件过程中的管理。 本文所研究的内容来源于大连市科学技术局批准立项的研究课题“软件项目 管理系统的设计与实现”,项目编号为2 0 0 3 a 3 g x 0 3 2 。本文所研究的软件质量管理 子系统是软件项目管理系统中的重要子系统之一,开展本课题的研究将有助于软 件开发过程的规范化、控制与提高软件质量,最终得到高质量的软件产品。本文 在对现有软件质量模型及度量模型进行分析的基础上,通过基于u m l 的以r u p 为指导的业务建模过程,分析质量管理系统中所涉及到的u m l 建模行为以及相关 的人员、产品、文档,最终得到一个标准化的业务建模过程,进而促进业务建模 过程的规范化、标准化、工程化和可控性。同时,依据研究结果,设计一个质量 管理系统的体系架构并选择适当的工具加以实现。本课题的研究目标就是试图为 软件企业提供一个有效的软件质量管理的工具,以便软件企业对软件质量进行有 效的控制和管理。 1 2 国内外现状分析 自上个世纪6 0 年代软件危机爆发以来,人们对如何提高软件质量,保证项目 成功等问题,一直在进行不懈的探索和实践。在三十多年的软件实践和总结中, 人们己认识到,采用系统化、规范化、数量化等工程原则和方法,去进行软件的 开发和维护,是解决软件危机,开发高质量软件的有效途径。 然而,软件工程技术的研究和应用,在国内、外的软件行业界存在的差距还 是比较明显的。 软件质量保障和控制技术在软件发达国家受到高度重视。从先进的开发技术 ( 如分布式技术、面向对象技术、软构件技术、可复用技术、嵌入式系统技术等) 的研究和运用。到软件质量保障技术( 如软件测试理论、各种软件测试技术、软件 可靠性模型,软件缺陷预测与预防) 的探索和实践;从最初的软件开发工具( 如程序 编辑环境,运行调试环境) 到现在对软件开发生命周期的支撑环境( 如项目计划工 具、需求分析工具、设计建模工具、测试工具、配置管理工具等) 的研发和使用: 从各种软件开发过程模型( 如瀑布模型、螺旋模型、r u v ) 的实践与总结,到软件开 发规范及工程标准f 如i s 0 9 0 0 0 0 ,c m m ) 的制定与完善等,所有这些无一不反映出 软件项目干系人对于高效率开发高质量软件的不懈追求。同时,先进的工程技术 和方法己经在软件发达国家的i t 企业中得到了普遍的应用,软件项目干系人自觉 地按照系统化、规范化、数量化的工程原则和方法去组织软件的丌发和维护,很 重视软件开发过程中的质量控制。在很多著名的软件开发机构内,已经形成了自 己独特的开发规范和管理模式,建立了有企业特色的质量保障体系。如微软有名 的“日创建”螺旋式开发模式,b o r l a n d 公司的迭代增量的开发方式等,都是不错的 案例。 就软件测试而言,国外在软件测试理论和技术上均取得了很大的成果,形成 了一套较为完善的软件测试理论体系( 如用于论述软件测试充分性的w e y u k e r 公理 系统等) 、测试层次划分法( 将测试划分为单元测试、集成测试、确认测试、系统测 试) 和较为系统的软件测试方法。其中,软件测试方法日趋成熟和多样化,如生产 测试用例的方法有边界值分析法、等价划分法、错误推理法等;用于单元测试的 方法有控制流测试方法、数据流测试方法、分域测试法等。此外,还有自顶向下 或自底向上的集成测试策略以及用于功能测试、随机测试的系统测试方法等。 与先进国家相比,我国软件业的差距甚远,其主要原因是软件工程化技术没 有得到广泛的应用。由于软件开发不再是软件开发人员的个入行为而是团队行为, 因此对于软件开发机构而言,如何在要求的时间内和合理的投资下,保质保量地 交付软件产品是一个巨大的挑战。放眼国内,虽然近几年出现了如东大阿尔派、 用友、联想、托普等一批规模较大,信誉较好的软件企业,但由于我国软件开发 起步较晚,绝大多数软件企业的运作还是小作坊式的生产模式,“小、散、软”的缺 陷一直没有得到根本解决。软件开发的过程五花) t i g ,没有一套科学的软件质量 管理和控制系统来进行规范。最初的企业成功,靠的是软件精英和个人英雄主义 的支撑,而这些精英一旦离开企业,项目和企业受到的影响将十分巨大。另外, 软件开发中普遍存在着“重代码,轻文档”,产品复用性差,升级换代费用高的弊端, 且由于项目需求的不够清晰,造成返工或延误的现象也比比皆是。随着企业规模 的扩大与开发人员的增多,由开发随意和管理不规范带来的弊端就越来越突出, 使得软件质量低下,甚至可能导致软件项目的失败。 1 3 主要研究内容及方法 本课题的研究内容是开发一个目标驱动的质量管理系统,在对现有软件质量 模型及度量模型进行分析的基础上,通过基于u m l 的以r u p 为指导的业务建模 过程,分析质量管理系统中所涉及到的u m l 建模行为以及相关的人员、产品、文 档,最终得到一个标准化的业务建模过程,进而促进业务建模过程的规范化、标 准化、工程化和可控性。同时,依据研究结果,设计一个质量管理系统的体系架 构并选择适当的工具加以实现。本课题的研究目标就是试图为软件企业提供一个 有效的软件质量管理的工具,以便软件企业对软件质量进行有效的控制和管理。 系统设计和实现过程中着重解决软件开发过程中的质量、产品质量的度量问 题,希望通过该研究成果增加软件开发过程的可视性和可控性。 本课题在设计中采用了b s 结构,使用了跨平台语言j a v a ,应用了m v c 等 多种模式,使系统更好地支持网络环境下的团队协同工作,提高团队协作和开发 效率。 1 4 论文的章节结构 本文研究了以r u p 为基础,在分析比较了现行软件质量度量模型的基础上, 提出了一种新的面向对象的质量度量过程模型。 本文分为六章: 第一章绪论。本章首先介绍软件质量管理的研究背景和意义,然后分析了国 内外软件质量管理的研究现状,最后说明了本课题主要研究内容。 第二章软件质量管理的相关理论。本章主要论述软件质量的定义、软件过程 与质量、全面质量管理、u m l 的主要内容及建模过程以及r a t i o n a l 统一过程等。 第三章面向对象的软件度量及其度量模型。本章主要论述软件质量度量概念 及其面向对象的软件质量度量的理论、方法,并在分析现有质量模型和度量模型 的基础上,提出了一个改进的软件质量度量过程模型。 第四章基于r u p 的软件质量度量系统的设计。本章主要论述软件质量管理系 统的体系架构设计,并对所提出的软件质量度量的模型与方法,进行较为详细的 深入的研究,在分析、研究的基础上进行设计。同时,对系统的主要功能作较为 详细的论述。 第五章软件质量管理系统的实现。本章主要论述所设计的软件质量度量模型 子模块的主要实现方法与过程,设计系统的数据库,并给出具体的实现结果a 第六章结论。对本文所论述的主要研究工作进行总结,并提出今后进一步研 究的方向与内容。 4 第2 章软件质量管理的相关理论 2 1 软件质量的定义 到目前为止,学术界还没有给出软件质量的统一的、惟一的定义,不同的系 统或不同的人,可能会有不同的定义。本文给出的定义是:软件质量是软件产品 满足客户( 买主、使用者和维护者) 需求的一组可度量的特性【”。从上述这个简明的 定义中可以看出: ( 1 ) 软件质量是软件产品的属性。 ( 2 ) 定义软件产品质量的特性可以有许多。 不同的客户对质量的需求是不同的。客户应该确定他们要求哪些质量特性, 并且确定如何度量它们。 需要指出,对于不同的软件系统,软件的质量特性未必完全相同,而且对不 同系统的同一个特性,是否满足要求的度量标准也不一定相同。 2 。2 软件过程与质量 按照i e e e 的定义,过程( p r o c e s s ) 是针对目标的一系列步骤。s e i 定义软件过 程( s o f t w a r ep r o c e s s ) 为人们用于开发和维护软件及其相关产品的一系列活动、方 法、实践和转换 2 1 。 现代工业生产的主要特点之一就是生产过程标准化、规范化和自动化。任何 产品的生产都是由具体的过程来完成的,过程是开发某种产品、实现某种任务的 系统化的手段。同样,软件产品的开发也是由具体的软件开发过程来完成的,软 件开发过程的质量在很大程度上决定了所产生的软件产品的质量和软件生产率p j 。 定义完整的软件过程有利于开发人员对软件的理解,也有利于开发小组成员 之间的交流及项目的控制,还可以约束软件人员,保证软件质量。高效的软件开 发需要参与开发的所有人员都能充分了解软件开发的过程及过程进行的状态。软 件过程技术试图通过某种形式化手段对软件开发过程加以严格描述,为开发人员 提供一个标准的、无歧义的软件开发规范,使他们之间能更有效地进行交流a 通 过在计算机上执行所描述的软件过程,项目管理人员可以对实际的软件开发过程 进行监控,从而保证实际的软件开发过程按规定的方式和步骤进行。 软件过程技术作为一种软件开发的管理方法,通过应用相应的支持系统,对 规范软件开发、提高软件质量具有很大的益处。尽管高质量的软件过程并不能保 证一定生产出高质量的软件产品,但研究软件过程并制定高质量的软件过程,能 够规范软件开发的活动细节,使得软件开发机构能够依靠严格细致的管理来组织 软件的生产,降低特殊原因( 如。个人的工作误差等) 而导致产品缺陷的可能性,达 到持续稳定的软件开发【”。 随着软件质量体系的发展,软件过程特性的作用越来越明显,不论是对软件 项目,还是对软件企业而言,从过程、管理的方面评价软件开发应该成为评价软 件质量的一个重要方面。因此。在本文中考虑将软件的过程特性引入到软件质量 的评价中。 2 3 全面质量管理 全砸质量管理是一套能够控制质量,提商质量的管理技术。它要求综合、灵 活地运用各种有效的管理方法和手段。从而有效地利用企业资源,生产出满足顾 客需要的产品。 美国质量管理专家戴明博士首先提出的p d c a 循环( 又叫戴明环) 是全面质量 管理所应遵循的科学程序。p d c a 循环即p l a n - d o c h e c k - a c t i o n 循环,它有四个阶 段。第一阶段是计划,它包括分析现状、找出存在问题的原因、分析产生问题的 原因、找出其中主要原因、拟订措施计划、预计效果五个步骤;第二阶段是实施, 即执行措施计划;第三阶段是检查,把执行的结果与预定目标对比,检查计划执 行情况是否达到预期效果;第四阶段是演进,即巩固成绩,把成功的经验尽可能 纳入标准,进行标准化,对邃餐问题转入下一个p d c a 循环去解决。全面质量管 理活动的全部过程,就是质量计划的制订和组织实现的过程,这个过程是按照 p d c a 循环周而复始地运转的。 目前,全面质量管理的很多方法和技术引起了广泛的重视,并在实践中发挥 了重要的作用,包括统计质量控制技术和方法、水平对比法、质量功能展开( q f d ) 、 六西格玛法等口】。 我国从1 9 7 8 年推行全面质量管理以来,在理论和实践上都有一定的发展,并 取得了成效,这为贯彻实施i s o9 0 0 0 系列国际标准奠定了基础。同时,i s o9 0 0 0 系列国际标准的贯彻和实施,又为全面质量管理的深入发展创造了条件。 2 4u m l 及其建模过程 统一建模语言( u n i f i e dm o d e l i n gl a n g u a g e ,u m l ) 是对面对象建模语言深入 进行研究的结果。从最早的面向对象语言到最新版本的u m l ,经历了一个较为漫 长的过程。u m l 由g r a d yb o o c h 、j a m e sr u m b a u g h 和i v a rj a c o b s o n 等人创建, 之后由对象管理组织( o m g ) 在1 9 9 7 年进行标准化 6 1 。 2 4 1 统一建模语言的内容 作为一种统一建模语言,u m l 的定义包括u m l 语义和u m l 表示法两个部分。 ( 1 ) u m l 语义描述基于u m l 的精确元模型定义。元模型为u m l 的所有元素 在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取 得一致,消除了因人而异的最佳表达方法所造成的影响。此外u m l 还支持对元模 型的扩展定义。 ( 2 ) u m l 表示法定义u m l 符号的表示法,为开发者或开发工具使用这些图形 符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级 的模型,在语义上它是u m l 元模型的实例。 标准建模语言u m l 的重要内容可以由下列五类视图( 共9 种图形) 来定义: 第一类是用例视图( u s ec a s e ) ,从外部用户的角度捕获系统、子系统或类的行 为,其图形表示是用例图。 u m l 将系统功能划分为对活动者( 系统的理想用户) 具有意义的事务。这些功 能片被称为用例。用例通过系统与一个或多个活动者之间的一系列消息描述了与 活动者的交互。活动者包括人员、其它的计算机系统或进程。 第二类是静态视图( s t a t i cd i a g r a m ) ,包括类图、对象图和包图。 类图描述的是一种静态关系,在系统的整个生命周期都是有效的。类图描述 系统中类的静态结构,不仅定义了系统中的类及类之间的联系如关联、依赖、聚 合等,而且包括类的内部结构( 类的属性和操作) 。 对象图是类图的实例,一个对象图是类图的一个实例。对象图几乎使用与类 图完全相同的标识,但与类图的不同点在于对象图显示类的多个对象实例,而不 是实际的类。由于对象存在生命周期,因此对象图只能在系统的某一时间段内存 7 在。包图由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。 第三类是行为视图( b e h a v i o rd i a g r a m ) ,描述系统的动态模型和组成对象间的 交互关系,包括状态图和活动图两种类型。 状态图描述类对象所有可能的状态以及事件发生时状态的转移条件。通常, 状态图是对类图的补充。在实际工作上,有时并不需要为所有的类画状态图,只 需为那些有多个状态且其行为受外界环境的影响而发生改变的类图画状态图。 活动图描述满足用例要求所要进行的活动以及活动间的约束关系,它有利于 识别并行活动。 第四类是交互视图( i m e r a c t i v ed i a g r a m ) ,描述对象间的交互关系,包括顺序图 和合作图两种类型。 顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同 时显示对象之间的交互。 合作图描述对象之间的协作关系,合作图与顺序图相似,显示对象间的动态 合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。如果强 调时间和顺序,则使用顺序图;如果强调对象间关系,则选择合作图。这两种图 统称为交互图。 第五类是实现视图( i l p l e m e n t a t i o nd i a g r a m ) 7 1 ,是系统体系结构视图,图中包 括用来装配合发布实际系统所用的构件;实现视图侧重于描述系统发布版本的配 置管理,各独立部件如何通过不同的方法装配成可运行系统。 2 4 2u m l 的建模过程 u m l 的目标是以面向对象图的方式来描述任何类型的系统,所以具有很宽的 应用领域。其中,最常见的是利用它来建立软件系统的模型,但它同样可以用于 描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据 的信息系统、具有实时要求的工业系统或工业过程等。此外,u m l 适用于系统开 发过程中从需求规格描述到系统完成后测试的不同阶段。 在需求分析阶段,可以用用例来捕获用户需求,通过用例建模描述对系统感 兴趣的外部角色及其对系统( 用例) 的功能要求。 分析阶段主要关心问题域中的主要概念( 如抽象、类和对象等) 和机制,需要识 别这些类以及它们相互问的关系,并用u m l 类图来描述8 1 。为实现用例,类之间 需要协作,这可以用u m l 动态模型来描述。在分析阶段,只对问题域的对象( 现 实世界的概念) 建模,不考虑定义软件系统中技术细节的类( 如处理用户接口、数据 库、通讯和并行性等问题的类) 、这些技术细节将在设计阶段引入,因此设计阶段 为构造阶段提供更详细的规格说明。 编程( 构造) 是一个独立的阶段,其任务是用面向对象编程语言将来自设计阶段 的类转换成实际的代码。在用u m l 建立分析和设计模型时,应尽量避免考虑把模 型转换成某种特定的编程语言。因为在早期阶段,模型仅仅是理解和分析系统结 构的工具,过早地考虑编码问题十分不利于建立简单正确的模型。 u m l 模型还可作为测试阶段的依据。系统通常需要经过单元测试、集成测试、 系统测试和验收测试。不同的测试小组使用不同的u m - l 图作为测试依据;单元测 试使用类图和类规格说明;集成测试使用合作图;系统测试则用用例图来验证系 统的行为:验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确 定的需求。 标准建模语言u m l 适用于以面向对象技术来描述任何类型的系统,且适用于 系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。 2 5r a t i o r l a i 统一过程 u m l 是一种建模语言而不是一种方法,u m l 的表示法和规则能够用来为系 统进行面向对象建模,但并没有指定应用u m l 的过程和方法。1 9 9 8 年正式颁布 的r u p ( r a t i o n a lu n i f i e dp r o c e s s ) 是u m l 设计者们共问定义的一个软件开发的公共 过程框架。r u p 是一个使用生命周期迭代法的软件开发过程。它提供了在一个开 发团队内分配任务和职责的一套严格的方法。它的目标是在可预测的进度和预算 内完成高质量软件的生产,满足用户的需要。 2 5 1 统一过程的基本特点 可以概括为一句话:用例驱动的,以构架为中心的,迭代和增量的软件开发 过程【s l 。 ( 1 ) 用例驱动( u s ec a s ed r i v e n ) 开始一个项目,往往是从收集用户需求开始的。u m l 中使用“用例”来捕获系 统的功能需求。然而,用例并不仅仅是一种定义系统需求的工具,根据o o s e 的 思想,它们还驱动系统的设计、实现和测试。也就是说,它们能够驱动整个开发 过程。基于用例模型,软件开发人员创建一系列的设计和实现模型来实现各种用 例。开发人员审查每个后续模型,以确保它们符合用例模型。测试人员将测试软 件系统的实现,以确保实现模型中的组件正确实现了用例。这样用例不仅启动了 开发过程,而且与开发过程结合在起。“用例驱动”意味着开发过程将遵循一个流 程:它将按照一系列由用例驱动的工作流程来进行。首先是定义用例,然后是设 计用例,最后,用例又成为测试人员构建和测试案例的来源。尽管确实是用例在 驱动整个开发过程,但是实际工作中并不能孤立地选择用例,用例的选择必须与 系统架构协同开发,也就是说,用例驱动系统架构而系统架构反过来又影响用例 的选择。因此,随着生命期的继续,系统架构和用例都将逐渐成熟。 ( 2 1 以构架为中心 在r u p 中,软件系统的构架是指系统重要组件的组织或结构,这些重要组件 通过接口与那些由不断减小的组件与接口所构成的组件进行交互。构架具有以下 作用: 帮助理解系统。r u p 使用u m l 可视化建模系统的构架,并以构架为中心进 行开发,这使得项目干系人能够详细地理解所需要做的工作,以便参与系统的开 发。 有助于组织系统。构架设计师通过将系统划分为带有明确定义接口的子系 统,并让开发小组负责每个子系统,可以显著减少开发组之间交流的工作量,而 且接口双方的软件可独立地进化。 有助于重用好的构架。架构为开发人员提供了可以在其上开展工作的稳定 的骨架,它有助于开发人员知道在哪里能有效地找到可重用的元素以及发现合适 的可重用的组件。 有助于系统进化。一个具有稳定构架的系统,在分析和设计时就考虑到系 统的进化需求,从而就具有了一定的容变能力,可以适度地进行进化。 ( 3 ) 迭代增量开发 迭代是指带有己建立基准的计划和评估准则的独特活动序列,迭代生成系统 的内部或外部发布版。增量是指在后续迭代结束后,两个发布版本之间存在的差 异( 差值) 9 1 。在r u p 中,软件的生命周期是由一系列迭代组成的,这些迭代都是由 软件项目分解成的许多袖珍项( n f i n i - p r o j e c o 。每个迭代都产生以内部版本形式交 付的实际结果,其中每个内部版本会增加一个增量并表明所关注的风险得以降低。 这些版本可以展示给客户,从而获得有价值的反馈以确认工作成果。早期阶段的 迭代主要是关注确定项目的范围,消除关键风险和建立系统构架基准。后期迭代 则不断增加增量结果,直到得到一个可对外发布的产品。迭代有助于管理层规划、 组织、监控和控制项目。 迭代和增量开发具有以下的些优点 ( 1 ) 允许变更需求; f 2 ) 允许持续的集成; ( 3 ) 及早降低风险: ( 4 ) 有助于组织学习和提高; ( 5 ) 提高复用性; ( 6 ) 生成性能更强壮的产品。 第3 章面向对象的软件度量及其度量模型 软件度量是软件工程内一个非常活跃的领域,迄今为止已经有三十多年的历 史了。软件度量领域内的研究人员基本上可分为两大阵营:一类认为软件是可以 度量的,另一类则认为软件是无法度量的。大多数研究人员都非常关心软件的质 量并且需要将之量化。到目前为止,研究人员和实践人员己提出了很多种度量方 法,并且公开发表了超过千篇的与软件度量相关的文章。 3 1 软件度量的发展过程 软件度量的研究始于1 9 6 0 年代,形成于1 9 7 0 年代,在1 9 8 0 年代和1 9 9 0 年 代得到了进一步的发展。软件度量的早期工作主要集中在复杂性度量上,其主要 度量内容可分为程序结构复杂性度量、计算复杂性度量、逻辑复杂性度量、概念 复杂性度量和文本复杂性度量等。 到了1 9 8 0 年代末期,人们开始研究面向对象环境中的软件度量。面向对象程 序设计方法强调数据抽象、可扩充性和代码复用等软件工程原则,特别有利于大 型、复杂软件系统的生成。 3 2 软件度量理论 为了在软件开发和维护的过程中定量地评价软件质量,必须对软件质量特性 进行度量,以测定软件具有对所要求质量特性的满足程度。 3 2 1 软件度量的概念 i e e e 在“s t a n d a r d f o rs o l , w a r e q u a l i t y m e t r i c s m e t h o d o l o g y , i e e e s t d 1 0 6 1 - 1 9 9 2 ,1 9 9 3 中对度量( m e t r i c s ) 和测量( m e a s u r e 、m e a s u r e m e n t ) 分别给出定 义: 度量( m e t r i c s ) 是一个函数,它的输入是软件数据,输出是单一的数值,能用以 解释软件所具有的一个给定属性对软件质量影响的程度。软件质量度量是对影响 软件质量的属性所进行的定量测量【1 0 l 。 软件度量活动的结果不一定能直接应用。例如对引入的缺陷数据按时间进行 收集,得到一个数值系列,对于这个结果,简单的看是数据,很难分析出软件的 过程特征。为便于分析、理解,通常用指标来表现度量活动的结果,它是对于一 个度量结果或者多个度量结果的组合,并采用一些易于理解的形式,使人们对于 过程、系统、项目、产品能有更深入的理解。 3 。2 2 软件度量的分类 软件度量根据度量对象的不同一般可分为过程度量、项目度量和产品度量三 种类型。 ( 1 ) 过程度量 过程度量是对于软件开发过程本身的度量,目的是形成组织的各种模型,作 为对项目、产品的度量基础,并对软件开发过程进行持续改进以提高软件生产 力。过程度量往往不是直接进行,而是通过大置的项目度量分析、总结得出来的。 典型的过程度量有c m m 和髓,a 的度量等。 ( 2 ) 项目度量 项目度量是对于软件开发项目的特定度量,目的是评估项目开发过程的质量, 预测项目进度、工作量等,辅助管理者进行质量控制和项目控制。 ( 3 ) 产品度量 产品度量是对项目开发结果最终产品的度量。一般而言,产品度量是指对产 品的质量度量。 过程度量与项目度量的区别就在于:过程度量是战略性的,针对组织范围内 进行,是组织大量项目实践的总结和模型化,对于项目度量提供指导意义:而项 目度量是战术性的,针对具体的项目进行预测、评估、改进项目的工作。产品度 量是对产品质量的度量,用于对产品质量的评估和预测。 常用的质量度量包括软件可靠性度量、软件复杂度度量、软件缺陷度量、软 件规模度量等。 项目度量是过程度量的基础。许多度量手段既可以用于项目度量,又可以用 于过程度量。因此,本文对二者不加区分。 3 2 3 统一的度量框架 软件度量在软件工程中的应用领域十分广泛,几乎涉及到了软件生命周期的 各个部分。在软件度量的研究过程中,不同的研究者从不同的角度设计度量模型, 提出度量指标。在几十年的发展中,这种情况出现的如此之多,以至于人们无法 把它们很好的归纳在起。人们急需要一种从整体上全面把握各种度量功能实质, 明确度量目标和对象,理湾度量阃的关系,界定度量范围,明确使用条件的方法 模型,这就是软件度量框架。 ( 1 ) 测量过程 软件过程是随时间延伸而伴随软件存在的任何相关活动。对过程进行测量的 基本出发点是:一方面,软件产品质量的高低直接反映了软件过程的成功与否: 另一方面,直接对软件过程的度量反映了软件过程质量的高低,直接影响软件产 品的质量好坏。大粒度的过程测量如c m m 等,小粒度的如测试活动的效率等。对 过程的测量可分为两种:项目内测量和项目级测量。前者是针对一个项目过程的 各个阶段,反映过程迸行情况,后者则是根据不同项目的情况,获得不同过程对 产品质量的影响,为过程改进提供指导和证据。软件供应商是过程测量的主要推 动者。 ( 2 ) 测量产品 软件产品是伴随软件开发过程中的任何成品或文档。软件产品的测量和其他 测量比较,是对软件质量水平的衡量更直接、更简单的方法,所以获得了最为广 泛的研究和应用。对于用户来讲,他们只关心产品的质量特性如何,并不关心采 用哪种开发过程。对产品的测量主要包括:软件质量评估、出错检测、可靠性评 估、项目风险或集中于设计和代码、软件设计的复杂度、程序规模、面向对象的 设计和代码、功能点度量等。 ( 3 ) 测量资源 资源是投入到软件开发过程中的有形或无形的事与物的总称。对资源的测量, 主要关注人员素质、人员变动、环境等诸多因素对产品质量的影响,例如,环境 噪音水平、被打断的次数、办公室的空间大小等对个人生产率的影响;个体不同 所实现代码的复杂度不同;有经验的软件工程师与缺乏经验的工程师之间查找错 误花费时间的差异;非入力资源因素的测量,包括预算、日程表的估计、人力成 本的估计等。 3 2 4 软件质量度量的过程 软件质量特性度量分为预测型和验收型。预测度量是指利用定量的或定性的 方法,在软件开发过程中对软件质量特性进行评估,以得到软件质量的比较精确 的值。预测度量有两种:是尺度度量,这种度量是一种定量度量,适用于一些 能够直接度量的编码阶段的复杂性度量;二是二元度量,这种度量是一种定性度 量,适用于一些只能间接度量的特性,如可使用性、灵活性等。验收度量则是对 预测度量的一种确认,是对开发过程中的预测进行评价。验收度量是指在软件开 发各阶段的检查点,对软件的要求质量进行确认性检查的一种度量方法。 科学、综合且全面的评价软件质量需要遵循以下几个过程: ( 1 ) 建立软件质量模型和质量需求标准 在建立模型时,需要定义质量特性,在综合考虑了软件环境反应的特性后, 可以为软件质量特性规定一个原始的需求标准。质量需求指标反映了该质量对软 件的相对重要性,实际工作中有可能对质量需求指标进行调整。质量特性之间也 可能存在矛盾,对用户所规定的质量需求有时不一定能得到满足,所以质量需求 定义的第二步工作就是在综合考虑特性值间的关系后,对用户规定原始需求迸行 合理的调整,使其更切实可行。 质量特性的度量依据各个子特性的值和权重,因此需要对质量子特性作加权 处理,即设定属于每个质量特性的子特性及其权值。质量子特性的权值表明了该 予特性在特性中所占的比重。对每个定义了质量需求指标的特性,找出其所有指 标的特性和其所有子特性并为这些子特性加权。一个特性的加权矢量为: w = ( w l ,w 2 ,w i ) ( 3 1 ) 其中,w i 是第j 个子特性的权值。 ( 选定适用于给定质量因素的软件质量度量方法 实现软件质量度量认定的度量方法应该是可跟踪的、一致的,其度量的准确 度( 在某种范围之内) 是可预测的,且具有分辨力,即对不同质量产品测量的结果是 有所区别的。 ( 3 ) 实现软件质量度量 获取开发工具
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 材料力学复试题及答案
- 如何有效提高商务英语写作水平试题及答案
- 小学生算术试题及答案
- 教师教育教学反思与交流沟通试题及答案
- 新能源汽车的经济效益与环境效益试题及答案
- 深入探讨商务英语职业素养及相关试题试题及答案
- 节拍的种类与识别难题试题及答案
- 考事业编制的试题及答案
- 教师教学模式的反思与创新试题及答案
- 施工现场安全政策与实施效果试题及答案
- 空间中的垂直学案高三数学一轮复习
- 重庆江北国际机场有限公司招聘笔试题库2024
- ipv6升级改造建设方案
- 大学生英语四级真题模拟试卷5份
- 单位反恐专项经费保障制度
- 羽毛球比赛对阵表模板
- 2024年上海市中考数学真题试卷及答案解析
- 统编版2023-2024学年语文三年级下册第五单元导读课教学设计
- 2024年陕西延长石油(集团)有限责任公司校园招聘考试试题参考答案
- 地籍测量成果报告
- 客车防雨密封性要求及试验方法
评论
0/150
提交评论