教學管理系統(tǒng)的分析與設計_第1頁
教學管理系統(tǒng)的分析與設計_第2頁
教學管理系統(tǒng)的分析與設計_第3頁
教學管理系統(tǒng)的分析與設計_第4頁
教學管理系統(tǒng)的分析與設計_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

關于教學管理系統(tǒng)的分析與設計作為一個簡單的示例,規(guī)定所開發(fā)的簡易教學管理系統(tǒng)JXGL只處理每學期的課程選修注冊和學生的成績管理。對JXGL系統(tǒng)要求提供兩個方面的服務:(1)選課管理,負責新學期的課程選課注冊工作錄入與生成新學期課程表學生選課注冊查詢選課注冊信息的統(tǒng)計與報表生成把學生選課注冊信息傳送給財務系統(tǒng)(2)成績管理,負責學生成績管理。成績錄入成績查詢成績統(tǒng)計與報表生成§1系統(tǒng)需求第2頁,共39頁,2024年2月25日,星期天JXGL系統(tǒng)的直接用戶有學生、教師和教學管理員。教學管理員有權操縱數(shù)據(jù)庫的數(shù)據(jù),進行添加、更新、刪除等操作。學生和教師一般只查詢信息,只允許對自己有關的數(shù)據(jù)進行添加、更新、刪除等操作。JXGL系統(tǒng)的相關系統(tǒng)有財務系統(tǒng)。JXGL系統(tǒng)需要把學生選課注冊信息傳送給財務系統(tǒng),以供財務系統(tǒng)計算學生應交納的費用,但是不要求財務系統(tǒng)回饋學生應交納的費用信息。假定在學校的計算中心有功能強大的工作站機器,在各系、各部門、圖書館、學生宿舍都有臺式PC,學校的全部計算機已經(jīng)連網(wǎng)。JXGL系統(tǒng)將采用客戶機/服務器結構建立,JXGL系統(tǒng)的應用服務器和數(shù)據(jù)庫服務器設置在學校計算中心的工作站。學生、教師和教學管理員可以在各系、各部門、圖書館、學生宿舍的臺式PC上使用JXGL系統(tǒng)?!?系統(tǒng)需求第3頁,共39頁,2024年2月25日,星期天§2分析問題領域

分析問題領域是軟件系統(tǒng)開發(fā)的一項基本工作,是項目開發(fā)之初必須首先進行的重要工作。

分析問題領域的結果是對問題領域的清晰、精確的定義,明確目標系統(tǒng)將做些什么。

分析問題領域的主要任務是:對問題領域進行抽象,提出解決方案;對未來的系統(tǒng)進行需求分析,確定系統(tǒng)的職責范圍、功能需求、性能需求、應用環(huán)境及假設條件等;用UseCase圖對未來系統(tǒng)的行為建立模型,初步確定未來系統(tǒng)的體系結構等。第4頁,共39頁,2024年2月25日,星期天§2.1確定系統(tǒng)范圍和系統(tǒng)邊界

首先要確定業(yè)務需求和系統(tǒng)目標。

JXGL系統(tǒng)用于新學期課程的選課注冊管理和學生的成績管理。凡是這兩方面的教學管理內容都是JXGL系統(tǒng)的職責范圍,其他的教學管理內容,如安排教學計劃、排課、實習、實驗、考試等都不屬于JXGL系統(tǒng)的職責范圍。至于學校的其他管理工作,如科研、人事、財務、資產(chǎn)等管理也不屬于JXGL系統(tǒng)的職責范圍。JXGL系統(tǒng)與財務系統(tǒng)存在系統(tǒng)邊界,財務系統(tǒng)將從JXGL系統(tǒng)得到學生選課注冊信息。JXGL系統(tǒng)與學校的其他信息管理系統(tǒng)沒有直接的聯(lián)系,但是可以從學校的全局數(shù)據(jù)庫中共享學生、教師、教學計劃等必要的數(shù)據(jù)。第5頁,共39頁,2024年2月25日,星期天§2.2定義活動者根據(jù)JXGL系統(tǒng)的職責范圍和需求可以確定4個活動者:學生、老師、教學管理員和財務系統(tǒng)。對于每一個活動者,應當明確其業(yè)務活動的內容、對系統(tǒng)的服務要求。

“學生”活動者使用JXGL系統(tǒng)查詢新學期開設的課程信息和教師開課信息,選課并登記注冊課程,查詢自己的課程成績信息。

“老師”活動者使用JXGL系統(tǒng)查詢新學期開設的課程信息、學生選課信息和學生成績信息。

