殷衛(wèi)霞
(泰州師范高等??茖W(xué)校,江蘇 泰州 225300)
基于UML的教材預(yù)訂系統(tǒng)需求分析
殷衛(wèi)霞
(泰州師范高等??茖W(xué)校,江蘇 泰州 225300)
統(tǒng)一建模語言UML為軟件開發(fā)設(shè)計(jì)人員提供了統(tǒng)一的、標(biāo)準(zhǔn)化的標(biāo)記,對(duì)軟件系統(tǒng)進(jìn)行面向?qū)ο蟮拿枋龊徒#沟瞄_發(fā)人員在系統(tǒng)設(shè)計(jì)中能夠完整的把握需求。文中以教材預(yù)訂系統(tǒng)為例,探討利用統(tǒng)一建模語言UML進(jìn)行教材預(yù)訂系統(tǒng)的需求設(shè)計(jì)。
UML;教材預(yù)訂系統(tǒng);需求分析
目前,面向?qū)ο蟮能浖_發(fā)技術(shù)已經(jīng)成為主流,同時(shí)也出現(xiàn)了眾多的建模語言,由于面向?qū)ο笤O(shè)計(jì)方法的用戶很難全面的了解不同建模語言之間的優(yōu)缺點(diǎn),因此很難根據(jù)需要選擇合適的建模語言,1994年G..Booch和J.Rumbaugh將各自提出的方法Booch、Rumbaugh結(jié)合起來,并進(jìn)一步發(fā)展,形成了統(tǒng)一建模語言UML(Unified Modeling Language),并最終成為標(biāo)準(zhǔn)的建模語言[1]。UML是集多種技術(shù)于一體的建模語言,在系統(tǒng)分析設(shè)計(jì)中為軟件開發(fā)人員、客戶之間提供了一種“公共”語言,解決了開發(fā)人員、客戶之間的溝通難題,使雙方能夠利用建構(gòu)的模型理解系統(tǒng)的架構(gòu)。
UML建模技術(shù)的最大特點(diǎn)就是它能適合軟件生命周期的每一個(gè)階段,軟件設(shè)計(jì)師可以在每一個(gè)階段都能找到合適的圖形元素進(jìn)行描述該階段需要設(shè)計(jì)的任務(wù),產(chǎn)生相應(yīng)的系統(tǒng)模型圖。UML模型圖由三個(gè)元素構(gòu)成:事物、關(guān)系、圖。事物是UML模型圖的最基本的構(gòu)成元素,是對(duì)代表性成分的一種抽象;關(guān)系描述事物之間的關(guān)系;圖是可視化的元素,可描述性強(qiáng)。這就表示UML與系統(tǒng)最終的開發(fā)環(huán)境和平臺(tái)無關(guān),這也確保它能夠被不同的軟件設(shè)計(jì)人員理解,可讀性強(qiáng)。
在軟件生命周期,需求分析階段是最初階段也是最關(guān)鍵的階段,它的任務(wù)就是完全弄清楚用戶對(duì)軟件系統(tǒng)的具體的確切的要求,用規(guī)范的格式進(jìn)行描述??此坪苋菀祝_是不容易做到的,美國一位總統(tǒng)曾說過:“我知道你們自以為理解我所說的,但是,我卻不能肯定你們是否已經(jīng)認(rèn)識(shí)到你們所聽到的并不是我所表達(dá)的意思”[2]。這也說明開發(fā)者在傾聽客戶表述時(shí)不一定就是客戶所想的,況且很多時(shí)候客戶的需求只是大概的描述,不能真正準(zhǔn)確的表達(dá)。因此在需求階段會(huì)出現(xiàn)很多問題,而這種問題如果帶到后期,它就像滾雪球一下,越滾越大,無法彌補(bǔ)。因此做好軟件的需求至關(guān)重要,它決定了后期的階段能不能正常的開展,所開發(fā)的軟件能不能有很好的健壯性。
在軟件需求分析階段主要通過與客戶采用多形式的溝通交流確定系統(tǒng)的實(shí)現(xiàn)目標(biāo)。教材預(yù)訂系統(tǒng)主要是對(duì)學(xué)校教材征訂的信息實(shí)現(xiàn)自動(dòng)化管理。軟件的需求一般分為三個(gè)層次:業(yè)務(wù)需求、用戶需求、功能需求。根據(jù)教材預(yù)訂的流程,教材預(yù)訂系統(tǒng)的主要業(yè)務(wù)需求包括:
(1)校教學(xué)管理部門錄入每學(xué)期開課計(jì)劃(一般從教務(wù)系統(tǒng)直接導(dǎo)入);
(2)分學(xué)院能夠錄入教材信息并根據(jù)反饋信息能夠修改征訂信息;
(3)教材科管理人員根據(jù)預(yù)訂計(jì)劃進(jìn)行匯總、反饋,根據(jù)庫存生成訂購報(bào)表;
(4)教材的入庫、發(fā)放等信息的跟蹤管理;
(5)權(quán)限用戶有相應(yīng)的查詢功能;
(6)具有報(bào)表匯總、生成、打印等功能;
(7)最高權(quán)限用戶有系統(tǒng)維護(hù)和分配用戶權(quán)限功能。
系統(tǒng)的用戶有三類:管理員,負(fù)責(zé)對(duì)權(quán)限用戶的設(shè)置、征訂信息反饋、教材征訂信息的提交、庫存的管理、各種信息報(bào)表的生成、打印等工作;教師,根據(jù)每學(xué)期開課計(jì)劃征訂教材、對(duì)反饋的教材征訂信息進(jìn)行修改;學(xué)生,可以查詢課程教材信息。
UML的用例圖就是用來描述“用戶、系統(tǒng)功能、需求”三者之間的關(guān)系。
它展示了一個(gè)外部用戶能夠觀察到的系統(tǒng)功能模型圖[3]。圖1展示了教材預(yù)訂系統(tǒng)的用例圖設(shè)計(jì)。在此模型中角色有:管理員(教材科)、教師、學(xué)生。
圖1 教材預(yù)訂系統(tǒng)UML用例圖
類圖是面向?qū)ο蠓治鲋凶畛S玫囊彩亲钪匾哪P蛨D,主要用來顯示系統(tǒng)中類、接口以及它們之間的靜態(tài)結(jié)構(gòu)和關(guān)系的一種靜態(tài)模型,由類名、屬性和方法組成[4]。類有四種關(guān)系:泛化、關(guān)聯(lián)、依賴、聚合。泛化,也即繼承關(guān)系,是一種父與子的關(guān)系,子元素可以共享父元素的特征和行為,用帶空心三角形箭頭的實(shí)線表示;關(guān)聯(lián),是用于描述類與類之間的連接,是模型元素之間的一種語義聯(lián)系,不限于兩個(gè)類之間的關(guān)聯(lián),多個(gè)類之間也可以有關(guān)聯(lián)關(guān)系,UML中用實(shí)線表示;依賴,是描述一種事物發(fā)生變化時(shí)也會(huì)影響另一事物,用帶箭頭的虛線表示依賴關(guān)系;聚合,是關(guān)聯(lián)的特例,表示類與類之間是整體與部分的關(guān)系,用一端為空心菱形的實(shí)線表示,在聚合中除一般聚合之外,還有兩個(gè)特殊的聚合:共享聚合、組合聚合。“◇”表示共享聚合,“◆”表示組合聚合。
在教材預(yù)訂系統(tǒng)中,根據(jù)之前分析的用例模型,可以抽象出這些主要的類:
學(xué)生、教師、班級(jí)、課程計(jì)劃、訂單、教材、庫存、出庫、入庫。圖2描述了系統(tǒng)的類之間的關(guān)系圖。
在UML統(tǒng)一建模語言中,常用時(shí)序圖、狀態(tài)圖、協(xié)作圖、活動(dòng)圖來描述系統(tǒng)對(duì)象之間的行為活動(dòng)與交互關(guān)系[5]。UML時(shí)序圖是顯示對(duì)象之間交互的圖,重點(diǎn)描述的是對(duì)象之間消息通信的順序,在UML時(shí)序圖中建模元素主要有:對(duì)象、生命線、控制焦點(diǎn)、消息等。如圖3所示,在時(shí)序圖中,一般用水平軸表示不同的對(duì)象,垂直軸以虛線形式表示,代表對(duì)象存在的時(shí)間,是對(duì)象的生命線,對(duì)象之間的通信以接發(fā)消息表示,當(dāng)收到消息時(shí),接收對(duì)象開始活動(dòng)[6]。
當(dāng)教師預(yù)訂教材時(shí),登錄系統(tǒng)界面,如圖4所示,進(jìn)行預(yù)訂教材,如書庫中若不存在該書,增加書目,形成預(yù)訂單,若存在該書,但數(shù)量不夠,則需要再次預(yù)訂,形成預(yù)訂單。教材科工作人員根據(jù)教師提供的預(yù)訂單進(jìn)行審核,如果預(yù)訂的書存在問題,則進(jìn)行反饋給教師,教師重新預(yù)訂,預(yù)訂事件結(jié)束。
圖2 教材預(yù)訂系統(tǒng)UML類圖
圖3 UML時(shí)序圖
圖4 教材預(yù)訂系統(tǒng)UML時(shí)序圖
UML建模采用圖形化的語言展示和表達(dá)系統(tǒng)的概貌,為開發(fā)者、用戶之間架起了一座可以溝通的交流平臺(tái),它支持從軟件需求分析開始的軟件開發(fā)整個(gè)階段,采用UML進(jìn)行需求分析,使得開發(fā)者通過系統(tǒng)的需求模型很容易過渡到軟件開發(fā)的其他階段:規(guī)格說明、系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)、系統(tǒng)測試等后續(xù)階段,從而使得軟件開發(fā)過程變得清晰明了,加快了開發(fā)的速度,提高了軟件產(chǎn)品的品質(zhì)。
[1]王長元,趙莉,王淑蓉.軟件工程與建模[M].西安:西安交通大學(xué)出版社,2010.
[2]Stephen R.Schach.軟件工程Java語言實(shí)現(xiàn)[M].袁兆山,譯.北京:機(jī)械工業(yè)出版社,2003.
[3]張龍?jiān)?UML與系統(tǒng)分析設(shè)計(jì)[M].北京:人民郵電出版社,2001.
[4]UML類圖與類的關(guān)系[EB/OL](2012-05-01)[2013-04-22].http://blog.csdn.net/dxzysk/article/details/7525927.
[5]劉超,張莉.可視化面向?qū)ο蠼<夹g(shù)[M].北京:北京航空航天大學(xué)出版社,2001.
[6]董袁泉,張廣泉.基于UML的高校教材管理系統(tǒng)分析與設(shè)計(jì)[J].福建電腦,2006(3):146,115.
Demand Analysis on UML-based Textbook Reservation System
YIN Wei-xia
(Taizhou Teacher’s College,Taizhou 225300,China)
Unified modeling language(UML)provides a unified and standardized symbol for software developers and designers.This paper gives an object-oriented description and modeling on the software system,making developers understand the requirements in designing the system.Taking textbook reservation system as a case study,it explores its demand design by using UML.
UML;textbook reservation system;demand analysis
TP312
A
1009-3907(2013)10-1255-04
2013-04-22
泰州師范高等專科學(xué)校校級(jí)課題(2010-BXX-09)
殷衛(wèi)霞(1978-),女,江蘇射陽人,講師,碩士,主要從事計(jì)算機(jī)技術(shù)(軟件技術(shù)、多媒體技術(shù))方面研究。
責(zé)任編輯:
吳旭云