學生成績管理系統(tǒng)UML面向對象設計_第1頁
學生成績管理系統(tǒng)UML面向對象設計_第2頁
學生成績管理系統(tǒng)UML面向對象設計_第3頁
學生成績管理系統(tǒng)UML面向對象設計_第4頁
學生成績管理系統(tǒng)UML面向對象設計_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學生成績管理系統(tǒng)文檔 姓 名:李歡班級名稱:2013級軟件工程指導教師:王新年實驗日期:2014年4月日期版本描述作者<4/28/2014><1.0><Write use case specification for the “Maintain Information” use case><李歡>2014年4月- 49 -目 錄1. 概述- 4 -1.1 系統(tǒng)簡述- 4 -1.2 軟件設計目標- 5 -1.2.1功能目標- 5 -1.2.2性能目標- 6 -1.3 參考資料- 6 -2. 術語表- 6 -3. 設計概述(此處請用簡單的結

2、構化描述)- 7 -3.1 簡述- 7 -3.2 系統(tǒng)結構設計- 7 -4. 用例- 9 -4.1 用例圖- 9 -4.2 用例描述- 11 -4.3 系統(tǒng)界面- 13 -5. 對象模型- 19 -5.1 類定義- 19 -5.2 類關聯描述- 22 -5.3 對象模型圖- 23 -6. 對象數據字典描述- 24 -6.1 數據流描述- 24 -6.2 子系統(tǒng)中的對象- 26 -7. 動態(tài)模型- 37 -7.1 場景(Scenarios)- 37 -7.2事件定義(Events)- 38 -7.3 狀態(tài)圖- 42 -8. 數據庫定義- 43 -8.1概念結構設計- 43 -8.2邏輯結構設計-

3、 45 -8.3物理結構設計- 46 -9. 部署圖- 48 -10. 非功能性需求- 49 -1. 概述1.1 系統(tǒng)簡述隨著網絡通信技術的迅速發(fā)展和信息技術的廣泛應用,計算機的應用已普及到經濟和社會生活的各個領域。教育領域也不例外,現今已經出現了各種遠程網絡在線教育系統(tǒng)、圖書館管理系統(tǒng)、學籍管理系統(tǒng)其中學生成績管理是任一院校都不可缺少的部分,它的內容對于學校的決策者和教學管理者來說都至關重要,而傳統(tǒng)的人工管理方式效率較低,為數據的查詢、更新和維護代來了極大的不便。所以學生學籍管理信息系統(tǒng)的開發(fā)和應用是必要的,它能夠為管理人員提供充足的信息和快捷的查詢手段,提高學校學籍管理的效率。系統(tǒng)的可行性

4、分析(1)系統(tǒng)實施運行的可行性:各教師,學生都已熟練掌握計算機的基本實用方法和操作技能,對新系統(tǒng)的開發(fā),表現出極大的熱情。提出了很多好的建議和要求。(2)技術可行性:校園網已正常運行;開發(fā)人員已熟練掌握開發(fā)工具。技術上實現系統(tǒng)是可行的。(3)經濟可行性:校園內部局域網絡已經建成;硬件投入不需要很大。學生成績管理在大學里是一件非常耗時的活動,學校還面臨著給學生缺考的問題。在學生選擇那些課程后,教務處將這些信息輸入到一個計算機系統(tǒng),然后給沒一人打印一份課表和對應的成績表給學生。一旦給所有學生都登記好了成績,突然出現成績錯誤是,教務處就需要詢問學生以便得到其他選擇。改學生成績管理系統(tǒng)是一個面向學生,

5、教師用來進行對學生成績管理的管理信息系統(tǒng)。該信息系統(tǒng)能夠為師生提供各種管理服務:(1)學生成績查詢系統(tǒng)能夠為一定數目的學生提供服務,每個學生都能夠有唯一的賬號,每一個賬號包括個人的編號和個人信息,系統(tǒng)通過一個單獨的程序為學生提供服務,不需要人員的干預,這些服務包括:查詢成績、修改自己的密碼;(2)學生的成績需要教師對其進行錄入、修改或刪除,既學生不直 接與系統(tǒng)交互,教師代其與系統(tǒng)進行交互,當然教師也可以進行對成績的查詢;(3)而系統(tǒng)管理員主要負責的是對教忙或者學生的信息進行管理,并且管理員還得對本系統(tǒng)設置權限,或者可以通過師生的唯一賬號對成績進行查詢。運行環(huán)境簡述:1、硬件環(huán)境CPU:P4 3

