學(xué)生成績(jī)管理系統(tǒng)的分析及設(shè)計(jì)應(yīng)用UML建模_第1頁(yè)
學(xué)生成績(jī)管理系統(tǒng)的分析及設(shè)計(jì)應(yīng)用UML建模_第2頁(yè)
學(xué)生成績(jī)管理系統(tǒng)的分析及設(shè)計(jì)應(yīng)用UML建模_第3頁(yè)
學(xué)生成績(jī)管理系統(tǒng)的分析及設(shè)計(jì)應(yīng)用UML建模_第4頁(yè)
學(xué)生成績(jī)管理系統(tǒng)的分析及設(shè)計(jì)應(yīng)用UML建模_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、學(xué)生成績(jī)管理系統(tǒng)的分析及設(shè)計(jì)-應(yīng)用uml建模第1章 系統(tǒng)需求學(xué)生成績(jī)管理系統(tǒng)的域1描述如下:在學(xué)生成績(jī)管理系統(tǒng)中,要為每個(gè)學(xué)生建立一個(gè)帳戶,并給學(xué)生發(fā)放帳戶(帳戶可以提供帳戶號(hào)、帳戶初始密碼),帳戶中存儲(chǔ)學(xué)生的個(gè)人信息、選課信息以及課程成績(jī)。持有帳戶的學(xué)生可以登陸系統(tǒng),只能查看本人的個(gè)人信息、選課信息、個(gè)人成績(jī)。在登陸時(shí),需要輸入自己的賬號(hào)和密碼,系統(tǒng)驗(yàn)證學(xué)生是否有效(在系統(tǒng)中存在帳戶),若有效,則登陸系統(tǒng),否則重新輸入,超過三次,則不允許再次輸入。老師可以修改學(xué)生成績(jī)信息,但僅限于學(xué)生選修的那門課程。老師也有自己的個(gè)人帳戶,權(quán)限比學(xué)生高,可以瀏覽學(xué)生信息。學(xué)生成績(jī)管理系統(tǒng)的管理員,可以編輯、

2、添加、刪除、學(xué)生信息。對(duì)上述學(xué)生成績(jī)管理系統(tǒng)的域描述進(jìn)行分析,可以獲得如下功能性需求: 學(xué)生持有帳戶 (帳戶號(hào)和密碼)。 學(xué)生可以登陸系統(tǒng)。 學(xué)生可以查看系統(tǒng)消息內(nèi)的信息。 學(xué)生可以查看個(gè)人信息,個(gè)人成績(jī)信息和選課情況。 在學(xué)期結(jié)束時(shí),學(xué)生可以選課。 學(xué)生可以給管理員發(fā)消息。 老師可以修改選修自己課程的學(xué)生的成績(jī)信息。 老師可以瀏覽選修自己課程的學(xué)生的信息。 學(xué)生成績(jī)管理員可以創(chuàng)建新的學(xué)生帳戶。 學(xué)生成績(jī)管理員可以修改學(xué)生的帳戶信息。 學(xué)生成績(jī)管理員可以刪除已存在的學(xué)生帳戶。 學(xué)生成績(jī)管理員可以在系統(tǒng)中添加學(xué)生信息。 學(xué)生成績(jī)管理員可以編輯學(xué)生信息。 學(xué)生成績(jī)管理員可以刪除學(xué)生信息。第2章 需

3、求分析采用用例驅(qū)動(dòng)的分析方法分析需求的主要任務(wù)是識(shí)別出系統(tǒng)中的參與者和用例,并建立用例模型。2.1 識(shí)別參與者通過對(duì)系統(tǒng)需求的分析,可以確定系統(tǒng)中有三個(gè)參與者:studentactor(學(xué)生)、teacheractor(教師)、admineractor(管理員)。參與者的描述如下:(1) student描述:學(xué)生可以登陸、選課、查看系統(tǒng)信息、個(gè)人信息、提出意見,還可以取消選課。示例:持有帳戶的任何人或組織。(2) teacher 描述:可以修改學(xué)生部分信息,瀏覽學(xué)生信息。 示例:持有帳戶的任何人和組織。(3) adminer描述:學(xué)生成績(jī)管理員維護(hù)系統(tǒng),可以創(chuàng)建、修改、刪除學(xué)生的信息,可以添加

4、、編輯、刪除學(xué)生信息,即維護(hù)目錄。示例:學(xué)生成績(jī)管理員。2.2 識(shí)別用例前面已經(jīng)識(shí)別出了參與者,通過對(duì)需求的進(jìn)一步分析,可以確定系統(tǒng)中有如下用例存在:(1) reserve course(選課)本用例提供了選課的功能。(2)cancel course(取消選課)本用例提供了取消選課的功能。 (3)input score(輸入成績(jī)) 本用例提供了教師上傳學(xué)生成績(jī)功能。 (4)update score(更改成績(jī)) 本用例提供了修改成績(jī)的功能。 (5)maintain student info (維護(hù)學(xué)生信息)本用例提供了創(chuàng)建、修改以及取消學(xué)生帳戶的功能。(6)maintain teacher in

