引言
uml是一種建模語言,是系統開發的乙個組成部分,本身並沒有關於開發過程概念的定義和表示符號[2]。uml的創始者比booch 、jacobson和rumbaugh在rational公司的支援下綜合了多種系統開發過程的長處,提出新的物件導向的開發過程,稱為rational統一過程(rational unified process,rup)。rup過程的核心工作流包括:業務建模、需求分析、系統分析與設計、實現、測試和系統配置。下面通過uml來分析並構造學籍管理模型,並結合rational統一過程加以描述,圖形用rational rose工具軟體繪製。
1、開放式學籍管理系統概述
隨著網路技術和軟體技術的飛速發展,特別是inter***/intra***的出現及其相關技術的迅速發展,資訊革命帶來了全球範圍市場競爭的日益加劇,對傳統的辦公教學和生活方式產生了巨大的衝擊。辦公自動化就是採用inter***/intra***技術,基於工作流的概念,使內部人員方便快捷的共享資訊,高效的協同工作;改變過去複雜,低效的手工辦公方式,實現迅速,全方位的資訊採集,資訊處理。校園網的建設,為開放式的學籍管理系統提供了技術保障。
開放式學籍管理系統是乙個由學校學籍管理資訊中心監控,各教學系(部)、教研室分級管理,由學生檔案管理、導師管理、授課教師管理、選課管理、成績查詢管理、列印報表等幾部分組成,選課學生甚至聯網的鄰近院校共同參與的管理系統。
學籍管理由學校學籍管理中心監控,各教學系部、教研室分級管理,任課教師,選課學生共同參與。
2、開放式學籍管理系統的用例和角色
業務建模和需求分析的目的是對學籍管理進行評估,採集和分析系統的需求,理解系統要解決的問題,重點是充分考慮系統的實用性。結果可以用乙個u se case模型表達(圖1),模型中的活動者代表外部與系統互動的角色,包括學生、系統管理員,use case是對系統需求的描述,表達了系統的功能和所提供的服務,包括學生檔案管理子系統、導師檔案管理子系統、課程管理子系統、授課教師管理子系統、選課管理子系統、成績管理子系統、列印報表子系統。
圖1中模型元素之間的實線表示二者存在關聯關係,是學籍管理系統層的use case模型,只包含了最基本的use case模型,是系統的高層抽象,在開發過程中,隨著對系統的認識不斷加深,use case模型可以自頂向下不斷精化,演化出更為詳細的use case模型。
3、開放式學籍管理系統分析與設計
系統分析與設計是研究欲採用的實現環境和系統結構,結果是產生乙個物件模型,即設計模型。設計模型包含了use case的實現,可以表現物件是如何相互通訊和運作來實現use case流的。對於系統的靜態結構。可以通過物件類圖、物件圖、元件圖和配置圖來描述,對於系統的動態行為,可以通過順序圖、協同圖、狀態圖、活**描繪。這些圖再加上支援說明文件就構成乙個完整的設計模型。
(1)靜態結構的分析設計
學籍管理系統中擁有大量數位化資訊資源,這些資源是多種**、多種格式的,而且還是相互關聯的。其資料量大,首席資訊官度不定。非結構化資訊與結構比資訊並存。傳統的資料庫和資訊管理系統在資料模型、系統結構、使用者介面等方面都虛擬實現對這些數位化資訊資源的管理和操作,這就決定了學籍管理必須採用物件導向的方法來建立資料模型和管理模型,建立物件導向的資料庫。實現物件導向的資訊管理系統。使用uml對學籍管理系統進行基於物件導向的分析和設計,可以從開發的第一步開始,從系統的底層就把握住學籍管理資訊資源的特徵,為下一步的具體實現打好基礎。在為學籍管理系統建立模型時要涉及到處理大量的模型元素,如物件類、介面、元件、節點、圖等。圖2是學籍管理系統中的學生類。
在圖2的學生類圖中,包括學生類的屬性和方法。例如:studentid是學生的學號,且資料型別為bigint(8),且為主碼;selectcourse(courseid : bigint,studentid:bigint)return int,是類的方法,其入口引數為課程編號courseid和學生學號studentid,此方法作用是學生進行選課。
(2)動態結構的分析與設計
學籍管理館提供的各種服務都是建立在分布、開放的資訊結構之上。依託高速、可靠的網路環來完成。每項服務都可以看成乙個事件流,由若干相關的物件互動合作來完成。對於這種系統內部的協作關係和過程行為,可以通過繪製順序圖和協同圖來幫助觀察和理解。
乙個物件在雙生存期間所經歷的狀態序列。對於把握物件的行為和狀態的遷移變化是非常重要的,可以通過狀態回來了解乙個物件的歷史,引起乙個狀態向另乙個狀態轉移的事件,以及由於狀態的轉移而引發的動作。
此外,描述工作流和併發處理行為還可以用活**,表達從乙個活動到另乙個活動的控制流,顧序圖和協同圖適合描述多個物件的協同行為,而狀態圖適合描述乙個物件穿越多個use case的行為。狀態圖與活**的區別是:狀態圖描述的是物件類響應事件的外部行為。活**描述的是響應內部處理的物件類的行為。圖3是學生查詢成績的活**。
uml是一種功能強大的、物件導向的視覺化系統分析的建模語言,它採用一整套成熟的建模技術,廣泛地適用於各個應用領域。它的各個模型可以幫助開發人員更好地理解業務流程,建立更可靠、更完善的系統模型。從而使使用者和開發人員對問題的描述達到相同的理解,以減少語義差異,保障分析的正確性。
通過對學籍管理系統的開發可以看到,uml作為軟體工程中的建模語言,代表了物件導向方法的軟體開發技術的發展方向,具有重大的經濟價值和國防價值,並獲得了國際上的廣泛支援,具有非常好的應用前景。
系統分析UML札記
1 系統分析員 system analyst 一方面要向使用者蒐集並清理需求 requirements 另一頭又得急忙向開發人員提出清晰且明確的需求。2 現在大部分系統分析採用的是oo object oriented 與uml結合使用 3 設計師拿到系統分析檔案後所做的第一件事情便是將非oo檔案轉換...
資訊系統分析方法
一 為業務分層 資訊系統顧名思義就是管理資料的系統,而資料就是企業業務辦理過程中產生的,所以信 息系統的建立必須圍繞企業的業務展開。企業的業務數不勝數,如何來組織?答案就是 根據業務的重要性,劃分業務層次。一般情況下,四層就足夠了,分別為 a基本業務 企業最核心的業務 b重要業務 c一般業務 d延伸...
推薦系統 分析
收集使用者資訊的行為記錄模組 分析使用者喜好的模型分析模組 推薦演算法模組 推薦演算法 1.基於內容的推薦系統 content based recommendation 2.協同過濾推薦系統 collaborative filtering recommendation 3.混合推薦系統 hybrid...