6、.0 G以上內存:2GB硬盤:硬盤120G2、軟件環(huán)境數據庫: SQL Server 2005 應用服務器:Tomcat 6.0服務器開發(fā)平臺: Visual Studio 2008操作系統(tǒng): Windows 71.2 軟件設計目標系統(tǒng)管理員登錄系統(tǒng)后,通過身份驗證,能夠對學生的基本信息進行管理,包括如下:添加學生信息、查詢學生信息、修改學生信息、刪除學生信息。1.2.1功能目標 (1)輸入一個同學的姓名和學號,系統(tǒng)能夠輸出學生所在的學院、班級、成績等學生信息;(2)對于已經錄入學生成績管理系統(tǒng)的學生信息可以進行修改,例如:刪除、添加。對于沒有錄入學生成績管理系統(tǒng)的學生信息可以添加到系統(tǒng)(此項

7、功能的實現需要對用戶身份進行核查);(3)能夠對學生的信息進行保存,即退出系統(tǒng)時,成績成績不能丟失; (4)能夠登錄和退出系統(tǒng)。1.2.2性能目標能夠比較準確快捷地完成上述學生成績管理系統(tǒng)所要求的功能即可。(1)保證模型和代碼高度一致(2)支持多種語言(3)為團隊開發(fā)提供強有力的支持(4)支持模型的Internet發(fā)布(5)生成使用簡單且定制靈活的文檔(6)支持關系型數據庫的建模1.3 參考資料1 林.巴斯等. 軟件構架實踐. 清華大學出版社, 2003.82 張海藩. 軟件工程導論. 清華大學出版社, 2002.63 鄭人杰等. 實用軟件工程. 清華大學出版社, 2001.14 吳建,鄭潮等

8、. UML基礎與建模案例. 人民郵電出版社, 2005.62. 術語表對本文檔中所使用的各種專業(yè)術語、容易引起歧義的術語以及自定義的術語進行說明。如果一些術語在需求規(guī)格說明書中已經說明過了,此處不用再重復,可以指引讀者參考需求說明。術語說明類圖提供了對類及其關系進行建模的一種圖形化表示法關聯描述了有著共同的結構和語義的一組鏈接多重性指定一個類與其關聯類的單個實例可能相關的實例數目信號事件從一個對象到另一個對象的明確的單向信息流動變更事件由滿足布爾表達式而引起的事件時間事件在絕對時間上或在某個時間間隔內發(fā)生的事情所引起的事件遷移從一個狀態(tài)到另一個狀態(tài)的瞬時變化場景系統(tǒng)在某個特定的執(zhí)行期內所發(fā)生的

9、一系列事件3. 設計概述3.1 簡述生成績管理系統(tǒng)是專門針對學校所開發(fā)的一種以管理為基礎的信息管理系統(tǒng),它涵蓋成績管理服務的所有環(huán)節(jié),將原始的人工統(tǒng)計方法轉換為先進的電腦管理模式。UML的目標是以面向對象圖的方式來描述任何類型的系統(tǒng),具有很寬的應用領域。其中最常用的是建立軟件系統(tǒng)的模型,但它同樣可以用于非軟件領域的系統(tǒng),如機械系統(tǒng)、企業(yè)機構或業(yè)務過程,以及處理復雜數據的信息系統(tǒng)、具有實時要求的工業(yè)系統(tǒng)或工業(yè)過程等。UML是一個通用的標準建模語言,可以對任何具有靜態(tài)結構和動態(tài)行為的系統(tǒng)進行建模。此外,UML適用于系統(tǒng)開發(fā)過程中從需求規(guī)格描述到系統(tǒng)完成后測試的不同階段。在需求分析階段,可以用用例來

10、捕獲用戶需求。通過用例建模,描述對系統(tǒng)感興趣的外部角色及其對系統(tǒng)(用例)的功能要求。分析階段主要關心問題域中的主要概念(如抽象、類和對象等)和機制,需要識別這些類以及它們相互間的關系,并用UML類圖來描述。總之,標準建模語言UML適用于以面向對象技術來描述任何類型的系統(tǒng),而且適用于系統(tǒng)開發(fā)的不同階段,從需求規(guī)格描述直至系統(tǒng)完成后的測試和維護。3.2 系統(tǒng)結構設計Rational Unified Process(RUP,統(tǒng)一開發(fā)過程)是一套面向對象的軟件工程過程。RUP說明了如何有效地使用成熟技術開發(fā)軟件。RUP中有9個核心工作流,分為6個核心過程工作流(Core Process Workflo

11、ws)和3個核心支持工作流(Core Supporting Workflows)。9個核心工作流在項目中輪流被使用,在每一次迭代中以不同的重點和強度重復。業(yè)務建模(Business Modeling)理解系統(tǒng)的組織結構及其商業(yè)運作,確保所有參與人員對開發(fā)系統(tǒng)有共同的認識。3.2.1 頂層系統(tǒng)結構學生管理系統(tǒng)邏輯流程圖如下圖所示:學生成績管理系統(tǒng)管理員登入學生成績查詢系統(tǒng)學生成績管理系統(tǒng)學生成績的錄入學生成績的修改學生成績的刪除查 詢 條 件 學生成績的排序學生成績的分類學生成績及其他相關信息數 據 保 存退 出 系 統(tǒng)圖3.1 學生管理系統(tǒng)邏輯流程圖頂層數據流圖,如圖3.2所示: 圖3.2 頂