5、fo (維護(hù)教師信息)本用例提供了添加、修改、以及刪除教師帳戶的功能。(7)maintain system info (維護(hù)系統(tǒng)信息)本用例提供了添加、修改以及刪除系統(tǒng)信息的功能。(8)log in (登錄)本用例描述了用戶如何登錄進(jìn)入軟件系統(tǒng)。在識(shí)別出參與者3和用例后,要想建立用例圖,還需要識(shí)別出他們之間的關(guān)系?!皉eserve course”(選課)“cancel course” (取消選課) 這些動(dòng)作是由“student”執(zhí)行的,“input score” (輸入成績(jī))、“update score” (更、改成績(jī))是由“teacher”執(zhí)行的,但是對(duì)于軟件系統(tǒng)來說,這些操作是由“admi

6、ner”通過系統(tǒng)賦予給他們的,也即以上操作實(shí)際上是操作者在允許條件下與系統(tǒng)的交互?!皊tudent”“teacher ”和參與者“adminer”之間存在著依賴關(guān)系,即“student”借助“adminer”完成這些工作。用例“maintain student info” (維護(hù)學(xué)生信息)、“maintain teacher info” (維護(hù)教師信息)、“maintain system info”(維護(hù)物系統(tǒng)信息)也是與參與者“adminer”交互。為了系統(tǒng)的安全性,系統(tǒng)還需要提供進(jìn)行身份驗(yàn)證的功能,以確保只有具有權(quán)限的“adminer”才可以使用系統(tǒng)的功能,所以“adminer”必須與用例

7、“登錄”交互,也即“adminer”在使用系統(tǒng)前,要使用用戶名和密碼進(jìn)行登錄,系統(tǒng)驗(yàn)證用戶的密碼正確后,用戶才可以執(zhí)行進(jìn)一步的操作。系統(tǒng)的用例圖如下圖所示:圖2.1 系統(tǒng)用例圖2.3 用例的事件流描述用例的事件流4是對(duì)完成用例行為所需的事件的描述。它描述系統(tǒng)應(yīng)該做什么,而不是描述系統(tǒng)應(yīng)該怎樣做。開始,只是對(duì)執(zhí)行用例的常規(guī)流所需的步驟的簡(jiǎn)單描述。隨著分析的進(jìn)行,通過添入更多的詳細(xì)信息,步驟不斷細(xì)化。最后,將例外流添加到用例的事件流描述中。學(xué)生成績(jī)管理系統(tǒng)的用例事件流描述如下:2.3.1 選課在這個(gè)用例開始前,student必須登錄到系統(tǒng)中。如果這個(gè)用例成功,在系統(tǒng)中建立并存儲(chǔ)選課記錄,否則,系統(tǒng)

8、的狀態(tài)沒有變化。當(dāng)學(xué)生選課時(shí),用例啟動(dòng)。學(xué)生打開系統(tǒng)的選課系統(tǒng),出現(xiàn)選課界面,支流s-1:開課目錄。支流s-2:選課情況。s-1:選課目錄 (1) 提供學(xué)期分類。(2) 檢索課程類別(kind) (e-1)(3) 檢索要選課程名(coursename) (e-2), (4) 創(chuàng)建選課記錄。(5) 存儲(chǔ)選課記錄。s-2: 選課情況(1) 提供是否要書。(2) 是否加權(quán)分。(3) 是否撤銷。(4) 查看選課記錄。e-1: 大方向總體分類。e-2: 具體課程名。2.3.2 取消選課在這個(gè)用例開始前,student必須登錄到選課系統(tǒng)中。如果這個(gè)用例成功,系統(tǒng)刪除該選課記錄。否則,系統(tǒng)的狀態(tài)沒有變化。當(dāng)

9、學(xué)生取消選課時(shí),用例啟動(dòng)。(1) 檢索選課程名(e-1)。(2) 刪除選課記錄。e-1: 若選課記錄不存在,系統(tǒng)顯示提示信息,用例終止。2.3.3 輸入成績(jī)?cè)谶@個(gè)用例開始前,teacher必須登錄到系統(tǒng)中。如果這個(gè)用例成功,系統(tǒng)建立輸入成績(jī)記錄。否則,系統(tǒng)的狀態(tài)沒有變化。當(dāng)teacher輸入成績(jī)時(shí),用例啟動(dòng)。(1) 檢索學(xué)生。(e-1)(2) 輸入成績(jī)。(3) 將選課成績(jī)存儲(chǔ)在系統(tǒng)中。e-1: 該學(xué)生不存在,系統(tǒng)顯示提示信息,用例終止。e-2: 系統(tǒng)中不存在該學(xué)生,系統(tǒng)顯示提示信息,用例終止。2.3.4 更改成績(jī)?cè)谶@個(gè)用例開始前,teacher必須登錄到系統(tǒng)中。如果這個(gè)用例成功,系統(tǒng)修改選課成

10、績(jī)。否則,系統(tǒng)的狀態(tài)沒有變化。(1) 檢索學(xué)生 (e-1)。(2) 修改成績(jī)記錄 。(3) 將修改記錄存入系統(tǒng)e-1: 該學(xué)生不存在,系統(tǒng)顯示提示信息,用例終止。2.3.5 維護(hù)學(xué)生信息 在這個(gè)用例開始前,adminer必須登錄到系統(tǒng)中。如果這個(gè)用例成功,系統(tǒng)添加、修改或刪除學(xué)生信息。否則,系統(tǒng)的狀態(tài)沒有變化。當(dāng)adminer想維護(hù)學(xué)生信息時(shí),用例啟動(dòng)。系統(tǒng)要求adminer選擇所想執(zhí)行的活動(dòng)(添加學(xué)生、刪除學(xué)生、修改學(xué)生)。如果所選的活動(dòng)是“添加學(xué)生”,則執(zhí)行分支流s-1:添加學(xué)生。如果所選的活動(dòng)是“刪除學(xué)生”,則執(zhí)行分支流s-2:刪除學(xué)生。如果所選的活動(dòng)是“修改學(xué)生”,則執(zhí)行分支流 s-3

