【UML】案例分析:機場運作系統

xiaowei_cqu發表於2020-04-07

08年9月入學,12年7月畢業,結束了我在軟體學院愉快豐富的大學生活。此係列是對四年專業課程學習的回顧,索引參見:http://blog.csdn.net/xiaowei_cqu/article/details/7747205

此篇是UML課程的大作業,是我跟隨 桐姐小鹿,和 翠翠 一起完成的。感謝幾位認真紮實又不嫌棄我的隊友,讓我學習很多~

UML案例分析


UML建模的目的:
  • 使用模型可以更好地理解問題 (To understand the problem better)
  • 使用模型可以加強人員之間的溝通 (To communicate with other persons)
  • 使用模型可以更早地發現錯誤或疏漏的地方 (To find errors or omissions)
  • 使用模型可以獲取設計結果 (To plan out the design)
  • 模型為最後的程式碼生成提供依據 (To generate code)
UML建模:
UML是Unified Modeling Language(統一建模語言)的簡稱。UML是對軟體密集型系統中的製品(軟體開發過程中產生的各種各樣的產物,如模型、原始碼、測試用例等)進行視覺化、詳述、構造和文件化的語言。
UML是一套表示法系統。UML由一組圖組成,它使得系統分析員可以利用這一標準來建立能夠和客戶、程式設計師以及任何參與程式開發的人員理解的多視角的系統藍圖。不同的風險承擔人通常使用不同型別的圖相互交流。
  1. UML提供了九種不同的圖來描述系統模型,用於物件導向的程式設計:類圖:一類或者一組具有類似屬性和共同行為的事物;
  2. 物件圖:一個類的例項,是具有屬性值的一個具體事物;
  3. 用例圖:是從使用者的觀點對系統行為的一個描述;
  4. 狀態圖:在任意給定的時刻,一個物件總是處於某一特定的狀態;
  5. 順序圖:表達對戲那個之間基於時間的動態互動;
  6. 活動圖:顯示系統中從一個活動到另一個活動的流程;
  7. 協作圖:展示一組物件間的連線以及這組物件收發的訊息;
  8. 構件圖:展現了一組元件之間的組織和依賴,用於對原始碼、可執行的釋出、物理資料庫和可調整的系統建模;
  9. 部署圖:顯示了基於計算機系統的物理體系結構;

實驗步驟


【確定專案】

機場運作系統

【專案立意】

 機場運作系統分析旨在分析機場的運作系統,從中發現系統中的不足,以求設計出更好的機場運作系統。機場運作系統的核心在於機場的排程系統,通過對此業務模型的建立和分析,希望那個能夠找出更好的機場排程演算法,使機場能夠更加高效的執行。整個系統中採用無線網路進行通訊,除了Pc機,為了方便通訊,在本系統中還通過對講機進行通訊,使資訊能夠及時的傳送。

【系統分析】

首先機場運作系統是一個比較龐大的系統,為了方便起見,我們將其分成四大版塊,小組四位成員一人負責一大版塊,每階段任務結束都進行彙報總結,相互糾正錯誤,完善各版塊體系:
四大版塊:
  1. 買票系統:主要對乘客購買機票到登機前的系統的分析;包括:網購 、機場購買、退票、改簽機票
  2. 登記系統:主要對乘客到達機場後直到登機之間的系統分析;包括:安檢、檢票、登機
  3. 排程系統:主要對飛機起飛與著陸的系統分析; 包括:跑道控制、飛機起飛、特殊情況、飛機降落
  4. 貨運系統:主要對貨物從安檢裝機到抵達目的地之間的系統分析; 包括:發貨、貨物檢查、收貨
對各版塊進行系統分析的方法也同樣依照書本上所使用的——從業務入手,發現業務過程。我們小組成員對各自的版塊都進行了業務流程的分析,並畫出了業務流程圖,為方便之後的抽類及細化類的過程。

圖 1 登記活動圖


圖 2 買票活動圖


圖 3 飛機起飛活動圖


圖 4 飛機著陸活動圖


圖 5 機場貨運活動圖


【領域分析——抽類】

上階段步驟校驗結束後,進行領域分析,即對各版塊系統進行對名詞和動詞的抽取,彙總去掉重複累贅項後得到初步類圖:
初步將類分為 : 角色、實體和機場部分
  1. 角色包括:乘客、檢票員、安檢人員、地控中心人員、攜貨員、前臺服務人員、機場貨運人員、機場廣播人員、跑道工作人員
  2. 實體包括:機票、行李、貨物、貨運單、登機牌、貨運單
  3. 機場部門包括:飛機、跑道、候機廳、機場公安局、機場大廳、海關、登機口、邊防檢查屬