12、層數據流圖3.2.2 子系統(tǒng)結構 圖3.3 學生成績管理數據流圖4. 用例本系統(tǒng)是一個學生成績管理系統(tǒng),主要功能是為教師和學生方便查詢成績。下面使用了用例圖的方式表現了整個系統(tǒng)的所有功能。4.1 用例圖1參與者:管理員、教師、學生2管理員用例圖:圖4.1 管理員用例圖3教師用例圖圖4.2 管理員用例圖4學生用例圖圖4.3 管理員用例圖4.2 用例描述用例1:學生查詢成績學生在瀏覽過程中,選中相應操作。參與者學生、成績管理系統(tǒng)前置條件用戶身份驗證。后置條件若學生登錄成功,且成績查詢無誤,則該學生可以關閉該窗口,根據自己的意愿進行其他相關操作;如果登錄不成功則終止操作。工作流描述1.系統(tǒng)確認用戶已

13、登錄;2.學生瀏覽想要查詢的成績;3.確認成績無誤,關閉該窗口;4.若成績有誤,直接向系統(tǒng)提出修改申請;5.由系統(tǒng)進行數據庫查詢,核實成績,把修改結果反饋給學生;6.系統(tǒng)提示已批閱申請;7.學生再次查看成績,確認無誤;8.退出系統(tǒng)。例外學生忘記登錄密碼、找回密碼限制學生只能查詢自己的成績注釋無表4.1 學生查詢成績用例描述用例2:教師錄入學生成績教師錄入相關學生的成績到系統(tǒng)內。參與者教師、成績管理系統(tǒng)前置條件學生成績管理系統(tǒng)正常運行,用戶身份驗證通過。后置條件若管理員登陸成功,則教師可將相關學生的成績錄入到系統(tǒng);否則管理員不可執(zhí)行該操作。工作流描述1.教師進入學生成績管理系統(tǒng);2.教師進入成績

14、管理界面;3.教師輸入相應成績;4.教師提交信息;5.系統(tǒng)輸出添加成功提示。例外教師忘記登錄密碼、找回密碼限制教師只能錄入自己學生的成績注釋無表4.2 教師錄入學生成績用例描述用例3:管理員修改信息管理員修改相應用戶信息參與者管理員、成績管理系統(tǒng)前置條件學生成績管理系統(tǒng)正常運行,用戶身份驗證通過。后置條件若管理員登陸成功,且相應用戶信息存在,則管理員可以修改相應用戶信息;否則管理員不可執(zhí)行該操作。工作流描述1.管理員進入學生成績管理系統(tǒng)后臺;2.管理員進入用戶管理界面;3.管理員搜索相應用戶,點擊修改按鈕;4.管理員修改用戶信息;5.管理員提交信息;6.系統(tǒng)輸出修改成功提示。例外管理員忘記登錄

15、密碼、找回密碼限制管理員不能超越自己的權限進行修改注釋系統(tǒng)只有一個超級管理員表4.3 管理員修改信息用例描述用例4:用戶登錄用戶根據自己的用戶名和密碼,登錄到成績管理系統(tǒng)。參與者學生、教師、管理員、成績管理系統(tǒng)前置條件學生成績管理系統(tǒng)正常運行,用戶身份驗證通過。后置條件若用戶登陸成功,該用戶可進行權限范圍內的相關操作;否則終止登錄。工作流描述用戶啟動系統(tǒng); 系統(tǒng)提示用戶輸入用戶名和密碼;用戶輸入用戶名和密碼; 系統(tǒng)進行驗證,給出驗證信息;若通過,用戶選擇相關信息進行修改查詢 系統(tǒng)允許進行權限范圍內的相關操作; 若不通過 系統(tǒng)進入錯誤界面,并輸出提示信息。例外用戶忘記登錄密碼、找回密碼限制用戶不

16、能超越自身權限進行某些操作注釋無表4.4 用戶登錄用例描述4.3 系統(tǒng)界面(1) 查詢所有學生成績部分:可以查詢所有學生的成績。如圖4.4所示:圖4.4 查詢所有學生成績(2) 按學號查詢成績:輸入要查詢的學生學號,點擊查詢就可以查看學生的學號、姓名、課程的名稱和對應的成績,并且會計算該學生的平均分。如圖4.5所示: 圖4.5 按學號查詢學生成績(3) 按課程查詢學生成績:選擇要查詢的課程,點查詢,就可以查看選擇該課程的學生學號、姓名和對應的成績,并且可以查看該們課程的最高分,最低分和平均分。如圖4.6所示:圖4.6 按課程查詢學生成績(4) 單個學生成績錄入:輸入學生學號,選擇課程,輸入對應