11、:修改學(xué)生。s-1: 添加學(xué)生(1) 提供學(xué)生的信息,如姓名、學(xué)號(hào)等。(2) 系統(tǒng)存儲(chǔ)學(xué)生信息 (e-1)。s-2: 刪除學(xué)生(1) 提供學(xué)生的信息。(2) 查詢學(xué)生 (e-2)。(3) 查詢學(xué)生的記錄 (e-3)。(4) 從系統(tǒng)中刪除學(xué)生的信息,以及學(xué)生的選課記錄。s-3:更改學(xué)生(1) 提供學(xué)生的信息。(2) 查詢并顯示學(xué)生的信息 (e-2),修改相應(yīng)的信息。(3) 更新系統(tǒng)中學(xué)生的信息。e-1: 若學(xué)生已存在,系統(tǒng)顯示提示信息,用例終止。e-2: 若查詢不到學(xué)生,系統(tǒng)顯示提示信息,用例終止。e-3: 若無記錄,系統(tǒng)顯示提示信息,用例終止。2.3.6 維護(hù)教師信息 在這個(gè)用例開始前,adm

12、iner必須登錄到系統(tǒng)中。如果這個(gè)用例成功,系統(tǒng)添加、修改或刪除教師信息。否則,系統(tǒng)的狀態(tài)沒有變化。當(dāng)adminer想維護(hù)教師信息時(shí),用例啟動(dòng)。系統(tǒng)要求adminer選擇所想執(zhí)行的活動(dòng)(添加教師、刪除教師、修改教師)如果所選的活動(dòng)是“添加教師”,則執(zhí)行分支流s-1:添加教師信息。如果所選的活動(dòng)是“刪除教師”,則執(zhí)行分支流s-2:刪除教師信息。如果所選的活動(dòng)是“修改教師”,則執(zhí)行分支流s-3:修改教師信息。s-1: 添加教師信息(1) 提供教師名字、所教課程名等信息。(2) 在系統(tǒng)中添加該教師信息 (e-1)。s-2: 刪除教師生信息(1) 提供所要?jiǎng)h除的教師信息。(2) 查詢所要?jiǎng)h除的教師 (

13、e-2)。(3) 刪除該教師的記錄 (e-3)。(4) 從系統(tǒng)中刪除教師信息,以及相關(guān)的記錄。s-3:更改教師信息(1) 提供教師信息。(2) 查詢并顯示教師信息 (e-2),并做相應(yīng)修改。(3) 更新系統(tǒng)中的學(xué)生信息。e-1: 若教師信息已存在,系統(tǒng)顯示提示信息,用例終止。e-2: 若查詢不到該書老師,系統(tǒng)顯示提示信息,用例終止。e-3:若無記錄,系統(tǒng)顯示提示信息,用例終止。2.3.7 維護(hù)系統(tǒng)信息在這個(gè)用例開始前,adminer必須登錄到系統(tǒng)中。如果這個(gè)用例成功,系統(tǒng)添加、修改或刪除系統(tǒng)信息。否則,系統(tǒng)的狀態(tài)沒有變化。當(dāng)adminer想維護(hù)系統(tǒng)信息時(shí),用例啟動(dòng)。系統(tǒng)要求adminer選擇所

14、想執(zhí)行的活動(dòng)(添加信息、刪除信息、修改信息)。如果所選的活動(dòng)是“添加系統(tǒng)消息”,則執(zhí)行分支流s-1:添加系統(tǒng)信息。如果所選的活動(dòng)是“刪除系統(tǒng)信息”,則執(zhí)行分支流s-2:刪除系統(tǒng)信息。如果所選的活動(dò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)信息存儲(chǔ)到系統(tǒng)中。s-2: 刪除系統(tǒng)信息(1) 提供系統(tǒng)信息種類。(2) 查詢信息名(newname) (e-2)。(3) 刪除系統(tǒng)信息。(4) 從系統(tǒng)中刪除系統(tǒng)信息后,并更新相關(guān)信息。s-3:

15、修改物理學(xué)生信息(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 登錄如果用例成功,參與者可以啟動(dòng)系統(tǒng)并使用系統(tǒng)所提供的功能。反之,系統(tǒng)的狀態(tài)不變。當(dāng)用戶希望登錄到系統(tǒng)中時(shí),用例啟動(dòng)。(1) 系統(tǒng)提示用戶輸入用戶名和密碼。(2) 用戶輸入用戶名和密碼。(3) 系統(tǒng)驗(yàn)證輸入的用戶名和密碼,若正確(e-1),則用戶登錄到系統(tǒng)中。e-1: 如果用戶輸入無效的用戶名和/或密碼,系統(tǒng)

16、顯示錯(cuò)誤信息。用戶可以選擇返回基流6的起始點(diǎn),重新輸入正確的用戶名和/或密碼;或者取消登錄,用例結(jié)束。第3章 靜態(tài)結(jié)構(gòu)模型進(jìn)一步分析系統(tǒng)需求,發(fā)現(xiàn)類以及類之間的關(guān)系,確定它們的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為,是面向?qū)ο?分析的基本任務(wù)。系統(tǒng)的靜態(tài)結(jié)構(gòu)模型主要用類圖和對(duì)象圖描述。3.1 定義系統(tǒng)對(duì)象系統(tǒng)對(duì)象的識(shí)別可以通過尋找系統(tǒng)域8描述和需求描述中的名詞來進(jìn)行。從前述的系統(tǒng)需求描述中可以找到的名詞有:學(xué)生(student)、教師(teacher)管理員(adminer),這些都是對(duì)象圖中的候選對(duì)象。判斷是否應(yīng)該為這些候選對(duì)象創(chuàng)建類的方法是:是否有與該對(duì)象相關(guān)的身份和行為?(1) 學(xué)生(student)學(xué)生是

