您的論文得到兩院院士關(guān)注軟件時空文章編號:1008 -0570(2006)12- -3- -0265 -03用“用例”分析技術(shù)進行需求分析Analyzing requirement by use- -case analysis technique(1.石河子大學(xué)2.石河子大學(xué)網(wǎng)絡(luò)中心)劉偉1周淑萍2劉雅輝2LIU WEI ZHOU SHUPING LIU YAHUI摘要:現(xiàn)代軟件需求復(fù)雜多變,傳統(tǒng)的面向過程的需求分析技術(shù)已經(jīng)不能滿足軟件開發(fā)的要求,用例分析技術(shù)是為了適應(yīng)現(xiàn)代軟件需求環(huán)境而提出的一項新型的面向?qū)ο笮枨蠓治黾夹g(shù)。本文著重討論了如何利用用例分析技術(shù)進行需求建模、需求分析以及用例分析技術(shù)的難點。關(guān)鍵詞:用例;需求模型;需求分析中圖分類號:TP311文獻標(biāo)識碼:AAbstract:Modern software rewurement is complex and phantasmagorie ,and traditional process -oriented requirement- analysis techniquecan’t satisfy the demand of software development now. The use- case analysis technique is a new object- oriented requirement- anal-ysis Technique which was put forward t0 adapt moderm software requirement envirnment.This paper mainly discissed the method ofanalizing requirement and model requirement by use-case analysis techneque and the key problem of use- case analysis techneque.Key words:use- case,requirement analysis,requirement model術(shù)需求規(guī)格達成的共識。首先,它描述了待開發(fā)系統(tǒng)的1引言功能需求;其次,它將系統(tǒng)看作黑盒,從外部參與者的創(chuàng)需求分析是軟件開發(fā)過程中至關(guān)重要的一環(huán),既角度理解系統(tǒng);第三,它驅(qū)動了需求分析之后的各階決定了軟件最終產(chǎn)品能否達到客戶的要求,也影響了段的開發(fā)工作。不僅在開發(fā)過程中保證了系統(tǒng)所有功開發(fā)過程的其它環(huán)節(jié)。傳統(tǒng)的需求分析方法通過整個能的實現(xiàn),而且被用于驗證和檢測所開發(fā)的系統(tǒng),從置業(yè)務(wù)過程來描述系統(tǒng)外在可見的需求,立足于把握業(yè)而影響到開發(fā)工作的各個階段和UML的各個模型,務(wù)過程中的所有細節(jié),這種面向過程、注重細節(jié)的需在UML中,一個用例模型由若干個用例圖描述,用例求分析方法難以把握用戶需求的變化,開發(fā)人員容易圖的主要元素是用例和參與者。在用例建模的過程陷人細節(jié)的汪洋之中而無從下手,開發(fā)效率低下。因中,我們的建議是先找出參與者,然后根據(jù)參與者來此,隨著軟件要求日益復(fù)雜化,傳統(tǒng)的需求分析方法確定 系統(tǒng)的用例。已很難滿足現(xiàn)代軟件工程的發(fā)展需求。2.1.1尋找參與者用例分析技術(shù)是IvarJacobson于1986年發(fā)布的所謂的參與者是指所有存在于系統(tǒng)外部并與系項源于實踐的需求分析技術(shù)。它通過用例的參與者統(tǒng)進行交互的人或其他系統(tǒng)。通俗地講,參與者就是和用例以及用例之間的關(guān)系來描繪系統(tǒng)外在可見的我們所要定義系統(tǒng)的使用者。尋找參與者可以從以下需求,用例被定義成系統(tǒng)執(zhí)行的一-系列動作,動作執(zhí)問題入手:行的結(jié)果能被參與者觀察到。這正好滿足了用戶的需系統(tǒng)開發(fā)完成之后,有哪些人會使用這個系統(tǒng)?求,因為他們并不真想了解系統(tǒng)的內(nèi)部結(jié)構(gòu)和設(shè)計,系統(tǒng)需要從哪些人或其他系統(tǒng)中獲得數(shù)據(jù)?他們所關(guān)心的是系統(tǒng)能提供什么樣的服務(wù)。所以,用系統(tǒng)會為哪些人或其他系統(tǒng)提供數(shù)據(jù)? .例分析技術(shù)為解決現(xiàn)代軟件需求問題提供了一個有系統(tǒng)會與哪些其他系統(tǒng)相關(guān)聯(lián)?效的解決方案。系統(tǒng)是由誰來維護和管理的?2用例分析技術(shù)我們在找到參與者之后,如果出現(xiàn)了兩個或多個參與者實質(zhì)上完全或部分充當(dāng)相同角色時,應(yīng)對其進2.1建立需求模型用例模型描述的是外部參與者所理解的系統(tǒng)功行合并或特化。能。用例模型用于需求分析階段,它的建立是系統(tǒng)開中國煤化工根據(jù)參.與者來確定發(fā)者和用戶反復(fù)討論的結(jié)果,表明了開發(fā)者和用戶對系統(tǒng)1.MHCNM H q要系統(tǒng)提供什么樣劉偉:實驗師的服務(wù),或者說參與者是如何使用系統(tǒng)的。尋找用例國家自然科學(xué)基金資助項目(30460060)可以從以下問題人手(針對每一個參與者):《PLG技術(shù)應(yīng)展200例》圊自控網(wǎng)郵局訂閱號:82-946 360元1年- 265 -軟件時空中文核心期刊《微計算機信息》(管控- -體化)2006 年第22卷第12-3期參與者為什么要使用該系統(tǒng)?而備選路徑則不-定會通過。需要時可先確定用例的參與者是否會在系統(tǒng)中創(chuàng)建、修改、刪除、訪問、基本路徑和關(guān)鍵 的備選路徑,在以后的迭代中再增加存儲數(shù)據(jù)?如果是的話,參與者又是如何來完成這些其它的備選路徑。此外,在細化用例時還應(yīng)指出用例的操作的?前提條件和后置條件。前提條件指調(diào)用用例時必須滿參與者是否會將外部的某些事件通知給該系統(tǒng)?足的條件。后置條件指用例結(jié)束時必須滿足的條件。系統(tǒng)是否會將內(nèi)部的某些事件通知該參與者?2.2.1基本流在用例的抽取過程中,必須注意:用例必須是由基本流描述的是該用例最正常的一種場景,在基某一個參與者觸發(fā)而產(chǎn)生的活動,即每個用例至少應(yīng)本流中系統(tǒng)執(zhí)行--系列活動步驟來響應(yīng)參與者提出該涉及一個參與者。如果存在與參與者不進行交互的的服務(wù)請求。我們建議用以下格式來描述基本流: .用例,就可以考慮將其并人其它用例;或者是檢查該(1)每一個步驟都需要用數(shù)字編號清楚地標(biāo)明步用例相對應(yīng)的參與者是否被遺漏,如果是,則補上該驟 的先后順序。(2)用一 句簡短的標(biāo)題來概括每- -步參與者。反之,每個參與者也必須至少涉及到一個用驟的主要內(nèi)容,這樣閱讀者可以通過瀏覽標(biāo)題來快速例,如果發(fā)現(xiàn)有不與任何用例相關(guān)聯(lián)的參與者存在,地了解用例的主要步驟。在用例建模的早期,我們也.就應(yīng)該考慮該參與者是如何與系統(tǒng)發(fā)生對話的,或者只需要描述到事件流步驟標(biāo)題這--層,以免過早地陷由參與者確定一個新的用例,或者該參與者是一個多人到用例描述的細節(jié)中去。(3)當(dāng)整個 用例模型基本余的模型元素,應(yīng)該將其刪除。穩(wěn)定之后,我們再針對每一-步驟詳細描述參與者和系用例除了與其參與者發(fā)生關(guān)聯(lián)外,用例之間抽象統(tǒng)之間所發(fā)生的交互。建議采用雙向描述法來保證描出包含(include).擴展(extend)和泛化(generalization)這述的完整性 ,即每一步驟都需要 從正反兩個方面來描技幾種關(guān)系。述:(1)參與者向系統(tǒng)提交了什么信息;(2)對此系統(tǒng)有什術(shù)包含:一個用例可以簡單地包含其他用例具有的么樣的響應(yīng)。行為,并把他所包含的行為做為自身行為的一部分。在描述參與者和系統(tǒng)之間的信息交換時,需指出創(chuàng)擴展:一個用例也可以被定義為基用例的增量擴來回傳遞的具體信息。 例如,只表述參與者輸人了客展,同一個基用例的幾個擴展用例可以在- -起應(yīng)用。戶 信息就不夠明確,最好明確地說明參與者輸人了客泛化:當(dāng)多個用例共同擁有--.種類似的結(jié)構(gòu)和行戶姓名和地址。通??梢岳迷~匯表讓用例的復(fù)雜性為的時候,我們可以將它們的共性抽象成為父用例,保持 在可控范圍內(nèi),可以在詞匯表中定義客戶信息等其他的用例作為泛化關(guān)系中的子用例。在用例的泛化內(nèi)容,使用例不至于陷人過多的細節(jié)。關(guān)系中,子用例是父用例的一種特殊形式,子用例繼2.2.2備選流承了父用例所有的結(jié)構(gòu)、行為和關(guān)系。備選流負責(zé)描述用例執(zhí)行過程中異常的或偶爾對于同一個系統(tǒng),不同的人對于參與者和用例都發(fā)生的一些情況,備選流和基本流的組合應(yīng)該能夠覆可能有不同的抽象結(jié)果,因而得到不同的用例模型。蓋該用例所有可能發(fā)生的場景。在描述備選流時,應(yīng)我們需要在多個用例模型方案中選擇一種"最佳"(或"該包括以下幾個要索:較佳")的結(jié)果,一個好的用例模型應(yīng)該能夠容易被不(1)起點:該備選流從事件流的哪一步開始; (2)條同的涉眾所理解,并且不同的涉眾對于同一用例模型件:在什么條件下會觸發(fā)該備選流;(3)動作:系統(tǒng)在該的理解應(yīng)該是一-致的。備選流下會采取哪些動作; (4)恢復(fù):該備選流結(jié)束之2.2建立分析模型后,該用例應(yīng)如何繼續(xù)執(zhí)行。需求模型中的用例描述了系統(tǒng)外部的參與者要備選流的描述格式可以與基本流的格式一致,也實現(xiàn)的目標(biāo),只反映用戶需求而不干涉系統(tǒng)應(yīng)提供具需要編號并以標(biāo)題概述其內(nèi)容,編號前可以加以字母體功能細節(jié),為獲得這些功能細節(jié),以便于軟件構(gòu)架前綴 A以示與基本流步驟相區(qū)別。的建立和將來的設(shè)計和實現(xiàn)工作,就要將用例細化,2.2.3注意事項在需求模型建立后,系統(tǒng)分析員就可以以需求模型和在編寫數(shù)據(jù)流時,應(yīng)該注意以下事項:用例圖作為起始點詳細描述每個用例,并將每個用例(1)使用簡單的語法:主語明確,語義易于理解;(2)逐步描述細化為精確動作序列的分析模型。明確寫出"誰控制球":也就是在事件流描述中,讓讀者細化每個用例的主要任務(wù)是詳細描述其事件流。直觀地了解是參與者在控制還是系統(tǒng)在控制;(3)從俯事件流是描述參與者執(zhí)行用例過程中發(fā)生的各種交視的角 度來編寫:指出參與者的動作,以及系統(tǒng)的響互的序列,包括用例如何開始、結(jié)束以及如何與參與應(yīng),中國煤化工程向前推移:也就是者進行交互。事件通常會形成兩種路徑:一種是參與第一CN MH G按下tab鍵做為一個者順利達成目標(biāo)的基本路徑,我們稱之為基本流;另事 件就是不合適的);(5)顯不參與者的意圖而非動作-種是反映可選或異常情況行為的備選路徑,稱之為(光有動作,讓人不容易直接從事件流中理解用例);備選流。參與者要完成用例,必須通過整條基本路徑,(6)包括 "合理的活動集"(帶數(shù)據(jù)的請求、系統(tǒng)確認(rèn)、更- 266萬明數(shù)搪郵局訂閱號:82-946|《現(xiàn)場總線技術(shù)應(yīng)用200例》您的論文得到兩院院士關(guān)注軟件時空改內(nèi)部、返回結(jié)果);(7)用"確認(rèn)"而非"檢查是否":(如通 訊地址:(832003新疆石河子大學(xué)信息科學(xué)與技術(shù)系統(tǒng)確認(rèn)用戶密碼正確,而非系統(tǒng)檢查用戶密碼是否學(xué)院)劉偉正確);(8)可選擇地提及時間限制;(9)采用"用戶讓系統(tǒng)(收稿日期2006.7.28)(修稿日期2006.8.241)A與系統(tǒng)B交互"的習(xí)慣用語;(10)采用"循環(huán)執(zhí)行步驟x到y(tǒng),直到條件滿足"的習(xí)慣用語。(上接第280頁)2.3用例分析技術(shù)的難點強調(diào)在了解功能性需求的同時,對非功能性需求也要在使用用例分析技術(shù)時,很多人都覺得如何確定引起足 夠的重視;良好的架構(gòu)能使業(yè)務(wù)邏輯、用戶界用例的粒度是-一個難點,而且感覺到用例沒有什么規(guī)面及數(shù)據(jù)庫處理充分分離,系統(tǒng)變得更加靈活,更易則遵從,甚至有無所適從的感覺。應(yīng)該如何確定用例配置和發(fā)布;數(shù)據(jù)庫設(shè)計也應(yīng)隨著應(yīng)用程序不斷進的粒度呢?在一次技術(shù)研討會上,有人問起Ivar Jaco-化,其性能對系統(tǒng)起著重要的作用;界面原型是獲取boson博士,一個系統(tǒng)需要有多少個用例?大師的回答需求的較佳途徑;通過規(guī)范的軟件工程過程和正確的是20個,當(dāng)然他的意思是最好將用例模型的規(guī)??剀浖椖抗芾泶胧?在客戶和開人員間建立起良好的制在幾十個用例左右,這樣比較容易來管理用例模型溝邇 橋梁和協(xié)作機制,加強反饋和反饋效果,對迭代的復(fù)雜度。在用例個數(shù)大致確定的條件下,我們就很式增量開發(fā)的進程至關(guān)重要 ;每次迭代應(yīng)產(chǎn)生一個可容易來確定用例粒度的大小。對于較復(fù)雜的系統(tǒng),我運行的和能進行驗證的系統(tǒng); MISXP 采用了先進的們需要控制用例模型- - 級的復(fù)雜度,所以可以將復(fù)雜CASE 工具,提高了效率,但它不能替代正確完善的軟度適當(dāng)?shù)匾仆恳粋€用例的內(nèi)部,也就是讓一個用例件項目管理和開發(fā)方法論。包含較多的需求信息量。對于比較簡單的系統(tǒng),我們5結(jié)束語則可以將復(fù)雜度適度地曝露在模型一級,也就是我們可以將較復(fù)雜的用例分解成為多個用例。不同方法的目標(biāo)對象和適用環(huán)境各不相同,學(xué)習(xí)術(shù)用例的粒度不但決定了用例模型級的復(fù)雜度,而和運用流行的過程方法論是實施過程改進的好辦法,且也決定了每一個用例內(nèi)部的復(fù)雜度。我們應(yīng)該根據(jù)在理解其精神實質(zhì)基礎(chǔ)上靈活運用,整合其最佳元倉每個系統(tǒng)的具體情況,因時因宜地來把握各個層次的素,設(shè)計出適合實際的過程體系,是解決問題和持續(xù)復(fù)雜度,在盡可能保證整個用例模型的易理解性前提改 進的最佳途徑, MISXP的成功實施也證明了這一-個開下決定用例的大小和數(shù)目。點。但成功的過程改進始終離不開專業(yè)判斷和常識理3總結(jié)解,應(yīng)根據(jù)應(yīng)用類型、項目特點和組織文化等諸多因采用用戶可以理解的用例圖來對需求進行標(biāo)準(zhǔn)、素確定自己的道路,不能人云亦云,如何把握好開發(fā)規(guī)范的描述,保證雙方在工具的協(xié)助下對需求達到共技能、軟件過程和組織管理各個因素的平衡是軟件工同的認(rèn)識。使用戶不僅可以有效地參與需求定義,還程實踐的永恒話題。本文作者創(chuàng)新點:1.征對極限編程的不足和MIS能在建模過程中參與部分的設(shè)計、實現(xiàn)和測試,從而的特征,提出了適應(yīng)于管理信息系統(tǒng)的開發(fā)方法MIS-有效的發(fā)揮其主觀能動性,這對正確地獲取需求十分XP;2.給出MISXP的開發(fā)過程并成功實踐。必要的。所以,合理地使用這項技術(shù),必能在整個軟件參考文獻:開發(fā)過程中起到事半功倍的效果。本文作者創(chuàng)新點:用例分析技術(shù)通過用例的參與[1]Martin Fowler.敏捷開發(fā)原則、模式與實踐M].北京:清華大學(xué)者,用例,用例之間的關(guān)系來描繪系統(tǒng)外在可見的需出版社,2004,6-8.[2Martin Fowler,重構(gòu)一改 善既有代碼的設(shè)計[M.北京:中國電求,用例被定義成系統(tǒng)執(zhí)行的- - 系列動作,動作執(zhí)行力出版社,2003.的結(jié)果能被參與者觀察到。這正好滿足了用戶的需[3]周紅濤,季新生.三層C/S結(jié)構(gòu)中數(shù)據(jù)庫連接管理器的構(gòu)造[小]求,所以,用例分析技術(shù)為解決現(xiàn)代軟件需求問題提微計算機信息2005,(21).98-100.供了一個有效的解決方案。作者簡介:曾廣平,湖北武漢人,碩士,講師,主要研究方向軟件工程,數(shù)據(jù)庫及應(yīng)用;宋中山,湖北武漢人,副[]王建軍.UML建模:實例分析[1.微計算機信息2002.5.作者簡介:劉偉(1961-),女,漢族,實驗師,主要研究方教授,主要研究方向面向?qū)ο蠹夹g(shù),數(shù)據(jù)挖掘。向:計算機軟件理論與應(yīng)用,E- -mail:Iw. jinf@shzu.edu.Biography:Zeng GuangpingWuhan Hubeinmase,lecture,His reseachinterests inelude Software Engineering and applying of Database.cn;周淑萍(1972- -),女,漢族,講師,主要研究方向:計算(4300中國煤化工中南民族大學(xué)計算機機應(yīng)用技術(shù);劉雅輝(1979- -),女,漢族,助教.主要研究方科學(xué)MHCNMHG向:計算機網(wǎng)絡(luò)應(yīng)用技術(shù)。(832003新疆石河子大學(xué)信息科學(xué)與技術(shù)學(xué)院)劉偉通訊地址:(430074湖北武儀氏 族大道5號中南民族(832003新疆石河子大學(xué)網(wǎng)絡(luò)中心)周淑萍劉雅輝大學(xué)計算機科學(xué)學(xué)院)曾廣平(收稿日期:2006.7.28)修稿8期:2006.8.24)《PLO技術(shù)數(shù)唐200例》自控網(wǎng)郵局訂閱號:82-946 360元1年-267-
-
C4烯烴制丙烯催化劑 2020-09-25
-
煤基聚乙醇酸技術(shù)進展 2020-09-25
-
生物質(zhì)能的應(yīng)用工程 2020-09-25
-
我國甲醇工業(yè)現(xiàn)狀 2020-09-25
-
石油化工設(shè)備腐蝕與防護參考書十本免費下載,絕版珍藏 2020-09-25
-
四噴嘴水煤漿氣化爐工業(yè)應(yīng)用情況簡介 2020-09-25
-
Lurgi和ICI低壓甲醇合成工藝比較 2020-09-25
-
甲醇制芳烴研究進展 2020-09-25
-
精甲醇及MTO級甲醇精餾工藝技術(shù)進展 2020-09-25