17、的分數,如果該學生這門課分數不為空,則不能添加,提示相應的錯誤信息,如果該學生這門課分數為空,則可添加。如圖4.7所示:圖4.7 單個學生成績錄入(5) 批量學生成績錄入:選擇課程,則會顯示出選擇了這門課的所有學生學號,姓名和成績,就課進行成績錄入。如圖4.8所示:圖4.8 批量學生成績錄入 (6) 學生成績修改:輸入要修改的學生的學號,選擇要修改的課程,該學生之前的成績就顯示出來,再進行修改成績。如圖5.9所示:圖4.9 學生成績修改(7) 學生成績刪除:輸入要刪除的學生的學號,選擇要刪除的課程,點擊刪除按鈕,就可以改學生該們課程的成績,成功就提示成功刪除,否則提示相應的錯誤信息。如圖4.1

18、0所示:圖4.10 學生成績刪除5. 對象模型5.1 類定義在類圖中類用矩形框來表示,它的屬性和操作分別列在分格中。如不需要表達詳細信息時,分格可以省略。一個類可能出現在好幾個圖中。同一個類的屬性和操作可只在一種圖中列出,在其他圖中可省略。關系用類框之間的連線來表示,不同的關系用連線上和連線端頭處的修飾符來區(qū)別。系統(tǒng)類:(1) Students(學生類)屬性:學號、姓名、性別、出生年月、專業(yè)、家庭住址、聯系方式方法:設置學號、獲得學號、設置姓名、獲得姓名、設置性別、獲得性別、設置出生年月、獲得出生年月、設置專業(yè)、獲得專業(yè)、設置家庭住址、獲得家庭住址、設置聯系方式、獲得聯系方式(2) Teach

19、ers(教師類)屬性:教師號、姓名、性別、出生年月、院系、家庭住址、聯系方式方法:設置教師號、獲得教師號、設置姓名、獲得姓名、設置性別、獲得性別、設置出生年月、獲得出生年月、設置院系、獲得院系、設置家庭住址、獲得家庭住址、設置聯系方式、獲得聯系方式(3) Manager(管理員類)屬性:帳號、密碼、身份方法:設置帳號、獲得帳號、設置密碼、獲得密碼、設置身份、獲得身份(4) Courses(課程類)屬性:課程號、課程名稱、開課學期、學時、學分方法:設置課程號、獲得課程號、設置課程名稱、獲得課程名稱、設置開課學期、獲得開課學期、設置學時、獲得學時、設置學分、獲得學分(5) Grades(成績類)屬

20、性:學號、課程號、成績方法:設置學號、獲得學號、設置課程號、獲得課程號、設置成績、獲得成績學生類、教師類和管理員類繼承自Person類,其類圖如下:圖5.1 Person類繼承關系圖系統(tǒng)成績管理整體類圖如下圖所示:圖5.2 系統(tǒng)整體類圖成績和課程類圖:圖5.3 成績與課程類圖5.2 類關聯描述類關聯描述如下表所示:類關聯關聯關系意義1學生與課程1:1一個學生查看當前課程成績2教師與課程n:n一個教師教授多門課程;一門課程被多位老師教授3學生與成績 1:n一個學生可以查看多門成績4教師與成績1:n一個教師可以給他教授的多門課程錄入成績5管理員與成績1:n管理員可以修改任何輸入有誤的成績表5.1

21、類關聯表5.3 對象模型圖圖5.4 對象模型圖6. 對象數據字典描述數據流圖表達了數據和處理的關系,數據字典則是系統(tǒng)中各類數據描述的集合,是進行詳細的數據收集和數據分析所獲得的主要成果。數據字典在數據庫設計中占有很重要的地位。數據字典通常包括數據項、數據結構、數據流、數據存儲和處理過程5個部分。其中數據項是最小組成單位,若干個數據項可以組成一個數據結構,數據字典通過對數據項和數據結構的定義來描述數據流、數據存儲的邏輯內容。6.1 數據流描述數據流編號:A01 數據流名稱:查詢所有學生成績 簡述:有學生選課記錄并有成績 數據流來源:點擊查詢所有學生成績按鈕,訪問數據庫,顯示所有學生的成績 數據流