17、有身份的,具有相同名字和不同賬號(hào)的兩個(gè)人也是不同的。在這個(gè)系統(tǒng)中,學(xué)生有相關(guān)的行為,學(xué)生可以選課、取消選課,所以學(xué)生應(yīng)該成為系統(tǒng)中的一個(gè)對(duì)象。(2) 教師(teacher)教師也有身份,具有相同名字和不同賬號(hào)的兩個(gè)人也是不同的。在這個(gè)系統(tǒng)中,教師有相關(guān)的行為,教師可以上傳成績(jī)、修改成績(jī),所以教師應(yīng)該成為系統(tǒng)中的一個(gè)對(duì)象。(3) 選課記錄(course load)選課記錄也有身份,選課記錄可以被彼此區(qū)別,不會(huì)被搞混。例如,同一個(gè)人關(guān)于不同課程的選課記錄是不同的,同一門課程被不同學(xué)生的選課記錄也是不同的。(4)成績(jī)記錄(score load) 成績(jī)記錄也有身份的,成績(jī)記錄可以被彼此區(qū)別,不會(huì)被搞混

18、。例如,同一個(gè)人關(guān)于不同課程的成績(jī)記錄是不同的,同一門課程被不同學(xué)生的成績(jī)記錄也是不同的。上述4個(gè)類都是實(shí)體類,都是持久性的,需要存儲(chǔ)在數(shù)據(jù)庫(kù)中。本系統(tǒng)采用面向?qū)ο髷?shù)據(jù)庫(kù)9模型,為了便于從數(shù)據(jù)庫(kù)文件中引用和檢索對(duì)象,需要一個(gè)描述對(duì)象id的類。另外,由于上述4個(gè)類都是持久性類,因此還可以抽象出一個(gè)代表持久性的父類,該類實(shí)現(xiàn)了面向?qū)ο髷?shù)據(jù)庫(kù)文件的讀、寫、存儲(chǔ)、檢索、刪除、更新等操作。綜上所述,系統(tǒng)中還應(yīng)該有兩個(gè)與數(shù)據(jù)庫(kù)有關(guān)的類:對(duì)象id(oid)和持久類(persistent)(5)類persistent類persistent是類student、teacher、course load的父類。類pe

19、rsistent為商業(yè)對(duì)象的持久存儲(chǔ)提供了支持,它的子類必須實(shí)現(xiàn)從數(shù)據(jù)庫(kù)文件中讀、寫對(duì)象屬性的操作。(6) 類oid實(shí)現(xiàn)了對(duì)象id。類oid的對(duì)象可用來引用系統(tǒng)中的持久10對(duì)象,使得從數(shù)據(jù)庫(kù)文件中引用和檢索對(duì)象變得容易。抽象出系統(tǒng)中的類后,需要確定這些對(duì)象的屬性和行為??梢愿鶕?jù)前述的系統(tǒng)需求分析、用例圖、用例的事件流描述和描述腳本的交互作用圖,來確定并細(xì)化系統(tǒng)中的類、類的操作和屬性。下面對(duì)系統(tǒng)中的類、類的屬性及操作逐一進(jìn)行描述。(未標(biāo)注返回值類型的方法使用缺省返回類型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在定義類、類的方法和屬性時(shí),建立動(dòng)態(tài)模型的時(shí)序圖是很有幫助的,類圖和時(shí)序圖的建立是相輔相成的,因?yàn)闀r(shí)序圖中出現(xiàn)的消息基本上都會(huì)成為類中的方法,因此在設(shè)計(jì)階段繪制系統(tǒng)的時(shí)序圖時(shí),要盡量使用類的已識(shí)別出的方法來描述消息11,若出現(xiàn)無法用類的已識(shí)別出的方法來描

21、述的消息,就要考慮消息是否是類的一個(gè)待識(shí)別的方法,若是,就要將這個(gè)方法及時(shí)添加到類的操作類表中,并用這個(gè)新方法來描述消息。3.2 定義用戶界面類通過對(duì)系統(tǒng)的不斷分析和細(xì)化,可識(shí)別出下述界面類、類的操作和屬性。(1) 類mainwindowmainwindow是系統(tǒng)的主界面,不同的用戶登陸界面不一樣。系統(tǒng)的主界面具有菜單和菜單項(xiàng),當(dāng)選擇不同的菜單項(xiàng)時(shí),用戶可以執(zhí)行不同的操作。當(dāng)程序退出時(shí),主界面窗口關(guān)閉。(2) 類studentdialog界面類studentdialog是進(jìn)行操作“添加學(xué)生”、“修改學(xué)生”或“刪除學(xué)生”時(shí)所需的對(duì)話框。當(dāng)選擇主窗口中的菜單項(xiàng)“添加學(xué)生”時(shí),對(duì)話框彈出,學(xué)生成績(jī)管

