




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、學生成績管理系統(tǒng)的分析及設計-應用uml建模第1章 系統(tǒng)需求學生成績管理系統(tǒng)的域1描述如下:在學生成績管理系統(tǒng)中,要為每個學生建立一個帳戶,并給學生發(fā)放帳戶(帳戶可以提供帳戶號、帳戶初始密碼),帳戶中存儲學生的個人信息、選課信息以及課程成績。持有帳戶的學生可以登陸系統(tǒng),只能查看本人的個人信息、選課信息、個人成績。在登陸時,需要輸入自己的賬號和密碼,系統(tǒng)驗證學生是否有效(在系統(tǒng)中存在帳戶),若有效,則登陸系統(tǒng),否則重新輸入,超過三次,則不允許再次輸入。老師可以修改學生成績信息,但僅限于學生選修的那門課程。老師也有自己的個人帳戶,權限比學生高,可以瀏覽學生信息。學生成績管理系統(tǒng)的管理員,可以編輯、
2、添加、刪除、學生信息。對上述學生成績管理系統(tǒng)的域描述進行分析,可以獲得如下功能性需求: 學生持有帳戶 (帳戶號和密碼)。 學生可以登陸系統(tǒng)。 學生可以查看系統(tǒng)消息內(nèi)的信息。 學生可以查看個人信息,個人成績信息和選課情況。 在學期結束時,學生可以選課。 學生可以給管理員發(fā)消息。 老師可以修改選修自己課程的學生的成績信息。 老師可以瀏覽選修自己課程的學生的信息。 學生成績管理員可以創(chuàng)建新的學生帳戶。 學生成績管理員可以修改學生的帳戶信息。 學生成績管理員可以刪除已存在的學生帳戶。 學生成績管理員可以在系統(tǒng)中添加學生信息。 學生成績管理員可以編輯學生信息。 學生成績管理員可以刪除學生信息。第2章 需
3、求分析采用用例驅(qū)動的分析方法分析需求的主要任務是識別出系統(tǒng)中的參與者和用例,并建立用例模型。2.1 識別參與者通過對系統(tǒng)需求的分析,可以確定系統(tǒng)中有三個參與者:studentactor(學生)、teacheractor(教師)、admineractor(管理員)。參與者的描述如下:(1) student描述:學生可以登陸、選課、查看系統(tǒng)信息、個人信息、提出意見,還可以取消選課。示例:持有帳戶的任何人或組織。(2) teacher 描述:可以修改學生部分信息,瀏覽學生信息。 示例:持有帳戶的任何人和組織。(3) adminer描述:學生成績管理員維護系統(tǒng),可以創(chuàng)建、修改、刪除學生的信息,可以添加
4、、編輯、刪除學生信息,即維護目錄。示例:學生成績管理員。2.2 識別用例前面已經(jīng)識別出了參與者,通過對需求的進一步分析,可以確定系統(tǒng)中有如下用例存在:(1) reserve course(選課)本用例提供了選課的功能。(2)cancel course(取消選課)本用例提供了取消選課的功能。 (3)input score(輸入成績) 本用例提供了教師上傳學生成績功能。 (4)update score(更改成績) 本用例提供了修改成績的功能。 (5)maintain student info (維護學生信息)本用例提供了創(chuàng)建、修改以及取消學生帳戶的功能。(6)maintain teacher in
5、fo (維護教師信息)本用例提供了添加、修改、以及刪除教師帳戶的功能。(7)maintain system info (維護系統(tǒng)信息)本用例提供了添加、修改以及刪除系統(tǒng)信息的功能。(8)log in (登錄)本用例描述了用戶如何登錄進入軟件系統(tǒng)。在識別出參與者3和用例后,要想建立用例圖,還需要識別出他們之間的關系?!皉eserve course”(選課)“cancel course” (取消選課) 這些動作是由“student”執(zhí)行的,“input score” (輸入成績)、“update score” (更、改成績)是由“teacher”執(zhí)行的,但是對于軟件系統(tǒng)來說,這些操作是由“admi
6、ner”通過系統(tǒng)賦予給他們的,也即以上操作實際上是操作者在允許條件下與系統(tǒng)的交互?!皊tudent”“teacher ”和參與者“adminer”之間存在著依賴關系,即“student”借助“adminer”完成這些工作。用例“maintain student info” (維護學生信息)、“maintain teacher info” (維護教師信息)、“maintain system info”(維護物系統(tǒng)信息)也是與參與者“adminer”交互。為了系統(tǒng)的安全性,系統(tǒng)還需要提供進行身份驗證的功能,以確保只有具有權限的“adminer”才可以使用系統(tǒng)的功能,所以“adminer”必須與用例
7、“登錄”交互,也即“adminer”在使用系統(tǒng)前,要使用用戶名和密碼進行登錄,系統(tǒng)驗證用戶的密碼正確后,用戶才可以執(zhí)行進一步的操作。系統(tǒng)的用例圖如下圖所示:圖2.1 系統(tǒng)用例圖2.3 用例的事件流描述用例的事件流4是對完成用例行為所需的事件的描述。它描述系統(tǒng)應該做什么,而不是描述系統(tǒng)應該怎樣做。開始,只是對執(zhí)行用例的常規(guī)流所需的步驟的簡單描述。隨著分析的進行,通過添入更多的詳細信息,步驟不斷細化。最后,將例外流添加到用例的事件流描述中。學生成績管理系統(tǒng)的用例事件流描述如下:2.3.1 選課在這個用例開始前,student必須登錄到系統(tǒng)中。如果這個用例成功,在系統(tǒng)中建立并存儲選課記錄,否則,系統(tǒng)
8、的狀態(tài)沒有變化。當學生選課時,用例啟動。學生打開系統(tǒng)的選課系統(tǒng),出現(xiàn)選課界面,支流s-1:開課目錄。支流s-2:選課情況。s-1:選課目錄 (1) 提供學期分類。(2) 檢索課程類別(kind) (e-1)(3) 檢索要選課程名(coursename) (e-2), (4) 創(chuàng)建選課記錄。(5) 存儲選課記錄。s-2: 選課情況(1) 提供是否要書。(2) 是否加權分。(3) 是否撤銷。(4) 查看選課記錄。e-1: 大方向總體分類。e-2: 具體課程名。2.3.2 取消選課在這個用例開始前,student必須登錄到選課系統(tǒng)中。如果這個用例成功,系統(tǒng)刪除該選課記錄。否則,系統(tǒng)的狀態(tài)沒有變化。當
9、學生取消選課時,用例啟動。(1) 檢索選課程名(e-1)。(2) 刪除選課記錄。e-1: 若選課記錄不存在,系統(tǒng)顯示提示信息,用例終止。2.3.3 輸入成績在這個用例開始前,teacher必須登錄到系統(tǒng)中。如果這個用例成功,系統(tǒng)建立輸入成績記錄。否則,系統(tǒng)的狀態(tài)沒有變化。當teacher輸入成績時,用例啟動。(1) 檢索學生。(e-1)(2) 輸入成績。(3) 將選課成績存儲在系統(tǒng)中。e-1: 該學生不存在,系統(tǒng)顯示提示信息,用例終止。e-2: 系統(tǒng)中不存在該學生,系統(tǒng)顯示提示信息,用例終止。2.3.4 更改成績在這個用例開始前,teacher必須登錄到系統(tǒng)中。如果這個用例成功,系統(tǒng)修改選課成
10、績。否則,系統(tǒng)的狀態(tài)沒有變化。(1) 檢索學生 (e-1)。(2) 修改成績記錄 。(3) 將修改記錄存入系統(tǒng)e-1: 該學生不存在,系統(tǒng)顯示提示信息,用例終止。2.3.5 維護學生信息 在這個用例開始前,adminer必須登錄到系統(tǒng)中。如果這個用例成功,系統(tǒng)添加、修改或刪除學生信息。否則,系統(tǒng)的狀態(tài)沒有變化。當adminer想維護學生信息時,用例啟動。系統(tǒng)要求adminer選擇所想執(zhí)行的活動(添加學生、刪除學生、修改學生)。如果所選的活動是“添加學生”,則執(zhí)行分支流s-1:添加學生。如果所選的活動是“刪除學生”,則執(zhí)行分支流s-2:刪除學生。如果所選的活動是“修改學生”,則執(zhí)行分支流 s-3
11、:修改學生。s-1: 添加學生(1) 提供學生的信息,如姓名、學號等。(2) 系統(tǒng)存儲學生信息 (e-1)。s-2: 刪除學生(1) 提供學生的信息。(2) 查詢學生 (e-2)。(3) 查詢學生的記錄 (e-3)。(4) 從系統(tǒng)中刪除學生的信息,以及學生的選課記錄。s-3:更改學生(1) 提供學生的信息。(2) 查詢并顯示學生的信息 (e-2),修改相應的信息。(3) 更新系統(tǒng)中學生的信息。e-1: 若學生已存在,系統(tǒng)顯示提示信息,用例終止。e-2: 若查詢不到學生,系統(tǒng)顯示提示信息,用例終止。e-3: 若無記錄,系統(tǒng)顯示提示信息,用例終止。2.3.6 維護教師信息 在這個用例開始前,adm
12、iner必須登錄到系統(tǒng)中。如果這個用例成功,系統(tǒng)添加、修改或刪除教師信息。否則,系統(tǒng)的狀態(tài)沒有變化。當adminer想維護教師信息時,用例啟動。系統(tǒng)要求adminer選擇所想執(zhí)行的活動(添加教師、刪除教師、修改教師)如果所選的活動是“添加教師”,則執(zhí)行分支流s-1:添加教師信息。如果所選的活動是“刪除教師”,則執(zhí)行分支流s-2:刪除教師信息。如果所選的活動是“修改教師”,則執(zhí)行分支流s-3:修改教師信息。s-1: 添加教師信息(1) 提供教師名字、所教課程名等信息。(2) 在系統(tǒng)中添加該教師信息 (e-1)。s-2: 刪除教師生信息(1) 提供所要刪除的教師信息。(2) 查詢所要刪除的教師 (
13、e-2)。(3) 刪除該教師的記錄 (e-3)。(4) 從系統(tǒng)中刪除教師信息,以及相關的記錄。s-3:更改教師信息(1) 提供教師信息。(2) 查詢并顯示教師信息 (e-2),并做相應修改。(3) 更新系統(tǒng)中的學生信息。e-1: 若教師信息已存在,系統(tǒng)顯示提示信息,用例終止。e-2: 若查詢不到該書老師,系統(tǒng)顯示提示信息,用例終止。e-3:若無記錄,系統(tǒng)顯示提示信息,用例終止。2.3.7 維護系統(tǒng)信息在這個用例開始前,adminer必須登錄到系統(tǒng)中。如果這個用例成功,系統(tǒng)添加、修改或刪除系統(tǒng)信息。否則,系統(tǒng)的狀態(tài)沒有變化。當adminer想維護系統(tǒng)信息時,用例啟動。系統(tǒng)要求adminer選擇所
14、想執(zhí)行的活動(添加信息、刪除信息、修改信息)。如果所選的活動是“添加系統(tǒng)消息”,則執(zhí)行分支流s-1:添加系統(tǒng)信息。如果所選的活動是“刪除系統(tǒng)信息”,則執(zhí)行分支流s-2:刪除系統(tǒng)信息。如果所選的活動是“修改系統(tǒng)信息”,則執(zhí)行分支流s-3:修改系統(tǒng)信息。s-1: 添加系統(tǒng)信息(1) 提供添加信息種類。(2) 查詢信息種類(kind),確定系統(tǒng)中已存在該書刊種類 (e-1)。(3) 創(chuàng)建信息名。(4) 將系統(tǒng)信息存儲到系統(tǒng)中。s-2: 刪除系統(tǒng)信息(1) 提供系統(tǒng)信息種類。(2) 查詢信息名(newname) (e-2)。(3) 刪除系統(tǒng)信息。(4) 從系統(tǒng)中刪除系統(tǒng)信息后,并更新相關信息。s-3:
15、修改物理學生信息(1) 提供系統(tǒng)信息種類。(2) 查詢系統(tǒng)信息種類(kind)(e-1)。(3) 查詢并顯示該系統(tǒng)信息的所有消息。(4) 選擇信息名修改其信息。(5) 更新系統(tǒng)中系統(tǒng)信息的信息。e-1: 若系統(tǒng)中不存在該信息種類,添加該書刊種類信息e-2:若存在該信息,則刪除。2.3.8 登錄如果用例成功,參與者可以啟動系統(tǒng)并使用系統(tǒng)所提供的功能。反之,系統(tǒng)的狀態(tài)不變。當用戶希望登錄到系統(tǒng)中時,用例啟動。(1) 系統(tǒng)提示用戶輸入用戶名和密碼。(2) 用戶輸入用戶名和密碼。(3) 系統(tǒng)驗證輸入的用戶名和密碼,若正確(e-1),則用戶登錄到系統(tǒng)中。e-1: 如果用戶輸入無效的用戶名和/或密碼,系統(tǒng)
16、顯示錯誤信息。用戶可以選擇返回基流6的起始點,重新輸入正確的用戶名和/或密碼;或者取消登錄,用例結束。第3章 靜態(tài)結構模型進一步分析系統(tǒng)需求,發(fā)現(xiàn)類以及類之間的關系,確定它們的靜態(tài)結構和動態(tài)行為,是面向?qū)ο?分析的基本任務。系統(tǒng)的靜態(tài)結構模型主要用類圖和對象圖描述。3.1 定義系統(tǒng)對象系統(tǒng)對象的識別可以通過尋找系統(tǒng)域8描述和需求描述中的名詞來進行。從前述的系統(tǒng)需求描述中可以找到的名詞有:學生(student)、教師(teacher)管理員(adminer),這些都是對象圖中的候選對象。判斷是否應該為這些候選對象創(chuàng)建類的方法是:是否有與該對象相關的身份和行為?(1) 學生(student)學生是
17、有身份的,具有相同名字和不同賬號的兩個人也是不同的。在這個系統(tǒng)中,學生有相關的行為,學生可以選課、取消選課,所以學生應該成為系統(tǒng)中的一個對象。(2) 教師(teacher)教師也有身份,具有相同名字和不同賬號的兩個人也是不同的。在這個系統(tǒng)中,教師有相關的行為,教師可以上傳成績、修改成績,所以教師應該成為系統(tǒng)中的一個對象。(3) 選課記錄(course load)選課記錄也有身份,選課記錄可以被彼此區(qū)別,不會被搞混。例如,同一個人關于不同課程的選課記錄是不同的,同一門課程被不同學生的選課記錄也是不同的。(4)成績記錄(score load) 成績記錄也有身份的,成績記錄可以被彼此區(qū)別,不會被搞混
18、。例如,同一個人關于不同課程的成績記錄是不同的,同一門課程被不同學生的成績記錄也是不同的。上述4個類都是實體類,都是持久性的,需要存儲在數(shù)據(jù)庫中。本系統(tǒng)采用面向?qū)ο髷?shù)據(jù)庫9模型,為了便于從數(shù)據(jù)庫文件中引用和檢索對象,需要一個描述對象id的類。另外,由于上述4個類都是持久性類,因此還可以抽象出一個代表持久性的父類,該類實現(xiàn)了面向?qū)ο髷?shù)據(jù)庫文件的讀、寫、存儲、檢索、刪除、更新等操作。綜上所述,系統(tǒng)中還應該有兩個與數(shù)據(jù)庫有關的類:對象id(oid)和持久類(persistent)(5)類persistent類persistent是類student、teacher、course load的父類。類pe
19、rsistent為商業(yè)對象的持久存儲提供了支持,它的子類必須實現(xiàn)從數(shù)據(jù)庫文件中讀、寫對象屬性的操作。(6) 類oid實現(xiàn)了對象id。類oid的對象可用來引用系統(tǒng)中的持久10對象,使得從數(shù)據(jù)庫文件中引用和檢索對象變得容易。抽象出系統(tǒng)中的類后,需要確定這些對象的屬性和行為??梢愿鶕?jù)前述的系統(tǒng)需求分析、用例圖、用例的事件流描述和描述腳本的交互作用圖,來確定并細化系統(tǒng)中的類、類的操作和屬性。下面對系統(tǒng)中的類、類的屬性及操作逐一進行描述。(未標注返回值類型的方法使用缺省返回類型void)。 類student屬性、方法見下圖3.1 類teacher屬性、方法見下圖3.2 類course load屬性、方法
20、見下圖3.3 score load屬性、方法見下圖3.4 類persistent屬性、方法見下圖3.5 類oid屬性、方法見下圖3.6 圖3.1、3.2、3.3類scoreloadname :stringid:integercid:integertid:integerread()getscore()圖36 類oid圖3.5類persistent在定義類、類的方法和屬性時,建立動態(tài)模型的時序圖是很有幫助的,類圖和時序圖的建立是相輔相成的,因為時序圖中出現(xiàn)的消息基本上都會成為類中的方法,因此在設計階段繪制系統(tǒng)的時序圖時,要盡量使用類的已識別出的方法來描述消息11,若出現(xiàn)無法用類的已識別出的方法來描
21、述的消息,就要考慮消息是否是類的一個待識別的方法,若是,就要將這個方法及時添加到類的操作類表中,并用這個新方法來描述消息。3.2 定義用戶界面類通過對系統(tǒng)的不斷分析和細化,可識別出下述界面類、類的操作和屬性。(1) 類mainwindowmainwindow是系統(tǒng)的主界面,不同的用戶登陸界面不一樣。系統(tǒng)的主界面具有菜單和菜單項,當選擇不同的菜單項時,用戶可以執(zhí)行不同的操作。當程序退出時,主界面窗口關閉。(2) 類studentdialog界面類studentdialog是進行操作“添加學生”、“修改學生”或“刪除學生”時所需的對話框。當選擇主窗口中的菜單項“添加學生”時,對話框彈出,學生成績管
22、理員輸入學生信息,然后單擊按鈕“添加”,系統(tǒng)創(chuàng)建學生賬戶并將之存儲在系統(tǒng)中。當選擇菜單項“修改學生”或“刪除學生”時,對話框findsdialog彈出,學生成績管理員輸入要修改或刪除的學生的studentid,單擊按鈕“ok”提交。系統(tǒng)查詢數(shù)據(jù)庫檢索到學生信息后彈出對話框studentdialog,顯示學生的詳細信息,如若是“修改學生”,學生成績管理員編輯修改學生的有關信息,然后單擊按鈕“更新”,更新系統(tǒng)中存儲的學生信息;如若是“刪除學生”,學生成績管理員則單擊按鈕“刪除”,系統(tǒng)刪除所存儲的該學生信息,當然,與該學生有關的其他信息業(yè)也一并刪除。(3) 類findsdialog界面類findsd
23、ialog是用來根據(jù)學生id號查找學生的對話框。當主窗口中的菜單項“刪除學生”或“修改學生”被選擇時,該對話框彈出,學生成績管理員輸入學生id,單擊按鈕“ok”,系統(tǒng)查詢數(shù)據(jù)庫中具有指定id號的學生信息。(4) 類teacherdialog界面類teacherdialog是進行操作“添加教師”、“修改教師”或“刪除教師”時所需的對話框。當選擇主窗口中的菜單項“添加教師”時,對話框彈出,學生成績管理員輸入教師信息,然后單擊按鈕“添加”,系統(tǒng)創(chuàng)建教師帳戶并將之存儲在系統(tǒng)中。當選擇菜單項“修改教師”或“刪除教師”時,對話框findtdialog彈出,學生成績管理員輸入要修改或刪除的教師,單擊按鈕“o
24、k”提交。系統(tǒng)查詢數(shù)據(jù)庫獲取教師信息后彈出對話框teacherdialog,顯示教師的詳細信息,如若是“修改書種”,學生成績管理員編輯修改教師的有關信息,然后單擊按鈕“更新”,更新系統(tǒng)中存儲的教師信息;如若是“刪除教師”,學生成績管理員則單擊按鈕“刪除”,該教師信息從系統(tǒng)中刪除,與該教師有關的其他信息也一并刪除。(5) 類findtdialog界面類findtdialog是用來根據(jù)教師id查找教師的對話框。當主窗口中的菜單項“刪除教師”或“修改教師”被選擇時,該對話框彈出,學生成績管理員輸入教師id,單擊按鈕“ok”,系統(tǒng)查詢數(shù)據(jù)庫中具有指定id號的教師信息。(6) 類inpudialog界面
25、類inpudialog是進行輸入成績操作或更改成績操作時所需的對話框。當主窗口中的菜單項“輸入”被選擇時,該對話框彈出,教師輸入分數(shù),然后單擊按鈕“ok”,輸入動作被確認,系統(tǒng)創(chuàng)建并保存成績記錄。當選擇菜單項“更改成績”時,也彈出該對話框,教師輸入學號,修改相應信息,然后單擊按鈕“更改”,系統(tǒng)中的更新記錄。(7) 類rescdialog界面類rescdialog是進行操作“選課”或“取消選課”時所需的對話框。當主窗口中的菜單項“選課”被選擇時,該對話框彈出,學生輸入要選課的信息,然后單擊按鈕“選課”,選課動作被確認,系統(tǒng)創(chuàng)建并保存選課記錄。當選擇菜單項“取消選課”時,也彈出該對話框,學生輸入課
26、程名及信息,然后單擊按鈕“取消選課”,系統(tǒng)中的選課記錄被刪除。(8) 類messagewindow信息窗口類logindialog是用來顯示提示信息的對話框。(9) 類logindialog界面類logindialog是用來輸入用戶名和密碼的對話框。 類mainwindow屬性及方法見下圖3.8 類studentdialog屬性及方法見下圖3.9 類findsdialog屬性及方法見下圖3.10圖3.10類findbwrdialog圖3.9類borrowerdialog圖3.8類mainwindow類teacherdialog屬性及方法見下圖3.11 類findtdialog屬性及方法見下圖3
27、.12 類inpudialog屬性及方法見下圖3.13 類rescdialog屬性及方法見下圖3.14 類messagewindow屬性及方法見下圖3.15 類logindialog屬性及方法見下圖3.16圖3.12類findtdialog圖3.11類titledialog圖3.14類rescdialog圖3.13類inpudialog圖3.16類logindialog3.15類messagewindow3.3 建立類圖識別出了系統(tǒng)中的類后,還要識別出類間的關系,然后就可以建立類圖了。可將系統(tǒng)中的類分為3個包:gui包、adminer包和db包。包gui由界面類組成,包adminer由實體類組
28、成,包db由與數(shù)據(jù)庫有關的類組成。包gui依賴于包adminer和包db,包adminer依賴于包db。圖3.18 系統(tǒng)包圖3.3.1 包gui中的界面類關系窗口messagewindow和對話框studentdialog、findsdialog、findtdialog、teacherdialog、inpudialog、rescdialog是主窗口mainwindow的一部分。它們之間存在組合關系。類logindialog與類mainwindow之間存在“一對一”的關聯(lián)關系。類findsdialog與類studentdialog之間是“一對一”的關聯(lián)關系。類findtdialog與類teach
29、erdialog之間的關系也是“一對一”的關聯(lián)關系。3.3.2 包adminer中的實體類關系類student、類teacher、類courseload、coreload都是永久類,它們都是包db中的類persistent的子類。類teacher與類student之間存在“多對多”的關聯(lián)關系,每個teacher對象至少有一個student對象,每個student對象至少對應于一個teacher對象。類teacher與類courseload之間存在“一對多的關系,tudent與類courseload之間存在“一對多”的關聯(lián)關系,每個student對象可以沒有或可有多個courseload(選課)
30、,每個courseload(選課)可由多個student選課,學生與成績之間是一對多的關系,一個學生可以有多門課的成績。3.3.3 類rescdialog和其他類關系3.3.4 inpudialog和其他類的關系圖第4章 動態(tài)行為模型系統(tǒng)的動態(tài)行為模型由交互作用圖(時序圖和協(xié)作圖)、狀態(tài)圖、活動圖描述。4.1 建立交互作用圖描述系統(tǒng)用例的主要場景的交互作用圖如下所示。4.1.1 添加學生“添加學生”的過程是:學生成績管理員選擇菜單項“添加學生”,對話框彈出,學生成績管理員輸入學生信息,提交,系統(tǒng)根據(jù)學生id號查詢數(shù)據(jù)庫,看數(shù)據(jù)庫中是否已存在學生,若不存在,創(chuàng)建學生帳戶,并存儲學生信息。“添加學
31、生”的時序圖如圖4.1所示,學生成績管理員選擇菜單項“添加學生”,類mainwindow的方法addstudent()被調(diào)用,然后通過調(diào)用類studentdialog的方法createdialog()創(chuàng)建對話框,學生成績管理員輸入學生信息后,提交信息,類studentdialog的方法addstudentr()被調(diào)用,通過調(diào)用類student的findborrower()方法來確定該學生的帳戶是否已存在,若不存在,則調(diào)用類student的方法newstudent()為學生創(chuàng)建帳戶,并調(diào)用類student的方法store()存儲學生信息。圖4.1 添加學生時序圖4.1.2 刪除學生“刪除學生”的
32、過程是:學生成績管理員選擇菜單項“刪除學生”,查詢對話框彈出,學生成績管理員輸入學生id號,系統(tǒng)查詢數(shù)據(jù)庫,顯示學生信息(若學生信息不存在,顯示提示信息,結束刪除動作),按下刪除按鈕,系統(tǒng)確定是否存在與該學生相關的信息記錄,若有,給出提示信息,結束刪除動作;若沒有,查詢是否存在與該學生相關的選課記錄,若有,刪除選課記錄。然后從系統(tǒng)中刪除學生?!皠h除學生”的時序圖如圖4.2所示,學生成績管理員選擇菜單項“刪除學生”,類mainwindow的方法delstudent()被調(diào)用,然后通過調(diào)用類findsdialog的方法createdialog()創(chuàng)建對話框。學生成績管理員輸入學生id號后,提交信息
33、,類findsdialog的findstudent()方法被調(diào)用,通過調(diào)用類student的方法findstudent(id:string)來確定該學生的帳戶是否存在,若存在,返回student對象的oid,然后調(diào)用類studentdialog的方法createdialog(oid)顯示學生信息,在該方法執(zhí)行期間,發(fā)送消息getstudent(oid)給類student獲得學生信息。學生成績管理員單擊確認按鈕刪除(若學生記錄非空,則該學生不能被刪除),實現(xiàn)方法如下。類studentdialog的delstudent()方法被調(diào)用,發(fā)送消息getnewsloans()判斷學生是否有與他有關的記錄
34、信息。如果有,則顯示提示信息,終止“刪除學生”的活動(這個替代流未在圖中示出);如果沒有,類student的方法getnewsresc()被調(diào)用,返回學生的選課記錄的數(shù)目,如果返回值等于0,則跳過下述循環(huán),如果返回值非零對每個選課記錄都要執(zhí)行如下操作(也就是說此處是一個循環(huán)次數(shù)為選課記錄數(shù)的循環(huán),圖4.2所示描述的是選課記錄數(shù)為1的情況)。調(diào)用方法getcourseload()獲得制定索引的選課記錄,然后調(diào)用類reservecourse的方法getkind()獲得所選課的課程類kind對象,再調(diào)用類kind的方法delreserve course()刪除“選課記錄”,調(diào)用類reserve co
35、urse的方法delete()刪除“選課記錄”對象。最后調(diào)用類student的方法delete()刪除學生信息。圖4.2 刪除學生時序圖4.1.3 添加教師 “添加教師”的過程是:學生成績管理員選擇菜單項“添加教師”,對話框彈出,學生成績管理員輸入教師信息,提交,系統(tǒng)根據(jù)教師id號查詢數(shù)據(jù)庫,看數(shù)據(jù)庫中是否已存在該教師,若不存在,創(chuàng)建教師帳戶,并存儲教師信息?!疤砑咏處煛钡臅r序圖如圖4.1所示,學生成績管理員選擇菜單項“添加教師”,類mainwindow的方法addteacher()被調(diào)用,然后通過調(diào)用類teacherdialog的方法createdialog()創(chuàng)建對話框,學生成績管理員輸入
36、學生信息后,提交信息,類teacherdialog的方法addteacher()被調(diào)用,通過調(diào)用類teacher的findteacher()方法來確定該教師的帳戶是否已存在,若不存在,則調(diào)用類student的方法newteacher()為學生創(chuàng)建帳戶,并調(diào)用類teacher的方法store()存儲教師信息。4.1.4 刪除教師“刪除教師”的過程如下?!皠h除教師”的過程是:學生成績管理員選擇菜單項“刪除教師”,查詢對話框彈出,學生成績管理員輸入教師id號,系統(tǒng)查詢數(shù)據(jù)庫,顯示教師信息(若教師信息不存在,顯示提示信息,結束刪除動作),按下刪除按鈕,系統(tǒng)確定是否存在與該教師相關的信息記錄,若有,給出
37、提示信息,結束刪除動作;若沒有,查詢是否存在與該教師相關的授課記錄,若有,刪除授課記錄。然后從系統(tǒng)中刪除學生?!皠h除教師”的時序圖如圖4.2所示,學生成績管理員選擇菜單項“刪除教師”,類mainwindow的方法delteacher()被調(diào)用,然后通過調(diào)用類findtdialog的方法createdialog()創(chuàng)建對話框。學生成績管理員輸入教師id號后,提交信息,類findtdialog的findteacher()方法被調(diào)用,通過調(diào)用類teacher的方法findteacher(id:string)來確定該教師的帳戶是否存在,若存在,返回教師對象的oid,然后調(diào)用類teacherdialog
38、的方法createdialog(oid)顯示教師信息,在該方法執(zhí)行期間,發(fā)送消息getteacher(oid)給類teacher獲得教師信息。學生成績管理員單擊確認按鈕刪除(若教師記錄非空,則該教師不能被刪除),實現(xiàn)方法如下。類教師dialog的delteachert()方法被調(diào)用,發(fā)送消息getnewsloans()判斷教師是否有與他有關的記錄信息。如果有,則顯示提示信息,終止“刪除教師”的活動(這個替代流未在圖中示出);如果沒有,類teacher的方法getnewsresc()被調(diào)用,返回教師的授課記錄的數(shù)目,如果返回值等于0,則跳過下述循環(huán),如果返回值非零對每個選課記錄都要執(zhí)行如下操作(
39、也就是說此處是一個循環(huán)次數(shù)為授課記錄數(shù)的循環(huán),圖4.2所示描述的是授課記錄數(shù)為1的情況)。調(diào)用方法getcourseload()獲得制定索引的授課記錄,然后調(diào)用類reservecourse的方法getkind()獲得所選課的課程類kind對象,再調(diào)用類kind的方法delreserve course()刪除“授課記錄”,調(diào)用類reserve course的方法delete()刪除“授課記錄”對象。最后調(diào)用類teacher的方法delete()刪除教師信息。圖4.4 刪除教師4.1.5 選課“選課”的過程是:學生選擇菜單項“選課”,對話框彈出,學生輸入要選課程名,提交。系統(tǒng)查詢數(shù)據(jù)庫,確定該課程
40、否存在。若存在,查詢學生信息,確定學生是否能選,若能,創(chuàng)建并存儲選課記錄,并將選課記錄添加到學生信息中,若不能,提示信息;若不存在,則顯示提示信息,學生重新輸入選課課程名或中止選課操作?!斑x課”的時序圖如圖4.7所示。學生選擇菜單項“選課”,類mainwindow的reserve course()方法被調(diào)用,然后通過調(diào)用類resdialog的方法reserve course()被調(diào)用,發(fā)送消息findcourse()、findstudent()給類courseload和student查詢指定的課程信息和學生信息,返回滿足條件的student對象的oid,接著調(diào)用方法getstudent()返回
41、對應oid的student對象。發(fā)送消息給reserve course,創(chuàng)建courseload對象,調(diào)用類reserve course的方法store()將選課記錄存儲到數(shù)據(jù)庫中。發(fā)送消息addcourse()給student,將選課記錄添加到學生信息中,然后調(diào)用類student的方法update()更新數(shù)據(jù)庫中的student對象。并存儲更改信息。圖如下:圖4.7 預定書刊4.1.6 取消選課“取消選課”的過程是:學生選擇菜單項“取消選課”,對話框彈出,學生輸入要取消選課的課程名,提交。系統(tǒng)查詢數(shù)據(jù)庫,確定該課程否存在。若不存在,退出系統(tǒng)。查詢與之相關的信息,若存在相關信息,彈出提示信息,
42、刪除相關信息或終止刪除,退出系統(tǒng)。 學生選擇菜單項“取消選課”,類mainwindow的cancel course()方法被調(diào)用,然后通過調(diào)用類cancdialog的方法cancel course()被調(diào)用,發(fā)送消息findcourse()和findstudent()給類courseload和student查詢指定的課程信息和與之相關的學生信息,返回滿足條件的student對象的oid,接著調(diào)用方法getstudent()返回對應oid的student對象。發(fā)送消息給cancel course,調(diào)用類cancel course的cancelnews()的方法刪除相關信息,再調(diào)用cancel c
43、ourse的方法store()將刪除記錄存儲到數(shù)據(jù)庫中。然后調(diào)用類student的方法update()更新數(shù)據(jù)庫中的student對象。并存儲更改信息。4.1.7輸入成績“輸入成績”的過程是:教師選擇菜單項“輸入成績”,對話框彈出,教師輸入要寫成績的學生名,提交。系統(tǒng)查詢數(shù)據(jù)庫,確定該學生是否存在。存在,輸入成績,更改相應信息,并將輸入記錄添加到學生信息中。若不存在,彈出提示信息。教師重新輸入選課課程名或中止選課操作?!拜斎氤煽儭钡臅r序圖如下圖所示。教師選擇菜單項“輸入成績”,類mainwindow的inputscore()方法被調(diào)用,然后通過調(diào)用類inpuscore的方法inputscore
44、()被調(diào)用,發(fā)送消息findstudent()給類student查詢指定的學生信息,返回滿足條件的student對象的oid,接著調(diào)用方法getstudent()返回對應oid的student對象。發(fā)送消息給inputscore(),創(chuàng)建scoreload對象,調(diào)用類inputscore的方法store()將選課記錄存儲到數(shù)據(jù)庫中。發(fā)送消息addscore()給student,將成績記錄添加到學生信息中,然后調(diào)用類student的方法update()更新數(shù)據(jù)庫中的student對象。并存儲更改信息。4.1.8更新成績“更改成績”的過程是:教師選擇菜單項“更改成績”,對話框彈出,教師輸入要更改成績的學生名,提交。系統(tǒng)查詢數(shù)據(jù)庫,確定該學生是否存在。若不存在,退出系統(tǒng)。若存在,并查詢與之相關的信息,若存在相關信息,彈出提示信息,刪除相關信息并更改信息或終止刪除,退出系統(tǒng)。 教師選擇菜單項“更改成績”,類mainwindow的updata score()方法被調(diào)用,然后通過調(diào)用類inpudialog的方法updata score()被調(diào)用,發(fā)送消息findstudent()給類student查詢指定學生的信息,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025標準版租賃合同協(xié)議書
- 2025建筑工程質(zhì)量檢測有限公司委托合同
- 2025機械設備產(chǎn)品買賣合同范本
- 2025年的房屋租賃合同模板
- 2025建筑工程設計咨詢合同(項目)
- 2025年城市住宅租賃合同協(xié)議
- 2025西安市企業(yè)員工勞動合同書
- 2025公寓租賃合同模板
- 醫(yī)藥學院教學課件:中藥現(xiàn)代化與中西醫(yī)結合
- 2025室內(nèi)設計委托合同書模板
- 學校結核病疫情調(diào)查與應急處置1
- 血液科護士的造血干細胞移植護理
- 老人接種疫苗科普知識講座
- HGE系列電梯安裝調(diào)試手冊(ELS05系統(tǒng)SW00004269,A.4 )
- 經(jīng)肛型腸梗阻導管
- 成圈機操作規(guī)程
- 護理教學查房組織與實施
- 小學五年級家長會課件
- 機動車檢測站儀器設備日常維護和保養(yǎng)作業(yè)指導書
- 立式數(shù)控銑床工作臺(X軸)設計
- 加油站安全生產(chǎn)責任制
評論
0/150
提交評論