22、去向:數據庫中存在的表的信息 數據流組成:學生學號+姓名+課程名稱+成績 數據流編號:A02 數據流名稱:按學號查詢成績 簡述:該學生存在 數據流來源:輸入要查詢的學生學號,點擊查詢,根據要求訪問數據庫,顯示該學生所選的所有課的成績并計算平均分 數據流去向:數據庫中存在的表的信息 數據流組成:學號+姓名+課程名稱+成績 數據流編號:A03 數據流名稱:按課程查詢成績 簡述:該課程存在并且有人選擇這么課程 數據流來源:選擇要查詢的課程,點擊查詢,根據要求訪問數據庫,顯示選擇了這么課程的所有學生的學號、姓名和分數,并且計算最高分、最低分、平均分 數據流去向:數據庫中表的信息 數據流組成:課程名+學

23、號+姓名+成績 數據流編號:A04 數據流名稱:單個學生成績錄入 簡述:該學生存在并且選修了選中的課程 數據流來源:輸入學號并選擇課程,輸入成績,點擊錄入成績,如果錄入成功則顯示添加成功,否則顯示相應的錯誤信息 數據流去向:數據庫中表的信息 數據流組成:學號+課程+成績+錄入 數據流編號:A05 數據流名稱:批量學生成績錄入 簡述:該課程存在并且有學生選擇這門課程 數據流來源:選擇要添加成績的課程,則會出現選擇了這么課程的所有學生的學號、姓名,在成績那一欄添加成績,添加完成后點擊錄入成績,成功則顯示成績添加成功,否則提示相應的錯誤信息 數據流去向:數據庫中表的信息 數據流組成:課程名稱+學號+

24、姓名+成績+錄入 數據流編號:A06 數據流名稱:學生成績修改 簡述:要修改的學生存在,選修了相應的課程,并且之前有成績 數據流來源:輸入要修改的學生的學號,選擇要修改的課程,就會顯示該學生的成績,修改該成績,修改完成后點擊修改,成功就會提示修改成功,否則就提示相應的錯誤信息 數據流去向:數據庫中表的信息 數據流組成:學號+課程+成績+修改 數據流編號:A07 數據流名稱:學生成績刪除 簡述:該學生存在并且選修了該課程 數據流來源:輸入要刪除的學生的學號,選擇要刪除的課程,點擊刪除,成功就會提示成功刪除,否則就提示相應的錯誤信息 數據流去向:數據庫中表的信息 數據流組成:學號+課程+刪除6.2

25、 子系統(tǒng)中的對象6.2.1 對象:Student用途:記錄學生基本信息約束:臨時對象持久性:從學生登錄到退出6.2.1.1 屬性描述:1. 屬性:Name類型:String描述:學生姓名約束:無2. 屬性:Sex類型:String描述:學生性別約束:無3. 屬性:Birth類型:Date描述:學生生日約束:無4. 屬性:Major類型:String描述:學生所學專業(yè)約束:無5. 屬性:Address類型:String描述:學生家庭住址約束:無6.2.1.2 方法描述:1. 方法:SetName返回類型:void參數:Name返回值:無讀取/修改的屬性:修改調用的方法:無2. 方法:GetNam

26、e返回類型:Name參數:無返回值:Name屬性值讀取/修改的屬性:讀取調用的方法:無3. 方法:SetSex返回類型:void參數:Sex返回值:無讀取/修改的屬性:修改調用的方法:無4. 方法:GetSex返回類型:Sex參數:無返回值:Sex屬性值讀取/修改的屬性:讀取調用的方法:無5. 方法:SetBirth返回類型:void參數:Birth返回值:無讀取/修改的屬性:修改調用的方法:無6. 方法:GetBirth返回類型:Birth參數:無返回值:Birth屬性值讀取/修改的屬性:讀取調用的方法:無7. 方法:SetMajor返回類型:void參數:Major返回值:無讀取/修改的屬

27、性:修改調用的方法:無8. 方法:GetMajor返回類型:Major參數:無返回值:Major屬性值讀取/修改的屬性:讀取調用的方法:無9. 方法:SetAddress返回類型:void參數:Address返回值:無讀取/修改的屬性:修改調用的方法:無10. 方法:GetAddress返回類型:Address參數:無返回值:Address屬性值讀取/修改的屬性:讀取調用的方法:無6.2.2 對象:Teacher用途:記錄教師基本信息約束:臨時對象持久性:從教師登錄到退出6.2.2.1 屬性描述:1. 屬性:Name類型:String描述:教師姓名約束:無2. 屬性:Sex類型:String描

