◆陳少暉
用例建模在校園E淘系統(tǒng)需求分析中的應(yīng)用研究
◆陳少暉
需求分析是軟件系統(tǒng)開發(fā)中至關(guān)重要的一個階段,它關(guān)系到整個項(xiàng)目的成敗。本文以校園E淘系統(tǒng)為例,采用UML技術(shù)中用例建模技術(shù)對系統(tǒng)需求進(jìn)行建模,展示系統(tǒng)的功能需求,為后續(xù)的設(shè)計與實(shí)現(xiàn)階段提供參考依據(jù)。
需求分析;UML;用例建模
需求分析是軟件系統(tǒng)開發(fā)中至關(guān)重要的一個階段,它關(guān)系到整個項(xiàng)目的成敗。需求分析的任務(wù)是確定系統(tǒng)提供什么功能,能夠?yàn)橛脩艚鉀Q什么問題,需求分析階段形成的需求分析規(guī)格說明,是后續(xù)的系統(tǒng)設(shè)計與實(shí)現(xiàn)起到指導(dǎo)作用,因此,需求分析是軟件開發(fā)過程中不可缺少的一個環(huán)節(jié),也是起到關(guān)鍵性的一個關(guān)節(jié)。本文以校園E淘網(wǎng)系統(tǒng)為例,使用UML建模技術(shù)中用例建模對系統(tǒng)功能需求進(jìn)行建模,以用例圖來展示系統(tǒng)的功能及用例之間的交互關(guān)系,以用例規(guī)約來對用例進(jìn)行描述說明。
UML(Unified Modeling Language),是用來對軟件系統(tǒng)進(jìn)行圖形化描述的一種語言,它支持從軟件需求分析到設(shè)計實(shí)現(xiàn)的整個過程,每個過程提供了不同的模型化和可視化支持[1],如需求分析階段可以采用用例圖建立系統(tǒng)功能模型;設(shè)計階段可以用類圖來描述系統(tǒng)中的類、接口以及他們之間的靜態(tài)結(jié)構(gòu)關(guān)系,因此類圖是顯示系統(tǒng)的靜態(tài)結(jié)構(gòu)模型;狀態(tài)圖是描述實(shí)體在某個事件的作用下而做出相應(yīng)反應(yīng)的動態(tài)行為。這些模型圖從不同的角度描述了系統(tǒng)的各個行為狀態(tài)[2]。
用例(Use Case)即指功能,用于描述系統(tǒng)提供的功能服務(wù)。使用用例來描述系統(tǒng)功能需求的過程稱為用例建模[3]。用例建模是從用戶的角度分析考慮問題,系統(tǒng)分析人員通過調(diào)查與分析,獲取用戶的需求描述并詳細(xì)記錄下來,整個過程不考慮系統(tǒng)的內(nèi)部結(jié)構(gòu)設(shè)計,做到需求與設(shè)計分離,目的在于系統(tǒng)分析人員與用戶之間建立需求的共同理解,排除一些用戶模糊不清的、不可實(shí)現(xiàn)的需求,進(jìn)一步達(dá)到準(zhǔn)確無誤地描述需求。
用例建模主要包括用例圖和用例規(guī)約。用例圖用于描述系統(tǒng)的功能,用例規(guī)約用于對用例圖中的每個用例進(jìn)行詳細(xì)的文本說明。
用例圖包含參與者、用例和它們之間的關(guān)系。下面是用例圖中的各個元素的介紹。
(1)參與者(Actor)。參與者是與被定義系統(tǒng)發(fā)生交互的外部實(shí)體(指人、事物或者其他系統(tǒng)扮演的角色),代表系統(tǒng)的使用者或使用環(huán)境,它們以某種方式參與用例的過程。
(2)用例(Use Case)。用例表示一個或多個參與者為實(shí)現(xiàn)特定目標(biāo)而執(zhí)行的操作,它是對系統(tǒng)的用戶需求(主要是功能需求)的描述,表達(dá)了系統(tǒng)的功能和提供的服務(wù)。
(3)用例間關(guān)系。用例除了與其參與者發(fā)生關(guān)聯(lián)外,還可以與用例存在泛化、包含和擴(kuò)展關(guān)系。用例泛化類似于類間的泛化,子用例表示父用例的特殊形式。包含關(guān)系是指包含提供者用例的行為到客戶用例的事件中。擴(kuò)展關(guān)系是把新行為插入到已有用例的方法。
用例圖是整體上描述了系統(tǒng)提供的功能服務(wù),對于每個功能服務(wù)的詳細(xì)說明需要通過用例規(guī)約來說明,用例規(guī)約主要包括以下描述內(nèi)容:用例簡要說明、前置條件、事件流和后置條件。
用例簡要說明是介紹用例的作用和目的。
前置條件是執(zhí)行該用例之前系統(tǒng)應(yīng)處于的狀態(tài)。
事件流是執(zhí)行用例的一系列活動步驟,用于相應(yīng)參與者的服務(wù)請求。
后置條件是執(zhí)行完該用例系統(tǒng)進(jìn)入的下一狀態(tài)。
3.1需求描述。每一年各高校離校大學(xué)生眾多,留下了很多資源,這些資源如果管理不妥當(dāng),將會造成資源的浪費(fèi),還給環(huán)保帶來負(fù)面影響。例如路由器、鼠標(biāo)、鍵盤、書籍、服飾等,畢業(yè)生在離校時為了減輕行李的負(fù)擔(dān),往往會處理掉這些物件,高校到畢業(yè)季時校園路邊會出現(xiàn)一些擺攤,賣方不僅有畢業(yè)生,還有在校生因?yàn)閷r髦、新潮產(chǎn)品有強(qiáng)烈的追求,新產(chǎn)品的不斷更新刺激了消費(fèi)需求,現(xiàn)有的產(chǎn)品迅速變?yōu)槎稚唐范庇诔鍪?。擺攤不僅影響到校園交通舒暢,夏天的炎熱天氣會讓人感覺很不舒服,如果不擺攤售賣物品,有存在“留之無用,棄之可惜”,同時將其丟棄將會造成資源浪費(fèi),如果想要送人又不知道誰需要,因此,需要這樣的一個平臺,能夠?qū)⑦@些物件發(fā)布在平臺上并留下聯(lián)系方式,有需要的同學(xué)可以瀏覽該平臺,找到需要的用品。校園E淘網(wǎng)給學(xué)生提供了這樣一個便利的平臺,能幫助學(xué)生處理物品,減少不必要的資源浪費(fèi)。
校園E淘網(wǎng)除了能幫助學(xué)生處理二手物品之外,還能給師生們提供方便快捷購物平臺。該平臺提供品種眾多的商品,滿足師生日常生活消費(fèi)需求。在平臺上面交易雙方可以選擇網(wǎng)上訂購,線下驗(yàn)貨、線下支付。
校園E淘網(wǎng)是一款為滿足校園師生日常生活消費(fèi)需求和社交需求的開放式購物平臺,該平臺將廣大師生與周邊商家緊密聯(lián)系起來,為師生提供一個方便快捷的信息獲取和網(wǎng)上購物平臺。
3.2用例圖。下面以校園E淘網(wǎng)為例,描述用例建模的過程。
校園E淘網(wǎng)的主要參與者有賣家和買家(主要由師生構(gòu)成)以及管理員,不同的參與者給予不同的權(quán)限,下面就學(xué)生買家為例,買家登錄系統(tǒng)后,在瀏覽網(wǎng)站查看商品信息,可以通過搜索功能尋找想要買的商品,并能查看商品詳情,對于需要更深入了解的商品可以咨詢賣家,滿意的商品加入購物車或直接下單,用戶可以對已購買的商品進(jìn)行評價。對應(yīng)的用例圖如下所示:
圖1 買家購買商品用例圖
3.3用例規(guī)約。以搜索商品用例為例,編寫用例規(guī)約如下:用例名:搜索商品。
參與者:買家、賣家。
用例簡述:該用例規(guī)定了買家和賣家通過在搜索欄中輸入商品相關(guān)信息尋找商品的處理過程。
涉眾及興趣:買家和賣家希望能快速找到想尋找的商品。
前置條件:買家和賣家通過賬號和密碼驗(yàn)證成功登錄進(jìn)入系統(tǒng)。
事件流:
基本流:①買家和賣家(下稱為用戶)在登錄進(jìn)入系統(tǒng)后,選擇在搜索欄中輸入尋找商品的相關(guān)信息后,點(diǎn)擊搜索按鈕;②系統(tǒng)響應(yīng)點(diǎn)擊事件,顯示搜索的商品信息界面。
備選流:如果在用戶輸入的商品信息不存在,則顯示未搜到商品。
后置條件:顯示搜索結(jié)果頁面。
用例建模是面向?qū)ο蠼V谐S玫囊环N技術(shù),是幫助用戶與系統(tǒng)分析人員達(dá)成共識的一種工具,本文結(jié)合校園E淘網(wǎng)中的應(yīng)用闡述了用例建模的過程,使用用例圖來描述系統(tǒng)提供的功能服務(wù),使用用例規(guī)約來對用例進(jìn)行補(bǔ)充說明。
[1]張海藩.軟件工程導(dǎo)論(第5版) [M].清華大學(xué)出版社, 2009.
[2]UML基礎(chǔ)與rose建模教程,蔡敏等著,人民郵電出版社,2006.
[3]謝星星.UML基礎(chǔ)與Rose建模實(shí)用教程.清華大學(xué)出版社,2011.
(作者單位:海南軟件職業(yè)技術(shù)學(xué)院)