圖 6 系統類圖


圖 7 跑道工作人員類圖


圖 8 安檢人員類圖


圖 9 乘客相關類圖


圖 10 低空中心人員相關類圖


圖 11 機場工作人員相關類圖


圖 12 機場總負責相關類圖


圖 13 檢票相關類圖


圖 14 攜貨人員相關類圖



【開發用例】

   對各種類進行了細化後,開始對用例的開發。
   對於用例,我們根據所得出的類來分析,首先我們將類分為幾個不同的包,
   如乘機物件(乘客和貨物)、 攜貨人員(發貨人和收貨人)檢查機構(海關和邊防檢察署)、 機場工作人員(前臺服務員等)

圖 15 檢查機構用例圖


圖 16 乘機物件用例圖



圖 17 攜貨人員用例圖


圖 18 機場工作人員用例圖


【建立時序圖】

   開發完用例後,我們小組對其中重要的用例進行了時序圖的建立。
   對於買票系統來說,最關鍵的用例即購票,我們我們僅對網上購票進行了時序圖的描述,具體時序圖 ;對於登機系統來說,我們對登記檢查部分進行了時序圖的描述,檢查包括登機前的機票檢查和物品安檢以及國際航班的海關檢查;對於排程系統來說,主要是飛機的起飛和著陸,我們分別對這兩個用例進行了時序圖的描述。
   對於貨運系統來說,我們主要對貨物交貨時的安檢用例進行了時序圖的描述,對於貨物的安檢來說是比較嚴格的,而且考慮到的方面也比較繁雜
   時序圖完成後,相應的協作圖就很容易得到,按F5即可。

圖 19 登機順序圖


圖 20 買票順序圖


圖 21 飛機起飛順序圖


圖 22 飛機著陸順序圖


圖 23 貨運順序圖


【建立狀態圖】

   狀態圖在建立的過程中很容易出現錯誤,不知道什麼是狀態圖,如何確定狀態,常常需要回過頭去看狀態圖的概念——是針對某一個物件不同時刻的狀態所描繪成德圖。
   於此,我們小組對兩個重要物件進行了狀態圖的描繪:

圖 24 貨物狀態圖


圖 25 飛機狀態圖

【建立元件圖】

   元件圖是根據之前的類圖,相關的用例所構建的,描述的是元件之間的組織和依賴。

圖 26 系統構件圖


【建立部署圖】

   部署圖展現的是執行時處理節點以及其中元件的配置,說明分佈、交付和安裝的物理系統。

圖 27 系統部署圖




實驗結果及分析

  1. 通過實驗對具體問題的建模,更加深了對UML的理解,以及體系化了自己建模的思想。UML是Unified Modeling Language(統一建模語言)的簡稱。UML是對軟體密集型系統中的製品(軟體開發過程中產生的各種各樣的產物,如模型、原始碼、測試用例等)進行視覺化、詳述、構造和文件化的語言。同時理解了UML各種圖之間的關係。UML中檢視包括:用例檢視、邏輯檢視、實現檢視、程式檢視、部署檢視。由九種圖組成:包括類圖、物件圖、順序圖、狀態圖、用例圖、活動圖、協作圖、構件圖、部署圖。
  2. 通過實驗我們也再次融洽了小組的協作。集體的力量是無窮的!當你屬於你一個集體的時候,那種歸屬感與優越感也能再次大限度的發揮你的潛力!整個建模過程我們一起討論,分工合作。大家各有自己的任務,同時也有集體的大局,熬了幾夜才搞出這個浩大的工程。實驗中我們系統的類圖啊,部署,構件幾乎都是一起做的,而每個模組分到個人專門負責。我負責排程模組,為了使這一塊做的好一些,也查閱了不少有關排程的知識(雖然很多並沒有用來建模),學習了很多。相信我們團隊會越走越遠!
  3. 整個系統是通過EA(Enterprise Architecture)軟體作為分析平臺,由於Rational Rose中有些UML圖是不支援的,比如順序圖中的幀化等,所以在此選擇EA作為開發平臺。順序圖中的幀化情況的出現是由於我們在各自的工程下進行分析,在整合系統的時候就直接採用幀化的方式,說明圖式來自於別的工程,充分利用了UML2.0的優越性

轉載請註明出處:http://blog.csdn.net/xiaowei_cqu/article/details/7773820




相關文章