當前位置:工程項目OA系統(tǒng) > 建筑OA系統(tǒng) > 項目進度管理軟件
項目綜合管理:需求工程研究現(xiàn)狀
隨著信息時代的發(fā)展,計算機軟件的需求愈來愈復雜,規(guī)模愈來愈大,而且隨著企業(yè)的發(fā)展,工作過程重組,需求變更已愈來愈成為必然。軟件危機持續(xù)了30年之久,至今仍無法得以很好地解決。究其原因,軟件本身具有的特點固然有關,但長期以來,缺乏軟件開發(fā)和維護的正確方法以及忽視軟件開發(fā)過程的質量控制乃是最為關鍵的原因。其中軟件開發(fā)和維護方法的不正確性主要體現(xiàn)在:忽視軟件開發(fā)前期的需求分析;開發(fā)過程缺乏統(tǒng)一的、規(guī)范化的方法論的指導;文檔資料不齊全或不準確;忽視與用戶之間、開發(fā)組員之間的交流;忽視測試的重要性;不重視維護或由于上述原因造成維護工作的困難。
這樣,就經(jīng)常出現(xiàn)用戶對“已完成”系統(tǒng)不滿意,軟件產(chǎn)品的質量經(jīng)常出現(xiàn)漏洞,補丁一大堆。因此人們意識到以工程化的原則和方法組織軟件開發(fā)工作是解決軟件危機的一個主要出路。
需求分析作為軟件生命周期的第一個階段,并貫穿于整個軟件生命周期,其重要性越來越突出,到80年代中期,逐步形成了軟件工程的子領域——需求工程。進入90年代后,需求工程成為軟件界研究的重點之一。從1993年起,每兩年舉辦一次需求工程國際研討會(ISRE),1994年起,每兩年舉辦一次需求工程國際會議(ICRE)。一些關于需求工程的工作小組相繼成立。
內(nèi) 容
需求工程的目的是通過與用戶廣泛地交流確定應用系統(tǒng)的目標。需求活動以“工程化”的方法被提出、分析和組織,它鼓勵用戶以一種積極的方式參與需求分析活動中,并在整個軟件生命周期強調(diào)用戶參與和領域專家的指導作用,促使目標系統(tǒng)最大地滿足用戶需求。
需求工程是一個不斷反復的需求定義、記錄和演進的過程,并在最終達到需求的凍結。我們可以把需求工程的活動劃分為五個階段:
1. 需求獲?。悍e極與用戶交流,捕捉、分析和修訂用戶對目標系統(tǒng)的需求,并提煉出符合問題解決領域的用戶需求。2. 需求建模:根據(jù)需求分析,對已獲取的需求進行抽象描述,為目標系統(tǒng)建立一個概念模型。3. 需求規(guī)格說明:對需求模型進行精確地、形式化的描述,為計算機系統(tǒng)的實現(xiàn)提供基礎。4. 需求驗證:以需求規(guī)格說明為基礎輸入,通過符號執(zhí)行、模擬或快速原型等方法,分析和驗證需求規(guī)格說明的正確性和可行性。5. 需求管理:跟蹤和管理需求變化,支持系統(tǒng)的需求演進。
發(fā) 展
1. 需求工程的方法學
需求工程的方法學發(fā)展很快,對需求工程方法學不同側面的研究和一些經(jīng)典論述為需求工程的發(fā)展奠定了基礎。其中典型的有:
* Lano提出的操作概念規(guī)格,于需求產(chǎn)生前由開發(fā)人員寫成,它既滿足精確的規(guī)格說明要求,同時易讀、易理解,便于用戶了解是否真正體現(xiàn)了其要求。
* Sutcliffe、Maiden等人提出從領域知識的角度定義在需求工程環(huán)境中通用的領域語義模型和組合模型。
* Alford 提出任務分割的概念,大大減低了需求分析的問題復雜度。
* Chou 和Eckert 討論了面向對象的需求工程方法學的概念和模型。
* Drake提出用于確定系統(tǒng)需求邊界的限定過程。
* Gotel 對需求跟蹤性問題進行了研究。
還有其他許多人對需求工程方法學的其他方面進行了研究和論述。
綜合看來,需求工程方法大致分為四類:面向過程、面向數(shù)據(jù)、面向控制、面向對象。
* 面向過程的分析方法主要研究系統(tǒng)輸入輸出的轉化方式,對數(shù)據(jù)本身及控制方面并不很重視。傳統(tǒng)的結構分析方法SA(structure analysis)、SADT(structure analysis and design technique)和可執(zhí)行/可操作模型PAISley、Descartes以及形式方法VDM(vienna design method)、Z等都屬于這一類。
* 面向數(shù)據(jù)的方法強調(diào)以數(shù)據(jù)結構的方式描述和分析系統(tǒng)狀態(tài),JSD和關系實體(ER)模型都屬此類。
* 面向控制的方法強調(diào)同步、死鎖、互斥、并發(fā)以及進程激活和掛起,數(shù)據(jù)流圖就是典型的面向控制的方法,SADT是以面向控制的方法為輔的。
* 面向對象的方法把分析建立在系統(tǒng)對象以及對象間交互的基礎上,通過對象的屬性、分類結構和集合結構定義和溝通需求。從對象模型、動態(tài)模型和功能模型三個方面對問題進行描述。面向對象的方法正在成為需求分析中的一個熱點,并展現(xiàn)出良好的應用前景。Yourdan和Coad的OOA方法、Booch的方法、Jacobson 的OOSE、Rumbaugh的OMT方法等,都是這一方法的典型流派。
2. 面向對象的需求工程方法
目前,作為解決軟件危機的一個最佳對策,是采用面向對象(OO)的技術。面向對象的開發(fā)方法強調(diào)從問題域的概念到軟件程序和界面的直接映射。事實上,把客觀世界看成許多對象更接近人類的自然思維方式,而且對象相對穩(wěn)定。軟件需求的變動往往是功能的變動,而功能的執(zhí)行者——對象一般不會有大的變化。這便是OO技術產(chǎn)生與發(fā)展的根源。另外,OO技術支持信息隱蔽、數(shù)據(jù)抽象與封裝,使得軟件的開發(fā)、修改和維護易于進行。
面向對象的方法已應用到軟件生命周期的各個階段,而且OO技術自然地支持快速原型法和快速應用開發(fā)。對需求工程而言,由于人類自然地趨向于用“對象”的觀點或方法來認識問題和描述問題,所以用基于對象的概念模型來建立問題域模型成為需求分析員和用戶交流的有效手段。面向對象的需求分析的基本步驟如下:
?。?)與用戶廣泛接觸,收集和查看相關資料,對問題域有一個大致的了解。在此基礎上,提煉和標識對象。(2) 描述對象(類)的屬性。(3)描述對象之間的關系,如整體關系和從屬關系等。(4)描述問題域的“劇情”,即描述問題域中完成每個任務需要的對象間的協(xié)作關系。
以上四個步驟不是孤立進行,而是相互聯(lián)系的。通過這四個步驟的反復執(zhí)行,就可以建立一個基于對象的問題域模型。
Booch是面向方法最早的倡導者之一,他提出了面向對象的軟件工程的概念。1991年,他將以前面向Ada的工作擴展到整個面向對象的設計領域,Booch的方法比較適合于系統(tǒng)的設計和構造。
Rumbaugh等人提出了面向對象的建模技術(OMT),采用面向對象的概念,引入各種獨立于語言的表示符。這種方法用對象模型、動態(tài)模型、功能模型和實例模型共同完成對系統(tǒng)的建模。所定義的概念和符號可用于軟件開發(fā)的分析、設計和實現(xiàn)的全過程。開發(fā)人員無須在開發(fā)過程的不同階段進行概念和符號的轉換。特別適用于分析和描述以數(shù)據(jù)為中心的信息系統(tǒng)。
Coad和Yourdon采用5個步驟來確定一個多層的OO模型,5個步驟分別對應模型的5個層次。即:(1)找出類和對象——類和對象層;(2)定義屬性——屬性層(3)識別結構與關系——結構層;(4)確定主題——主題層;(5)定義服務——服務層。
它是最早的面向對象的分析與設計方法之一,該方法簡單易學,適合于面向對象的初學者使用,但由于該方法在處理能力方面的局限,目前已很少使用。
Jacobson于1994年提出了OOSE的方法,其最大特點是面向用例(Use-Case),并在Use Case的描述中引入了外部角色的概念。Use Case成為分析模型的基礎,用交互圖對Use Case進一步描述后就形成設計的模型。Use Case是精確描述需求的關鍵,它貫穿于整個開發(fā)過程,包括對系統(tǒng)的測試和驗證。OOSE比較適合于支持商業(yè)工程的需求分析,Use Case同時也很好地驅動了測試階段的測試工作。
3. 面向對象的建模
面向對象的建模是一種新的設計思想,一種關于計算和信息結構化的新思維。面向對象的建模,把系統(tǒng)看作是相互協(xié)作的對象,這些對象是結構和行為的封裝,都屬于某個類,那些類具有某種層次化的結構。系統(tǒng)的所有功能通過對象之間相互發(fā)送消息來獲得。面向對象的建模可以視為是一個包含以下元素的概念框架:抽象、封裝、模塊化、層次、分類、并行、穩(wěn)定、可重用和可擴展。面向對象的建模思想的出現(xiàn)是面向過程和嚴格數(shù)據(jù)驅動的軟件開發(fā)方法的漸進演變結果。
(1)UML——Unified Modeling Languge
面向對象的分析與設計方法,在80年代末至90年代中發(fā)展到一個高潮。但是,諸多流派在思想和術語上有很多不同的提法,在術語、概念上的運用也各不相同,統(tǒng)一是繼續(xù)發(fā)展的必然趨勢。需要一種統(tǒng)一的符號來描述面向對象的分析和設計活動,UML應運而生。它不僅統(tǒng)一了Booch、Rumbaugh和Jacobson的表示方法,而且有進一步的發(fā)展,最終成為大眾所共同接受的標準建模語言。UML是一種定義良好、易于表達、功能強大且普遍適用的建模語言。它融入了軟件工程領域的新思想、新方法和新技術。不僅支持面向對象的分析與設計,還支持從需求分析開始的軟件開發(fā)全過程。
UML是面向對象技術發(fā)展的重要成果。獲得科技界、工業(yè)界和應用界的廣泛支持,截止1996年底的統(tǒng)計,已有700多家公司表示支持采用UML作為建模語言,穩(wěn)占面向對象技術市場的85%,成為可視化建模語言事實上的工業(yè)標準。1997年,OMG采納UML1.1作為基于面向對象技術的標準建模語言。UML代表了面向對象方法的軟件開發(fā)技術的發(fā)展方向,具有巨大的市場前景,也具有重大的經(jīng)濟價值和國防價值。
?。?)可視化的建模工具——ROSE
ROSE是Rational 公司開發(fā)的一種CASE工具。它用UML語言支持軟件開發(fā)的大部分過程的建模。在ROSE中,只要你用UML描述了軟件的各個部分,也就是為軟件建立了一個面向對象的模型, ROSE就可以自動生成應用系統(tǒng)需要的大部分源代碼。而且,基于此整個系統(tǒng)具有OO的諸多優(yōu)點——如模型穩(wěn)定性、重用性等等,降低了軟件維護和升級的成本。
?。?)UML對用戶驅動需求工程的支持
OO思想曾經(jīng)遭受一些人的批評。理由是用戶關心和理解的只是系統(tǒng)的功能,他不可能去學習OO模型,所以雖然OO建??s小了分析設計和編碼的鴻溝,但卻拉大了和用戶的距離。幸運的是,Use Case的出現(xiàn),使這一情況得到了大大的改觀。在UML中,用OO建模的第一步是Use Case 的分析,Use Case體現(xiàn)了系統(tǒng)的功能單元。系統(tǒng)的外部人員或其它系統(tǒng)通過和Use Case 交換消息來了解和使用系統(tǒng)的功能,彌補了OO建模和用戶之間的距離。UML以對象圖描述任何類型的系統(tǒng),具有很寬的應用領域,可以對任何具有靜態(tài)結構和動態(tài)行為的領域建模。UML還適用于從需求規(guī)格說明到系統(tǒng)測試的不同階段。在需求分析階段,用Use Case捕捉用戶需求并建模,描述與系統(tǒng)有關的外部角色及其對系統(tǒng)的功能要求。分析階段主要關心問題域中的主要概念和機制,并用UML類圖來描述對象和類,用UML動態(tài)模型描述類之間的協(xié)作關系。UML模型同時還是測試階段的依據(jù)。不同的測試小組使用不同的UML圖作為測試依據(jù):單元測試使用類圖和類規(guī)格說明;集成測試使用部件圖和協(xié)作圖;系統(tǒng)測試使用Use Case圖。
所以,UML適用于以面向對象的技術來描述任何類型的系統(tǒng)。而且適用于系統(tǒng)開發(fā)的不同階段。UML的功能和UDRE的基本思想不謀而合。可以應用于任何領域,其實現(xiàn)機制又極大地縮短了用戶的距離,易于被用戶掌握和接受。UML使用戶不僅可以有效地參與需求定義,還能在建模過程中參與部分的設計、實現(xiàn)和測試,從而有效地進行需求驗證。使用戶在需求的定義、決策、驗證和管理,乃至整個軟件開發(fā)過程中,充分發(fā)揮其主導作用。
小結:需求工程的發(fā)展,使人們認識到,只有最終用戶的直接參與并發(fā)揮主導作用,才能真正解決問題空間與求解空間的一致性問題,消除計算機領域和應用領域之間的鴻溝,并自動適應系統(tǒng)需求的不斷變化。針對傳統(tǒng)分析方式的弊端,一種新的被稱為“用戶主導、面向領域的需求分析方法”被提了出來。需求工程研究現(xiàn)狀中一個明顯的不足是研究理論與實踐的脫節(jié),理論解決方案通常是在對實際問題簡化的基礎上得到的。要獲得需求突破,改善需求工程的開發(fā)質量和效率,需要探索一條有效的解決途徑,縮小理論與應用之間的距離,使開發(fā)出來的系統(tǒng)和模型切實滿足應用領域的需要。目前我們正在嘗試研制一種有實用價值的面向某一行業(yè)領域的用戶主導式的應用軟件輔助開發(fā)工具及原型系統(tǒng),建立面向領域的用戶框架,繼續(xù)完善用戶驅動的需求分析理論和方法,推動用戶工程理論的形成。
- 1【碩士】基于危險源識別與評價的建筑施工安全預警系統(tǒng)研究
- 2深圳市城市軌道交通6號線電力管線改遷及恢復工程6603-2標段中標公示
- 3滬寧線某標雨季施工用電作業(yè)安全技術交底
- 42015年造價員考試:工程造價基礎知識概括(8)
- 5石武客專某段物體打擊事故應急預案
- 62015年一級消防工程師考試案例分析知識點(9)
- 72015年造價員考試《工程計量與計價實務》重點:獨立柱
- 8是工程逾期還是工期順延?
- 9一級建造師復習資料:壩身控制測量
- 10項目進度控制學習體會
- 11造價員知識點整理:樁基工程
- 12福建省普通國省干線縱一線福清城頭至東閣農(nóng)場段公路工程B段(城頭至元洪區(qū)縱四路段)施工監(jiān)理中標公示
- 132015礦業(yè)工程要點:永久建(構)筑物與永久設施、設備的利用
- 142015造價員考試輔導:工程造價基礎知識內(nèi)容概要(2)
- 15建華東路(308國道-K4+580段)道路工程、照明工程監(jiān)理
- 16關于開展建筑施工安全生產(chǎn)檢查的通知
- 17住房城鄉(xiāng)建設部關于準予中國交通建設股份有限公司安全生產(chǎn)許可證延期的公告
- 18【碩士】新加坡裝配式高層住宅結構施工關鍵工藝研究
- 19造價員考試必備知識點:糾偏的主要對象是什么
- 20交通安全設施主要包括( ?。┘袄锍虡恕倜讟撕凸方绫?/a>
- 212015造價員《工程造價基礎知識》教材講義(10)
- 22關于印發(fā)《全國建筑施工安全生產(chǎn)形勢分析報告(2005年度)》的通知
- 23公路立交橋現(xiàn)澆箱梁碗扣式腳手架施工方案
- 24關于批準《矩形給水箱》等七項國家建筑標準設計圖集的通知
- 25有沒有不需要客戶端的遠程進程管理軟件?
- 26金華至溫州鐵路擴能改造工程某標段安全管理制度文件匯編
- 272015年一級注冊消防工程師考試輔導:技術實務知識點(2)
- 28【碩士】重大危險源監(jiān)控系統(tǒng)概率風險評價方法研究
- 292015年造價員考試《工程計量與計價實務》重點:其他墻體
- 30臨海高等級公路安全施工方案
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