陳少波+鐘鳴
摘要: 該系統(tǒng)針對高校運動會的需求,采用面向對象的分析與設計方法,建立了以類圖表示的系統(tǒng)靜態(tài)模型,以用例模型為主,順序圖、活動圖等為輔表示的系統(tǒng)動態(tài)模型,最后對分析與設計中應該重點考慮的問題進行了總結。
Abstract: In order to meet the needs of college sports game, the system uses object-oriented analysis and design method, establishes a system static model expressed by class diagram, and a system dynamic model based on use case model and supplemented by sequence diagram and activity diagram. Finally, the key issues in the analysis and design are summarized.
關鍵詞: 高校;運動會;管理系統(tǒng)
Key words: university;sports game;management system
中圖分類號:G647 文獻標識碼:A 文章編號:1006-4311(2018)01-0210-04
0 引言
隨著我國高等教育的迅猛發(fā)展,萬人大學、幾萬人大學比比皆是,每所大學每年都要舉辦校級運動會,參加運動會的教職工及學生數以千計,運動會的組織管理工作是一項復雜、瑣粹的工作。信息管理是運動會組織管理工作不可缺少的組成部分,也是運動會組織管理走向科學化、規(guī)范化的必要條件。目前各高校都已普及千兆校園網,開發(fā)出依托校園網的“高校運動會管理系統(tǒng)”已經水到渠成。
高校運動會管理系統(tǒng)的設計至少應該達到以下的目標:
①管理員能夠及時便捷的對信息進行必要處理,包括查詢、添加、刪除、匯總、修改、統(tǒng)計等
②為便于資源共享,可在網上發(fā)布各種運動會信息。
③運動員可以在自己的權限內對信息進行訪問,即時查詢相關信息。
1 系統(tǒng)需求分析
本系統(tǒng)開展分析和設計采用面向對象的方法。
面向對象方法和結構化方法存在一定差別,在該方法中對于分析和設計的界限是比較模糊的,分析和設計工作共存于一個連續(xù)體上,不同的實踐者在這個連續(xù)體上的活動關于“分析”和“設計”存在一定分類界限。之所以這樣,根本原因就在于面向對象方法中的“分析”與“設計”表達工具的一致性,開發(fā)過程通常是迭代進行的,我們必須牢牢把握的是:“需求調研是了解問題,分析是定義問題,而設計則是解決問題?!?/p>
一切軟件開發(fā)都毫無例外地必須從需求出發(fā)。用軟件工程的專業(yè)術語來說,“弄清楚要做什么”即為“需求分析”。未來所有的軟件項目都是基于需求分析開展的。
作者認為,分析階段一般來說包括以下兩個方面的工作:建立一個以類圖表示的反映問題域靜態(tài)關系的概念模型;建立一個以用例模型表示的反映系統(tǒng)行為的動態(tài)模型。
幫助開發(fā)團隊理解問題域的各種概念、各種名詞、以及它們之間的各種關系是概念模型建立的作用;幫助開發(fā)團隊理解用戶對系統(tǒng)的各種功能需求是用例模型建立的作用。分析工作的主要內容是做這兩方面的工作,其結果就是得到明確的問題定義。即知道系統(tǒng)不該做什么、該做什么,以及要達到的目標。
1.1 建立系統(tǒng)概念模型
在大多數面向對象的書籍中,把用例建模當成是分析階段的工作,而把概念建模當成是設計階段的工作。也就是說,用例建模是在概念建模之前。作者認為,這是一種誤解。因為面向對象的開發(fā)是迭代進行的,也就無所謂誰先誰后,而是取決于對模型作用的理解。把建立概念模型作為第一步,目的是從需求分析開始就能使開發(fā)團隊從整體上把握系統(tǒng)。
表達概念模型的是類圖。類圖是描述類、接口以及它們之間關系的圖,它是一種靜態(tài)模型,顯示了系統(tǒng)中各個類的靜態(tài)結構。類圖根據系統(tǒng)中的類以及各個類的關系,描述系統(tǒng)的靜態(tài)視圖。
對于面向對象系統(tǒng)建模來說,類圖是最為基本和常用的圖之一,其它大部分圖都是在此基礎上經過進一步描述得出的,比如配置圖、通信圖、順序圖、狀態(tài)圖等。
采用“名詞動詞法”,從發(fā)現系統(tǒng)中的類(管理員、運動員、項目、成績)開始,添加屬性、找到類的職責,一步一步建立起以類圖表示的系統(tǒng)概念模型如圖1所示。
1.2 建立系統(tǒng)用例模型
用例的概念是伴隨著UML一起傳入國內的,所以一些人認為用例模型就是UML用例圖,其實不然。這是因為UML標準中根本沒有討論用例的內容以及如何去編寫用例,而用例模型不僅包括用例圖,也包括比用例圖更重要的用例描述。
用例模型是應用系統(tǒng)中與靜態(tài)模型相配合的動態(tài)模型。用例模型的建立從確定系統(tǒng)的參與者開始,參與者確定后,我們就可以從參與者的角度出發(fā),考慮參與者需要系統(tǒng)完成什么樣的功能,從而建立參與者所需要的用例。
參與者是對系統(tǒng)外的對象的描述,是用戶作用于系統(tǒng)的一個角色,參與者通過與系統(tǒng)的交互來實現自已的目標。參與者可以是人,也可以是一個外部系統(tǒng)。通過分析,我們確定本系統(tǒng)的參與者為:管理員、普通用戶、組委會、裁判員。endprint
用例是對系統(tǒng)的用戶需求(主要是功能需求)的描述,即描述了系統(tǒng)的功能和提供的服務。
本系統(tǒng)用例:用戶登錄、系統(tǒng)管理、退出系統(tǒng)、信息查詢、信息錄入、信息發(fā)布、成績處理、賽程安排、現場成績統(tǒng)計、成績查詢等,我們可以依此建立系統(tǒng)的用例圖如圖2所示。
對系統(tǒng)的各種基本信息的操作,都是由管理員完成的,如圖3所示。
對比賽成績的錄入、成績的公布以及各比賽項目決賽名單的公告等操作,也是由管理員完成的,如圖4所示。
用例圖及用例描述,構成了系統(tǒng)的用例模型。用例具有三個基本特征:用例總是由參與者啟動,用例為參與者提供結果值,用例具有完整性。因此,用例描述必須清晰地反映了這些特征。限于篇幅,本文僅以“成績處理”用例為例進行用例描述。
2 系統(tǒng)設計
概念模型描述了組成系統(tǒng)結構各部分的各種類型;用例模型描述了系統(tǒng)必須做什么。然而,上述兩種模型無法解釋系統(tǒng)是如何運作的。但通過交互建??蓾M足上述要求,它能夠讓應用系統(tǒng)看上去是能“運行的”。這是通常所說的設計階段要做的事情。
交互建模通常使用時序圖、通信圖、順序圖,在具體的應用中,可以互換通信圖和順序圖。順序圖描述了系統(tǒng)運行時各對象之間如何進行交互以及交互的次序,其應用是最為廣泛的。所以,用于描述系統(tǒng)特定用例時,使用順序圖不僅會涉及到該用例所需要的對象,還包括對象之間的交互和交互發(fā)生的次序。對于小型系統(tǒng)而言,只需使用順序圖即可。
2.1 建立順序圖
順序圖是用來表示用例中的行為順序,描述了對象之間傳遞消息的時間順序。當執(zhí)行一個用例行為時,順序圖中的每條消息對應了一個類方法或一個引起轉換的觸發(fā)事件。它著重顯示了參與相互作用的對象和所交換消息的順序。
順序圖代表了一個以時間為次序的相互作用對象之間的通信集合,它不包括對象聯系,但包括時間次序。為用例構建邏輯模型是順序圖的作用之一,利用順序圖可進一步解釋和實現所有用例。用例常常被細化為一個或者多個順序圖。作為例子,運動員信息查詢及管理員成績處理順序圖如圖5、圖6所示。
2.2 建立活動圖
描述事件流是活動圖的主要作用,事件流中一組動作的執(zhí)行都用一個活動表示。通過使用活動圖,我們能夠知道系統(tǒng)中那些地方存在功能,及其相關組件的功能等,便于使用用例圖建模。
活動圖本質上是面向對象的流程圖,其中幾乎所有或大多數的狀態(tài)都處于活動狀態(tài),它描述從活動到活動的控制流。用活動圖來對事件流建模時,可以顯示用例內部和用例之間的路徑;活動圖還可以向讀者說明需要滿足什么條件用例才會有效,以及用例完成后系統(tǒng)保留的條件或者狀態(tài);活動圖可以用來為用例事件流建模,更可以理解為用例圖的具體細化;在構建活動圖時,常常會發(fā)現前面沒有想到、附加的用例。
以決賽名單處理為例,其活動圖如圖7所示。
2.3 建立組件圖和部署圖
組件圖和部署圖可以描述應該如何根據系統(tǒng)軟、硬件的各個組件間的關系來布置物理組件。在完成系統(tǒng)的邏輯設計之后,接下來要考慮的就是系統(tǒng)的物理實現。對面向對象系統(tǒng)的物理實現進行建模需要構造組件圖和部署圖。構造組件圖可以描述軟件的各個組件以及它們之間的關系,構造部署圖可以描述硬件的各個組件以及它們之間的關系。
組件是軟件的單個組成部分,它可以是一個文件、產品、可執(zhí)行文件或腳本等。通常情況下,組件代表了將系統(tǒng)中的類、接口等邏輯元素打包后形成的物理模塊。組件圖的主要目的是顯示系統(tǒng)組件間的結構關系。本系統(tǒng)的組件圖如圖8所示。
組件圖用來對軟件組件進行建模,但無法體現這些軟件組件在計算機硬件中的位置,而部署圖是用來顯示系統(tǒng)中軟件和硬件的物理架構。從部署圖中,您可以了解到軟件和硬件組件之間的物理關系以及處理節(jié)點的組件分布情況。使用部署圖可以顯示運行時系統(tǒng)的結構,同時還表示構成應用程序的硬件和軟件元素的配置和部署方式。系統(tǒng)部署圖如圖9所示。
3 結束語
經過前面的工作,從分析和設計的角度來看,可以說工作已經完成了。當然,從系統(tǒng)可以投入使用的角度來看,工作還遠未結束,還有編碼、測試及數據庫設計等工作要做。如果我們把到此為止的工作做得足夠好的話,后面的工作完全可以轉給別人做,這就是通常所說的軟件外包。
當你決定采用面向對象方法對某個特定的應用系統(tǒng)進行開發(fā)時,對問題域進行建模和對用例進行建模就構成了應用系統(tǒng)開發(fā)的基礎。因此,你必須對它們的本質和作用有清晰的認識和理解:
①問題域模型:問題域模型反映的是應用系統(tǒng)所涉及的客觀世界的所有物體,我們對其進行抽象,并以類圖的形式表達出來。這個類圖是整個系統(tǒng)開發(fā)的基礎,后續(xù)的各項工作都是在這個基礎上對系統(tǒng)進行擴展和完善。因此,在對問題域進行建模時,所構建出來的模型只是演化的基礎,故沒有必要苛求它的精確性。在隨后的開發(fā)工作中,還有許多機會對該模型進行更新。在建立問題域模型時,最重要的事情就是我們必須用類的思想來看世界,否則,我們就偏離了面向對象方法的基本思路。
②用例模型:用例模型是用戶需求的一種有效的表達方式,它是用戶使用場景的抽象。用例模型與使用場景之間的關系,類似于類與對象之間的關系。即用例模型是站在用戶的角度,盡可能全面地捕捉用戶可能的使用場景,以反映用戶的實際操作情況。
在分析和設計中,最重要的事情是用面向對象的視角來觀察與抽象現實世界,并能有效地使用用例(用例模型)對用戶需求進行分析和整合,建立起靜態(tài)和動態(tài)兩個模型。
參考文獻:
[1]郭琳,張文靜,簡平.面向對象的圖書館信息系統(tǒng)設計與分析[J].圖書情報工作,2013,57(增刊1).
[2]樊莉麗.面向對象設計的軟件工程開發(fā)分析[J].產業(yè)與科技論壇,2014,13(15).
[3]張宏鳴,李書琴,王美麗,張曉婷,張陽.面向對象分析與設計課程教學改革探索與實踐[J].教育教學論壇,2015(6).
[4]趙池龍,程努華.實用軟件工程[M].北京:電子工業(yè)出版社,2015.
[5]林加強.分析統(tǒng)一建模語言在面向對象分析與設計中的應用[J].信息系統(tǒng)工程,2016,7,20.
[6]羅曦.基于分段式教學的《面向對象分析與設計》的課程研究[J].信息系統(tǒng)工程,2016,11,20.endprint