明延艷 謝東亮
(重慶工程學(xué)院軟件學(xué)院 重慶 400056)
論RUP在需求分析過(guò)程中的應(yīng)用
明延艷 謝東亮
(重慶工程學(xué)院軟件學(xué)院 重慶 400056)
軟件開(kāi)發(fā)過(guò)程可以分為結(jié)構(gòu)化軟件開(kāi)發(fā)和面向?qū)ο筌浖_(kāi)發(fā)方法,它們各自適用于不同的開(kāi)發(fā)場(chǎng)景。每種開(kāi)發(fā)過(guò)程有典型的軟件開(kāi)發(fā)模型,其中最典型和最為流行的是RUP,本文將針對(duì)如何使用RUP軟件開(kāi)發(fā)理論指導(dǎo)需求分析進(jìn)行論述。
RUP 人才資源管理系統(tǒng) HR
RUP[1]英文表述為Rational Unifi ed Process,最初源于Rational公司進(jìn)行開(kāi)發(fā)和維護(hù)過(guò)程產(chǎn)品的實(shí)踐中。RUP是一種將軟件研發(fā)過(guò)程中的任務(wù)及責(zé)任分配到各個(gè)單位人的記錄性方法。RUP并非僅僅適用于某個(gè)或某幾個(gè)軟件的開(kāi)發(fā)過(guò)程,而是一個(gè)通用化的過(guò)程結(jié)構(gòu),適用于多種具有不同特征的軟件開(kāi)發(fā)、不同類別的軟件應(yīng)用領(lǐng)域、不同功能作用等級(jí)以及不同規(guī)模的項(xiàng)目。RUP具有用例驅(qū)動(dòng)、結(jié)構(gòu)是關(guān)鍵、多次迭代以及增量三個(gè)方面的主要特征。三個(gè)特性具有同等的效力,其中結(jié)構(gòu)可以指導(dǎo)多次的迭代,用例將目標(biāo)明確化,同時(shí)驅(qū)動(dòng)多次迭代的進(jìn)行。
本文簡(jiǎn)要論述了使用RUP指導(dǎo)需求分析的全過(guò)程。需求分析過(guò)程。
需求包括業(yè)務(wù)需求,用戶需求和功能需求以及非功能需求,在需求開(kāi)發(fā)之前,需要先定義需求開(kāi)發(fā)的過(guò)程,形成文檔,內(nèi)容包括:需求開(kāi)發(fā)的步驟,每一個(gè)步驟如何實(shí)現(xiàn),如何處理意外情況,如何規(guī)劃開(kāi)發(fā)資源等。
1. 需求獲取的維度
(1)項(xiàng)目范圍確定:需求開(kāi)發(fā)前期,我們應(yīng)該獲取用戶的業(yè)務(wù)需求,定義好項(xiàng)目的范圍,使得所有的涉眾對(duì)項(xiàng)目有一個(gè)共同的理解,同時(shí)確定系統(tǒng)的邊界,和所涉及的問(wèn)題域。
(2)用戶確定:確定用戶群和分類,對(duì)用戶組進(jìn)行詳細(xì)描述,包括使用產(chǎn)品頻率,所使用的功能,優(yōu)先級(jí)別,熟練程度等等。對(duì)每一個(gè)用戶組確定用戶的代言人。對(duì)于大型項(xiàng)目,我們需要先確定中心客戶組,中心客戶組的需求具有高級(jí)別的優(yōu)先級(jí),需要先實(shí)現(xiàn)的核心功能。
(3)用例確定:與用戶代表溝通,了解他們需要完成的任務(wù),得到用例模型。同時(shí)根據(jù)用例導(dǎo)出功能需求。用例描述應(yīng)該采用標(biāo)準(zhǔn)模板。
2. 需求獲得方式
主要關(guān)注需求分析方法:
軟件的開(kāi)發(fā)項(xiàng)目覆蓋各行各業(yè),相對(duì)于其他類型的項(xiàng)目具有明顯的特殊性。此外,軟件項(xiàng)目開(kāi)發(fā)的風(fēng)險(xiǎn)性比較高,因此,開(kāi)發(fā)前的需求分析對(duì)于軟件項(xiàng)目的成敗至關(guān)重要,但要確切的了解客戶的需求又是一件十分困難的事。比如:客戶對(duì)自身需求表達(dá)不清、需求是動(dòng)態(tài)的、系統(tǒng)分析員或者客戶理解不到位等客觀原因造成需求分析實(shí)施難度,所以在需求獲取過(guò)程中要重視與用戶的溝通并詳細(xì)定義用戶的需求。
需求分析的目標(biāo)是對(duì)用戶的需求進(jìn)行準(zhǔn)確、全面的識(shí)別與定義,對(duì)用戶需求的變化進(jìn)行有效的跟蹤,并且把用戶的需求落實(shí)到系統(tǒng)分析與設(shè)計(jì)中,以保證系統(tǒng)的分析與系統(tǒng)的設(shè)計(jì)能夠符合用戶實(shí)際需求。
需求分析有三個(gè)特點(diǎn),其分別是:一致性、完整性以及可追溯性。其中,完整性指的是精確、完整的對(duì)用戶實(shí)際需求進(jìn)行描述。一致性指的是在分析整理用戶需求的基礎(chǔ)之上對(duì)其進(jìn)行規(guī)范,消除存在矛盾的需求項(xiàng)??勺匪菪杂袃蓪右馑?,一是,要實(shí)時(shí)保持和客戶的溝通,使規(guī)范后的需求能與其最新的需求相符。二是保證規(guī)范后的需求與系統(tǒng)分析與設(shè)計(jì)相符。
在進(jìn)行需求分析工作前,必須要構(gòu)建有效的需求分析的技術(shù)框架,在技術(shù)上確保需求分析能夠高質(zhì)量的完成,在有效技術(shù)框架的支持下,項(xiàng)目的需求分析工作才能很好的符合客戶的實(shí)際需求,而不至于產(chǎn)生較大的偏差,使項(xiàng)目徒勞無(wú)功。
需求分析可以采用多種評(píng)價(jià)指標(biāo)來(lái)進(jìn)行評(píng)價(jià),具體包括:功能性、全面性、合理性、準(zhǔn)確性、可行性等指標(biāo)。
用戶和開(kāi)發(fā)小組對(duì)將要開(kāi)發(fā)的產(chǎn)品達(dá)成一致協(xié)議是需求開(kāi)發(fā)的最終成果。協(xié)議綜合了業(yè)務(wù)新要求、用戶需求和軟件功能需求。項(xiàng)目視圖和范圍文檔包含了業(yè)務(wù)需求,而使用實(shí)例文檔則包含了用戶需求。必須編寫從使用實(shí)例派生出的功能需求文檔,還要編寫產(chǎn)品的非功能需求文檔,包括質(zhì)量屬性和外部接口需求。只有以結(jié)構(gòu)化和可讀性方式編寫這些文檔,并由項(xiàng)目的風(fēng)險(xiǎn)承擔(dān)著評(píng)審?fù)ㄟ^(guò)后,各方面人員才能確信他們所贊同的需求是可靠的。
RUP具有很多長(zhǎng)處:提高了團(tuán)隊(duì)生產(chǎn)力,在迭代的開(kāi)發(fā)過(guò)程、需求管理、基于組件的體系結(jié)構(gòu)、可視化軟件建模、驗(yàn)證軟件質(zhì)量及控制軟件變更等方面,針對(duì)所有關(guān)鍵的開(kāi)發(fā)活動(dòng)為每個(gè)開(kāi)發(fā)成員提供了必要的準(zhǔn)則、模板和工具指導(dǎo),并確保全體成員共享相同的知識(shí)基礎(chǔ)。它建立了簡(jiǎn)潔和清晰的過(guò)程結(jié)構(gòu),為開(kāi)發(fā)過(guò)程提供較大的通用性。但同時(shí)它也存在一些不足:RUP只是一個(gè)開(kāi)發(fā)過(guò)程,并沒(méi)有涵蓋軟件過(guò)程的全部?jī)?nèi)容,例如它缺少關(guān)于軟件運(yùn)行和支持等方面的內(nèi)容;此外,它沒(méi)有支持多項(xiàng)目的開(kāi)發(fā)結(jié)構(gòu),這在一定程度上降低了在開(kāi)發(fā)組織內(nèi)大范圍實(shí)現(xiàn)重用的可能性。可以說(shuō)RUP是一個(gè)非常好的開(kāi)端,但并不完美,在實(shí)際的應(yīng)用中可以根據(jù)需要對(duì)其進(jìn)行改進(jìn)并可以用OPEN和OOSP等其他軟件過(guò)程的相關(guān)內(nèi)容對(duì)RUP進(jìn)行補(bǔ)充和完善。本文介紹了RUP軟件開(kāi)發(fā)過(guò)程,并簡(jiǎn)要論述了如何使用RUP指導(dǎo)需求分析過(guò)程,以完成良好的軟件需求分析過(guò)程,并定義清晰的系統(tǒng)需求與文檔化系統(tǒng)需求。
[1] 劉治國(guó)。RUP在現(xiàn)代軟件工程中的應(yīng)用. 天津職業(yè)大學(xué)學(xué)報(bào). 2010;第3期:83-85