殷衛霞
(泰州師范高等專科學校,江蘇 泰州 225300)
基于UML的教材預訂系統需求分析
殷衛霞
(泰州師范高等專科學校,江蘇 泰州 225300)
統一建模語言UML為軟件開發設計人員提供了統一的、標準化的標記,對軟件系統進行面向對象的描述和建模,使得開發人員在系統設計中能夠完整的把握需求。文中以教材預訂系統為例,探討利用統一建模語言UML進行教材預訂系統的需求設計。
UML;教材預訂系統;需求分析
目前,面向對象的軟件開發技術已經成為主流,同時也出現了眾多的建模語言,由于面向對象設計方法的用戶很難全面的了解不同建模語言之間的優缺點,因此很難根據需要選擇合適的建模語言,1994年G..Booch和J.Rumbaugh將各自提出的方法Booch、Rumbaugh結合起來,并進一步發展,形成了統一建模語言UML(Unified Modeling Language),并最終成為標準的建模語言[1]。UML是集多種技術于一體的建模語言,在系統分析設計中為軟件開發人員、客戶之間提供了一種“公共”語言,解決了開發人員、客戶之間的溝通難題,使雙方能夠利用建構的模型理解系統的架構。
UML建模技術的最大特點就是它能適合軟件生命周期的每一個階段,軟件設計師可以在每一個階段都能找到合適的圖形元素進行描述該階段需要設計的任務,產生相應的系統模型圖。UML模型圖由三個元素構成:事物、關系、圖。事物是UML模型圖的最基本的構成元素,是對代表性成分的一種抽象;關系描述事物之間的關系;圖是可視化的元素,可描述性強。這就表示UML與系統最終的開發環境和平臺無關,這也確保它能夠被不同的軟件設計人員理解,可讀性強。
在軟件生命周期,需求分析階段是最初階段也是最關鍵的階段,它的任務就是完全弄清楚用戶對軟件系統的具體的確切的要求,用規范的格式進行描述。看似很容易,但確是不容易做到的,美國一位總統曾說過:“我知道你們自以為理解我所說的,但是,我卻不能肯定你們是否已經認識到你們所聽到的并不是我所表達的意思”[2]。這也說明開發者在傾聽客戶表述時不一定就是客戶所想的,況且很多時候客戶的需求只是大概的描述,不能真正準確的表達。因此在需求階段會出現很多問題,而這種問題如果帶到后期,它就像滾雪球一下,越滾越大,無法彌補。因此做好軟件的需求至關重要,它決定了后期的階段能不能正常的開展,所開發的軟件能不能有很好的健壯性。
在軟件需求分析階段主要通過與客戶采用多形式的溝通交流確定系統的實現目標。教材預訂系統主要是對學校教材征訂的信息實現自動化管理。軟件的需求一般分為三個層次:業務需求、用戶需求、功能需求。根據教材預訂的流程,教材預訂系統的主要業務需求包括:
(1)校教學管理部門錄入每學期開課計劃(一般從教務系統直接導入);
(2)分學院能夠錄入教材信息并根據反饋信息能夠修改征訂信息;
(3)教材科管理人員根據預訂計劃進行匯總、反饋,根據庫存生成訂購報表;
(4)教材的入庫、發放等信息的跟蹤管理;
(5)權限用戶有相應的查詢功能;
(6)具有報表匯總、生成、打印等功能;
(7)最高權限用戶有系統維護和分配用戶權限功能。
系統的用戶有三類:管理員,負責對權限用戶的設置、征訂信息反饋、教材征訂信息的提交、庫存的管理、各種信息報表的生成、打印等工作;教師,根據每學期開課計劃征訂教材、對反饋的教材征訂信息進行修改;學生,可以查詢課程教材信息。
UML的用例圖就是用來描述“用戶、系統功能、需求”三者之間的關系。
它展示了一個外部用戶能夠觀察到的系統功能模型圖[3]。圖1展示了教材預訂系統的用例圖設計。在此模型中角色有:管理員(教材科)、教師、學生。

圖1 教材預訂系統UML用例圖
類圖是面向對象分析中最常用的也是最重要的模型圖,主要用來顯示系統中類、接口以及它們之間的靜態結構和關系的一種靜態模型,由類名、屬性和方法組成[4]。類有四種關系:泛化、關聯、依賴、聚合。泛化,也即繼承關系,是一種父與子的關系,子元素可以共享父元素的特征和行為,用帶空心三角形箭頭的實線表示;關聯,是用于描述類與類之間的連接,是模型元素之間的一種語義聯系,不限于兩個類之間的關聯,多個類之間也可以有關聯關系,UML中用實線表示;依賴,是描述一種事物發生變化時也會影響另一事物,用帶箭頭的虛線表示依賴關系;聚合,是關聯的特例,表示類與類之間是整體與部分的關系,用一端為空心菱形的實線表示,在聚合中除一般聚合之外,還有兩個特殊的聚合:共享聚合、組合聚合。“◇”表示共享聚合,“◆”表示組合聚合。
在教材預訂系統中,根據之前分析的用例模型,可以抽象出這些主要的類:
學生、教師、班級、課程計劃、訂單、教材、庫存、出庫、入庫。圖2描述了系統的類之間的關系圖。
在UML統一建模語言中,常用時序圖、狀態圖、協作圖、活動圖來描述系統對象之間的行為活動與交互關系[5]。UML時序圖是顯示對象之間交互的圖,重點描述的是對象之間消息通信的順序,在UML時序圖中建模元素主要有:對象、生命線、控制焦點、消息等。如圖3所示,在時序圖中,一般用水平軸表示不同的對象,垂直軸以虛線形式表示,代表對象存在的時間,是對象的生命線,對象之間的通信以接發消息表示,當收到消息時,接收對象開始活動[6]。
當教師預訂教材時,登錄系統界面,如圖4所示,進行預訂教材,如書庫中若不存在該書,增加書目,形成預訂單,若存在該書,但數量不夠,則需要再次預訂,形成預訂單。教材科工作人員根據教師提供的預訂單進行審核,如果預訂的書存在問題,則進行反饋給教師,教師重新預訂,預訂事件結束。

圖2 教材預訂系統UML類圖

圖3 UML時序圖

圖4 教材預訂系統UML時序圖
UML建模采用圖形化的語言展示和表達系統的概貌,為開發者、用戶之間架起了一座可以溝通的交流平臺,它支持從軟件需求分析開始的軟件開發整個階段,采用UML進行需求分析,使得開發者通過系統的需求模型很容易過渡到軟件開發的其他階段:規格說明、系統設計與實現、系統測試等后續階段,從而使得軟件開發過程變得清晰明了,加快了開發的速度,提高了軟件產品的品質。
[1]王長元,趙莉,王淑蓉.軟件工程與建模[M].西安:西安交通大學出版社,2010.
[2]Stephen R.Schach.軟件工程Java語言實現[M].袁兆山,譯.北京:機械工業出版社,2003.
[3]張龍詳.UML與系統分析設計[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的高校教材管理系統分析與設計[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)
殷衛霞(1978-),女,江蘇射陽人,講師,碩士,主要從事計算機技術(軟件技術、多媒體技術)方面研究。
責任編輯:
吳旭云