22、理員輸入學(xué)生信息,然后單擊按鈕“添加”,系統(tǒng)創(chuàng)建學(xué)生賬戶并將之存儲(chǔ)在系統(tǒng)中。當(dāng)選擇菜單項(xiàng)“修改學(xué)生”或“刪除學(xué)生”時(shí),對(duì)話框findsdialog彈出,學(xué)生成績(jī)管理員輸入要修改或刪除的學(xué)生的studentid,單擊按鈕“ok”提交。系統(tǒng)查詢數(shù)據(jù)庫(kù)檢索到學(xué)生信息后彈出對(duì)話框studentdialog,顯示學(xué)生的詳細(xì)信息,如若是“修改學(xué)生”,學(xué)生成績(jī)管理員編輯修改學(xué)生的有關(guān)信息,然后單擊按鈕“更新”,更新系統(tǒng)中存儲(chǔ)的學(xué)生信息;如若是“刪除學(xué)生”,學(xué)生成績(jī)管理員則單擊按鈕“刪除”,系統(tǒng)刪除所存儲(chǔ)的該學(xué)生信息,當(dāng)然,與該學(xué)生有關(guān)的其他信息業(yè)也一并刪除。(3) 類findsdialog界面類findsd

23、ialog是用來根據(jù)學(xué)生id號(hào)查找學(xué)生的對(duì)話框。當(dāng)主窗口中的菜單項(xiàng)“刪除學(xué)生”或“修改學(xué)生”被選擇時(shí),該對(duì)話框彈出,學(xué)生成績(jī)管理員輸入學(xué)生id,單擊按鈕“ok”,系統(tǒng)查詢數(shù)據(jù)庫(kù)中具有指定id號(hào)的學(xué)生信息。(4) 類teacherdialog界面類teacherdialog是進(jìn)行操作“添加教師”、“修改教師”或“刪除教師”時(shí)所需的對(duì)話框。當(dāng)選擇主窗口中的菜單項(xiàng)“添加教師”時(shí),對(duì)話框彈出,學(xué)生成績(jī)管理員輸入教師信息,然后單擊按鈕“添加”,系統(tǒng)創(chuàng)建教師帳戶并將之存儲(chǔ)在系統(tǒng)中。當(dāng)選擇菜單項(xiàng)“修改教師”或“刪除教師”時(shí),對(duì)話框findtdialog彈出,學(xué)生成績(jī)管理員輸入要修改或刪除的教師,單擊按鈕“o

24、k”提交。系統(tǒng)查詢數(shù)據(jù)庫(kù)獲取教師信息后彈出對(duì)話框teacherdialog,顯示教師的詳細(xì)信息,如若是“修改書種”,學(xué)生成績(jī)管理員編輯修改教師的有關(guān)信息,然后單擊按鈕“更新”,更新系統(tǒng)中存儲(chǔ)的教師信息;如若是“刪除教師”,學(xué)生成績(jī)管理員則單擊按鈕“刪除”,該教師信息從系統(tǒng)中刪除,與該教師有關(guān)的其他信息也一并刪除。(5) 類findtdialog界面類findtdialog是用來根據(jù)教師id查找教師的對(duì)話框。當(dāng)主窗口中的菜單項(xiàng)“刪除教師”或“修改教師”被選擇時(shí),該對(duì)話框彈出,學(xué)生成績(jī)管理員輸入教師id,單擊按鈕“ok”,系統(tǒng)查詢數(shù)據(jù)庫(kù)中具有指定id號(hào)的教師信息。(6) 類inpudialog界面

25、類inpudialog是進(jìn)行輸入成績(jī)操作或更改成績(jī)操作時(shí)所需的對(duì)話框。當(dāng)主窗口中的菜單項(xiàng)“輸入”被選擇時(shí),該對(duì)話框彈出,教師輸入分?jǐn)?shù),然后單擊按鈕“ok”,輸入動(dòng)作被確認(rèn),系統(tǒng)創(chuàng)建并保存成績(jī)記錄。當(dāng)選擇菜單項(xiàng)“更改成績(jī)”時(shí),也彈出該對(duì)話框,教師輸入學(xué)號(hào),修改相應(yīng)信息,然后單擊按鈕“更改”,系統(tǒng)中的更新記錄。(7) 類rescdialog界面類rescdialog是進(jìn)行操作“選課”或“取消選課”時(shí)所需的對(duì)話框。當(dāng)主窗口中的菜單項(xiàng)“選課”被選擇時(shí),該對(duì)話框彈出,學(xué)生輸入要選課的信息,然后單擊按鈕“選課”,選課動(dòng)作被確認(rèn),系統(tǒng)創(chuàng)建并保存選課記錄。當(dāng)選擇菜單項(xiàng)“取消選課”時(shí),也彈出該對(duì)話框,學(xué)生輸入課

26、程名及信息,然后單擊按鈕“取消選課”,系統(tǒng)中的選課記錄被刪除。(8) 類messagewindow信息窗口類logindialog是用來顯示提示信息的對(duì)話框。(9) 類logindialog界面類logindialog是用來輸入用戶名和密碼的對(duì)話框。 類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 建立類圖識(shí)別出了系統(tǒng)中的類后,還要識(shí)別出類間的關(guān)系,然后就可以建立類圖了??蓪⑾到y(tǒng)中的類分為3個(gè)包:gui包、adminer包和db包。包gui由界面類組成,包adminer由實(shí)體類組

