劉振華 石 忠
中圖分類號(hào):TP311.5 文獻(xiàn)標(biāo)識(shí)碼:A
內(nèi)容摘要:需求獲取和需求建模是軟件工程的一個(gè)重要階段,關(guān)系到軟件系統(tǒng)設(shè)計(jì)的成敗。本文運(yùn)用UML語(yǔ)言,以商品銷售管理系統(tǒng)建模為例,詳細(xì)描述了系統(tǒng)功能需求分析建模的過(guò)程和方法,有效指導(dǎo)了系統(tǒng)的軟件實(shí)現(xiàn),解決了信息管理系統(tǒng)開發(fā)過(guò)程中經(jīng)常遇到的由于系統(tǒng)分析不到位而造成的功能實(shí)現(xiàn)不全面的問(wèn)題,以期為今后相關(guān)系統(tǒng)的建模提供借鑒。
關(guān)鍵詞:UML 面向?qū)ο?商品銷售管理系統(tǒng) 需求分析 需求建模
需求分析是軟件生命周期中軟件定義時(shí)期的最后一個(gè)階段,是軟件工程過(guò)程中的一個(gè)重要環(huán)節(jié),需求獲取和需求建模是這一階段的重要任務(wù)。全面獲取軟件需求、準(zhǔn)確理解業(yè)務(wù)邏輯和運(yùn)用建模工具正確建立軟件的邏輯模型是軟件開發(fā)工作獲得成功的前提和關(guān)鍵,直接關(guān)系到工程的成敗和軟件產(chǎn)品的質(zhì)量。
結(jié)構(gòu)化分析方法和面向?qū)ο蠓椒ǘ济鞔_指出正確獲取系統(tǒng)需求是最終成功開發(fā)軟件的前提條件,分析過(guò)程都是提取用戶需求的過(guò)程。UML(Unified Modeling Language)是一種標(biāo)準(zhǔn)的面向?qū)ο蠼UZ(yǔ)言,可用于任何具有靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為的系統(tǒng)建模,并且適用于系統(tǒng)開發(fā)過(guò)程中從需求規(guī)格描述到系統(tǒng)完成后測(cè)試的不同階段。使用UML 進(jìn)行系統(tǒng)建模,就是使用面向?qū)ο蟮姆椒▉?lái)分析系統(tǒng),然后用可視化的模型將信息用標(biāo)準(zhǔn)的圖形直觀地顯示出來(lái),以此建立面向?qū)ο蟮南到y(tǒng)模型。
UML 規(guī)定了一整套建模元素和相應(yīng)的可視化描述,用于描述、說(shuō)明、可視化地構(gòu)造軟件開發(fā)各個(gè)階段的產(chǎn)品。UML提供的類圖、用例圖、順序圖、包圖等,可以從不同側(cè)面、不同層次分別以靜態(tài)或動(dòng)態(tài)地反映系統(tǒng)。本文以商品銷售管理系統(tǒng)為例,闡述了UML在面向?qū)ο蠼V械膶?shí)際應(yīng)用。
基于UML的系統(tǒng)分析過(guò)程
開發(fā)一個(gè)軟件系統(tǒng),需要對(duì)該軟件系統(tǒng)的功能要求、性能要求、可靠性要求和安全保密要求等進(jìn)行全面分析,確定相關(guān)限制及同其他系統(tǒng)元素間的接口,定義軟件的其他有效性需求等。運(yùn)用統(tǒng)一建模語(yǔ)言UML可以捕捉系統(tǒng)的功能需求,分析、提取所開發(fā)系統(tǒng)領(lǐng)域的類以及描述它們之間的合作概況,完成系統(tǒng)的面向?qū)ο蠓治鯫OA(Object Oriented Analysis),在此基礎(chǔ)上,對(duì)系統(tǒng)進(jìn)行面向?qū)ο笤O(shè)計(jì)OOD (Object Oriented Design),可以大大提高成功開發(fā)的幾率。
(一)建立用例模型
用例圖是首先需要建立的模型,它定義了系統(tǒng)的主要功能和系統(tǒng)邊界,完全是從系統(tǒng)的外部觀看系統(tǒng)功能,并不描述系統(tǒng)內(nèi)部對(duì)功能的具體實(shí)現(xiàn),是其它視圖的核心和基礎(chǔ)。通過(guò)用例建模,描述對(duì)系統(tǒng)感興趣的外部角色及其對(duì)系統(tǒng)的功能需求。在用例圖中,角色代表觸發(fā)系統(tǒng)功能的用戶或其它系統(tǒng),用例代表具體的功能描述。
1.確定系統(tǒng)角色。使用用例來(lái)分析系統(tǒng),首先需要確定系統(tǒng)的參與者,即角色。角色是指所有與系統(tǒng)直接交互的人或事物,向系統(tǒng)輸入或使用系統(tǒng)的某些功能,但是不屬于系統(tǒng),角色可能是某個(gè)系統(tǒng)或一類人等。通過(guò)對(duì)系統(tǒng)的需求分析,可以確定系統(tǒng)的主要角色有:系統(tǒng)管理員、經(jīng)理、營(yíng)業(yè)員、庫(kù)存管理員、采購(gòu)員、會(huì)計(jì)等。
2.獲取用例。用例描述的是系統(tǒng)的功能實(shí)現(xiàn),它揭示了人們?nèi)绾问褂孟到y(tǒng)。系統(tǒng)的用例圖如圖1所示。
3.繪制用例圖。
(二)建立靜態(tài)模型
UML的靜態(tài)建模機(jī)制包括類圖、組件圖和配置圖。其中,類圖表達(dá)了系統(tǒng)中類與類之間的關(guān)系,是UML中最重要、最基本的靜態(tài)模型,它在系統(tǒng)的整個(gè)生命周期內(nèi)都是有效的。類圖是構(gòu)建其它圖的基礎(chǔ),沒(méi)有類圖就沒(méi)有狀態(tài)圖等其它圖,也就無(wú)法表示系統(tǒng)其它方面的特性。構(gòu)成類圖最主要的元素是類和類之間的關(guān)系,包括關(guān)聯(lián)(Association)、泛化(Generalization)、組合(Composition)、聚合(Aggregation)等。進(jìn)行類圖建模時(shí)首先要分析與系統(tǒng)功能相關(guān)的對(duì)象,進(jìn)行類的區(qū)分、確定類的屬性和方法,然后分析各種類之間的關(guān)系,并用建模元素描述出來(lái)。在本系統(tǒng)中定義了許多類,如:供貨商類、商品目錄類、商品庫(kù)存類、職工類、銷售類、缺貨類、換貨類、維修類、進(jìn)貨類等。圖2是庫(kù)存管理子系統(tǒng)的類圖。
(三)建立動(dòng)態(tài)模型
系統(tǒng)的靜態(tài)模型不能清晰地描述對(duì)象的行為和職責(zé),不能全面的反映系統(tǒng)的情況。要描述系統(tǒng)的動(dòng)態(tài)行為,必須建立系統(tǒng)的動(dòng)態(tài)模型。
順序圖表示一組對(duì)象之間的動(dòng)態(tài)協(xié)作關(guān)系,反映對(duì)象之間發(fā)送消息的時(shí)間順序。下面以系統(tǒng)管理子系統(tǒng)中增加用戶這個(gè)用例為例,畫出順序圖,作為對(duì)用例的具體描述。增加用戶順序圖如圖3所示。
結(jié)論
需求分析是軟件工程的一個(gè)重要環(huán)節(jié),需求獲取和需求建模是這一階段的重要任務(wù)。全面獲取軟件需求、準(zhǔn)確理解業(yè)務(wù)邏輯和運(yùn)用建模工具正確建立軟件的邏輯模型是軟件開發(fā)工作獲得成功的前提和關(guān)鍵,直接關(guān)系到工程的成敗和軟件產(chǎn)品的質(zhì)量。應(yīng)用UML對(duì)商品銷售管理系統(tǒng)進(jìn)行需求建模,有利于開發(fā)人員之間在各個(gè)開發(fā)環(huán)節(jié)間確立溝通的標(biāo)準(zhǔn),既可以加快設(shè)計(jì)者對(duì)于問(wèn)題的理解,又能夠在系統(tǒng)描述方面減少語(yǔ)義差異,保證需求分析的正確性,提高了系統(tǒng)的可靠性、穩(wěn)定性、可維護(hù)性、可擴(kuò)展性和軟件開發(fā)成功的可能性。以開發(fā)更多的信息管理系統(tǒng),早日實(shí)現(xiàn)信息管理的現(xiàn)代化、規(guī)范化和科學(xué)化。
參考文獻(xiàn):
1.徐東升,袁飛云,陳軍.基于P2P網(wǎng)絡(luò)的農(nóng)業(yè)信息管理系統(tǒng).農(nóng)機(jī)化研究,2006(10)
2.賈曉輝,韓愷,樂(lè)嘉錦.基于UML的系統(tǒng)需求分析.計(jì)算機(jī)應(yīng)用與軟件,2007
3.陸惠恩編著.軟件工程.人民郵電出版社,2007
4.張海藩.軟件工程導(dǎo)論.清華大學(xué)出版社,2002