天天看點

UML對基于B/S模式的圖書管理系統的分析與設計

  NetReptile推薦 [2005-2-5]

出處:計算機與資訊系統

作者:李紹英 王光明

  

摘要

文章探讨了基于UML進行面向對象的系統分析及設計方法,包括靜态模組化和動态模組化;提出了一種實用的基于UML的需求分析及其模組化方法,以活動圖模型來表達業務模型,以概念層的對象圖、狀态圖及互動圖模型表達系統的結構邏輯及行為邏輯,以應用例圖表達系統需求;讨論了需求分析及其模組化的過程概念,并以高校開放式學籍管理系統的開發作為案例示範。

  

關鍵詞

UML,RUP,開放式學籍管理

  

引言

  UML是一種編制系統藍圖的标準化語言,可以實作大型複雜系統各種成分描述的可視化、說明并構造系統模型,以及建立各種所需的文檔,它是一種定義良好、易于表達、功能強大且普遍适用的模組化語言。UML的發展對軟體工程的發展做出了傑出的貢獻。

  UML支援從需求分析開始的軟體開發的全過程。UML通過三類圖形建立系統模型:用例(Use Case)圖、靜态結構圖(對象類圖、對象圖、元件圖、配置圖)和動态行為圖(順序圖、協同圖、狀态圖、活動圖),這些圖可以從不同的抽象角度實作系統的可視化。

  URM的發展經曆了以下幾個階段。

  最初的階段是專家的聯合行動,由三位OO(面向對象)方法學家[8]将他們各自的方法結合在一起,形成UML 0.9。

  第二階段是公司的聯合行動,由十幾家公司組成的"UML夥伴組織"将各自的意見加入UML,形成UML 1.0和1.1,并作為向OMG申請成為模組化語言規範的提案。

  第三階段是在OMG控制下的修訂與改進,OMG于1997年11月正式采納UML 1.1作為模組化語言規範,然後成立任務組進行不斷的修訂,并産生了UML 1.2、1.3和1.4版本,其中UML 1.3是較為重要的修訂版。

  目前正處于UML的重大修訂階段,目标是推出UML 2.0,作為向ISO送出的标準提案。

  1、UML的特點

  UML具有以下特點:

  (1)面向對象。UML支援面向對象技術的主要概念,提供了一批基本的模型元素的表示圖形和方法,能簡潔明了地表達面向對象的各種概念。

  (2)可視化,表示能力強。通過UML的模型圖能清晰地表示系統的邏輯模型和實作模型。可用于各種複雜系統的模組化。

  (3)獨立于過程。UML是系統模組化語言,獨立于開發過程。

  (4)獨立于程式設計語言。用UML建立的軟體系統模型可以用Java、VC++、SmalltaIk等任何一種面向對象的程式設計來實作。

  (5)易于掌握使用。UML圖形結構清晰,模組化簡潔明了,容易掌握使用。

  使用UML進行系統分析和設計,可以加速開發程序,提高代碼品質,支援動态的業務需求。UML适用于各種規模的系統開發。能促進軟體複用,友善地內建已有的系統,并能有效處理開發中的各種風險。

  2、UML的面向對象分析設計過程

  運用UML進行面向對象的系統分析設計,其過程通常由以下3個部份組成:

  (1)識别系統的用例和角色

  首先對項目進行需求調研,依據項目的業務流程圖和資料流程圖以及項目中涉及的各級操作人員,通過分析,識别出系統中的所有用例和角色;接着分析系統中各角色和用例間的聯系,再使用UML模組化工具畫出系統的用例圖,同時,勾畫系統的概念層模型,借助UML模組化工具描述概念層類圖和活動圖。

  (2)進行系統分析,并抽取類

  系統分析的任務是找出系統的所有需求并加以描述,同時建立特定領域模型。建立域模型有助于開發人員考察用例,從中抽取出類,并描述類之間的關系。

  (3)系統設計,并設計類及其行為

  設計階段由結構設計和詳細設計組成。①結構設計是高層設計,其任務是定義包(子系統),包括包廂的依賴關系和主要通信機制。包有利于描述系統的邏輯組成部分以及各部分之間的依賴關系。②詳細設計就是要細化包的内容,清晰描述所有的類,同時使用UML的動态模型描述在特定環境下這些類的執行個體的行為。

  

UML面向對象分析設計在開放式學籍管理系統中的應用

  UML是一種模組化語言,是系統開發的一個組成部分,本身并沒有關于開發過程概念的定義和表示符号[2]。UML的創始者比Booch 、Jacobson和Rumbaugh在Rational公司的支援下綜合了多種系統開發過程的長處,提出新的面向對象的開發過程,稱為Rational統一過程(Rational Unified Process,RUP)。RUP過程的核心工作流包括:業務模組化、需求分析、系統分析與設計、實作、測試和系統配置。下面通過UML來分析并構造學籍管理模型,并結合Rational統一過程加以描述,圖形用Rational Rose工具軟體繪制。

  1、開放式學籍管理系統概述

  随着網絡技術和軟體技術的飛速發展,特别是Internet/Intranet的出現及其相關技術的迅速發展,資訊革命帶來了全球範圍市場競争的日益加劇,對傳統的辦公教學和生活方式産生了巨大的沖擊。辦公自動化就是采用Internet/Intranet技術,基于工作流的概念,使内部人員友善快捷的共享資訊,高效的協同工作;改變過去複雜,低效的手工辦公方式,實作迅速,全方位的資訊采集,資訊處理。校園網的建設,為開放式的學籍管理系統提供了技術保障。

  開放式學籍管理系統是一個由學校學籍管理資訊中心監控,各教學系(部)、教研室分級管理,由學生檔案管理、導師管理、授課教師管理、選課管理、成績查詢管理、列印報表等幾部分組成,選課學生甚至聯網的鄰近院校共同參與的管理系統。