28、成,包db由與數(shù)據(jù)庫(kù)有關(guān)的類組成。包gui依賴于包adminer和包db,包adminer依賴于包db。圖3.18 系統(tǒng)包圖3.3.1 包gui中的界面類關(guān)系窗口messagewindow和對(duì)話框studentdialog、findsdialog、findtdialog、teacherdialog、inpudialog、rescdialog是主窗口mainwindow的一部分。它們之間存在組合關(guān)系。類logindialog與類mainwindow之間存在“一對(duì)一”的關(guān)聯(lián)關(guān)系。類findsdialog與類studentdialog之間是“一對(duì)一”的關(guān)聯(lián)關(guān)系。類findtdialog與類teach

29、erdialog之間的關(guān)系也是“一對(duì)一”的關(guān)聯(lián)關(guān)系。3.3.2 包adminer中的實(shí)體類關(guān)系類student、類teacher、類courseload、coreload都是永久類,它們都是包db中的類persistent的子類。類teacher與類student之間存在“多對(duì)多”的關(guān)聯(lián)關(guān)系,每個(gè)teacher對(duì)象至少有一個(gè)student對(duì)象,每個(gè)student對(duì)象至少對(duì)應(yīng)于一個(gè)teacher對(duì)象。類teacher與類courseload之間存在“一對(duì)多的關(guān)系,tudent與類courseload之間存在“一對(duì)多”的關(guān)聯(lián)關(guān)系,每個(gè)student對(duì)象可以沒有或可有多個(gè)courseload(選課)

30、,每個(gè)courseload(選課)可由多個(gè)student選課,學(xué)生與成績(jī)之間是一對(duì)多的關(guān)系,一個(gè)學(xué)生可以有多門課的成績(jī)。3.3.3 類rescdialog和其他類關(guān)系3.3.4 inpudialog和其他類的關(guān)系圖第4章 動(dòng)態(tài)行為模型系統(tǒng)的動(dòng)態(tài)行為模型由交互作用圖(時(shí)序圖和協(xié)作圖)、狀態(tài)圖、活動(dòng)圖描述。4.1 建立交互作用圖描述系統(tǒng)用例的主要場(chǎng)景的交互作用圖如下所示。4.1.1 添加學(xué)生“添加學(xué)生”的過程是:學(xué)生成績(jī)管理員選擇菜單項(xiàng)“添加學(xué)生”,對(duì)話框彈出,學(xué)生成績(jī)管理員輸入學(xué)生信息,提交,系統(tǒng)根據(jù)學(xué)生id號(hào)查詢數(shù)據(jù)庫(kù),看數(shù)據(jù)庫(kù)中是否已存在學(xué)生,若不存在,創(chuàng)建學(xué)生帳戶,并存儲(chǔ)學(xué)生信息?!疤砑訉W(xué)

31、生”的時(shí)序圖如圖4.1所示,學(xué)生成績(jī)管理員選擇菜單項(xiàng)“添加學(xué)生”,類mainwindow的方法addstudent()被調(diào)用,然后通過調(diào)用類studentdialog的方法createdialog()創(chuàng)建對(duì)話框,學(xué)生成績(jī)管理員輸入學(xué)生信息后,提交信息,類studentdialog的方法addstudentr()被調(diào)用,通過調(diào)用類student的findborrower()方法來確定該學(xué)生的帳戶是否已存在,若不存在,則調(diào)用類student的方法newstudent()為學(xué)生創(chuàng)建帳戶,并調(diào)用類student的方法store()存儲(chǔ)學(xué)生信息。圖4.1 添加學(xué)生時(shí)序圖4.1.2 刪除學(xué)生“刪除學(xué)生”的

32、過程是:學(xué)生成績(jī)管理員選擇菜單項(xiàng)“刪除學(xué)生”,查詢對(duì)話框彈出,學(xué)生成績(jī)管理員輸入學(xué)生id號(hào),系統(tǒng)查詢數(shù)據(jù)庫(kù),顯示學(xué)生信息(若學(xué)生信息不存在,顯示提示信息,結(jié)束刪除動(dòng)作),按下刪除按鈕,系統(tǒng)確定是否存在與該學(xué)生相關(guān)的信息記錄,若有,給出提示信息,結(jié)束刪除動(dòng)作;若沒有,查詢是否存在與該學(xué)生相關(guān)的選課記錄,若有,刪除選課記錄。然后從系統(tǒng)中刪除學(xué)生?!皠h除學(xué)生”的時(shí)序圖如圖4.2所示,學(xué)生成績(jī)管理員選擇菜單項(xiàng)“刪除學(xué)生”,類mainwindow的方法delstudent()被調(diào)用,然后通過調(diào)用類findsdialog的方法createdialog()創(chuàng)建對(duì)話框。學(xué)生成績(jī)管理員輸入學(xué)生id號(hào)后,提交信息

33、,類findsdialog的findstudent()方法被調(diào)用,通過調(diào)用類student的方法findstudent(id:string)來確定該學(xué)生的帳戶是否存在,若存在,返回student對(duì)象的oid,然后調(diào)用類studentdialog的方法createdialog(oid)顯示學(xué)生信息,在該方法執(zhí)行期間,發(fā)送消息getstudent(oid)給類student獲得學(xué)生信息。學(xué)生成績(jī)管理員單擊確認(rèn)按鈕刪除(若學(xué)生記錄非空,則該學(xué)生不能被刪除),實(shí)現(xiàn)方法如下。類studentdialog的delstudent()方法被調(diào)用,發(fā)送消息getnewsloans()判斷學(xué)生是否有與他有關(guān)的記錄

