(计算机软件与理论专业论文)数据仓库建设中的软件过程.pdf_第1页
(计算机软件与理论专业论文)数据仓库建设中的软件过程.pdf_第2页
(计算机软件与理论专业论文)数据仓库建设中的软件过程.pdf_第3页
(计算机软件与理论专业论文)数据仓库建设中的软件过程.pdf_第4页
(计算机软件与理论专业论文)数据仓库建设中的软件过程.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(计算机软件与理论专业论文)数据仓库建设中的软件过程.pdf.pdf 免费下载

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

文档简介

数据仓库建设中的软件过程 摘要 本论文的主要目的是从软件过程的角度对目前数据仓库建设领域的理论与实践 进行研究与探讨。论文的具体内容如下: 本文首先研究了软件过程、软件过程模型相关的概念以及软件过程的建模方法, 同时对软件过程相关的一些国际标准、产品等进行了分析与总结,如i s 0 9 0 0 0 系列 标准,c m m ( 能力成熟度模型) ,r u p ( r a t i o n a l 统一过程) 等。然后阐述了数据 仓库的概念、特点与开发过程,介绍了一些影响比较广泛的数据仓库开发方法学方 面的内容,并对这些开发步骤和方法论与软件过程模型之间的关系进行了简单的讨 论。 在以上研究的基础上,作者以实际的数据仓库项目为例,对数据仓库建设中的 软件过程进行研究与讨论,并在此基础上提炼出一个针对具体项目的软件过程模型。 最后,论文对有关工作及工作过程中面临的主要问题和困难作了总结,并提出 了有关下一步工作的一些建议。 关键词:软件过程,数据仓库,过程模型 北京邮电大学硕士学位论文 墼堡垒壁塞堡塑鏊堡垫墨 t h es o f t w a r ep r o c e s so fd a t aw a r e h o u s ed e v e l o p m e n t a b s t r a c t t h em a i np u r p o s eo ft h i sp a p e ri st os t u d yt h es o f t w a r ep r o c e s si nt h ed e v e l o p m e n tp r o c e s so f d a t aw a r e h o u s e t h ep a p e r sc o n t e n ta r ed e s c r i b e di nd e t a i l e ds u b s e q u e n t l y t h er e l a t e db a c k g r o u n di si n t r o d u c e df i r s t t h e nt e c h n o l o g i e sa n dc o n c e p t so ns o f t w a r ep r o c e s s a n dp r o c e s sm o d e la r ci n t r o d u c e da n ds o m er e l a t e ds t a n d a r d sa n dp r o d u c t sa r es t u d i e d , i n c l u d i n g i s 0 9 0 0 0 c m m ( c a p a b i l i t ym a t u r i t ym o d e l ) a n dr u p ( r a t i o n a lu n i f i e dp r o c e s s ) t h ec o n c e p t so f d a t aw a r e h o u s ea r ed e s c r i b e di nd e t a i lf o l l o w o d t h e oad e v e l o p m e n t p r o c e s sa n dad a t aw a r e h o u s e m e t h o d o l o g ya l eg i v e nw i t l las h o r td i s c u s s i o n s u b s e q u e n t l y , b a s e do nt h ei n v e s t i g a t i o no f s o f t w a r ep r o c e s sa n dd a t aw a r e h o u s et e c h n o l o g y , t h e a u t h o rs t u d i e st h es o f t w a r ep r o c e $ $ o fat d e c o mo p e r a t o r sp r o j e c to fu n i f i e db u s i n e s si n f o r m a t i o n s e r v i c e ss y s t e m ( u b i s ) a n dg i v e sas o f t w a r ep r o c e s sm o d e lo f u b i sd e v e l o p m e n t t h el a s tp a r to f t h ep a p e ri st h ec o n c l u s i o no f t h ep a p e ra n ds o m es u g g e s t i o n st of u r t h e rr e s e a r c h w e r k k e y w o r d s :s o f t w a r ep r o c e s s ,d a t aw a r e h o u s e ,p r o c e s sm o d e l 北京邮电大学硕士学位论文 数据仓库建设中的软件过程 1 1 论文背景 第1 章绪论 上个世纪末以来,全球信息量以令人惊讶的速度急剧增长。据估计,每二十个 月将增加一倍。许多组织机构的i t 系统中都收集了大量的数据( 信息) ,而目前的 数据库系统虽然可以高效地实现数据的录入、查询、统计等功能,但无法发现数据 中存在的关系和规则,无法根据现有的数据预测未来的发展趋势。因此,9 0 年代末 以来,国内外掀起了一股数据仓库的热潮,各大数据库公司纷纷开发自己的数据仓 库产品,还有很多公司开发了相关的分析工具,数据仓库技术作为一种决策支持的 手段为越来越多的企业接受。 近年来,随着市场环境、竞争环境的变化,各企业都不同程度感到业务开展难 度的增大、危机的加深、竞争的加剧并更趋于多层次全方位,所以都在寻求提升企 业竞争力的手段。 电信行业是我国引入竞争相对较晚的一个行业,但竞争的激烈程度丝毫不亚于 其他行业。当前全世界的电信运营商都面临着越来越多的竞争者和越来越高的客户 期望,保持市场份额、保持利润变得越来越难。而在国内,随着w t o 的加入,国 外资本将逐步进入我国电信市场,同时随着国内电信行业改革和重组的不断深化, 将使竞争已经非常激烈的市场变得更加白热化。为了增加竞争优势,各电信企业都 在积累的庞大的客户和业务资料库的基础上,纷纷开始搭建自己的数据仓库。 研究生期间,本人参与了一个电信行业的o d s ( o p e r a t i o n a ld a t as t o r e 一操作 型数据存储) 系统u c i s ( u n i f i e d c u s t o m e r i n f o r m a t i o ns y s t c m 统一客户资料系 统) 的开发工作,负责e t l ( e x t r a c t 、t r a n s f o r m 、l o a d 抽取、转换、装载) 部 分的总体设计、开发及小组组织管理,同时也曾参与过公司中另一个电信行业数据 仓库项目u b i s ( u n i f i e db u s i n e s si n f o r m a t i o ns e r v i c es y s t e m 统一经营信息服务 系统) 的e t l 部分工作,对数据仓库的概念和技术及开发过程有较为深入的理解。 在系统的开发过程中及和同学之间相互交流的过程中,深切体会到数据仓库建设与 其他软件开发有很多不同之处。 与传统的软件开发相比,数据仓库系统的开发和建设有如下特点: ,7 数据仓库与其他系统的开发有着不同的开发方法。数据仓库的开发一般采 。可焉丽弱再顽i 甄蕊f 丽 数据仓库建设中的软件过程 用的是数据驱动的开发方法,这和传统的软件开发方法有所不同。有些传 统的开发方法有可能不适用于数据仓库的开发过程,如面向对象的开发方 法,结构化开发方法等。 数据仓库与其他系统有着不同的开发生命周期。数据仓库的开发过程与其 他的软件开发过程相比,是一个较新的领域,开发人员和管理人员对数据 仓库建设中的软件过程没有充分的了解与认识。 :数据仓库的建设过程中普遍使用工具来提高开发和运行效率,这对数据仓 库的开发方法和软件过程或多或少的产生了一定的影响。 与其他的软件开发人员相比,数据仓库的开发建设人员更为辛苦。经常超 期,过度加班,这对于很多数据仓库的开发建设者来说都已经成为习以为 常的事情。 在上述四点中,前三点是原因,最后一点是结果。由此可见,数据仓库建设中 的新特点要求我们不能照搬传统的软件开发方法和理论,而必须对数据仓库建设过 程中的软件工程的方法和理论进行重新的认识。如果我们对此缺乏足够的认识与准 备,就会导致工作量估算、工作重点分配、时间估计、项目管理等活动中一系列问 题的发生。 在软件工程的研究领域,软件分析设计方法和软件过程是两个很大的方向,由 于精力与水平所限,本文中只在数据仓库建设中的软件过程这一个方向上进行了研 究与探讨。 软件过程和数据仓库都是目前比较流行的研究方向,在这两个方向的研究都很 多,然而将二者相互结合的研究却很少。数据仓库方面的研究主要集中在具体的建 模方法、体系结构、数据处理等技术问题上,即使有软件过程方面的研究,也只是 研究方法学或者生命周期模型,丽没有给出过一个精确详细的过程模型;软件过程 研究方面虽然提出了很多通用的软件过程模型,但是把软件过程具体化到数据仓库 建设上的却也几乎没有。 正是在此背景下,本文在数据仓库和软件过程结合的方向上进行了研究,分析 比较了数据仓库建设与传统的软件开发的异同点,尤其是在软件过程上的异同点。 在此基础上,以实际的数据仓库项目为例,对数据仓库建设中的软件过程进行了研 究与讨论,并在此基础上提炼出一个针对具体项目的软件过程模型。 数据仓库建设中的软# 过程 1 2 论文主要工作 1 2 1 论文目标 本文的主要目标是从软件过程的角度来研究数据仓库过程。在前人工作的基础 上,以实际的数据仓库项目为例,对数据仓库建设中的软件过程进行研究与讨论, 并在此基础上提炼出一个针对具体项目的软件过程模型。 不同公司不同项目中数据仓库中的软件过程干差万别,很难提供一个通用的软 件过程模型,所以本论文的目标也不是提出一个通用的数据仓库的软件过程模型, 而是针对一个数据仓库项目中的软件过程进行建模,为今后类似的项目提供一个指 导和参考。 1 2 2 工作内容 基于上述研究目标,本论文主要总结了下面几方面的工作: 学习研究软件过程相关知识与概念 学习研究数据仓库概念及数据仓库领域与软件过程相关的知识 研究数据仓库建设实践中的软件过程 结合实际,提炼出一个数据仓库建设中的软件过程模型 1 2 3 工作成果 综合以上工作内容,本课题的工作成果即是分析、比较、研究传统软件过程与 数据仓库软件过程,并由实践经验中提炼出一个数据仓库软件过程模型。 1 3 论文意义 本文从软件过程的角度研究数据仓库的建设过程,把软件过程理论和数据仓库 建设实践相结合,由实践中总结并抽象出一个数据仓库建设的软件过程模型,从而 可以使从事数据仓库建设的软件组织在今后的数据仓库建设中有据可查。同时软件 过程的建模也是今后软件过程改进的需要,只有进行了软件过程的定义( 建模) 之 后才有可能进行软件过程的改进。 北京邮电大学硕士学位论文第3 页 数据仓库建设中的软件过程 1 4 论文组织结构 本论文按以下章节组织: 第一章是引言部分,简要介绍了本论文有关的背景和工作内容及成果等。 第二章介绍软件过程,主要介绍软件过程,软件过程模型及其相关概念,然后 对国际上流行的一些软件过程相关的标准和产品进行分析比较总结,然后给出一个 简单的软件过程形式化描述方法作为后续过程描述的基础。 第三章介绍数据仓库,主要介绍数据仓库的基本概念、技术及其建设特点,在 此基础上介绍一些目前与数据仓库软件过程相关的研究情况,包括i n m o n 的经典教 材 1 】中的介绍的数据仓库方法论及他人提出的数据仓库开发步骤【3 】。 第四章以实际的数据仓库项目( u b i s ) 为例,对数据仓库建设中的软件过程进 行研究与讨论。 第五章在第四章的基础上,为u b i s 建设中的软件过程进行建模。 第六章总结本论文的工作成果与不足,并对进一步的研究工作提出了一些建议。 文章的最后是致谢和参考文献列表。 函面西殍丽霸疆霭f 甭矿 数据仓库建设巾的软件过程 第2 章软件过程概述 2 1 引言 软件过程是软件工程学科的个研究领域,也是近年来的一个研究热点。我们 对软件工程并不陌生,自从六十年代软件危机的问题出现以来,软件工程就作为解 决软件危机的主要手段被提出,在随后的几十年里,各种有关软件的技术、思想、 方法和概念不断被提出,软件工程逐步发展成为一门独立的科学。软件工程的进步 是近几十年软件产业迅速发展的重要原动力。 然而,软件工程学的发展为软件开发带来收益的同时,在许多方面仍然不尽人 意。人们关于通过应用新的软件方法和技术能提高生产率和质量的希望,经过几十 年仍未实现,于是人们意识到,软件开发组织的的基本问题是不能符殚其软件过程。 软件过程就是在这一背景下被提出来的,软件过程着眼于软件开发的过程和评 估,软件过程研究者将软件看作是能够通过系统有序的运行过程而建立的错综复杂、 相互联系的信息集合体。从某种意义上讲,高质量的软件产品是由高质量的各个部 分及各部分之间的忉、调一致所组成的。软件过程技术试图通过某种形式化于段对软 件开发过程加以系统严格的描述,为开发人员提供一个标准的无歧义的软件开发规 范,使他们之间能更有效地进行交流、通过在计算机上执行所描述的软件过程,项 目管理人员可以对实际的软件开发过程进行监控,从而保证实际的软件开发过程按1 规定的方式利步骤进行。 目前软件过程技术是一个非常活跃的研究领域,吸引了大批来自学术界和工业 界的专家和学者,从1 9 8 4 年起每年有软件过程国际研讨会( i s p w ) ,从1 9 9 1 年开 始召开软件过程国际会议( i c s p ) ,欧洲有欧洲软件过程研讨会( e w s p t ) ,及近年 来每年召开一次的软件工程国际会议( i c s e ) 等,均有许多软件过程方面的文章提 交。软件过程技术的研究丰要有三个方向:软件过程建模,软件过程支持和软件过 程的评价和改进。软件过程建模方法是软件过程技术的起点。 在本章的以下部分中,将具体介绍软件过程及其相关的概念、技术、标准等, 在其中着重介绍过程模型、过程定义与过程建模有关的部分,然后在此基础上再次 明确本文的工作重点并给出本文中使用的过程描述格式。 , 数据仓库建设巾的软件过程 2 2 软件过程及相关概念 软件过程的研究目前仍在不断发展中,在这个研究领域,存在着不少容易混淆 的概念,在收集整理资料的过程中,这些概念的关系也一直网扰着我。本节将列出 这些与软件过程相关的概念,并分析它们之间的区别与联系。 2 2 1 定义 以下定义大部分来源于c m m l 1 相关文档,也有少部分来源于其它参考姿料。 有关c m m 的其他信息将在2 4 节进行详细介绍。 1 软件过程( s o f t w a r ep r o c e s s ) 根据韦氏字典,一个过程是“某物生产的操作体系能导致结束或得到结果 的一系列的活动、变更、或操作。”i e e e 定义过程为“为实现给定目标所执行的 序列的步骤” i e e e s t d - - 6 1 0 ) 。所以,一个软件过程可以定义为,人们用以开 发和维护软件及其相关产品( 例如,项目计划、设计文档、代码、测试用例、用户 手册等等) 的一组活动、方法、实践和变换。 1 8 】 2 软件生命周期( s o f t w a r el i f ec y c l e ) 软件生命周期是一段时间,从设想软件产品的时间开始,到软件不再能使用的 时间为止。软件生命周期一般包括。概念阶段、需求阶段、设计阶段、实现阶段、 测试阶段、安装和调整阶段、运行和维护阶段、以及有时还有退役阶段 i e e e s t d 一6 1 0 1 9 】9 3 软件开发过程( s o f t w a r ed e v e l o p m e n tp r o c e s s ) 把用户的要求转变成软件产品的过程叫做软件开发过程。此过程包括对用户的 要求进行分析,解释成软件需求,把需求变换成设计,把设计用代码来实现,测试 该代码,有时还要进行代码安装和把软件交付使用。【4 4 组织标准软件过程( o r g a n i z a t i o n ss t a n d a r ds o f t w a r ep r o c e s s ) 组织标准软件过程【1 9 :1 是基本过程的可操作的定义,基本过程指导在组织中建 立一个针对所有软件项目的共用的软件过程。标准软件过程描述基本的软件过程元 素,即预计每个项目都会纳入到其l a 已定义的软件过程的过程元素。它也描述这些 软件过程元素间的关系( 例如排序和界面) 。它指导建立组织中所有软件开发和维护 项目共用的软件过程。 数据仓库建设中的软仆过程 软件过程元素间的关系有时称为“软件过程体系结构i 。 组织标准软件过程是项目定义软件过程的基础。它保证组织过程活动的连续性, 且是组织所用软件过程的测量和长期改进的依据。 5 软件过程体系结构( s o f t w a r ep r o c e s sa r c h i t e c t u r e ) 软件过程体系结构是项目相关的软件过程定义的一个框架【2 】。是对组织标准软 件过程的高层次( 即概括的) 描述。它描述组织标准软件过程中软件过程元素的排 序、界面、相互依赖关系及其它关系。它也描述对于其它外部过程( 例如,系统工 程、硬件工程和合同管理) 的界面、依赖关系和其它的关系。【1 9 】 6 软件过程模型( s o f t w a r ep r o c e s sa r c h i t e c t u r e ) 软件过程模型是对一个软件过程体系结构的一种详细的描述与体现 2 】,是对软 件过程的抽象描述与表示,它可以是形式化、半形式化的或非形式化的,可以通过 人员或计算机系统的实施活动来完成过程模型所描述的软件过程,并且是用有效的 构造支持抽象、信息屏蔽、过程重用及模型分片 7 】。 7 牛命周期模型( l i f ec y c l em o d e l ) 生命周期模型是一个框架,它含有从需求确定到使用终止,跨越系统生命期的 软件产品的开发、操作和维护中需实施的过程、活动和任务。 2 1 1 8 软件工程过程( s o f t w a r ee n g i n e e r i n gp r o c e s s ) 与软件过程工程( s o f t w a r ep r o c e s s + e n g i n e e r i n g ) 软件工程过程是从用户需求到软件的过程中需要的所有的软件工程活动的集 合【2 】。软件工程过程潜在的包括两个层次,一个层次是从软件采购、开发、维护以 及退役期间执行的技术活动和管理活动,另一个是“元层”( m c t a l e v e l ) ,丰要指软 件工程过程本身的定义、实施、度量、管理、变更和改进,这个“元层”般称为 软件过程工程16 。 9 软件过程元素( s o r t w a r ep r o c e s se l e m e n t ) 软件过程元素是一个软件过程描述的构成元素。每个过程元素包括一组妥善定 义了的、有限制的、紧密相关的任务( 例如,软件估计元素、软件设计元素、编码 元零及同行评审元素) 。过程元素的描述可以是待填充的样板、待完成的片段、待精 炼的抽象、或待修改的完整描述,或用过的无须修改的完整描述 1 9 】。 数据仓库建设中的软件过程 1 0 阶段( s t a g e ) 一个阶段是软件工作的一种划分,它有可管理的规模,描述项目所执行的一组 有意义的、可测的相关任务、通常认为阶段是软件生存周期的种细分,它常以下 阶段开始之前的一个正式评审作为结束。【1 9 】 2 2 2 概念剖析 以下对上述定义中容易混淆的概念进行简单的比较与说明 _ 软件过程与软件开发过程 软件开发过程中不包含维护软件及相关产品的活动,即 软件过程= 开发过程+ 维护活动 软件过程与软件生命周期 软件字命周期是一个静态的观点,软件过程是一个动态的观点,是软件生命周 期的一种“过程” 5 】。其实,从前面的定义可以看出,软件牛命周期侧重于体现软 件产品本身从开始到消亡的阶段和时间划分,而软件过程概念则侧重于描述人们在 软件牛命周期的各个阶段都进行哪些工作。有时软件过程也被成为软件生命周期过 程 6 】 j1 2 1 。 一 软件过程与软件过程模型 软件过程模型是对软件过程的一种抽象描述。一个软件过程总是与某个具体的 软件项目或者组织相关,而由软件过程抽象出来的软件过程模型则可以有助于软件 过程在不同的项目间或者组织间的重用。有时我们并不仔细区分这两个概念,而一 并称之为软件过程。如在c m m 1 8 1 9 1 中并没有明确提出软件过程模型的概念。 - 软件生命周期与软件生命周期模型 和软件过程模型与软件过程的关系类似,软件生命周期模型也是对软件生命周 期的一种抽象。软件生命周期模型对类似的阶段划分的软件生命周期建立了统一的 模型,指出了在不同阶段的需要进行的不同工作,对人们进行后续的软件开发具有 指导作用。我们通常所说的各种不同的软件生命周期常常指的是不同的软件生命周 期模型。, 一 软件过程模型与软件生命周期模型 数据仓库建设巾的软件过程 与软件过程和软件生命周期的关系不同,软件过程模型与软件牛命周期模型的 含义基本相同,一般不做严格的区分【5 。不过,软件过程模型和软件生命周期模型 之间还是稍有不同。 在w a t t ss h u m p h r e y 的经典著作软件过程管理中【2 】,他把软件过程模型 按照抽象层次分为三个级别:u ,宇观的( u n i v e r s a l ) 过程模型;w ,宏观的( w o r l d l y ) 过程模型:a ,微观的( a t o m i c ) 过程模型。 我们通常所说的软件生命周期模型大体上相当于第一类,即宇观的过程模型, 它只能给我们的软件开发以方向或策略上的指导,而不能明确的告诉我们具体的活 动及活动之间的前后关系;丽我们所说的软件过程模型一般指的是第二类,刘宏观 的过程模型,它告诉我们应该按照什么次序进行哪些活动,但没有告诉我们每一个 活动如何去做。 关于过程模型的相关概念我们还将在2 3 节单独进行说明。 一 软件过程、软件工程过程与软件过程工程 由前面的定义可知,软件过程主要指的是在直接和软件开发维护等相关的一系 列活动,软件工程过程指的是一个软件组织内为软件生产所进行的所有的活动,软 件过程工程指的是对软件工程过程进行总结和提高的一系列活动。 这三个概念之间的关系如下图所示: 图1 软件过程、软件工程过程与软件过程工程概念之间关系 2 3 软件过程的建模 本节中继续讨论软件过程模型的相关概念、软件过程的建模方法,作为后面对 数据仓库建设中的软件过程进行描述的理论基础。 数据仓j 譬建设中的软什过程 2 3 。1 软件过程模型 2 3 1 1 软件过程模型的级别【2 】 软件过程模型可以在三个级别上进行定义:u ,字观的( u n i v e r s a l ) 过程模型, 提供一个高层次的总体视图;w ,宏观的( w o r l d l y ) 过程模型,是大多数程序员和 经理所熟悉的工作级别;a ,微观的( a t o m i c ) 过程模型,提供了具有更多细节的 精化的模型。 、 ( 1 ) u 过程模型 瀑布模型和喷泉模型都是u 过程模型的典型代表,它们描述了摹本的过程步骤 并且提供了有关角色和顺序的通用的指南,然而现实世界的软件开发过程并不完全 符合这些模型。它们虽然表现了通用韵工作流程并且提供了对软件过程的总体的理 解,但是缀难进一步分解糖化以得到更多的细节,而这些细节正是指导软件专业人 员的互作所需要的。 过分简化的u 级别的软件过程模型的最基本的问题是,它们不能精确地表示实 际上要做什么。 ( 2 ) a 过程模型 处于另一个极端的是微观的( a t o m i c ) ( a ) 级别的过程模型,和u 级别模型 相比,它有可能有点过于强调细节。这个级别强调的是精确的的数据定义、算法规 格说明、信息流、以及用户过程( r i s e rp r o c e d u r e s ) 。在这种过程模型中,细节的多 少应该根据它们的过程模型的用途来确定。如,工作流程于工执行时,相对于新手, 一个重复先前工作的有经验的开发人员并不需要了解太多的细节;然而当工作流程 自动执行时,就会需要大量的细节。 微观过程的定义经常表现为过程标准或者惯例。这可以看作是在更高级别的w 或者u 过程模型层次上的过程抽象。 ( 3 ) w 过程模型 宏观的( w ) 刎别的过程模型是软件工程师在实践中最关心的过程模型。它指 出了他们工作中任务( t a s k s ) 之间的先后次序,并且定义了每个任务的先决条件和 期望结果。在操作形式上,这些模型通常看起来像是一个一个的程序( p r o c e d u r e ) 。 它们说明了谁在什r 么时候做什么事情。需要的时候,它们会引用a 级别的模型来说 明标准的任务定义4 ( t a s kd e f i n i t i o n s ) 或者工具的用法。对每一个任务,w 模型定义 数据仓库建设中的软件过程 了期望的结果,适当的度量,以及关键的检查点。 一过程模型小结 可以这样认识这三个模型:u 级别体现( e m b o d y ) 了策略,w 级别体现了过程, a 级别体现了标准或者工具。策略简历了一个高层次的框架,并且确定了指导组织 进行全局行为的规则。它们对于处理未知的环境特别有用。在w 级别上,建立了程 序( p r o c e d u r e ) 来实现策略。w 级别的过程模型引用任何可用的a 级别的标准来更 精确的定义一个任务是如何被执行的。 我们平时所说的软件生命周期模型都只是给出了软件过程的总体的策略,所以 都应该属于u 过程模型。常见的软件生命周期模型有瀑布模型、螺旋模型、原型模 型等。 2 3 1 2 模型的规定性和描述性使用方法【2 1 过程模型可以用来描述做了什么,也可以用来描述应该做什么。在描述性的情 况下,模型可以提供关于过程和它的行为的有用的信息。如果描述性的模型经过校 正可以表示实际的行为,它就可以被用于在不同情况下过程执行的模拟,这可以帮 助我们在潜在的过程问题发生前及早的发现它。在规定性的情况下,过程模型定义 了过程应该被怎样执行,并且指出了怎样使用适当的策略、程序( p r o c e d u r e ) 和标 准来指导工作。 2 3 1 3 软件过程模型的分类 如今已存在的一些软件过程模型所考虑的重点不一样,因此它们从不同的角度 去刻划软件过程的特征。软件过程模型大致分可以为以下几类 2 4 1 : 任务型:这种类型的软件过程模型将软件过程分为若干有序步骤,描述每一步 骤的输入是什么,做什么事情及所产生的输出是什么。关于这类模型的一个典型例 子就是“瀑布模型”。它们的一个致命弱点就是不能描述步骤之间的逆向关系和不同 步骤之间的并行关系。 f 实体关系型:这种类型的软件过程模型非常类似于e r 模型, 它们主要考虑的 是软件过程中实体( 产品,资源) 之间的关系。它们简单,并具有较好的稳定性, 即一个实体关系模型能适用于相当类软件过程,但作为软件过程模型,仅描述实 体及它们之间的关系是不够的,更重要的是要描述它们在软件过程中的动态变化过 程。 数据仓库建设中的软件过程 p e t r i 网型:这类软件过程模型强调软件过程的动态性。较好地考虑了任务的激 活条件、任务的执行顺序及由于任务的执行而产生的实体之间的相互转换等问题, 但它们忽略了任务对实体的内部状态所产生的影响;同时它们是用一个完整的具有 较强相关性的网来描述软件过程,对软件过程的任何改动都可能对这类模型产生全 局性的影响,因此p e t r i 网型的模型通常不利于复用。 2 3 2 软件过程体系结构 2 3 2 1 过程体系结构1 2 1 大部分组织都会有自己的一些政策( p o l i c i e s ) 、程序( p r o c e d u r e s ) 、标准 ( s t a n d a r d s ) ,他们通常也会遵循一些默认的u 一,w ,a 级别的模型,这些模型既 有规定性的,也有描述性的。然而,为了更加有效,这些模型应该被明确出来并且 应该相互关连起来。建立过程模型很象建立一个软件系统,需要用一个体系结构框 絮来定义基本的元素,描述它们之间的相关性及它们如何分解到更加细节的层次。 因此,过程体系结构必须覆盖所有的过程级别。u 过程模型有助于对软件过程 全局性的理解,并且提供了建立有效的策略的框架。w 过程模型为日常工作提供指 南,a 过程模型为培训及任务自动化提供原子级( a t o m i c ) 的细节描述。这些级别 是彼此联系的并且应该与其他级别保持一致。这就需要有一系列可精化的可连接的 过程元素( p r o c e s se l e m e n t s ) ,把这些过程元素连接后可以得到符合项目需要的详细 而明确的过程模型。 2 3 2 2 过程体系结构的描述方法 在文献 2 中,针对面向任务的过程模型,作者给出了一种软件过程体系结构的 表示方法。在这种建模方法中,过程体系结构的基本元素是单元格( u n i tc e l l ) ,如 下图所示。每一个单元格都是唯一标识的,用来完成特定的任务。每个单元格都包 含以下要素:入口( e n t r y ) ,出1 3 ( e x i t ) ,反馈( f e e db a c k ) ,任务( t a s k ) ,度量 ( m e a s u r e m e n t ) 。单元格可以分解为更小的单元格,以表示更低级别的过程模型。 数据仓库建设中的软件过程 反馈 :规格说明: ! 入口:任务初始化前需要满足的条件 :出口:输出结果及其表示方法 ;反馈: 输入( i n ) :从其他阶段( s t a g e s ) 输入的任何反馈 输出( o u t ) :到其他阶段( s t a g e ) 的任何反馈 ;任务:谁,在什么时候,怎么样,做什么。包括适当的标准,程序和责任 l 度量:需要的度量,对任务的度量( 活动,资源,时间) ,对输出的度量( 数量,大小,质量) , 对反馈的度量( 数量,大小,质量) 图2 基本单元格 在文献 2 3 忡,针对基于实体关系的过程模型,也给出了一种过程体系结构元 素的表示方法,其主要思想是用实体内部的状态迁移来表示软件过程进行的情况。 此外,还有其他一些对软件过程的描述方法,在文献 5 中,就介绍了一种利用p e t r i 网过程模型的表示方法。还有目前比较流行的r u p ( r a t i o n a lu n i f i e dp r o c e s s r a t i o n a l 统一过程) ,它采用了面向对象相关的概念来表示过程模型,有关r u p 的 概念及其表示方法将在本章的第四小节进行介绍。 2 3 3 软件过程的建模方法 目前主要的过程建模方法有 8 :基于过程控制流的建模方法,基于角色的建模 方法和基于模板的建模方法。 基于过程控制流的建模方法将一个过程视为由若干步骤( 过程步) 组成的工作 流程,先确定过程步之间的执行顺序关系,再以过程步为中心收集过程的其它数据 来描述过程:基于角色的建模方法则认为一个软件项目是由一些角色( 指参与过程 中的人或工具,如程序设计员,测试工程师等) 来协同完成的,故先描述参与过程 的各个角色、角色的行为及角色之间的协同关系,然后再以角色为中心收集过程的 其它信息来建立过程模型;而基于模板的建模方法是先确定过程中的各类实体( 如 事件、角色、产品等) ,将这些实体定义成模板,然后再针对每一个模板在各个不同 数据仓库建设中的软件过程 的抽象层次上构造该模板的具体对象,然后再定义各类实体在同一抽象层次中所有 对象之间的各种关系。 2 4 几个与软件过程相关的标准与产品 谈到软件过程,自然会想到很多相关的标准或产品,如c m m ,i s 0 9 0 0 0 ,r u p 等等。那么,这些标准或者产品与前面所介绍的软件过程的相关概念有哪些联系? 对软件过程都做了哪些规定? 在为软件过程建模时有哪些可参考之处? 本节中将对 这些问题进行讨论。 2 4 1i s 0 9 0 0 0 系列标准 2 4 1 1i s 0 9 0 0 0 系列标准简介 i s 0 9 0 0 0 系列标准是国际标准化组织i s o 公布的质量管理和质量保证标准,它 主要用途是为企业建立质量体系,并提供质量保证的模式。1 s 0 9 0 0 0 标准系列包含 了为数众多的标准,其中与软件企业有关的有如下标准: l s 0 9 0 0 1 质量体系设计、开发、生产、安装和服务的质景保证模式。 i s 0 9 0 0 0 - 3 质量管理和质量保证标准第3 部分:i s 0 9 0 0 1 在计算机软件开 发、供应、安装和维护中的使用指南。 i s o i e c1 2 2 0 7 信息技术一软件生存周期过程 i s 0 9 0 0 0 3 这一实施指南在i s 0 9 0 0 1 标准中的质量体系要素与实际的软件工程 项目之间起到了桥梁的作用。i s o i e c1 2 2 0 7 是随着软件过程研究的不断发展而产生 的,它为正确理解软件过程及软件生存周期全过程提供了标准,是l s 0 9 0 0 0 3 的扩展。 以下主要介绍与软件过程密切相关的i s o i e c1 2 2 0 7 标准的部分内容。 2 4 1 2i s o i e c l 2 2 0 7 标准中的过程 在i s o i e c l 2 2 0 7 中,没有定义软件过程,但定义了过程的概念。定义如下: i f 过程( p r o c e s s ) :把输入转化为输出的一组彼此相关的活动。 根据这个概念,1 s o i e c1 2 2 0 7 将用于获得、供应、开发、运作和维护软件的软 件生存周期的各个过程按性质分三类:基本过程类、支持过程类和组织过程类,统 称为软件生存周期过程。 ( 1 ) 基本过程类包括获取过程、供应过程、开发过程、运作过程和维护过程 数据仓库建设中的软件过程 共5 个过程。这些过程主要为参与或完成软件产品开发、运作或维护的组刎( 如软 件产品的需方、供方、开发者、操作者和维护者) 在软件生命周期期间使用。 ( 2 ) 支持过程类包括文档编制过程、配置管理过程、质量保证过程、验证过 程、确认过程、联合评审过程、审核过程以及问题解决过程共8 个过程。这些过程 对基本过程类起到支持和帮助的作用,有助于软件项目的成功和生产率及软件质量 的提高。支持过程按照基本过程的需要采用和执行。 ( 3 ) 组织过程类包括管理过程、基础设施过程、改进过程以及培训过程。这 些过程可被一个组织用来建立和实现相关的生命周期过程和由有关人员组成的基本 结构,并不断地改进这些过程和组织结构。 在上述的各种过程中,具有不同观点的当事方其关注的具体过程有可能不同。 i s o i e c l 2 2 0 7 中说明的几个当事方的观点及其关注的过程为: 数据仓库建设中的软件过程 当事方 观点 过程 需方,供方合同观点获取过程,供应过程 基 管理者管理观点 管理过程 本 操作者,用户运行观点 过 运行过程 开发者,维护者工程观点开发过程,维护过程 程 支持过程的采用者支持观点 支持过程 2 4 1 3i s o i e c l 2 2 0 7 标准中过程相关内容总结 由上面的介绍可知,i s o f l e c l 2 2 0 7 标准中的过程或软件生命周期过程包括了软 件组织内的所有相关活动,其概念应对应于本章第一节所介绍的软件工程过程的概 念,而本章第一节介绍的软件过程的概念在则应该对应于i s o i e c l 2 2 0 7 中的基本过 程中的开发过程和维护过程,而软件过程工程的概念则对应于i s o i e c l 2 2 0 7 中组织 过程中的改进过程。 i s 0 1 2 2 0 7 中定义了软件生命周期的概念,也规定了软件开发过程中的具体活动 及其包含的任务清单,但并没有规定具体的软件生命周期模型,对软件生命周期模 型的选择需要由开发者进行选择。 i s o i e c l 2 2 0 7 对软件过程的定义及改进活动也有所规定,具体规定在管理过程 类中的改进过程中,但并没有规定过程定义及过程改进的具体方法和手段。 总之,i s o i e c l 2 2 0 7 为软件生存周期过程建立了一个公共的框架,它叙述了软 件生存周期过程的体系结构,但是并没有规定如何完成各过程包含的活动和任务的 细节。 2 4 2c m m 能力成熟度模型 2 4 2 1c 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 ) 开发的一个软件过程持续改进模型。c m m 描述了 一个有效的软件过程中的关键要素,讨论了不成熟的软件机构发展成为有规律的、 数据仓库建设中的软件过程 成熟的软件机构的改进过程。c m m 涉及对软件开发和维护活动进行规划、软件过 程工程化和对软件过程进行管理的实践活动。通过这些实践活动,能够提高软件机 构满足成本、进度、功能和质量要求的能力。 图3c m m 的五个级别及其关键过程区域 如图所示,c m m 为每个软件组织建立和改进软件过程提供了一个阶梯式的过 程成熟度的框架,这个阶梯是由5 个成熟度等级所构成。每个等级形成了一个必要 的基础,从此基础出发才能到达下一个等级。每达到一个成熟度等级,就建立起软 件过程的一个不同的成分,导致组织过程能力的全面增长。等级越高的企业,其软 件过程的可见度越好,软件过程的可控性越高,产品性能的预见性以及软件项目的 风险评估也越来越准确,企业的生产能力以及产品质量也就越来越高。 c m m 中每个成熟度等级又包括若干关键过程域,而每个关键过程域都包含一 系列的目标,当这些目标全部实现时,软件过程中的一些重要的成分就稳定下来, 就达到了一个成熟度等级。 数据仓庠建设中的软件过程 2 4 2 2c m m 中与软件过程及其定义有关的内容 在c m m 的级别3 中,有一个关键过程区域组织过程定义。在此关键过程 区域中,规定了如何对软件组织中的软件过程进行定义( 即过程建模) 及维护。组 织过程定义的目的是开发和维护一组便于使用的软件过程资源,以提高各项目的软 件过程效能,它以积累的方式使组织长期收益。 组织过程定义过程区域中规定了如下的活动: 活动 描述 活动i按照已文档化的规程制定和维护组织的标准软件过程。 活动2 按照己制定的组织标准对组织的标准软件过程建立文档。 活动3对经批准供项目使用的软件生存周期的描述建立文档并进行维护。 活动4制定和维护不同项目剪裁组织标准软件过程的指南和准则。 活动5建立和维护组织的软件过程数据库。 活动6建立和维护软件过程的相关文档库。 其中活动1 及活动2 是有关过程的定义和描述的,给出了过程定义活动的具体 行动指南 1 9 。 2 4 2 3c m m 总结 c m m 给软件组织指出了一条逐步定义、改善自己的软件过程的道路,同时也 为软件组织定义自己的软件过程提供了比较详细的指南。 与第一节的定义比较,可以看出c m m 模型是一个关于软件过程工程的标准, 它给出的是一个软件过程改进方法的模型。然而,c m m 不涉及特定领域内的专门 知识,所以也无法给出软件组织中软件过程的具体的参考模型,具体的模型需要由 软件组织自己去定义。 与i s 0 9 0 0 0 相比,c m m 是专门针对软件企业的过程能力成熟度评估模型,它 和i s 0 9 0 0 0 3 之间既有相关性又有相互不能代替的内容。i s 0 9 0 0 0 的标准涉及从原 料供应到产品销售的每一个环节,c m m 则侧重软件开发和改进过程。有些i s 0 9 0 0 0 的条款在c m m 模型中的条款找不到映射,如c m m 中没有包括客户供应商的产品 控制、处理、储藏、包装、保存和分发等内容,同样,在c m m 模型中有许多具体 的较细致的条款在1 s 0 9 0 0 0 中也得不到具体的体现。 北京邮电大学硕士学位论文第1 8 页 数据仓库建设中的软件过程 2 4 3r u p ( r a t i o n a lu n i f i e dp r o c e s s r a t - o n a i 统一过程) 2 4 3 1r u p 简介 r a t i o n a l u n i f i e d p r o c e s s ( 简称r u p ) 是一套软件工程过程,主要由l v a rj a c o b s o n 的t h eo b j e c t o r ya p p r o c h 和t h er a t i o n a la p p r o c h 发展而来。同时,它又是文档化 的软件工程产品,所有r u p 的实施细节及方法导引均以w e b 文档的方式集成在一 张光盘上,由r a t i o n a l 公司开发、维护著销售。r u p 又是一套软件工程方法的框架, 各个组织可根据自身的实际情况,以及项目规模对r u p 进行裁剪和修改,以制定出 合乎需要的软件工程过程。 r u p 吸收了多种开发模型的优点,具有很好的可操作性和实用性。它一推出市 场,就凭借b o o c h 、i v a rj a c o b s o n 、和r u m b a g h 在业界的领导地位、与统一建模语 言( u n i f i e dm o d e ll a n g u a g e

温馨提示

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

评论

0/150

提交评论