學籍管理由學校學籍管理中心監控,各教學系部、教研室分級管理,任課教師,選課學生共同參與。

  2、開放式學籍管理系統的用例和角色

  業務模組化和需求分析的目的是對學籍管理進行評估,采集和分析系統的需求,了解系統要解決的問題,重點是充分考慮系統的實用性。結果可以用一個U se Case模型表達(圖1),模型中的活動者代表外部與系統互動的角色,包括學生、系統管理者,Use Case是對系統需求的描述,表達了系統的功能和所提供的服務,包括學生檔案管理子系統、導師檔案管理子系統、課程管理子系統、授課教師管理子系統、選課管理子系統、成績管理子系統、列印報表子系統。

UML對基于B/S模式的圖書管理系統的分析與設計

  圖1中模型元素之間的實線表示二者存在關聯關系,是學籍管理系統層的Use Case模型,隻包含了最基本的Use Case模型,是系統的高層抽象,在開發過程中,随着對系統的認識不斷加深,Use Case模型可以自頂向下不斷精化,演化出更為詳細的Use Case模型。

  3、開放式學籍管理系統分析與設計

  系統分析與設計是研究欲采用的實作環境和系統結構,結果是産生一個對象模型,即設計模型。設計模型包含了Use Case的實作,可以表現對象是如何互相通信和運作來實作Use Case流的。對于系統的靜态結構。可以通過對象類圖、對象圖、元件圖和配置圖來描述,對于系統的動态行為,可以通過順序圖、協同圖、狀态圖、活動圖描繪。這些圖再加上支援說明文檔就構成一個完整的設計模型。

  (1)靜态結構的分析設計

  學籍管理系統中擁有大量數字化資訊資源,這些資源是多種媒體、多種格式的,而且還是互相關聯的。其資料量大,資訊長度不定。非結構化資訊與結構比資訊并存。傳統的資料庫和資訊管理系統在資料模型、系統結構、使用者接口等方面都虛拟實作對這些數字化資訊資源的管理和操作,這就決定了學籍管理必須采用面向對象的方法來建立資料模型和管理模型,建立面向對象的資料庫。實作面向對象的資訊管理系統。使用UML對學籍管理系統進行基于面向對象的分析和設計,可以從開發的第一步開始,從系統的底層就把握住學籍管理資訊資源的特征,為下一步的具體實作打好基礎。在為學籍管理系統建立模型時要涉及到處理大量的模型元素,如對象類、接口、元件、節點、圖等。圖2是學籍管理系統中的學生類。

UML對基于B/S模式的圖書管理系統的分析與設計

  在圖2的學生類圖中,包括學生類的屬性和方法。例如:studentId是學生的學号,且資料類型為bigint(8),且為主碼;selectCourse(courseId : bigint,studentId:bigint)return int,是類的方法,其入口參數為課程編号courseId和學生學号studentId,此方法作用是學生進行選課。

  (2)動态結構的分析與設計

  學籍管理館提供的各種服務都是建立在分布、開放的資訊結構之上。依托高速、可靠的網絡環來完成。每項服務都可以看成一個事件流,由若幹相關的對象互動合作來完成。對于這種系統内部的協作關系和過程行為,可以通過繪制順序圖和協同圖來幫助觀察和了解。

一個對象在雙生存期間所經曆的狀态序列。對于把握對象的行為和狀态的遷移變化是非常重要的,可以通過狀态回來了解一個對象的曆史,引起一個狀态向另一個狀态轉移的事件,以及由于狀态的轉移而引發的動作。

  此外,描述工作流和并發處理行為還可以用活動圖,表達從一個活動到另一個活動的控制流,顧序圖和協同圖适合描述多個對象的協同行為,而狀态圖适合描述一個對象穿越多個Use Case的行為。狀态圖與活動圖的差別是:狀态圖描述的是對象類響應事件的外部行為。活動圖描述的是響應内部處理的對象類的行為。圖3是學生查詢成績的活動圖。

UML對基于B/S模式的圖書管理系統的分析與設計

  圖3中,學生登陸學籍管理系統,輸入其使用者名和密碼,若使用者名和密碼有誤則傳回,否則進入下一步:首先選擇查詢類型(查詢成績),然後輸入查詢關鍵詞,再進行查詢,系統自動生成了成績單。

  4、開放式學籍管理系統的實作、測試和系統配置

  經過系統分折與設計後.就可以根據設計模型在具體的環境中實作系統,生成系統的源代碼、可執行程式和相應的軟體文檔,建立一個可執行的系統.然後需要對系統送行測試和排錯,保證系統符合預定的要求。獲得一個無錯的系統實作,調試的結果将确認所完成的系統可以真正使用。最後系統配置的任務是在真實的使用運作環境中配置,調試系統,解決系統正式使用前可能存在的任何問題。

  

小結

  UML是一種功能強大的、面向對象的可視化系統分析的模組化語言,它采用一整套成熟的模組化技術,廣泛地适用于各個應用領域。它的各個模型可以幫助開發人員更好地了解業務流程,建立更可靠、更完善的系統模型。進而使使用者和開發人員對問題的描述達到相同的了解,以減少語義差異,保障分析的正确性。

  通過對學籍管理系統的開發可以看到,UML作為軟體工程中的模組化語言,代表了面向對象方法的軟體開發技術的發展方向,具有重大的經濟價值和國防價值,并獲得了國際上的廣泛支援,具有非常好的應用前景。

繼續閱讀