34、信息。如果有,則顯示提示信息,終止“刪除學(xué)生”的活動(dòng)(這個(gè)替代流未在圖中示出);如果沒有,類student的方法getnewsresc()被調(diào)用,返回學(xué)生的選課記錄的數(shù)目,如果返回值等于0,則跳過下述循環(huán),如果返回值非零對(duì)每個(gè)選課記錄都要執(zhí)行如下操作(也就是說此處是一個(gè)循環(huán)次數(shù)為選課記錄數(shù)的循環(huán),圖4.2所示描述的是選課記錄數(shù)為1的情況)。調(diào)用方法getcourseload()獲得制定索引的選課記錄,然后調(diào)用類reservecourse的方法getkind()獲得所選課的課程類kind對(duì)象,再調(diào)用類kind的方法delreserve course()刪除“選課記錄”,調(diào)用類reserve co

35、urse的方法delete()刪除“選課記錄”對(duì)象。最后調(diào)用類student的方法delete()刪除學(xué)生信息。圖4.2 刪除學(xué)生時(shí)序圖4.1.3 添加教師 “添加教師”的過程是:學(xué)生成績(jī)管理員選擇菜單項(xiàng)“添加教師”,對(duì)話框彈出,學(xué)生成績(jī)管理員輸入教師信息,提交,系統(tǒng)根據(jù)教師id號(hào)查詢數(shù)據(jù)庫(kù),看數(shù)據(jù)庫(kù)中是否已存在該教師,若不存在,創(chuàng)建教師帳戶,并存儲(chǔ)教師信息?!疤砑咏處煛钡臅r(shí)序圖如圖4.1所示,學(xué)生成績(jī)管理員選擇菜單項(xiàng)“添加教師”,類mainwindow的方法addteacher()被調(diào)用,然后通過調(diào)用類teacherdialog的方法createdialog()創(chuàng)建對(duì)話框,學(xué)生成績(jī)管理員輸入

36、學(xué)生信息后,提交信息,類teacherdialog的方法addteacher()被調(diào)用,通過調(diào)用類teacher的findteacher()方法來確定該教師的帳戶是否已存在,若不存在,則調(diào)用類student的方法newteacher()為學(xué)生創(chuàng)建帳戶,并調(diào)用類teacher的方法store()存儲(chǔ)教師信息。4.1.4 刪除教師“刪除教師”的過程如下?!皠h除教師”的過程是:學(xué)生成績(jī)管理員選擇菜單項(xiàng)“刪除教師”,查詢對(duì)話框彈出,學(xué)生成績(jī)管理員輸入教師id號(hào),系統(tǒng)查詢數(shù)據(jù)庫(kù),顯示教師信息(若教師信息不存在,顯示提示信息,結(jié)束刪除動(dòng)作),按下刪除按鈕,系統(tǒng)確定是否存在與該教師相關(guān)的信息記錄,若有,給出

37、提示信息,結(jié)束刪除動(dòng)作;若沒有,查詢是否存在與該教師相關(guān)的授課記錄,若有,刪除授課記錄。然后從系統(tǒng)中刪除學(xué)生?!皠h除教師”的時(shí)序圖如圖4.2所示,學(xué)生成績(jī)管理員選擇菜單項(xiàng)“刪除教師”,類mainwindow的方法delteacher()被調(diào)用,然后通過調(diào)用類findtdialog的方法createdialog()創(chuàng)建對(duì)話框。學(xué)生成績(jī)管理員輸入教師id號(hào)后,提交信息,類findtdialog的findteacher()方法被調(diào)用,通過調(diào)用類teacher的方法findteacher(id:string)來確定該教師的帳戶是否存在,若存在,返回教師對(duì)象的oid,然后調(diào)用類teacherdialog

38、的方法createdialog(oid)顯示教師信息,在該方法執(zhí)行期間,發(fā)送消息getteacher(oid)給類teacher獲得教師信息。學(xué)生成績(jī)管理員單擊確認(rèn)按鈕刪除(若教師記錄非空,則該教師不能被刪除),實(shí)現(xiàn)方法如下。類教師dialog的delteachert()方法被調(diào)用,發(fā)送消息getnewsloans()判斷教師是否有與他有關(guān)的記錄信息。如果有,則顯示提示信息,終止“刪除教師”的活動(dòng)(這個(gè)替代流未在圖中示出);如果沒有,類teacher的方法getnewsresc()被調(diào)用,返回教師的授課記錄的數(shù)目,如果返回值等于0,則跳過下述循環(huán),如果返回值非零對(duì)每個(gè)選課記錄都要執(zhí)行如下操作(

39、也就是說此處是一個(gè)循環(huán)次數(shù)為授課記錄數(shù)的循環(huán),圖4.2所示描述的是授課記錄數(shù)為1的情況)。調(diào)用方法getcourseload()獲得制定索引的授課記錄,然后調(diào)用類reservecourse的方法getkind()獲得所選課的課程類kind對(duì)象,再調(diào)用類kind的方法delreserve course()刪除“授課記錄”,調(diào)用類reserve course的方法delete()刪除“授課記錄”對(duì)象。最后調(diào)用類teacher的方法delete()刪除教師信息。圖4.4 刪除教師4.1.5 選課“選課”的過程是:學(xué)生選擇菜單項(xiàng)“選課”,對(duì)話框彈出,學(xué)生輸入要選課程名,提交。系統(tǒng)查詢數(shù)據(jù)庫(kù),確定該課程