28、述:教師性別約束:無3. 屬性:Birth類型:Date描述:教師生日約束:無4. 屬性:College類型:String描述:教師所在學院約束:無5. 屬性:Address類型:String描述:教師家庭住址約束:無6.2.2.2 方法描述:1. 方法:SetName返回類型:void參數:Name返回值:無讀取/修改的屬性:修改調用的方法:無2. 方法:GetName返回類型:Name參數:無返回值:Name屬性值讀取/修改的屬性:讀取調用的方法:無3. 方法:SetSex返回類型:void參數:Sex返回值:無讀取/修改的屬性:修改調用的方法:無4. 方法:GetSex返回類型:Sex參

29、數:無返回值:Sex屬性值讀取/修改的屬性:讀取調用的方法:無5. 方法:SetBirth返回類型:void參數:Birth返回值:無讀取/修改的屬性:修改調用的方法:無6. 方法:GetBirth返回類型:Birth參數:無返回值:Birth屬性值讀取/修改的屬性:讀取調用的方法:無7. 方法:SetCollege返回類型:void參數:Major返回值:無讀取/修改的屬性:修改調用的方法:無8. 方法:GetCollege返回類型:College參數:無返回值:College屬性值讀取/修改的屬性:讀取調用的方法:無9. 方法:SetAddress返回類型:void參數:Address返回

30、值:無讀取/修改的屬性:修改調用的方法:無10. 方法:GetAddress返回類型:Address參數:無返回值:Address屬性值讀取/修改的屬性:讀取調用的方法:無6.2.3 對象:Manager用途:記錄用戶基本信息約束:永久對象持久性:系統(tǒng)初始化時創(chuàng)建并一直存在,直到人為銷毀6.2.3.1 屬性描述:1. 屬性:Account類型:String描述:用戶登錄帳號(學生、教師或管理員)約束:無2. 屬性:Password類型:String描述:登錄密碼約束:無3. 屬性:Identity類型:Enum描述:UserStudent,UserTeacher,UserManager約束:無

31、6.2.3.2 方法描述:1. 方法:SetAccount返回類型:void參數:Account返回值:無讀取/修改的屬性:修改調用的方法:無2. 方法:GetAccount返回類型:Account參數:無返回值:Account屬性值讀取/修改的屬性:讀取調用的方法:無3. 方法:SetPassword返回類型:void參數:Password返回值:無讀取/修改的屬性:修改調用的方法:無4. 方法:GetPassword返回類型:Password參數:無返回值:Password屬性值讀取/修改的屬性:讀取調用的方法:無5. 方法:SetIdentity返回類型:void參數:Identity返

32、回值:無讀取/修改的屬性:修改調用的方法:無6. 方法:GetIdentity返回類型:Identity參數:無返回值:Identity屬性值讀取/修改的屬性:讀取調用的方法:無6.2.4 對象:Course用途:記錄課程基本信息約束:永久對象持久性:從系統(tǒng)初始化到課程生命周期結束(學校不再開授此課)6.2.4.1 屬性描述:1. 屬性:Name類型:String描述:課程名稱約束:無2. 屬性:Term類型:String描述:本課程開課學期約束:無3. 屬性:Time類型:int描述:本課程開課學時約束:無4. 屬性:Score類型:String描述:該課程學分約束:無6.2.4.2 方法描

33、述:1. 方法:SetName返回類型:void參數:Name返回值:無讀取/修改的屬性:修改調用的方法:無2. 方法:GetName返回類型:Name參數:無返回值:Name屬性值讀取/修改的屬性:讀取調用的方法:無3. 方法:SetTerm返回類型:void參數:Term返回值:無讀取/修改的屬性:修改調用的方法:無4. 方法:GetTerm返回類型:Term參數:無返回值:Term屬性值讀取/修改的屬性:讀取調用的方法:無5. 方法:SetTime返回類型:void參數:Time返回值:無讀取/修改的屬性:修改調用的方法:無6. 方法:GetTime返回類型:Time參數:無返回值:Ti

34、me屬性值讀取/修改的屬性:讀取調用的方法:無7. 方法:SetScore返回類型:void參數:Score返回值:無讀取/修改的屬性:修改調用的方法:無8. 方法:GetScore返回類型:Score參數:無返回值:Score屬性值讀取/修改的屬性:讀取調用的方法:無7. 動態(tài)模型這部分的作用是描述系統(tǒng)如何響應各種事件。例如,可以建立系統(tǒng)的行為模型。一般使用順序圖和狀態(tài)圖。確定不同的場景(Scenario)是第一步,不需要確定所有可能的場景,但是必須至少要覆蓋典型的系統(tǒng)用例。不要自己去想當然地創(chuàng)造場景,通常的策略是描述那些客戶可以感受得到的場景。7.1 場景(Scenarios)7.1.1

