(计算机软件与理论专业论文)电信企业信息化需求工程的研究与实践.pdf_第1页
(计算机软件与理论专业论文)电信企业信息化需求工程的研究与实践.pdf_第2页
(计算机软件与理论专业论文)电信企业信息化需求工程的研究与实践.pdf_第3页
(计算机软件与理论专业论文)电信企业信息化需求工程的研究与实践.pdf_第4页
(计算机软件与理论专业论文)电信企业信息化需求工程的研究与实践.pdf_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 需求工程是软件工程中一个不可缺少的、重要的一环,是保证软件质量、 提高软件可靠性的关键。但是长久以来,企业应用系统开发的“需求”一直是 系统建造者们的噩梦,需求工程是软件工程中最基础也是最复杂的过程之一。 从客观意义上说,需求工程面对的问题几乎是没有范围的,它的实施无疑与各 个应用行业的特征密切相关。其客观上的难度还体现在非功能性需求及其与功 能性需求的错综复杂的联系上。从主观意义上说,需求工程需要方方面面人员 的参与,各方面人员有不同的着眼点和不同的知识背景,沟通上的困难给需求 工程的实施增加了人为的难度。 在电信企业信息化需求工程中问题更是突出。虽然当前软件开发商在该领 域软件系统建设中需求分析方面做法相对成熟,但是在需求获取和需求管理两 个阶段做得还很不规范,往往在项目进度紧迫的情况下忽略了这两个部分,缩 短整个需求过程的时间,最后导致项目失败或者用户将就着用。所以面对电信 信息化建设的快速发展,科学、严格、系统规范化的需求工程实施方法势在必 行。 本文正是针对以上这些问题,在现有研究成果的基础上,对电信企业信息 化需求工程中存在的问题进行分析,提出解决方案,并在四j i i 省电信综合营帐 系统建设中进行应用。 l 、主要探讨了需求工程产生的背景、概念及其在软件工程中的重要性,并 建立需求工程模型。该模型从适应实际应用的角度出发将需求工程分为实施层 和管理层,实施层包括需求获取和需求分析,管理层包括需求管理。 2 、对软件体系结构及其相关概念( 包括架构和框架) 进行研究总结,在软 件需求中引入框架的概念,提出软件需求框架。 3 、参考国际电信管理论坛( t m n ) 所提出的电信行业的框架模型,建立电信 信息化需求框架模型。该模型作为需求工程中针对特定领域的模型,以指导工 程应用为目的,实际解决该领域需求工程中存在的问题。 4 、结合四川电信综合营帐案例,从软件需求的各个层次结构出发对电信信 息化需求框架模型进行具体的实现。 摘要 5 、主要研究并应用四川电信综合营帐系统中的需求工程实施方法。根据该 项目的实际情况,在具体实施中分为需求获取、需求分析和需求管理三个阶段 进行。需求获取主要采取在调研访谈的同时进行研究现有业务和问卷调查。需 求分析主要采用面向对象分析方法。需求管理则作为两者的管理平台,对整个 实施过程进行控制、协调,最终得到适合电信企业信息化的需求工程实施方案。 关键词:需求工程,电信信息化需求框架模型,需求工程实施方法,四j 电信综合营帐系统 i i a b s t r a c t r e q u i r e m e n te n g i n e e r i n g i s n e c e s s a r y a n d i m p o r t a n td u r i n g s o f t w a r e e n g i n e e r i n g ,a n dc r u c i a lr og u a r a n t e es o f t w a r eq u a l i t ya sw e l la si m p r o v es o f t w a r e r e l i a b i l i t y b u tr e q u i r e m e n ti nt h eb u s i n e s sa p p l i c a t i o ns y s t e md e v e l o p m e n t h a sb e e nt h e n i g h t m a r ef o ral o n gt i m eb e c a u s er e q u i r e m e n te n g i n e e r i n gi so n eo ft h em o s tb a s i c a n dc o m p l e xp r o c e s s e si ns o f t w a r ee n g i n e e r i n g f r o mo b j e c t i v ep e r s p e c t i v e ,t h e i s s u e st h a tr e q u i r e m e n te n g i n e e r i n gf a c e sh a v en ob o u n d s ,a n di t sp e r f o r m a n c eh a s c l o s e r e l a t i o n s h i p w i t ht h ec h a r a c t e r i s t i co fe a c h a p p l i c a t i o na r e a m o r e o v e r , n o n f u n c t i o n a lr e q u i r e m e n ta n di t sr e l a t i o nw i t hf u n c t i o n a lr e q u i r e m e n tm a k et h e e n g i n e e r i n gm o r ed i f f i c u l t f r o ms u b j e c t i v ep e r s p e c t i v e ,r e q u i r e m e n te n g i n e e r i n g n e e d sm a n ys o r t so fr o l ea n dp e r s o n n e lw i t hd i f f e r e n ts t a n d p o i n t sa n dl g m w l e d g e b a c k g r o u n d s t h e r e f o r ec o m m u n i c a t i o n b e t w e e nt h e s e p e r s o n sb r i n g s i nm o r e d i f f i c u l t y t h e s ei s s u e ss e e mo b v i o u sa n ds e r i o u si nt e l e c o mi n d u s t r y a h h o u g hc u r r e n t l y i nt e l e c o md i g i t a l i z a t i o n ,s o f t w a r ed e v e l o p m e n ts u p p l i e rh a sb e e nd o i n gq u i t ew e l li n r e q u i r e m e n ta n a l y s i s ,r e q u i r e m e n t e l i c i t a t i o na n dm a n a g e m e n ta r en o tw e l l p e r f o r m e d ,w h i c hm a y e v e nb ei g n o r e dt os a v et i m ew h e nd e v e l o p m e n tp r o g r e s si s u r g e n t a sar e s u l t ,d e v e l o p m e n tt e a n l ss o m e t i m e sc o u l dn o tf u l l yu n d e r s t a n dt h e r e q u i r e m e n t t h e r e f o r e ,t h ep r o d u c t sc o u l dn o tb eo nt i m ed e l i v e r e da n dt h ee n d u s e r sa r ea l w a y sd i s s a t i s f i e dw i t ht h ep r o d u c t ,w h i c hm a yc a u s et h ef a i l u r eo ra tl e a s t u n w i l l i n ga c c e p t a n c eo f t h ed e l i v e r e dp r o d u c t c o n s i d e r i n gt h ef a s td e v e l o p m e n to f t h et e l e c o md i g i t a l i z a t i o nc o n s t r u c t i o n ,am o r es c i e n t i f i c ,s t r i c ta n dw e l l s p e c i f i e d m e t h o df o rr e q u i r e m e n te n g i n e e r i n gi sn e c e s s a r i l yr e q u i r e d t h et h e s i sm a i n l ya i m st os o l v et h e s ei s s u e si nr e q u i r e m e n te n g i n e e r i n gi n t e l e c o mb u s i n e s ss y s t e m + b a s e do nt h ec u r r e n tr e s e a r c ha c h i e v e m e n t ,t h es o l u t i o ni s p r o p o s e d a n dh a sb e e nv e r i f i e di nt h ei n t e g r a t e db u s i n e s s s u p p o r ts y s t e mo f s i c h u a n t e l e c o me n t e r p r i s e 1 r e q u i r e m e n te n g i n e e r i n gb a c k g r o u n d sa n ds o m ec o n c e p t sa r eg i v e na n di t s i i i a b s 协a c t i m p o r t a n c ei ns o f t w a r ee n g i n e e r i n gi si l l u s t r a t e d t h e nr e q u i r e m e n te n g i n e e r i n g m o d e li se s t a b l i s h e d ,w h i c hd i v i d e sr e q u i r e m e n te n g i n e e r i n gi n t ot w ol a y e r sf r o mt h e a c t u a lp e r f o r m a n c ep e r s p e c t i v e ,o n ei so p e r a t i o nl a y e ra n dt h eo t h e ri sm a n a g e m e n t l a y e r o p e r a t i o nl a y e r i n c l u d e s r e q u i r e m e n t e l i c i t a t i o na n d a n a l y s i s ,w h i l e m a n a g e m e n tl a y e ri n c l u d e sr e q u i r e m e n tm a n a g e m e n t 2 s o f t w a r ea r c h i t e c t u r ea n di t sr e l e v a n tc o n c e p t si n c l u d i n ga r c h i t e c t u r ea n d f r a m e w o r ka r es u m m a r i z e d b yu s i n gt h e c o n c e p to ff r a m e w o r k :i nr e q u i r e m e n t e n g i n e e r i n gas o f t w a r er e q u i r e m e n tf r a m e w o r ki sp r e s e n t e d 3 a c c o r d i n gt ot h es o f t w a r ef r a m e w o r km o d e li nt e l e c o mi n d u s t r yp r e s e n t e db y t m n a ni n n o v a t i v e r e q u i r e m e n t 。f r a m e w o r k m o d e li s p r o p o s e d f o rt e l e e o m d i g i t a l i z a t i o na p p l i c a t i o n a sam o d e lf o rt h er e q u i r e m e n te n g i n e e r i n gi nt e l e e o m , i t h e l p ss o l v i n g t h e i s s u e sa n d g u i d i n g t h e a p p l i c a t i o nd u r i n g t h e r e q u i r e m e n t e n g i n e e r i n gp h a s e 4 a sa ne x a m p l ei nt h ei n t e g r a t e db u s i n e s ss u p p o r ts y s t e mo fs i c h u a nt e l e c o m e n t e r p r i s e ,t h er e q u i r e m e n tf r a m e w o r km o d e lf o rt e l e c o md i g i t a l i z a t i o na p p l i c a t i o n i sr e a l i z e df r o me a c hl a y e ro f t h es o f t w a r er e q u i r e m e n t 5 t h er e q u i r e m e n te n g i n e e r i n gp e r f o r m a n c ei n i n t e g r a t e db u s i n e s ss u p p o r t s y s t e mo fs i c h u a nt e l e c o me n t e r p r i s ei sd e s c r i b e di nd e t a i l a c c o r d i n gt ot h ep r o j e c t r e q u i r e m e n t s ,r e q u i r e m e n te n g i n e e r i n gi s d i v i d e di n t o r e q u i r e m e n te l i c i t a t i o n , r e q u i r e m e n ta n a l y s i sa n dr e q u i r e m e n tm a n a g e m e n t r e q u i r e m e n te l i c i t a t i o n i s p e r f o r m e db yi n v e s t i g a t i o n ,q u e s t i o n n a i r ea n db u s i n e s sr e s e a r c h o b j e c to r i e n t e d t e c h n o l o g y i su s e df o ra n a l y s i s a st h em a n a g e m e n tp l a t f o r mo ft h et w o ,r e q u i r e m e n t m a n a g e m e n tc o n t r o l sa n dc o o r d i n a t e st h ew h o l ep e r f o r m a n c ep r o c e s s t h e r e f o r e ,t h e s o l u t i o ns u i t a b l ef o rt h e r e q u i r e m e n te n g i n e e r i n g i nt e l e c o mb u s i n e s s s y s t e m d e v e l o p m e n t j sa c h i e v e d k e y w o r d s :r e q u i r e m e n te n g i n e e r i n g ,t h er e q u i r e m e n tf r a m e w o r km o d e lf o rt e l e c o m d i g i t a l i z a t i o na p p l i c a t i o n ,t h ei n t e g r a t e db u s i n e s ss u p p o r ts y s t e mo f s i c h u a nt e l e c o me n t e r p r i s e i v 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:盥:丝日期:州年,月,日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:良:筐导师签名 日期: 第一章引言 1 1 选题依据与研究意义 第一章引言 当今经济和社会生活对软件的依赖程度急剧增长,软件开发成为一项跨越技 能,职责范围和时间阶段的综合团队活动。在整个软件开发生命周期中最容易 被忽略却又是最关键的第一个阶段就是需求工程。这部分工作若处理好了,能 开发出很出色的产品,同时会使客户感到满意,开发者也倍感满足、充实。若 处理不好,则会导致误解、挫折、障碍以及潜在质量和业务价值上的威胁。 “需求从何而来? 如何正确地描述需求、管理好易变的需求? ”多年来这一 直是困扰国内i t 组织和个人的一大难题。 首先需求工程无疑是当前软件工程中的关键问题,实践证明,良好的需求工 程对于降低开发成本和保障项目成功至关重要。根据权威机构的统计,在全世 界范围,仅有四分之一的软件开发项目能在规定的时间和预算内达到客户的目 标。纵观这些项目成功的项目,过硬的需求工程是成功经验中少有的共通部分。 其次需求工程又是软件工程中最复杂的过程之一,其复杂性来自于客观和主 观两个方面。从客观意义上说,需求工程面对的问题几乎是没有范围的。由于 应用领域的广泛性,它的实施无疑与各个应用行业的特征密切相关。其客观上 的难度还体现在非功能性需求及其与功能性需求的错综复杂的联系上,当前对 非功能性需求分析建模技术的缺乏大大增加了需求工程的复杂性。从主观意义 上说,需求工程需要方方面面人员的参与( 如领域专家、领域用户、系统投资 人、系统分析员、需求分析员等等) ,各方面人员有不同的着眼点和不同的知 识背景,沟通上的困难给需求工程的实施增加了人为的难度。 国内的软件行业起步晚,起点高,任务急,时间短,在软件需求工程方面暴 露出很多问题。软件项目中百分之四十至百分之六十的问题都是在需求工程阶 段埋下的“祸根”。可许多组织仍在那些基本的项目功能上采用一些不合规范 的方法,这样导致的后果便是一条鸿沟( 期望差异) 开发者开发的与用户所 想得到的软件存在着巨大期望差异。由于忽略需求过程造成的项目返工是恶性 的,大量的项目在需求阶段就注定了它的失败。 f r e d e r i c kb r o o k s 在他的经典的文章“n os i i v e rb u l l e t :e s s e n c ea n d 电子科技大学硕士学位论文 a c c i d e n t so fs o f t w a r ee n g i n e e r i n g ”中充分说明了需求过程在软件项目中扮 演的重要角色:开发软件系统最为困难的部分就是准确说明开发什么。l l j 最为 困难的概念性工作便是编写出详细技术需求,这包括所有面向用户、面向机器 和其它软件系统的接口。同时这也是一旦做错,将最终会给系统带来极大损害 的部分,并且以后再对它进行修改也极为困难。为什么这么说呢,因为在大多 数的软件系统中,最终用户可能都不清楚他的需求是什么。所以在定义了需求 基线后极有可能进行频繁大量的变更。 特别是在电信企业中,面对激烈的市场竞争,如何完善客户数据,从中发现 新的市场需求,同时有效地整合公司的资源,快速对市场做出反应,已成为电 信企业必须解决的问题。出于这些问题和电信业务的复杂,在电信企业信息化 软件系统开发过程中需求工程更是关键的一个环节,它对以后的开发及推广使 用起着至关重要的作用。通过对该领域需求工程的研究可以有效的改善软件开 发的成本高、质量低、管理开发难度大的问题,开发出高质量的信息化软件系 统,不仅能使作为电信局方的客户满意也能使最终用户( 如营业厅的前台人员) 以及电信的潜在客户满意。 1 2 课题研究现状 当前软件需求工程的方法主要偏重于需求分析和建模,而对于如何将需求映 射到软件设计过程则较少论及。从当前的研究现状来看,需求工程中仍存在下列 主要难题: ( 1 ) 需求获取的困难性 软件需求获取中缺乏领域知识的问题常常是模糊的、不精确的,同时还存在 默认的知识,而且需求获取及分析偏向创造性思维活动,其过程让第三者难以 理解。目前常用传统的需求调研结合可视化建模的方法逐渐解决其困难性。 ( 2 ) 需求分析的不完整性 需求分析的不完整性是软件开发失败的主要原因之一。在软件开发的初期阶 段,用户很难充分认识需求项目。通常人们对事物的认识是一个认识再认识的 过程,客户对软件的需求也是一个进化和自我增值的过程,当开发进行到相当 程度之后,由于需求的进化,仍有需求项目追加,使设计方案经常变更而导致 开发成本上升。为此,迭代和演化范型提供了可行的解决思路,但在现有方法的 操作过程中,迭代和演化的基准并不十分明确。 第一章引言 ( 3 ) 需求建模的复杂性 通常,软件需求中混杂着各种各样的需求,许多需求项目的概念范畴也不相 同,还有非功能性需求与功能性需求的错综复杂的联系,以及当前对非功能需 求分析建模技术的缺乏都大大增加了需求建模的复杂性。诺贝尔奖获得者西蒙 认为复杂性具有层次结构,这起因于人的认识能力是有界限的。根据这一原理, 为了降低复杂性,需求项应该整理成人们容易理解的层次结构形式。 ( 4 ) 需求验证的模糊性 在软件需求验证过程中,因为当以人的感性认识为主要判断依据时,度量尺 寸具有模糊性,目前并没有完全形式化的理论和公式对需求进行度量和验证, 在这个过程中经验所占比例更重。1 2 1 1 3 主要研究工作 随着电信企业信息化进程向纵向深推进,越来越多的电信企业开始构筑符合 自己特定业务需求的应用软件系统。为了清晰的描述电信复杂的商业逻辑,该 行业软件系统的规模越来越庞大,工程化的实旋管理方式愈发显示其重要性。 由于软件需求在这些软件项目中直接关系到软件项目的成败,如何在软件工程 中做好需求工程,已经是许多软件开发组织必须积极应对的课题。 现在虽然很多电信的软件开发商也按照需求工程的模式来做,但实际上并未 完全到位。首先在需求获取方面。所存在的问题一是缺乏有组织的需求获取, 二是未将软件需求分层次,软件开发商获取的需求往往是中层和作业层的需求, 缺乏对高层需求的了解,软件开发商未能从电信企业战略思想的高度看待问题。 第二是需求的变更管理方面。通过对变更管理的原因、过程、影响分析、流程 等方面进行论证,提高软件开发商变更管理工作的效率。第三是需求状态方面, 需求状态是需求的一项重要属性,它是指某时间点需求的一种情况反映。建立 需求状态是为了表示需求的各种不同情况,它对电信信息化系统这种大型软件 项目尤为重要。第四是需求跟踪方面。进行需求跟踪的目的是建立和维护从用 户需求开始到测试之间的一致性与完整性,确保所有的实现都以用户需求为基 础,而实现的需求也全部覆盖了预期的需求,同时确保所有的输出与用户需求 的一致性。第五是需求验证方面。需求验证是分析需求规格说明书的正确性和 可行性,检验需求能否反映客户的意愿。这个工作国内软件开发商还不够重视, 但如果在构造设计开始之前,通过验证需求的正确性及其质量,就能大大减少 电子科技大学硕士学位论文 项目后期的返工现象。本文将从验证的步骤、内容、评审的方式等方面进行详 细的论证,指导软件开发商如何做好需求验证工作。第六是从软件开发商内部 管理方面进行论证。一个关键问题是要在项目组内安排专门的需求管理人员, 要求这些人精通业务,并从头到尾参与。这个问题被国内绝大多数软件开发商 所忽视,有的公司在项目开始阶段非常重视,派出系统分析员参与需求分析, 当需求分析告于一个阶段或时间一长又由于成本因素和其他事情中途换人,或 者安排程序开发人员兼做需求分析师,造成职责不清,以致大大削弱了内部管 理。此外项目组内部还要制定出各种流程规范,如变更管理流程,需求验证流 程,需求跟踪流程等。本文将通过电信信息化需求框架模型的建立以及需求工 程的实施应用方法解决以上关键问题。 1 4 本文组织安排 本文共分五章,第一章是对全文的研究意义、国内外研究现状进行总体的分 析评述,提出本文所解决的问题。第二章从需求工程的产生发展背景、概念及 其重要性方面进行介绍,并在业界研究基础上总结提出需求工程模型。第三章 在电信信息化应用领域提出一种全新的需求框架模型( 由于是该模型的初步研 究,所以只涉及模型较顶层) 并在四川i 电信综合营帐项日中进行实现。第四章 将结合该项目的具体情况进行需求工程的实施应用。第五章总结目前电信信息 化需求工程的问题和本文的解决方案。 化需求工程的问题和本文的解决方案。 第二章需求工程概述 第二章需求工程概述 2 1 需求工程的背景及概念 需求工程是软件工程的一个子集,但它并不是软件工程产生时就有的。随着软 件工程的发展,即软件危机的出现及其解决思路的改进,对软件需求的要求越来 越高,逐渐形成了一套工程化的理念和做法。所以要想了解需求工程就不得不谈 到“软件危机”现象和软件工程。 研制软件系统需要投入大量的人力和物力,但系统的质量难以保证,也就是说 开发软件所需的高成本同产品的低质量之间有着尖锐的矛盾,这种现象就是所谓 的“软件危机”。 3 1 具体的说就是软件成本日益增长,开发进度难以控制,软件质 量差,软件维护困难。另外,软件修改是一项很“危险”的工作,对一个复杂的 逻辑过程,哪怕做一项微小的改动,都可能引入潜在的错误,常常会发生“纠正 一个错误带来更多新错误”的问题,从而产生副作用。 那么为什么会产生软件危机呢? 主要有以下几点原因: ( 1 ) 用户需求不明确 在软件开发过程中,用户需求不明确问题主要体现在四个方面: 在软件开发出来之前,用户自己也不清楚软件的具体需求; 用户对软件需求的描述不精确,可能有遗漏、有二义性、甚至有错误; 在软件开发过程中,用户还提出修改软件功能、界面、支撑环境等方面的 要求: 软件开发人员对用户需求的理解与用户本来愿望有差异。 ( 2 ) 缺乏正确的理论指导 缺乏有力的方法学和工具方面的支持。由于软件不同于大多数其他工业产品, 其开发过程是复杂的逻辑思维过程,其产品极大程度地依赖于开发人员高度的智 力投入。由于过分地依靠程序设计人员在软件开发过程中的技巧和创造性,加剧 软件产品的个性化,也是发生软件危机的一个重要原因。 ( 3 ) 软件规模越来越大 随着软件应用范围的增大,软件规模愈来愈大。大型软件项目需要组织一定的 人力共同完成,而多数管理人员缺乏开发大型软件系统的经验,而多数软件开发 电子科技大学硕士学位论文 人员又缺乏管理方面的经验。各类人员的信息交流不及时、不准确、有时还会产 生误解。软件项目开发人员不能有效地、独立自主地处理大型软件的全部关系和 各个分支,因此容易产生疏漏和错误。 ( 4 ) 软件复杂度越来越高 软件不仅仅是在规模上快速地发展扩大,而且其复杂性也急剧地增加。软件产 品的特殊性和人类智力的局限性,导致人们无力处理“复杂问题”。所谓“复杂问 题”的概念是相对的,一旦人们采用先进的组织形式、开发方法和工具提高了软 件开发效率和能力,新的、更大的、更复杂的问题又摆在人们的面前。 人们在认真地研究和分析了软件危机背后的真正原因之后,开始探索用工程的 方法进行软件生产的可能性,即用现代工程的概念、原理、技术和方法进行计算 机软件的开发、管理和维护,由此逐渐形成了软件工程的概念。 软件工程采用生命周期方法学来分解复杂的问题。早期的需求分析作为软件生 命周期的第一个阶段。随着软件系统规模的扩大,需求分析在整个软件开发与维 护过程中越来越重要,直接关系到软件成功与否。人们逐渐认识到需求活动不再 仅限于软件开发的最初阶段,它贯穿于软件开发的整个生命周期。上世纪8 0 年代, 逐步形成了软件工程的子领域需求工程。进入9 0 年代后,需求工程成为软件 界研究的重点之一。 目前需求工程还没有标准定义,一般认为需求工程是指应用已证实有效的原 理、技术和方法,描述目标系统的外部特征和相关约束,从而确定客户需求,帮 助分析人员理解目标系统的一门学科。它通过合适的工具和记号系统的描述待开 发系统及其行为特征和相关约束,形成需求文档,并对用户不断变化的需求演进 给予支持。需求工程的目的是通过与用户广泛地交流确定应用系统的目标。需求 活动以“工程化”的方法被提出、分析和组织,它鼓励用户以一种积极的方式参 与需求活动中,并在整个软件生命周期强调用户参与和领域专家的指导作用,促 使目标系统最大地满足用户需求。 需求工程可分为系统需求工程和软件需求工程。系统需求工程是针对软硬件共 同组成的整个系统,软件需求工程仅针对纯软件部分。1 4 在本文中如无特别说明, 需求工程均指软件需求工程。 2 2 需求工程的重要性 据调查显示在众多失败的软件项目中,由于需求原因导致的约占到4 5 ,因此, 第二章需求工程概述 需求工作将对软件项目能否最终实现产生至关重要的影响。目前需求活动逐渐被 重视以及工程化,但是在目前许多软件项目中,由于需求活动引发的潜在问题未 被理解和重视,很多人对需求的认识仍然远远不够,很多项目都把大量精力放在 开发上,减少需求活动的时间和质量。不管是小到几十万元,还是大到上亿元的 软件项目,需求都或多或少的存在问题,有的是开发者本身不重视原因、有的是 技术原因、有的是人员组织原因、有的是沟通原因、有的是机制原因,在需求阶 段一个小小韵错误很有可能造成后期付出2 0 0 倍的代价。而高质量的需求过程将 带来很多好处,包括能减少开发后期和整个维护阶段的重做工作;节约成本;能 与客户通力合作,得到充分配合;有利于系统测试,确保产品质量等等。由此表 明做好软件需求开发是一项系统工作,而不是简单的技术工作,只有系统的了解 和掌握需求工程的基本概念、方法、手段、评估标准、风险等相关知识,并在实 践中加以应用,才能真正做好需求工程的工作。 2 3 需求工程模型 需求工程又可以称为需求过程。过程是导致完成某种任务或取得某种成果的一 组活动,而需求工程就是为了实现需求工程的目标,导出、确认和维护高质量需 求产品( 如需求文档) 的一组结构化活动。需求工程模型是一个过程模型,用来 帮助组织定义需求工程过程,以助于高质量、低成本、高效率的实现需求工程目 标。 上世纪8 0 年代,h e r k r a s n e r 定义了需求工程的五阶段生命周期:需求定义和 分析,需求决策,形成需求规格,需求实现与验证,需求演进管理。后来又有m a t t h i a s j a r k e 和k l a u sp o h l 提出了三阶段周期的说法:获取,表示,验证。在k a r le w i e g g e r s 的软件需求一书中将需求过程分为需求开发和需求管理两个主要阶段。1 5 1 由于需求工程是一个不断反复的需求定义、记录和演进的过程,所以综合各种 观点,本文将需求工程模型分为实旖和管理两层,实施层包括需求获取、需求分 析;管理层包括需求管理。 需求获取从最初的需求分析中独立出来,是对原始需求的收集、提取、确认的 过程,它最终反映用户的真实需求。需求获取的产物需求定义文档完全列出 用户希望系统做的事,这作为需求分析的输入。它主要包括需求收集、需求整理、 需求交流。 需求分析是对已收集的真实的用户需求进行分析,及时排除错误和弥补遗漏、 电子科技大学硕士学位论文 不足,把用户“做什么”的要求最终转换为一个完全的,精细的软件逻辑模型,并编 写出软件的需求规格说明。准确地表达用户的要求。以确保所有风险承担者对需求 的理解达成共识。需求分析的产物需求规格说明文档( 需求模型作为规格说 明的补充说明) 是由需求分析人员以适合系统设计开发的技术专业术语重述需求 定义文档。它主要包括分析需求可行性、确定需求优先级、建立需求模型、编写 需求规格说明书。 需求管理是在整个需求工程中对需求进行质量管理、变更管理、版本管理、风 险管理,并跟踪需求及其属性的控制、协调、监督、管理过程。它贯穿整个需求 过程,对过程和阶段产物进行管理。它主要包括质量管理、变更管理、风险管理、 版本控制、需求跟踪。 需求工程模型如下图所示。 图2 - 1 需求工程模型 第三章电信信息化需求框架模型的探讨及应用 第三章电信信息化需求框架模型的探讨及应用 软件工程中的需求工程和软件体系结构都是软件工程研究、教育和实践领域的 重要内容。需求工程关注一个软件系统的最终目的,软件体系结构则关注软件结 构的研究,包括拓扑结构、特性、组成构件及其关系和结合模式等。【6 】那么能否将 框架的概念应用与需求工程结合起来呢? 根据软件体系结构及其相关概念的阐述 理解以及需求的特性,同时结合在电信信息化应用领域中需求工程的应用,本文 提出一种新的概念模型电信信息化需求框架模型。 3 1 软件体系结构 3 1 1 起源和发展 软件体系结构最初源于对软件结构的研究,系统复杂性和软件复用是它产生的 内在驱动力。软件系统的规模在迅速增大的同时,软件开发方法也经历了一系列 的变革,在这个过程中,软件体系结构也由最初模糊的概念发展到一个渐趋成熟 的技术。软件体系结构产生经历了以下几个过程: 2 0 世纪7 0 年代以前,尤其是在以a l g o l 6 8 为代表的高级语言出现以前,软 件开发基本上都是汇编程序设计。此阶段系统规模较小,很少明确考虑系统结构。 般不存在系统建模工作。7 0 年代中后期,由于结构化开发方法的出现与广泛应 用,软件开发中出现了概要设计与详细设计,而且主要任务是数据流设计与控制 流设计。因此,此时软件结构已作为一个明确的概念出现在系统的开发中。 2 0 世纪8 0 年代初到9 0 年代中期,是面向对象开发方法兴起与成熟阶段。由 于对象是数据与基于数据之上操作的封装,因而在面向对象开发方法下,数据流 设计与控制流设计则统一为对象建模,同时,面向对象方法还提出了一些其他的 结构视图。如在o m t 方法中提出了功能视图、对象视图与动态视图( 包括状态图 和事件追踪图) :而b o o c h 方法中则提出了类视图、对象视图、状态迁移图、交 互作用图、模块图、进程图:而1 9 9 7 年出现的统一建模语言u - m l 则从功能模型 ( 用例视图) 、静态模型( 包括类图、对象图、构件图、包图) 、动态模型( 协作 图、顺序图、状态图和活动图) 、配置模型( 配置图) 描述应用系统的结构。 9 0 年代以后则是基于构件的软件开发阶段,该阶段以过程为中心,强调软件 电子科技大学硕士学位论文 开发采用构件化技术和体系结构技术,要求开发出的软件具备很强的自适应性、 互操作性、可扩展性和可重用性。此阶段中,软件体系结构已经作为一个明确的 文档和中间产品存在于软件开发过程中,同时,软件体系结构作为一门学科逐渐 得到人们的重视,并成为软件工程领域的研究热点,因而p e r r y 和w o l f 认为,未 来的年代将是研究软件体系结构的时代。【4 7 】 纵观软件体系结构技术的发展历程,从最初的无结构设计到现行的基于体系结 构的软件开发,大致经历了4 个阶段:( 1 ) 无体系结构设计阶段:以汇编语言进 行小规模应用程序开发为特征:( 2 ) 萌芽阶段:出现了程序结构设计主题,以控 制流图和数据流图构成软件结构为特征:c 3 ) 初期阶段:出现了从不同侧面描述 系统的结构模型,以u m l 为典型代表;( 4 ) 高级阶段:以描述系统的高层抽象结 构为中心,不关心具体的建模细节,划分了体系结构模型与传统的软件结构的界 限。由于概念尚不统一、描述规范也不能达成一致认识、在软件开发实践中软件 体系结构尚不能发挥重要作用,因此,我们认为软件体系结构技术达到成熟还需 一段时日。【8 3 1 2 定义 3 1 2 1 代表性定义 虽然软件体系结构已经在软件工程领域中有着广泛的应用,但迄今为止还没有 一个被大家所公认的软件体系结构的定义。许多专家学者从不同角度和不同侧面 对软件体系结构进行了刻画,较为典型的定义有:一 定义3 - 11 9 9 2 年,d e w a y n ep e r r y 和a l e xw o l f 用如下三元组表示:s a = e l e m e n t s , f o r m ,r a t i o n a l 。 软件体系结构是具有一定形式的结构化元素,即元素( e l e m e n t s ) 的集合,包括 处理元素、数据元素和连接元素。处理元素负责对数据进行加工,数据元素是被 加工的信息,连接元素把体系结构的不同部分组合连接起来。这一定义注重区分 处理元素、数据元素和连接元素。软件体系结构形式( f o r m ) 是由专有特性( p r o p e r t i e s l 和关系( r e l a t i o n s h i p ) 组成。专有特性用于限制体系结构元素的选择,关系用于限制 体系结构元素组合的拓扑结构。而在多个体系结构方案中选择合适的体系结构方 案往往基于一组准则( r a t i o n a l ) 。【9 】 定义3 _ 21 9 9 3 年,m a r ys h a w 和d a v i dg a r l a n 用如下三元组表示: s a = c o m p o n e m s ,c o n n e c t o r s ,c o n s t r a i n s 。 1 0 第三章电信信息化需求框架模型的探讨及应用 软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法 设计和数据结构设计。体系结构问题包括总体组织和全局控制、通讯协议、同步、 数据存取,给设计元素分配特定功能,设计元素的组织,规模和性能,在各设计 方案间进行选择等。构件( c o m p o n e n t ) 可以是一组代码,如程序的模块;也可以是 一个独立的程序,如数据库的s q l 服务器。连接器( c o n n e c t o r ) 表示构件之间的相 互作用。它可以是过程调用、管道、远程过程调用等。一个软件体系结构还包括 某些限制( c o n s 仃a i n ) 。该观点的视角是程序设计语言,构件主要是代码模块。 定义3 - 3s o n i ,n o r d 和h o f m e i s t e r 在研究了工业应用中有影响的一些流行结构 后提出:软件体系结构有四个角度,它们从不同方面对系统进行描述:概念角度 描述系统的主要构件及它们之间的关系;模块角度包含功能分解与层次结构;运 行角度描述了一个系统的动态结构:代码角度描述了各种代码和库函数在开发环 境中的组织。 定义3 - 4h a y e sr o t h 在1 9 9 4 年指出:软件体系结构是一个抽象的系统规范, 主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。 定义3 - 5d a v i dg a r l a l l 和d e w a y n ep e r r y 于1 9 9 5 年在i e e e 软件工程学报上又 采用如下的定义:软件体系结构是一个程序系统各构件的结构、它们之间的相互 关系以及进行设计的原则和随时间进化的指导方针。i l 0 j 定义3 6b a r r yb o e h m ,用如下五元组表示:s a = c o m p o n e n t s ,c o n n e c t i o n s , c o n s 廿a i n s ,s t a k e h o l d e r s n e e d s ;r a t i o n a l 。 软件体系结构包括一个软件和系统构件,互联及约束的集合:一个系统需求说 明的集合:个基本原理用以说明这一构件,互联和约束能够满足系统需求。 定义3 71 9 9 7 年,b a s s 、c l e m e n t s 和k a z m a n 在使用软件体系结构一书中 给出如下的定义:一个程序或计算机系统的软件体系结构包括一个或一组软件构 件、软件构件的外部的可见特性及其相互关系。其中“软件外部的可见特性”是 指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。该定义强调 体系结构分析需要

温馨提示

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

评论

0/150

提交评论