999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟件項目中需求管理的探索與實踐

2008-12-31 00:00:00景慎艷
電腦知識與技術(shù) 2008年27期

摘要:軟件需求在軟件產(chǎn)品的整個生命周期中占有十分重要的位置,對后續(xù)的軟件開發(fā)和維護的成敗具有決定性意義。在實踐中,需求管理卻往往得不到足夠的重視。從軟件需求和需求工程的概念入手,分析了軟件需求管理中存在的內(nèi)部與外部問題,并著重介紹了需求開發(fā)和管理的有效方法,提出了簡單可行的需求分析評價標準。

關(guān)鍵詞:軟件需求;開發(fā)方法;管理方法;評價

中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2008)27-1960-02

The Research and Application on Software Requirements Management in Development of Software Project

JING Shen-yan

(Department of Information Technology Liaoning University of International Business and Economics, Dalian 116052, China)

Abstract: The software requirements is very important in the the entire life cycle of software products, and that has decisive significance for the follow-up of software development and maintenance. In practice, the requirements management can not get sufficient attention. This paper demand from software requirements and software engineering, and analyze the internal and external issues in the management of software requirement, and focus on the effective ways in the development and management of the requirements, and put forward some simple and feasible standards for the analysis and evaluation of software requirements.

Key words: software requirements; development method; management method; evaluation

1 引言

軟件需求在軟件產(chǎn)品的整個生命周期中占有十分重要的位置。我們應(yīng)該看到,它是軟件項目的依據(jù)和出發(fā)點,無論是軟件的開發(fā)還是軟件的維護都是以軟件需求作為前提的。如果將軟件需求比做是一座建筑物的地基,一點都不夸張。因此,重視需求工作,重視軟件需求的質(zhì)量,可以為后續(xù)的工作打下良好基礎(chǔ),否則可能會給開發(fā)的成本、周期以及產(chǎn)品的質(zhì)量帶來嚴重的影響,造成不良的后果。據(jù)調(diào)查顯示,在眾多失敗的軟件項目中,需求管理失誤原因約占到45%。

在項目開發(fā)工作中,很多人對需求的認識還遠遠不夠,有的是開發(fā)者本身不重視原因、有的是技術(shù)原因、有的是人員組織原因、有的是溝通原因、有的是機制原因,以上種種原因都表明做好軟件需求開發(fā)是一項系統(tǒng)工作,而不是簡單的技術(shù)工作,只有系統(tǒng)的了解和掌握需求的基本概念、方法、手段、評估標準、風險等相關(guān)知識,并在實踐中加以應(yīng)用,才能真正做好需求的開發(fā)和管理工作。

2 什么是軟件需求和需求工程

2.1 軟件需求的定義

按照IEEE-STD-610標準的定義,軟件需求是用戶為解決某個問題或是為實現(xiàn)某個目標,要求軟件必須滿足的能力。軟件需求可能由分配給軟件的需求得到,也可能由用戶或最終用戶提出。軟件需求主要分為3個層次,如圖1所示。

1) 業(yè)務(wù)需求:指客戶對軟件的高層次目標要求。

2) 用戶需求:指用戶使用軟件必須達到的要求和完成的任務(wù)。

3) 功能和非功能需求:規(guī)定了開發(fā)人員必須實現(xiàn)的需求,它的實現(xiàn)滿足上述業(yè)務(wù)需求和用戶需求。通常以需求規(guī)格說明書的形式體現(xiàn)。

4) 非功能性需求包括過程需求和外部需求。過程需求包括交付需求、實現(xiàn)需求、遵循的標準,外部需求包括安全性、性能、機密性、互操作性等。

2.2 需求工程的定義

需求工程是系統(tǒng)工程或軟件工程中解決需求問題的一個嶄新領(lǐng)域。其目標在于使工程得到的產(chǎn)品能夠準確、真實的體現(xiàn)客戶的需求,令客戶滿意。需求分析的過程,也叫做需求工程和需求階段,它包括了需求開發(fā)和需求管理兩個部分。

需求開發(fā)是指從信息收集、分析和評價到編寫文檔、評審等一系列產(chǎn)生需求的活動,分為四個階段:獲取需求、分析需求、定義需求和驗證需求。這四個階段不一定是遵循線性順序的,他們的活動是相互獨立和反復的。需求管理是一種用于查找、記錄、組織和跟蹤系統(tǒng)需求變更的系統(tǒng)化方法。它包括:變更控制、版本控制、需求跟蹤、需求狀態(tài)跟蹤等工作。