40、否存在。若存在,查詢學(xué)生信息,確定學(xué)生是否能選,若能,創(chuàng)建并存儲(chǔ)選課記錄,并將選課記錄添加到學(xué)生信息中,若不能,提示信息;若不存在,則顯示提示信息,學(xué)生重新輸入選課課程名或中止選課操作。“選課”的時(shí)序圖如圖4.7所示。學(xué)生選擇菜單項(xiàng)“選課”,類mainwindow的reserve course()方法被調(diào)用,然后通過調(diào)用類resdialog的方法reserve course()被調(diào)用,發(fā)送消息findcourse()、findstudent()給類courseload和student查詢指定的課程信息和學(xué)生信息,返回滿足條件的student對(duì)象的oid,接著調(diào)用方法getstudent()返回

41、對(duì)應(yīng)oid的student對(duì)象。發(fā)送消息給reserve course,創(chuàng)建courseload對(duì)象,調(diào)用類reserve course的方法store()將選課記錄存儲(chǔ)到數(shù)據(jù)庫(kù)中。發(fā)送消息addcourse()給student,將選課記錄添加到學(xué)生信息中,然后調(diào)用類student的方法update()更新數(shù)據(jù)庫(kù)中的student對(duì)象。并存儲(chǔ)更改信息。圖如下:圖4.7 預(yù)定書刊4.1.6 取消選課“取消選課”的過程是:學(xué)生選擇菜單項(xiàng)“取消選課”,對(duì)話框彈出,學(xué)生輸入要取消選課的課程名,提交。系統(tǒng)查詢數(shù)據(jù)庫(kù),確定該課程否存在。若不存在,退出系統(tǒng)。查詢與之相關(guān)的信息,若存在相關(guān)信息,彈出提示信息,

42、刪除相關(guān)信息或終止刪除,退出系統(tǒng)。 學(xué)生選擇菜單項(xiàng)“取消選課”,類mainwindow的cancel course()方法被調(diào)用,然后通過調(diào)用類cancdialog的方法cancel course()被調(diào)用,發(fā)送消息findcourse()和findstudent()給類courseload和student查詢指定的課程信息和與之相關(guān)的學(xué)生信息,返回滿足條件的student對(duì)象的oid,接著調(diào)用方法getstudent()返回對(duì)應(yīng)oid的student對(duì)象。發(fā)送消息給cancel course,調(diào)用類cancel course的cancelnews()的方法刪除相關(guān)信息,再調(diào)用cancel c

43、ourse的方法store()將刪除記錄存儲(chǔ)到數(shù)據(jù)庫(kù)中。然后調(diào)用類student的方法update()更新數(shù)據(jù)庫(kù)中的student對(duì)象。并存儲(chǔ)更改信息。4.1.7輸入成績(jī)“輸入成績(jī)”的過程是:教師選擇菜單項(xiàng)“輸入成績(jī)”,對(duì)話框彈出,教師輸入要寫成績(jī)的學(xué)生名,提交。系統(tǒng)查詢數(shù)據(jù)庫(kù),確定該學(xué)生是否存在。存在,輸入成績(jī),更改相應(yīng)信息,并將輸入記錄添加到學(xué)生信息中。若不存在,彈出提示信息。教師重新輸入選課課程名或中止選課操作?!拜斎氤煽?jī)”的時(shí)序圖如下圖所示。教師選擇菜單項(xiàng)“輸入成績(jī)”,類mainwindow的inputscore()方法被調(diào)用,然后通過調(diào)用類inpuscore的方法inputscore

44、()被調(diào)用,發(fā)送消息findstudent()給類student查詢指定的學(xué)生信息,返回滿足條件的student對(duì)象的oid,接著調(diào)用方法getstudent()返回對(duì)應(yīng)oid的student對(duì)象。發(fā)送消息給inputscore(),創(chuàng)建scoreload對(duì)象,調(diào)用類inputscore的方法store()將選課記錄存儲(chǔ)到數(shù)據(jù)庫(kù)中。發(fā)送消息addscore()給student,將成績(jī)記錄添加到學(xué)生信息中,然后調(diào)用類student的方法update()更新數(shù)據(jù)庫(kù)中的student對(duì)象。并存儲(chǔ)更改信息。4.1.8更新成績(jī)“更改成績(jī)”的過程是:教師選擇菜單項(xiàng)“更改成績(jī)”,對(duì)話框彈出,教師輸入要更改成績(jī)的學(xué)生名,提交。系統(tǒng)查詢數(shù)據(jù)庫(kù),確定該學(xué)生是否存在。若不存在,退出系統(tǒng)。若存在,并查詢與之相關(guān)的信息,若存在相關(guān)信息,彈出提示信息,刪除相關(guān)信息并更改信息或終止刪除,退出系統(tǒng)。 教師選擇菜單項(xiàng)“更改成績(jī)”,類mainwindow的updata score()方法被調(diào)用,然后通過調(diào)用類inpudialog的方法updata score()被調(diào)用,發(fā)送消息findstudent()給類student查詢指定學(xué)生的信息,

溫馨提示

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

評(píng)論

0/150

提交評(píng)論