35、場景:學生登錄系統(tǒng)描述:學生登錄系統(tǒng)以查詢所修課程成績動作1:登錄系統(tǒng)動作2:查詢成績7.1.2 場景:教師登錄系統(tǒng)描述:教師登錄系統(tǒng)以錄入各個學生所修課程成績動作1:登錄系統(tǒng)動作2:錄入成績7.1.3 場景:管理員登錄系統(tǒng)描述:管理登錄系統(tǒng)以更改學生信息、教師信息或者成績信息動作1:登錄系統(tǒng)動作2:修改信息動作3:刪除信息7.2事件定義(Events)(1) 登錄學生、教師或管理員通過輸入登錄界面上顯示的用戶名和密碼,系統(tǒng)與數據庫中的數據進行校驗,如果一致,則在登錄界面提示成功登錄的信息,進而讓用戶進入系統(tǒng)。(2) 成績查詢學生成績的信息查詢等。學生向系統(tǒng)提供課程名或課程編號,數據庫查詢后返

36、回對應的課程成績。(3) 錄入成績教師將按照課程編號對每位選修了該課程的學生錄入成績,錄入成績后相應的課程則可查看或修改成績。(4) 刪除信息管理員可以刪除退學或者畢業(yè)的學生信息,也可以刪除學校已經不再教授的課程信息。(5) 退出學生、教師或管理員完成了想要完成的操作后,點擊退出系統(tǒng)按鈕,系統(tǒng)則清除用戶名和緩存,然后返回登錄界面,以等待學生、教師或管理員的下次登錄。管理員管理學生信息順序圖:圖7.1 修改學生信息順序圖圖7.2 刪除學生信息順序圖教師錄入學生成績信息順序圖:圖7.3 教師錄入學生成績順序圖教師修改學生成績順序圖:7.4 教師修改學生成績順序圖學生查詢成績序列圖:7.5 學生查詢

37、成績順序圖7.3 狀態(tài)圖描述類的對象所有可能的狀態(tài),以及事件發(fā)生時狀態(tài)的轉移條件??梢圆东@對象、子系統(tǒng)和系統(tǒng)的生命周期。他們可以告知一個對象可以擁有的狀態(tài),并且事件(如消息的接收、時間的流逝、錯誤、條件變?yōu)檎娴?會怎么隨著時間的推移來影響這些狀態(tài)。一個狀態(tài)圖應該連接到所有具有清晰的可標識狀態(tài)和復雜行為的類;該圖可以確定類的行為,以及該行為如何根據當前的狀態(tài)變化,也可以展示哪些事件將會改變類的對象的狀態(tài)。狀態(tài)圖是對類圖的補充。管理員狀態(tài)圖:圖7.6 管理員狀態(tài)圖教師狀態(tài)圖:圖7.7 教師狀態(tài)圖學生狀態(tài)圖:圖7.8 學生狀態(tài)圖8. 數據庫定義8.1概念結構設計在需求分析階段所得到的應用需求應該首先

38、抽象為信息世界的結構,才能更好地、更準確地用某一DBMS實現這些需求。概念結構能真實、充分地反應顯示世界,包括事物和事物之間的聯系,能滿足用戶對數據的處理要求,是對現實世界的一個真實模型;易于理解,從而可以用它不熟悉計算機的用戶交換意見,永不的積極參與是數據可設計成功的關鍵;易于更改,當應用環(huán)境和應用要求改變時,容易對概念模型修改和擴充;易于向關心、網狀、層次等各種數據模型轉化。概念結構是各種數據模型的共同基礎,它比數據模型更獨立于機器、更抽象,從而更加穩(wěn)定。8.1.1概念設計階段的任務與目標 (1)選擇中層數據流為切入點,通常選中實際系統(tǒng)中的子系統(tǒng) (2)逐一設計分E-R圖 (3)生成初步E

39、-R圖,通過合并方法,做到各子系統(tǒng)尸體、屬性、聯系統(tǒng)一 (4)生成全局E-R圖,消除沖突和不必要的冗余8.1.2 E-R圖 觀察實體下的所有屬性,能唯一標識學生這個實體的只有學號這個屬性,故學號就是學生這個實體集的主鍵。同樣唯一標識課程這個實體的只有課程號這個屬性,故課程號成為課程這個實體集的主鍵。學生信息E-R圖如下: 圖8.1 學生信息 課程信息E-R圖如下: 圖8.2 課程信息8.1.2.1 實體及其聯系圖 實體學生、實體課程及關系的E-R圖: 圖8.3 總體E-R圖8.1.3 各E-R圖實體的屬性: 學生信息(學號,姓名,性別,出生時間,家庭地址,專業(yè),總學分,備注) 課程信息(課程號

40、,課程名稱,開課學期,學時,學分)8.2邏輯結構設計概念結構是獨立于任何一種數據模型的信息結構。邏輯結構設計的任務就是把概念結構設計階段設計好的基本E-R圖轉換為與選用DBMS產品所支持的數據模型相符合的邏輯結構。從理論上將,設計邏輯結構應該選擇最適于相應概念結構的數據模型,然后對支持這種數據模型的各種DBMS進行比較,從中選出最合適的DBMS。但實際情況往往是已給定了某種DBMS,設計人員沒有選擇的余地。目前DBMS產品一般支持關系、網狀、層次三種模型中的某一種,對某一種數據模型,各個機器系統(tǒng)又有許多不同的限制,提供不同的環(huán)境與工具。所以邏輯結構設計一般要分3步進行:(1) 將概念結構轉換為