3 需求開發(fā)過程中存在的問題

需求開發(fā)過程中存在的任何問題,最終導致的結(jié)果都是需求變更。為了順利的提供高質(zhì)量的軟件產(chǎn)品,按照開發(fā)人員的觀點,軟件需求應(yīng)該是清晰、正確、穩(wěn)定的。所謂穩(wěn)定是指:希望用戶一次提供所有需求,并且以后不再改變,但這往往是不現(xiàn)實的。用戶在開發(fā)過程中變更先期確定的需求的現(xiàn)象非常普遍,也就是說需求變更是不可完全避免的。從開發(fā)人員的角度來看,可以把需求變更的原因分為兩類:

3.1 內(nèi)部原因

由于開發(fā)人員需求開發(fā)工作的缺陷使得需求發(fā)生了變更,主要有兩種情況:

1) 需求分析、定義、評審工作不夠充分,使得需求規(guī)格說明書中隱含著問題,到下一階段才發(fā)現(xiàn)。例如:為了趕工期忽視了需求的質(zhì)量、需求開發(fā)的方法不當。

2) 需求開發(fā)過程中,與客用戶的溝通不充分或開發(fā)人員的經(jīng)驗缺乏,沒有挖掘出用戶的潛在需求。

3.2 外部原因

外部原因是指開發(fā)人員外部的原因引起的需求變更,主要是用戶的原因。

1) 隨著用戶對需求的理解逐漸深入,可能會有新的想法,所以會要求改變原來的需求。

2) 業(yè)務(wù)變化導致軟件需求發(fā)生變化。計算機運行環(huán)境發(fā)生變化,導致需求發(fā)生變更。如計算機硬件、系統(tǒng)軟件等發(fā)生了變化。

3) 相關(guān)制度、法律法規(guī)發(fā)生了變化導致需求變更。

無論何種原因引起的需求變更,開發(fā)人員都要積極面對。因為需求絕對不變更是不可能的。好的需求開發(fā)方法和管理的方法會對降低需求變更對系統(tǒng)開發(fā)產(chǎn)生的影響。

4 需求開發(fā)與管理的一些方法

需求開發(fā)是一項復雜的工作,使用的方法也很多,不同的開發(fā)方式有不同的方法,這里簡單介紹一些相關(guān)的方法。

4.1 需求開發(fā)方法

需求開發(fā)有很多最佳實踐以及好的方式方法,下面根據(jù)實踐經(jīng)驗介紹幾種有效的方法。

1) RUP與UML的結(jié)合

RUP(Rational Unified Process):Rational公司推出的一種軟件考法過程框架,UML(Unified Modeling Language):統(tǒng)一建模語言。業(yè)界已經(jīng)證實,RUP與UML的結(jié)合是一種最佳實踐。因為RUP過程框架,能夠有效的指導我們,有條不紊的進行需求開發(fā)工作。同時UML又能直觀、形象的表達出我們想要表達的意思。圖形化的需求建模會讓開發(fā)人員和用戶對需求的理解保持一致。這對于需求質(zhì)量的提高會有很大的幫助。

2) 繪制關(guān)聯(lián)圖

繪制系統(tǒng)關(guān)聯(lián)圖是用于定義系統(tǒng)與系統(tǒng)外部實體間的界限和接口的簡單模型。

3) 可行性分析

在允許的成本、性能要求下,分析每項需求實施的可行性,提出需求實現(xiàn)相關(guān)風險,包括與其它需求的沖突,對外界因素的依賴和技術(shù)障礙。

4) 需求優(yōu)先級

確定功能實現(xiàn)的優(yōu)先級。根據(jù)優(yōu)先級來確定每個產(chǎn)品版本要實現(xiàn)的需求。

5) 系統(tǒng)原型法

原型法是一個非常有用的獲取需求的方法,不論系統(tǒng)規(guī)模的大小,都非常適用。有時用戶用語言難以表達出他們的意思,所以通過真實的應(yīng)用界面會更好的引導用戶提出他們的潛在需求。

6) 圖形分析模型

繪制圖形分析模型是編制軟件需求規(guī)格說明重要手段。它們能幫助分析人員理清數(shù)據(jù)、業(yè)務(wù)模式、工作流程以及他們之間的關(guān)系,找出遺漏、冗余和不一致的需求。這樣的模型包括數(shù)據(jù)流圖、實體關(guān)系圖、狀態(tài)變換圖、對話框圖、對象類及交互作用圖。