“教學管理員”活動者使用JXGL系統(tǒng)管理學期開設課程的選課注冊和學生的考試成績。管理工作包括課程與成績數(shù)據(jù)的錄入、維護、統(tǒng)計、報表打印等,并且負責把學生的選課注冊信息發(fā)送給財務系統(tǒng),作為計算學生應付費用的依據(jù)?!敖虒W管理員”要求能夠方便地查詢課程信息、學生選課信息、學生信息、教師信息和成績信息。

“財務系統(tǒng)”活動者是外部系統(tǒng)活動者,從JXGL系統(tǒng)接受學生的課程注冊信息。第6頁,共39頁,2024年2月25日,星期天§2.3定義UseCase

從JXGL系統(tǒng)的頂層UseCase抽象,可以確定兩個UseCase:“選課管理”和“成績管理”。UseCase“選課管理”與4個活動者都存在交互,UseCase“成績管理”與活動者“學生”、“老師”和“教學管理員”存在著交互。第7頁,共39頁,2024年2月25日,星期天§2.3定義UseCase第8頁,共39頁,2024年2月25日,星期天§2.4繪制UseCase圖

UseCase圖是系統(tǒng)的外部行為視圖。在確定了活動者和UseCase的基礎上,繪制UseCase圖,可視化活動者與UseCase之間的聯(lián)系,可以更清楚地了解系統(tǒng)的行為。繪制UseCase圖從頂層抽象開始,如圖1所示,然后逐步分解,精細化UseCase圖,如圖2、圖3所示,直到能清晰地表達問題,滿足系統(tǒng)分析與建立模型的需要為止。除了UseCase圖之外,對每一個UseCase還應進行描述,編寫UseCase的說明文檔。第9頁,共39頁,2024年2月25日,星期天在繪制UseCase圖時不但要把UseCase與活動者之間的聯(lián)系表示出來,而且應當把UseCase之間的聯(lián)系也表現(xiàn)出來。UseCase間的聯(lián)系最常見的有<<uses>>,<<include>>和<<extend>>等聯(lián)系。如圖4所示,UseCase“查詢課程信息”和UseCase“選課注冊”都與UseCase“身份驗證”有<<uses>>聯(lián)系,即它們在運行中都使用UseCase“身份驗證”進行用戶的合法身份檢查。同樣的<<uses>>聯(lián)系存在于其他UseCase與UseCase“身份驗證”之間?!?.4繪制UseCase圖

第10頁,共39頁,2024年2月25日,星期天§2.5繪制主要交互圖交互圖描述UseCase如何實現(xiàn)對象之間的交互。交互圖用于建立系統(tǒng)的動態(tài)行為模型。UseCase圖是系統(tǒng)的外部視圖,在分析和繪制了UseCase圖之后,對主要的UseCase做交互行為的分析是有必要的。分析的結果可以寫成文檔,繪制初步的交互圖,從而更清楚地理解UseCase的行為,以便進一步調整UseCase視圖,確定問題的解決方案。交互圖有兩種:順序圖和協(xié)同圖??梢愿鶕?jù)需要繪制。第11頁,共39頁,2024年2月25日,星期天繪制活動者“學生”與UseCase“選課注冊”的順序圖.UseCase“選課注冊”的行為由“注冊表單”接口對象、“選課注冊表單”接口對象和“開設課程”對象實現(xiàn)。在項目開發(fā)之初,分析問題領域時,繪制交互圖只是為了印證領域分析的結果和UseCase視圖的正確性,在以后對系統(tǒng)動態(tài)行為建模的過程中,還需要對交互圖做深入的分析、細化和完善?!?.5繪制主要交互圖第12頁,共39頁,2024年2月25日,星期天