41、一般的關系、網狀、層次模型;(2) 將轉換來的關系、網狀、層次模型向特定DBMS支持下的數據模型轉換;(3) 對數據模型進行優(yōu)化。8.2.1 邏輯結構設計的任務與目標 根據上面的數據庫E-R圖,現在需要將上面的數據庫概念結構轉化為SQL Server2008數據庫系統(tǒng)所支持的實際數據模型,也就是數據庫的邏輯結構。在上面的實體及尸體之間關系的基礎上,形成數據庫中的表格以及各個表格之間的關系。具體內容包括數據組織(將E-R圖轉換成關系模型、模型優(yōu)化、數據庫模式定義、用戶子模式設計)、數據處理(畫出系統(tǒng)功能模塊圖)兩大任務。8.2.2 數據組織8.2.2.1 將E-R圖轉換為關系模式 實體型轉換為關

42、系模式,實體的屬性就是關系的屬性,實體的碼就是關系的碼。對于實體間的聯系則有下不同情況:一個m:n聯系轉換為一個關系模式,與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,而關系的碼為各實體碼的組合。一個1:n聯系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合并,如果轉換為一個獨立的關系模式,則與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,而關系的碼為n端實體的碼。一個1:1聯系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。三個或三個以上實體間的一個多元聯系可以轉換為一個關系模式。與該多元聯系相連的各實體的碼以及聯系本身的屬性均轉換為

43、關系的屬性,而關系的碼為各實體碼的組合。3個或3個以上實體間的一個多元聯系可以轉換為一個關系模式。與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,各實體的碼組成關系的碼或關系碼的一部分。具有相同碼的關系模式可以合并。 學生(學號,姓名,性別,出生時間,家庭地址,專業(yè),總學分,備注) 課程信息(課程號,課程名稱,開課學期,學時,學分) 選課(學號,課程號,成績)8.2.2.2 模型優(yōu)化 關系模式tb_studentid,tb_courseid,tb_score不存在非主屬性對主屬性的部分函數依賴,也不存在傳遞函數依賴,已經達到了3NF。8.3物理結構設計8.3.1 物理設計的任務與

44、目標 數據庫在物理設備上的存儲結構與存取方法稱為數據庫的物理結構,它依賴于選定的數據庫管理系統(tǒng)。為一個給定的邏輯數據模型選取一個最合適應用要求的物理結構的過程,就是數據庫的物理設計。數據庫的物理設計通常分為兩步:(1) 確定數據庫的物理結構,在關系數據庫中主要指存取方法和存儲結構。(2) 對物理結構進行評價,評價的重點是時間和空間效率。8.3.2 數據存儲方面為數據庫中各基本表簡歷的索引如下:對tb_student學生信息表中的“studentid學號”字段創(chuàng)建聚集索引,因為“studentid學號”字段在整個列表中是唯一的;對學生信息表中的“name學生姓名”字段創(chuàng)建非聚集索引,因為“nam

45、e學生姓名”字段可能會出現重復值;對tb_course課程信息表中的“coursename課程名稱”字段創(chuàng)建唯一索引。8.3.3 數據表的設計 表示SQL Server中最基本的數據庫對象,包含了數據庫中所有數據,其他數據庫對象的操作都依賴于表來進行。對表的各項操作,特別是對表中數據操作是使用頻率最高的,它直接影響數據庫的效率。表設計的好壞直接決定著一個數據庫的優(yōu)劣,在創(chuàng)建表之前一定要進行詳細的設計。在表的設計過程當中,主要需要完成以下任務:(1)確定表中的字段,并為其選擇合適的數據類型和數據長度。(2)確定字段的值是否允許為空。(3)是否要為某些字段設置默認值或約束等。(4)選擇合適的字段作為表的主鍵。8.3.3.1 表中基本概念 (1)記錄:表中包含了若干行數據,表中的一行稱為一個記錄。(2)字段:每個記錄由若干個數據項構成,將構成記錄的每個數據項稱為字段。(3)關鍵字:若表中的某一字段或字段組合能唯一標識記錄,則稱該字段或阻斷組合

溫馨提示

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

評論

0/150

提交評論