殷衛(wèi)霞
(泰州師范高等??茖W校,江蘇 泰州 225300)
基于UML的教材預訂系統(tǒng)需求分析
殷衛(wèi)霞
(泰州師范高等??茖W校,江蘇 泰州 225300)
統(tǒng)一建模語言UML為軟件開發(fā)設計人員提供了統(tǒng)一的、標準化的標記,對軟件系統(tǒng)進行面向對象的描述和建模,使得開發(fā)人員在系統(tǒng)設計中能夠完整的把握需求。文中以教材預訂系統(tǒng)為例,探討利用統(tǒng)一建模語言UML進行教材預訂系統(tǒng)的需求設計。
UML;教材預訂系統(tǒng);需求分析
目前,面向對象的軟件開發(fā)技術已經(jīng)成為主流,同時也出現(xiàn)了眾多的建模語言,由于面向對象設計方法的用戶很難全面的了解不同建模語言之間的優(yōu)缺點,因此很難根據(jù)需要選擇合適的建模語言,1994年G..Booch和J.Rumbaugh將各自提出的方法Booch、Rumbaugh結合起來,并進一步發(fā)展,形成了統(tǒng)一建模語言UML(Unified Modeling Language),并最終成為標準的建模語言[1]。UML是集多種技術于一體的建模語言,在系統(tǒng)分析設計中為軟件開發(fā)人員、客戶之間提供了一種“公共”語言,解決了開發(fā)人員、客戶之間的溝通難題,使雙方能夠利用建構的模型理解系統(tǒng)的架構。
UML建模技術的最大特點就是它能適合軟件生命周期的每一個階段,軟件設計師可以在每一個階段都能找到合適的圖形元素進行描述該階段需要設計的任務,產(chǎn)生相應的系統(tǒng)模型圖。UML模型圖由三個元素構成:事物、關系、圖。事物是UML模型圖的最基本的構成元素,是對代表性成分的一種抽象;關系描述事物之間的關系;圖是可視化的元素,可描述性強。這就表示UML與系統(tǒng)最終的開發(fā)環(huán)境和平臺無關,這也確保它能夠被不同的軟件設計人員理解,可讀性強。
在軟件生命周期,需求分析階段是最初階段也是最關鍵的階段,它的任務就是完全弄清楚用戶對軟件系統(tǒng)的具體的確切的要求,用規(guī)范的格式進行描述。看似很容易,但確是不容易做到的,美國一位總統(tǒng)曾說過:“我知道你們自以為理解我所說的,但是,我卻不能肯定你們是否已經(jīng)認識到你們所聽到的并不是我所表達的意思”[2]。這也說明開發(fā)者在傾聽客戶表述時不一定就是客戶所想的,況且很多時候客戶的需求只是大概的描述,不能真正準確的表達。因此在需求階段會出現(xiàn)很多問題,而這種問題如果帶到后期,它就像滾雪球一下,越滾越大,無法彌補。因此做好軟件的需求至關重要,它決定了后期的階段能不能正常的開展,所開發(fā)的軟件能不能有很好的健壯性。
在軟件需求分析階段主要通過與客戶采用多形式的溝通交流確定系統(tǒng)的實現(xiàn)目標。教材預訂系統(tǒng)主要是對學校教材征訂的信息實現(xiàn)自動化管理。軟件的需求一般分為三個層次:業(yè)務需求、用戶需求、功能需求。根據(jù)教材預訂的流程,教材預訂系統(tǒng)的主要業(yè)務需求包括:
(1)校教學管理部門錄入每學期開課計劃(一般從教務系統(tǒng)直接導入);
(2)分學院能夠錄入教材信息并根據(jù)反饋信息能夠修改征訂信息;
(3)教材科管理人員根據(jù)預訂計劃進行匯總、反饋,根據(jù)庫存生成訂購報表;
(4)教材的入庫、發(fā)放等信息的跟蹤管理;
(5)權限用戶有相應的查詢功能;
(6)具有報表匯總、生成、打印等功能;
(7)最高權限用戶有系統(tǒng)維護和分配用戶權限功能。
系統(tǒng)的用戶有三類:管理員,負責對權限用戶的設置、征訂信息反饋、教材征訂信息的提交、庫存的管理、各種信息報表的生成、打印等工作;教師,根據(jù)每學期開課計劃征訂教材、對反饋的教材征訂信息進行修改;學生,可以查詢課程教材信息。
UML的用例圖就是用來描述“用戶、系統(tǒng)功能、需求”三者之間的關系。
它展示了一個外部用戶能夠觀察到的系統(tǒng)功能模型圖[3]。圖1展示了教材預訂系統(tǒng)的用例圖設計。在此模型中角色有:管理員(教材科)、教師、學生。
圖1 教材預訂系統(tǒng)UML用例圖
類圖是面向對象分析中最常用的也是最重要的模型圖,主要用來顯示系統(tǒng)中類、接口以及它們之間的靜態(tài)結構和關系的一種靜態(tài)模型,由類名、屬性和方法組成[4]。類有四種關系:泛化、關聯(lián)、依賴、聚合。泛化,也即繼承關系,是一種父與子的關系,子元素可以共享父元素的特征和行為,用帶空心三角形箭頭的實線表示;關聯(lián),是用于描述類與類之間的連接,是模型元素之間的一種語義聯(lián)系,不限于兩個類之間的關聯(lián),多個類之間也可以有關聯(lián)關系,UML中用實線表示;依賴,是描述一種事物發(fā)生變化時也會影響另一事物,用帶箭頭的虛線表示依賴關系;聚合,是關聯(lián)的特例,表示類與類之間是整體與部分的關系,用一端為空心菱形的實線表示,在聚合中除一般聚合之外,還有兩個特殊的聚合:共享聚合、組合聚合?!啊蟆北硎竟蚕砭酆?,“◆”表示組合聚合。
在教材預訂系統(tǒng)中,根據(jù)之前分析的用例模型,可以抽象出這些主要的類:
學生、教師、班級、課程計劃、訂單、教材、庫存、出庫、入庫。圖2描述了系統(tǒng)的類之間的關系圖。
在UML統(tǒng)一建模語言中,常用時序圖、狀態(tài)圖、協(xié)作圖、活動圖來描述系統(tǒng)對象之間的行為活動與交互關系[5]。UML時序圖是顯示對象之間交互的圖,重點描述的是對象之間消息通信的順序,在UML時序圖中建模元素主要有:對象、生命線、控制焦點、消息等。如圖3所示,在時序圖中,一般用水平軸表示不同的對象,垂直軸以虛線形式表示,代表對象存在的時間,是對象的生命線,對象之間的通信以接發(fā)消息表示,當收到消息時,接收對象開始活動[6]。
當教師預訂教材時,登錄系統(tǒng)界面,如圖4所示,進行預訂教材,如書庫中若不存在該書,增加書目,形成預訂單,若存在該書,但數(shù)量不夠,則需要再次預訂,形成預訂單。教材科工作人員根據(jù)教師提供的預訂單進行審核,如果預訂的書存在問題,則進行反饋給教師,教師重新預訂,預訂事件結束。
圖2 教材預訂系統(tǒng)UML類圖
圖3 UML時序圖
圖4 教材預訂系統(tǒng)UML時序圖
UML建模采用圖形化的語言展示和表達系統(tǒng)的概貌,為開發(fā)者、用戶之間架起了一座可以溝通的交流平臺,它支持從軟件需求分析開始的軟件開發(fā)整個階段,采用UML進行需求分析,使得開發(fā)者通過系統(tǒng)的需求模型很容易過渡到軟件開發(fā)的其他階段:規(guī)格說明、系統(tǒng)設計與實現(xiàn)、系統(tǒng)測試等后續(xù)階段,從而使得軟件開發(fā)過程變得清晰明了,加快了開發(fā)的速度,提高了軟件產(chǎn)品的品質。
[1]王長元,趙莉,王淑蓉.軟件工程與建模[M].西安:西安交通大學出版社,2010.
[2]Stephen R.Schach.軟件工程Java語言實現(xiàn)[M].袁兆山,譯.北京:機械工業(yè)出版社,2003.
[3]張龍詳.UML與系統(tǒng)分析設計[M].北京:人民郵電出版社,2001.
[4]UML類圖與類的關系[EB/OL](2012-05-01)[2013-04-22].http://blog.csdn.net/dxzysk/article/details/7525927.
[5]劉超,張莉.可視化面向對象建模技術[M].北京:北京航空航天大學出版社,2001.
[6]董袁泉,張廣泉.基于UML的高校教材管理系統(tǒng)分析與設計[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
泰州師范高等專科學校校級課題(2010-BXX-09)
殷衛(wèi)霞(1978-),女,江蘇射陽人,講師,碩士,主要從事計算機技術(軟件技術、多媒體技術)方面研究。
責任編輯:
吳旭云