系統(tǒng)的靜態(tài)結構模型主要由對象類圖和對象圖表達。發(fā)現(xiàn)對象類及其聯(lián)系,確定它們的靜態(tài)結構和動態(tài)行為,是面向對象分析的最基本的任務?!?靜態(tài)結構模型第13頁,共39頁,2024年2月25日,星期天§3.1建立對象類圖1.定義對象類首先從研究UseCase和交互劇本中發(fā)現(xiàn)對象類,確定類的屬性和主要操作。對于JXGL系統(tǒng)可以抽象出以下一些主要的對象類。(1)在人事信息處理方面有“學生”類、“教師”類。(2)在選課管理方面有“課程”類、“開設課程”類、“學生登記”類、“課程登記”類、“選課統(tǒng)計”類等。(3)在成績管理方面有“學生成績登記”類、“成績統(tǒng)計”類。對于每一個類應當確定其職責、屬性、主要操作以及其他性質說明。第14頁,共39頁,2024年2月25日,星期天對象類的操作可以通過檢查分析交互圖確定,把交互圖中對象之間的交互活動抽象成一個類的操作。例如,可以從課程信息管理順序圖中的活動“加入課程(數(shù)據(jù)結構,基礎課,3)”抽象得到“課程”類的操作“加入課程()”?!?.1建立對象類圖第15頁,共39頁,2024年2月25日,星期天2.定義用戶接口除了一般類外還需要分析與定義系統(tǒng)的用戶接口,這些接口??梢杂脤ο箢惗x。對于JXGL系統(tǒng)可以有以下一些用戶接口類。§3.1建立對象類圖第16頁,共39頁,2024年2月25日,星期天3.定義聯(lián)系在定義了對象類之后,需要進一步分析對象類之間的聯(lián)系。JXGL系統(tǒng)的對象類之間的聯(lián)系有多種類型,關聯(lián)、聚合、泛化、依賴等都有。§3.1建立對象類圖第17頁,共39頁,2024年2月25日,星期天(1)關聯(lián)。在“開設課程”類與“師生”類之間存在“授課”關聯(lián)和“登記注冊”關聯(lián)。在“開設課程”類與“學生成績登記”類之間存在關聯(lián)。相互關聯(lián)的類之間不存在繼承關系,而是通過消息傳遞相互聯(lián)系、協(xié)同工作?!?.1建立對象類圖第18頁,共39頁,2024年2月25日,星期天(2)聚集聯(lián)系。新學期開設的課程只是學校的教學計劃中需要設置的課程中的一部分,“開設課程”類與“課程”類之間存在聚集聯(lián)系,“開設課程”類是代表部分的對象類,“課程”類是代表整體的對象類。同樣地,“開設課程”類與“學生登記”類、“課程登記”類之間存在聚集聯(lián)系?!?.1建立對象類圖第19頁,共39頁,2024年2月25日,星期天【例3-20】分析下面程序的運行結果(3)泛化聯(lián)系。把學生與教師的共同信息和共同操作抽取出來,組成一個新類“師生”,原來的“學生”類中保留學生特有的屬性“專業(yè)”和“班級”,在“教師”類中保留教師特有的屬性“職稱”?!皩W生”類、“教師”類與“師生”類的聯(lián)系為泛化聯(lián)系,“師生”類為更一般的類,“學生”類和“教師”類是特殊類,它們繼承“師生”類中的公共屬性。第20頁,共39頁,2024年2月25日,星期天(4)依賴聯(lián)系。