7) 數(shù)據(jù)字典

數(shù)據(jù)字典是對系統(tǒng)用到的所有數(shù)據(jù)項和結(jié)構(gòu)的定義,以確保開發(fā)人員和用戶使用統(tǒng)一的數(shù)據(jù)定義。在需求階段,數(shù)據(jù)字典至少應(yīng)定義客戶數(shù)據(jù)項,確保客戶與開發(fā)小組是使用一致的定義和術(shù)語。

4.2 需求管理方法

需求管理主要是對需求變更、需求狀態(tài)的管理。主要包括以下幾個方面:

1) 確定需求變更控制過程。

制定一個選擇、分析和決策需求變更的過程,所有的需求變更都需遵循此過程。

2) 進行需求變更影響分析。

評估每項需求變更,以確定它對項目計劃安排和其它需求的影響,明確與變更相關(guān)的任務(wù)并評估完成這些任務(wù)需要的工作量。通過這些分析將有助于需求變更控制部門做出更好的決策。

3) 建立需求基準版本和需求控制版本文檔。

確定需求基準,這是項目各方對需求達成一致認識時刻的一個快照,之后的需求變更遵循變更控制過程即可。每個版本的需求規(guī)格說明都必須是獨立說明,以避免將底稿和基準或新舊版本相混淆。

4) 維護需求變更的歷史記錄。

將需求變更情況寫成文檔,記錄變更日期、原因、負責人、版本號等內(nèi)容,及時通知到項目開發(fā)所涉及的人員。為了盡量減少困惑、沖突、誤傳,應(yīng)指定專人來負責更新需求。

5) 跟蹤每項需求的狀態(tài)。

可以把每一項需求的狀態(tài)屬性(如已推薦的,已通過的,已實施的,或已驗證的)保存在數(shù)據(jù)庫中,這樣可以在任何時候得到每個狀態(tài)類的需求數(shù)量。

6) 衡量需求穩(wěn)定性。可以定期把需求數(shù)量和需求變更(添加、修改、刪除)數(shù)量進行比較。過多的需求變更“是一個報警信號”,意味著問題并未真正弄清楚。

5 需求分析評價標準

如何判斷需求規(guī)格說明的好壞,不同的軟件工程規(guī)范都有自己的一套標準,這里向大家介紹一個比較常見的NASA SEL推薦方法,它是由美國國家航空和航天局軟件工程實驗室開發(fā)的五大常用國際軟件工程規(guī)范之一,它對軟件需求過程的評價標準是:清晰、完整、一致、可測試。

1) 清晰:目前大多數(shù)的需求分析采用的仍然是自然語言,自然語言對需求分析最大的弊病就是它的二義性,所以開發(fā)人員需要對需求分析中采用的語言做某些限制。例如盡量采用主語+動作的簡單表達方式。需求分析中的描述一定要簡單,千萬不要采用疑問句、修飾這些復雜的表達方式。 除了語言的二義性之外,注意不要使用行話,就是計算機術(shù)語。需求分析最重要的是和用戶溝通,可是用戶多半不是計算機的專業(yè)人士,如果在需求分析中使用了行話,就會造成用戶理解上的困難。

2) 完整:需求的完整性是非常重要的,如果有遺漏需求,則不得不返工,在軟件開發(fā)過程中,最糟糕的事情莫過于在軟件開發(fā)接近完成時發(fā)現(xiàn)遺漏了一項需求。但實際情況是,需求的遺漏是常發(fā)生的事情,這不僅僅是開發(fā)人員的問題,更多發(fā)生在用戶那里。要做到需求的完整性是很艱難的一件事情,它涉及到需求分析過程的各個方面,貫穿整個過程,從最初的需求計劃制定到最后的需求評審。

3) 一致:一致性是指用戶需求必須和業(yè)務(wù)需求一致,功能需求必須和用戶需求一致。在需求過程中,開發(fā)人員需要把一致性關(guān)系進行細化,比如用戶需求不能超出預(yù)前指定的范圍。嚴格的遵守不同層次間的一致性關(guān)系,就可以保證最后開發(fā)出來的軟件系統(tǒng)不會偏離最初的實現(xiàn)目標。

