摘要:該文在介紹面向對象的分析方法學以及統一建模語言UML的基礎上,對學生成績管理系統(SMS)的設計過程做了分析,并對系統進行建模,提供了該系統的藍圖。
關鍵詞:統一建模語言;面向對象的分析;成績管理系統
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2009)24-6926-02
The Design of \"Score Management System of Hotan Teachers College\" Based on UML
Eziz TURSUN
(Department of Computer Science, Hotan Teachers College, Hotan 848000, China)
Abstract: This paper introduces the modeling language UML, analyzes the design process of a Score Management System (SMS), models the system, paints its UML “Blueprint” .
Key words: unified modeling language; object oriented analysis; score management system
UML代表Unified Modeling Language,UML是在多種面向對象建模方法的基礎上發展起來的建模語言,主要用于軟件密集型系統的建模。UML經過不斷使用、發展和完善,已經成為一種定義良好、易于表達、功能強大,且普遍適用的建模語言,它為用戶建模提供了完整的符號表示和不同層次的元模型,如用例圖、包圖、類圖、狀態圖、對象圖、活動圖、順序圖、合作圖、組件圖、配置圖等,其作用域不僅支持面向對象的分析與設計,還支持從需求分析開始的軟件開發的全過程,用戶可以根據自己所開發系統的特點和不同的開發階段,靈活選用UML所提供的各種圖和模型,以實現系統軟件的柔性開發。
1 系統建模
1.1 需求模型
建立一個模型,需求分析是第一步,這里首先對系統需求進行分析,識別系統的用戶和相關外部系統,以確定系統角色(Actor),它可以幫助界定軟件系統的邊界,引導和發掘用戶需求;其次再依據系統功能來確立系統的用例(Use Case)模型。
開發《學生成績管理系統》(SMS)的主要目的是自動化學生成績的管理業務,本系統的需求分析如下:教務處和系管理人員設置系、專業、班級、課程基本信息,設置用戶信息,查詢成績,分析成績,打印報表等;教師錄入、修改學生成績、查詢成績信息,打印報表等;學生查詢本人的成績等。
根據以上分析可以確定系統的角色有3個:管理人員,任課教師,學生。
在確定系統角色的基礎上可以設計出如例圖1。
1.2 靜態模型
類圖(Class diagram)是顯示了模型的靜態結構,特別是模型中存在的類、類的內部結構以及它們與其他類的關系等。類圖不顯示暫時性信息。類圖(Class diagram)由許多(靜態)說明性的模型元素(例如類、包和它們之間的關系,這些元素和它們的內容互相連接)組成。類圖可以組織在(并且屬于)包中,僅顯示特定包中的相關內容。類圖(Class diagram)是最常用的UML圖,顯示出類、接口以及它們之間的靜態結構和關系;它用于描述系統的結構化設計。類圖(Class diagram)最基本的元素是類或者接口。
根據學生成績管理系統(SMS)的需求分析,我可以得到系統的組合要幾個類(Class)有:Students, Courses, Classes, Teachers and Administrators, Departments (Faculties and AdminOffices)。
從圖2,我們可以看出,類Faculties 和 AdminOffices 實現了接口IDepartments。還有就是,我們用抽象類AbsEmployee 和接口 IDepartments來表示了類 Teachers和Faculties, Administrators 和 AdminOffices之間的關系。
1.3 動態模型
活動圖是狀態圖的一種特殊形式。其中所有或多數狀態都是活動狀態,而且所有或多數轉移都在源狀態中的活動完成時立即觸發。活動圖描述了系統元素的活動,反映一個連續的活動流。它用圖形的方式來對案例進行工作流程建模。表示出工作流程的步驟,工作流程中的決策點,誰負責完成每個步驟,哪個對象受到此工作流程的影響。
圖3是整個學生成績管理系統(SMS)活動圖的一部分,它描述了管理員進行成績管理的過程。
2 結束語
建模是軟件開發中編碼前的設計。建模不僅是大型軟件開發的重要組成部分,而對中型或小型軟件項目來說也是非常重要的。建模在軟件開發中所扮演的角色和藍圖以及其他計劃(所在地的地圖,海拔,物理模型)在建造摩天大樓中所扮演的角色類似。這篇文章我們討論了《成績管理系統》的對象模型“藍圖”。在這個模型中我們的目標主要放在建造出一個實用,靈活,易于理解的面向對象模型或者“藍圖”。要記住的是:一個方法除了是達到目的的一種手段,它的最終目的是建造出一個實用,靈活,易于維護,可靠和在功能上正確的軟件系統。而整個項目實現完畢后,我們更關心的是帶有全面,明確的支持性文檔。
參考文獻:
[1] 張莉,葛科,王云,等.UML軟件開發過程和支持環境研究[J].北京航空航天大學學報,1998,24(4):407-408.
[2] 肖崗,張廣泉.UML在研究生成績管理系統建模中的應用[J].重慶師范大學學報,2007(1).
[3] 陳平等.軟件設計師教程[M].北京:清華大學出版社,2007,
[4] Beginning C# Objects: From Concepts to Code by Jacquie Barker and Grant Palmer[M].Apress,2004.