成績統(tǒng)計是在學生的成績數(shù)據(jù)上進行的,在“成績統(tǒng)計”類與“學生成績登記”類之間存在依賴聯(lián)系,“成績統(tǒng)計”類依賴于“學生成績登記”類。同樣地,“選課統(tǒng)計”類依賴于“開設課程”類。在定義聯(lián)系時,需要同時分析和確定聯(lián)系端的對象類的多重性、角色、導航等性質。這些可以從需求分析、領域知識來分析和確定。在確定對象類之間的聯(lián)系的同時,還需要考慮對象類之間的接口?!?.1建立對象類圖第21頁,共39頁,2024年2月25日,星期天JXGL系統(tǒng)采用關系數(shù)據(jù)庫系統(tǒng)存儲和管理數(shù)據(jù)。在分析和設計系統(tǒng)的靜態(tài)結構模型時需要進行數(shù)據(jù)分析和數(shù)據(jù)庫設計。JXGL系統(tǒng)有4個方面的數(shù)據(jù)需要管理:人員數(shù)據(jù)(學生、教師)、課程數(shù)據(jù)、選課注冊數(shù)據(jù)和學生成績數(shù)據(jù)。經(jīng)過分析,JXGL系統(tǒng)至少應有6個數(shù)據(jù)庫表:學生表、教師表、課程表、開設課程表、選課表和任課表?!?.2建立數(shù)據(jù)庫模型第22頁,共39頁,2024年2月25日,星期天這些基本表定義為學生(學生號、姓名、出生日期、性別、籍貫、地址、電話、入學時間、專業(yè)、班級備注)教師(教師號、姓名、出生日期、性別、籍貫、地址、電話、職稱、專長、備注)課程(課程號、課程名、描述、學分、學時、性質、備注)開設課程(課程號、學期、授課日期、授課時間、地點、選修人數(shù)、備注)選課(學生號、課程號、學期、成績、備注)任課(教師號、課程號、學期、備注)對于上述的基本表需要進行關系規(guī)范化,設計用戶視圖、觸發(fā)器、存儲過程等。數(shù)據(jù)庫模式通常用實體—聯(lián)系模型(ERD)表示,如果需要也可以用對象類圖為數(shù)據(jù)庫模式建立模型。§3.2建立數(shù)據(jù)庫模型第23頁,共39頁,2024年2月25日,星期天§3.3建立包圖JXGL系統(tǒng)一共有5個包:“教學管理”包、“用戶接口”包、“數(shù)據(jù)庫”包、“MFC類”包和“出錯處理”包。第24頁,共39頁,2024年2月25日,星期天“教學管理”包如圖12所示,其中包含了為實現(xiàn)教學管理業(yè)務領域任務的對象類,即前文敘述的全部對象類:“學生”類、“教師”類、“師生”類、“課程”類、“開設課程”類、“學生登記”類、“課程登記”類、“選課統(tǒng)計”類、“學生成績登記”類、“成績統(tǒng)計”類,以及“身份驗證”類等。這些類又分別組成3個小包:“選課管理”包、“成績管理”包和“人事信息”包?!吧矸蒡炞C”類則相對獨立?!?.3建立包圖第25頁,共39頁,2024年2月25日,星期天JXGL系統(tǒng)由如下兩個子系統(tǒng)組成。(1)課程注冊子系統(tǒng),負責新學期的選課注冊管理工作。(2)成績管理子系統(tǒng),負責學生成績管理?!?.3建立包圖第26頁,共39頁,2024年2月25日,星期天系統(tǒng)的動態(tài)行為模型由交互圖(順序圖和協(xié)同圖)、狀態(tài)機圖和活動圖表達。在系統(tǒng)的分析和設計中應當對主要的UseCase和對象類繪制這些圖形,以便分析系統(tǒng)的行為,印證和修改系統(tǒng)的靜態(tài)結構,滿足用戶的需求,達到系統(tǒng)的目標。§4動態(tài)行為模型第27頁,共39頁,2024年2月25日,星期天繪制設置開設課程的順序圖.其中的交互事件如下?!?.1建立順序圖第28頁,共39頁,2024年2月25日,星期天

協(xié)同圖用于描述系統(tǒng)的行為是如何由系統(tǒng)的成分實現(xiàn)的。對于JXGL系統(tǒng)也需要繪制主要的UseCase的協(xié)同圖,以深入了解和表示系統(tǒng)的行為和各個對象的作用。對于一個協(xié)同圖,首先應確定參與協(xié)同的對象角色、關聯(lián)角色和消息,然后才能繪制協(xié)同圖。例如,對于UseCase“管理課程信息”的協(xié)同圖如圖16所示。圖中的對象角色有“注冊表單”接口對象、“開設課程表單”接口對象、“課程”對象和“開設課程”對象。它們協(xié)同工作,實現(xiàn)設置新開設課程的服務?!?.2建立協(xié)同圖第29頁,共39頁,2024年2月25日,星期天§4.2建立協(xié)同圖第30頁,共39頁,2024年2月25日,星期天活動者“教學管理員”與“注冊表單”接口對象聯(lián)系?!白员韱巍苯涌趯ο笈c“開設課程表單”接口對象之間、“開設課程表單”接口對象與“課程”對象之間、“開設課程表單”接口對象與“開設課程”對象之間存在著關聯(lián)?;顒诱摺敖虒W管理員”發(fā)送消息“登錄”給“注冊表單”接口對象,“注冊表單”接口對象發(fā)送消息“新開課程”給“開設課程表單”接口對象,“開設課程表單”接口對象發(fā)送消息“取課程信息”給“課程”對象,發(fā)送消息“增加/刪除開設課程”給“開設課程”對象?!?.2建立協(xié)同圖第31頁,共39頁,2024年2月25日,星期天

狀態(tài)機圖表現(xiàn)一個對象(類)的生命史。對于一些實現(xiàn)重要行為動作的對象應當繪制狀態(tài)機圖。繪制狀態(tài)機圖需要確定一個對象的生命期可能出現(xiàn)的全部狀態(tài),哪些事件將引起狀態(tài)的轉移,將會發(fā)生哪些動作。學生的選課學生登記狀態(tài)機圖如圖所示?!?.3建立狀態(tài)機圖第32頁,共39頁,2024年2月25日,星期天同樣地,可以繪制選課課程登記狀態(tài)機圖如圖所示§4.3建立狀態(tài)機圖第33頁,共39頁,2024年2月25日,星期天活動圖的主要作用是表示系統(tǒng)的業(yè)務工作流和并

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論