4) 可測試:一個項目的測試從什么時候開始呢?有人說是從編碼完成后開始,有人說是編碼的時候同時進行單元測試,編碼完成后進行系統(tǒng)測試,這些結(jié)論都不完全正確。實際上,測試是從需求分析過程就開始了,因為需求是測試計劃的輸入和參照。這就要求需求分析是可測試的,只有系統(tǒng)的所有需求都是可以被測試的,才能夠保證軟件始終圍繞著用戶的需要,保證軟件系統(tǒng)是成功的。

6 結(jié)束語

需求管理是軟件開發(fā)的整個生命周期中最基礎(chǔ)、最關(guān)鍵的部分,隨著軟件開發(fā)研究與實踐水平的推進,需求開發(fā)也越來越受到企業(yè)與開發(fā)管理人員的重視。本文提出的需求技術(shù)與需求管理方法意在讓更多的人能夠充分意識到需求管理的決定性作用,能夠在長期的實踐中對需求技術(shù)與需求管理方法進行不懈的探索與研究,推進軟件開發(fā)水平與開發(fā)能力的飛躍和提高。

參考文獻:

[1] 李明.需求管理中數(shù)據(jù)和信息的關(guān)系及應(yīng)用[J].UML軟件工程組織技術(shù)期刊,2008,(4).

[2] 毛明志,沈賢義,黃春賢.基于特性的軟件需求管理工具的研究與應(yīng)用[J].計算機技術(shù)與發(fā)展,2007(5).

[3] 鄭人杰,王緯,王方德,等.基于軟件能力成熟度模型(CMM)的軟件過程改進方法與實施 [M].北京:清華大學出版社,2003.

[4] 張秀娟.軟件項目中的需求變更管理研究[J].中國科技信息,2006,(1).

主站蜘蛛池模板: 无码视频国产精品一区二区| 91精品久久久久久无码人妻| 97视频在线精品国自产拍| 亚洲成人黄色网址| 2022精品国偷自产免费观看| 老司机久久精品视频| 无码精品一区二区久久久| 亚洲一区二区成人| 国产H片无码不卡在线视频| 欧美色综合网站| 欧美成人一级| 狠狠色噜噜狠狠狠狠色综合久| 成人亚洲国产| WWW丫丫国产成人精品| 久久亚洲综合伊人| 久久精品国产91久久综合麻豆自制| 91偷拍一区| 国产伦精品一区二区三区视频优播| 亚洲h视频在线| 亚洲欧美另类日本| 国产亚洲欧美在线中文bt天堂| 伊人久久大线影院首页| 一区二区自拍| 亚洲国产91人成在线| 欧美不卡二区| 日本精品中文字幕在线不卡 | 黄色网址手机国内免费在线观看| 国产一区二区三区免费观看| 日本高清成本人视频一区| 亚洲男人在线| 91成人免费观看在线观看| 在线观看免费黄色网址| 91精品免费久久久| 99re这里只有国产中文精品国产精品| 日本欧美精品| 在线一级毛片| 国产福利一区视频| 国产午夜看片| 日韩小视频在线播放| yjizz视频最新网站在线| 久久亚洲AⅤ无码精品午夜麻豆| 国产成人精品视频一区视频二区| 少妇极品熟妇人妻专区视频| 在线国产毛片| 国产 日韩 欧美 第二页| 国产av无码日韩av无码网站| 国内精品九九久久久精品 | 18禁不卡免费网站| 久久狠狠色噜噜狠狠狠狠97视色| 国产午夜一级淫片| 成年片色大黄全免费网站久久| 国产无码高清视频不卡| 日韩毛片免费视频| Jizz国产色系免费| 久久五月视频| 国产白浆在线| 怡红院美国分院一区二区| 色婷婷综合在线| 国内嫩模私拍精品视频| 精品视频91| 久久中文字幕不卡一二区| 久久熟女AV| 毛片一区二区在线看| 国产成人h在线观看网站站| 欧美精品成人| 欧美色综合网站| 91福利一区二区三区| 伊人久久大香线蕉综合影视| 国产精品一区二区久久精品无码| 国产无遮挡猛进猛出免费软件| 久久这里只有精品国产99| 亚洲—日韩aV在线| 国产精品开放后亚洲| 久久99蜜桃精品久久久久小说| 91视频精品| 日韩精品无码一级毛片免费| 老司机精品一区在线视频| 精品自窥自偷在线看| 人妻丰满熟妇αv无码| 成人久久精品一区二区三区| 国产精品丝袜在线| AV在线天堂进入|