

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 畢業(yè)設計(論文)</b></p><p><b> 學生綜合管理系統</b></p><p> 學院(系): </p><p> 專業(yè)班級: </p><p> 學生姓名:
2、</p><p> 指導教師: </p><p><b> 目錄</b></p><p><b> 1引言1</b></p><p><b> 1.1題目簡介1</b></p><p> 1.2選題的意義1&
3、lt;/p><p><b> 2系統需求分析2</b></p><p><b> 2.1設計目的2</b></p><p> 2.2開發(fā)工具介紹2</p><p> 2.3技術可行性分析3</p><p> 2.4操作可行性分析4</p><
4、;p> 2.5系統組織框架4</p><p><b> 3總體設計5</b></p><p> 3.1業(yè)務流程分析5</p><p> 3.2數據流分析8</p><p><b> 3.3功能樹11</b></p><p><b> 3.
5、4用例圖13</b></p><p><b> 4數據庫設計15</b></p><p> 4.1模塊ER圖15</p><p> 4.2數據庫邏輯設計19</p><p> 4.2.1基礎資料數據庫設計19</p><p> 4.2.2教學管理數據庫設計23&l
6、t;/p><p> 4.2.3宿舍管理數據庫設計26</p><p> 4.3數據庫連接27</p><p> 5系統詳細設計28</p><p> 5.1基礎資料功能設計與實現28</p><p> 5.1.1登錄界面的設計28</p><p> 5.1.2密碼修改29&l
7、t;/p><p> 5.1.3基礎信息下拉菜單29</p><p> 5.1.4班級和專業(yè)信息維護30</p><p> 5.1.5學生信息維護32</p><p> 5.1.6課程信息維護34</p><p> 5.2教學管理功能設計與實現36</p><p> 5.2.1開
8、課申請36</p><p> 5.2.2學生選課38</p><p> 5.2.3活動申請40</p><p> 5.3宿舍管理功能的設計與實現41</p><p> 5.3.1宿舍分配41</p><p> 5.3.2宿舍檢查41</p><p><b> 6
9、測試44</b></p><p> 6.1單元測試44</p><p> 6.1.1登錄模塊測試44</p><p> 6.1.2基礎信息模塊測試45</p><p> 6.1.3教學管理模塊測試48</p><p> 6.2綜合測試49</p><p><
10、;b> 7總結51</b></p><p><b> 致謝52</b></p><p><b> 參考文獻53</b></p><p><b> 1引言</b></p><p><b> 1.1題目簡介</b></p
11、><p> 高校大學生管理的內容復雜,它涉及眾多的專業(yè)、年級、班級的學生管理系及學生生活起居的問題,是學校校務管理的一項繁重的任務。隨著大學規(guī)模不斷擴大,人工管理難于實現要求,必須采用自動化、智能化進行管理。面對龐大的信息量,需要有學生管理系統來提高學生管理工作的效率。通過這樣的系統,可以做到信息的規(guī)范管理、科學統計和快速的查詢,從而減少管理方面的工作量?,F在的時代是網絡普及的時代,學生有條件通過網絡方便快捷的查詢
12、自己的個人信息。所以,高校學生綜合管理系統既能方便學校管理部門的管理,又能方便學生及時查詢個人信息。</p><p><b> 1.2選題的意義</b></p><p> 隨著中國信息化的加速發(fā)展,位于教育前沿的學校在辦公自動化上也加快了腳步,為了摒棄傳統的人工對學生的信息進行書面的記錄方式,引進了計算機管理方法,在最大的程度上實現學校的辦公自動化和現代化。<
13、;/p><p> 雖然現在的學校在學生管理上都使用了計算機進行管理,但是現在市場上流行的學生管理軟件有些并不是針對學校對學生的管理需求研發(fā)的。要根據各個學校的實際情況開發(fā)出適合各個學校學生綜合管理的系統,必須要有專業(yè)性,要符合各個學校的特色和具體情況。</p><p> 對于學校的實際情況,本系統在實施后,能使教學管理人員從繁瑣的工作中解脫出來,真正的、全身心投入到教學管理工作中去,集中管
14、理,同時帶動學校管理步入現代化管理階段,節(jié)省了大量的人力,物力,財力和時間,使管理清晰準確,使學籍管理體系更加科學化,規(guī)范化,管理化。</p><p> 基于以上的原因,開發(fā)一套操作簡單、維護方便、適合各個階段學校使用的學生管理系統就顯得十分重要與緊迫。于是提出該課題,解決當今學校亟待解決的學生的管理問題。</p><p><b> 2系統需求分析</b><
15、/p><p><b> 2.1設計目的</b></p><p> 使用計算機對高校學生進行管理與人工管理有無法比擬的優(yōu)點,使用計算機管理克服了效率低、保密性差的困難,還具有查找迅速、方便、可靠、壽命長、成本低等優(yōu)點。另外時間一長,將產生大量的文件和數據,這對于查找、更新和維護都帶來了不少困難。總之,使用計算機管理的主要優(yōu)點是能夠提高管理者的效率,這也是開發(fā)本軟件的重要
16、原因之一。</p><p> 本系統是基于現行的高校學生綜合管理,信息處理量大、更新率高。使用單一的人工管理,管理人員不僅工作量大,工作效率低,而且相當繁瑣,更重要的是不容易管理數據,容易出錯并且交互性差。為了提高高校學生綜合程管理規(guī)范化、系統化和自動化,特開發(fā)設計了這套高校學生綜合管理軟件。</p><p> 本系統針對高校學生綜合程管理的各個環(huán)節(jié)建立相應的功能模塊,高校學生綜合管理
17、在正常運轉中需要對教師信息、學生信息、專業(yè)信息、班級信息、宿舍信息、成績信息、課程信息等諸多信息進行統一的管理,本軟件的開發(fā)正是建立在對這些信息的變更之上,既提高了管理的效率,又減輕了管理員和教師的負擔。</p><p><b> 2.2開發(fā)工具介紹</b></p><p> C++ Builder是由Borland公司推出的一款可視化集成開發(fā)工具。C++ Bui
18、lder具有快速的可視化開發(fā)環(huán)境:只要簡單地把控件(Component)拖到窗體(Form)上,定義一下它的屬性,設置一下它的外觀,就可以快速地建立應用程序界面;C++ Builder內置了100多個完全封裝了Windows公用特性且具有完全可擴展性(包括全面支持ActiveX控件)的可重用控件;C++ Builder具有一個專業(yè)C++開發(fā)環(huán)境所能提供的全部功能:快速、高效、靈活的編譯器優(yōu)化,逐步連接,CPU透視,命令行工具等。它實現了
19、可視化的編程環(huán)境和功能強大的編程語言(C++)的完美結合 [1]。</p><p> C++ Builder具有可視化集成開發(fā)環(huán)境,以事件驅動、圖形用戶界面等為特點,在設計時有著其獨特的優(yōu)越性。它采用了可視化的、面向對象的程序設計方法,大大簡化了應用系統的開發(fā)過程,并提高了系統的模塊性和緊湊性。C++builder中提供了大量的系統開發(fā)工具和控件,利用MySQL技術開發(fā)數據庫使得操作和管理非常方便,從而使以往費
20、時費力的開發(fā)工作變得輕松自如 [2]。</p><p> (1) C++ Builder優(yōu)化的32位原碼(Native Code)編譯器建立在Borland公司久經考驗 的編譯技術基礎之上,提供了高度安全性、可靠性、快速性的編譯優(yōu)化方法,完全 編譯出原始機器碼而非中間碼,軟件執(zhí)行速度大大提高。在編譯和連接過程中,C++ Builder自動忽略未被修改的原代碼和沒有使用的函數,從而大大提高了編譯和連接速度。C++
21、 Builder的CPU透視工具包括五個獨立的小面板,可以對正在運行程序 從內部進行深層次的了解。另外C++ Builder還提供了一個專業(yè)開發(fā)環(huán)境所必需的命令行工具,以幫助建立C++程序或者準備編譯和連接的程序進行更精細的控制。</p><p> (2) C++ Builder依靠C/C++語言和Borland公司的技術,提供了高級開發(fā)的能力。C++ Builder在提供簡單易用特性的同時,并沒有為開發(fā)者增加
22、限制。開發(fā)者可以 利用C++ Builder來完成許多高級應用開發(fā),擴展空間幾乎是無限的。從許多優(yōu)秀的 第三方VCL組件中,可以看出C++ Builder強大的開發(fā)能力。所以,C++ Builder不僅能夠讓初學者快速開始應用程序的開發(fā),也可以讓富有經驗的開發(fā)者用來開發(fā)功能強大的軟件 [3]。</p><p> 2.3技術可行性分析</p><p> C++ Builder依靠C/C+
23、+語言和Borland公司的技術,提供了高級開發(fā)的能力。目前,開發(fā)者已經可以使用C++ Builder和Kylix 3來開發(fā)跨平臺(Windows/Linux)的應用程序。相信隨著Linux向桌面操作系統的發(fā)展,Kylix能夠得到更廣泛的使用。另外,對于主流的數據庫開發(fā)、Web應用和Web Services等,C++ Builder都有很好的支持。隨著Borland公司 ALM(Application Lifecycle Managem
24、ent,應用周期管理)的發(fā)展,C++ Builder已有很多的軟件工程支持,包括建模、團隊開發(fā)、配置管理、測試、優(yōu)化等環(huán)節(jié),都無逢集成到優(yōu)秀的軟件工具中,配合C++ Builder,可以在整個軟件開發(fā)周期中為開發(fā)團隊中的各個成員(分析師、架構師、開發(fā)人員、測試人員、分發(fā)團隊和管理者)提供完備的支持。例如,將UML建模集成到C++ Builder中,提供UML和C++Builder程序代碼之間的雙向生成,可以大大加快軟件項目的開發(fā)過程。因
25、此,C++ Builder成了本系統的開發(fā)語言。</p><p> MySQL數據庫的出現使信息系統的研制從以加工數據的程序為中心轉變?yōu)橐怨蚕頂祿鞛橹行膩磉M行。MySQL數據庫開始是在大公司或機構中進行大規(guī)模數據處理后來隨著計算機的逐漸普及,MySQL數據庫才應用到計算機上。MySQL數據庫發(fā)展到今天,已經是相當成熟的階段,它對大量數據處理的能力在不斷的提高、發(fā)展和完善,因此選擇MySQL數據庫是順理成章的事
26、情。</p><p> 從技術角度分析,MIS系統在理論上對于操作系統并沒有明確的限制,即采用Windows 2000以上的版本;MySQL又是我們學習期間最常用的數據庫管理系統,它的穩(wěn)定性和易用型都是我們大家所熟知的。因此在數據管理系統上我采用了MySQL。在開發(fā)工具的選擇上,我選用了C++builder 6.0,它在MIS系統的開發(fā)中也是被大量經常使用的,所以開發(fā)學生管理信息系統在技術上是可行的。</
27、p><p> 2.4操作可行性分析</p><p> 使用C++Builder開發(fā)本系統,使得系統具有良好的操作界面,簡單直接的操作界面,具有較強的人機對話能力。并且,嚴格按照需求分析設計的各個獨立的模塊都完全具備其功能,任何人都能方便的操作。再有,本系統適應性強,顯示內容簡單明了,使操作者不必具有較高的計算機專業(yè)知識,也不必進行專門的培訓,稍一接觸就可以上手進行所有操作。</p&g
28、t;<p><b> 2.5系統組織框架</b></p><p> 本系統運用C++builder和MYSQL數據庫開發(fā)的具有三層結構(數據庫-應用服務器-客戶端)的高校學生綜合管理系統。并且利用各種面向對象的開發(fā)工具, 建立各種模板和系統應用原型,在設計過程中通過實際操作不斷修正和改進,直到形成滿意的可行系統。該系統結構良好、穩(wěn)定性好、使用方便。系統能夠實現基本信息維護(
29、專業(yè)、班級、課程、學生、老師、宿舍等基本信息)、教學管理(開課申請、學生選課、活動、比賽等)、宿舍管理(宿舍分配、宿舍繳費等)等幾大功能,組織框架如圖2-1所示。</p><p><b> 圖2-1 組織框架</b></p><p><b> 3總體設計</b></p><p><b> 3.1業(yè)務流程分析
30、</b></p><p> (1)課程管理業(yè)務流程</p><p> 在老師開課之前,管理員必須先要錄入全校所有可以開設的課程信息,提供給老師選擇。老師登錄系統后根據課程信息列表選擇合適自己的課程申請,申請時,根據申請表的信息完善所申請開設的課程的基本信息,其中包括開課學期、課程性質、考試時間和考試地點等信息,學分和學時等基本信息會在教師選擇課程后自動給出。</p&g
31、t;<p> 課程開設完成后,教師在根據學生在課堂上的表現,記錄學生表現信息,包括考勤、課堂表現、平時作業(yè)以及考試成績等,以此作為成績判定的標準,如圖3-1所示。</p><p> 圖3-1 課程管理業(yè)務流程圖</p><p> (2)活動申請與組織業(yè)務流程</p><p> 教師先根據學校和學院的自身情況和要求,登錄高校學生管理系統,提出活動
32、申請,根據申請窗口的提示,填寫好申請人的基本信息和活動的基本信息(活動名稱、活動性質、活動時間、活動地點、活動級別等),再等待學院和學校審批。學院和學校審批合格后,管理員就會發(fā)布本次活動,學生再根據活動的發(fā)布來查詢和報名,管理員再發(fā)布報名情況,如圖3-2所示。</p><p> 活動過程中,老師還要記錄各個學生的表現,根據表現情況最后給予每個學生相應的成績,最后老師在進行活動總結,上交過后,等待活動評價。<
33、;/p><p> 圖3-2 活動管理業(yè)務流程圖</p><p> (3)比賽管理業(yè)務流程</p><p> 管理員先根據學校和學院的自身情況和要求,收集比賽信息,填寫好比賽基本信息(比賽名稱、主辦單位、活動時間、活動地點、活動級別等),再等待學院和學校審批。學院和學校審批合格后,管理員就會發(fā)布比賽,學生再根據活動的發(fā)布來查詢和報名,管理員再發(fā)布報名情況。<
34、/p><p> 然后根據報名列表,老師再對學生進行賽前專門輔導,輔導完成后即學生參加比賽。最后管理員根據比較結果發(fā)布比賽成績,授予相應的證書和獎勵,同時管理員對這些進行存檔,方便以后校對與查詢,如圖3-3所示。</p><p> 圖3-3 比賽業(yè)務流程圖</p><p> (4) 宿舍管理業(yè)務流程</p><p> 首先宿舍管理員會先根
35、據學院提供的學生名單初步分配好學生宿舍,然后通過管理員把宿舍分配情況發(fā)布,學生根據宿舍分配情況入住。</p><p> 等學生入住后,宿舍管理員會定期或者不定期的對宿舍進行考勤和宿舍檢查,并做好考勤記錄和衛(wèi)生評分記錄。隔一段時間公布考勤記錄和衛(wèi)生評分,供學生查詢和核對,如果所以信息都能核對上就上交管理員正式發(fā)布;如果不能核對上學生及時向宿舍管理員反饋,管理員及時核實和修正,最后上交系統管理員。</p>
36、;<p> 等到期末的時候,宿舍管理員就會根據平時的考勤記錄信息和平時衛(wèi)生檢查情況信息對每個寢室和個人評分,再根據評出來的總分進行宿舍分配,分配完成后上交給系統管理員發(fā)布,學生再根據宿舍分配情況調整宿舍,如圖3-4所示。</p><p> 圖3-4 宿舍管理業(yè)務流程圖</p><p><b> 3.2數據流分析</b></p><
37、;p> 數據流即:只能以事先規(guī)定好的順序被讀取一次的數據的一個序列。本系統主要分析的數據流集中在教學管理模塊和宿舍管理模塊,具體如下。</p><p><b> (1)課程管理</b></p><p> 教師先根據學校和學院的自身情況和要求,登錄高校學生管理系統,提出活動申請,根據申請窗口的提示,填寫好申請人的基本信息和活動的基本信息(活動名稱、活動性質、
38、活動時間、活動地點、活動級別等),再等待學院和學校審批。學院和學校審批合格后,管理員就會發(fā)布本次活動,學生再根據活動的發(fā)布來查詢和報名,管理員再發(fā)布報名情況,如圖3-5所示。</p><p> 圖3-5 課程管理數據流圖</p><p> (2)課堂記錄和成績管理</p><p> 課程開設完成后,教師在根據學生在課堂上的表現,記錄學生表現信息,包括考勤、課
39、堂表現、平時作業(yè)以及考試成績等數據的流向,得到最后想要得到的結果,如圖3-6所示。</p><p> 圖3-6 課堂記錄和成績管理數據流圖</p><p><b> (3)活動管理</b></p><p> 教師先根據學校和學院的自身情況和要求,登錄高校學生管理系統,提出活動申請,根據申請窗口的提示,填寫好申請人的基本信息和活動的基本信
40、息(活動名稱、活動性質、活動時間、活動地點、活動級別等),再等待學院和學校審批。學院和學校審批合格后,管理員就會發(fā)布本次活動,學生再根據活動的發(fā)布來查詢和報名,管理員再發(fā)布報名情況,如圖3-7所示。</p><p> 圖3-7 活動管理數據流圖</p><p><b> (4)比賽管理</b></p><p> 管理員先根據學校和學院的
41、自身情況和要求,收集比賽信息,填寫好比賽基本信息(比賽名稱、主辦單位、活動時間、活動地點、活動級別等),再等待學院和學校審批。學院和學校審批合格后,管理員就會發(fā)布比賽,學生再根據活動的發(fā)布來查詢和報名,管理員再發(fā)布報名情況等數據的流向過程,如圖3-8所示。</p><p> 圖3-8 比賽管理數據流圖</p><p> (5)宿舍管理其數據流圖</p><p>
42、 宿舍管理員登陸系統后,進入宿舍管理模塊,再每學期開學的時候,宿舍管理員都會把宿舍分配情況發(fā)布到系統里面,讓同學和老師查詢,學生再根據分配情況各自搬到相應的宿舍,如圖3-9所示。</p><p> 學生入住后,管理員會定期或者不定期的對宿舍進行檢查,包括考勤與衛(wèi)生檢查,并且做記錄,以及發(fā)布考勤和得分情況供學生核對,在期末時根據平時的考勤和得分情況計算出總分,并發(fā)布供學生查詢,最后根據總分的高低來安排宿舍。&l
43、t;/p><p> 圖3-9 宿舍管理數據流圖</p><p><b> 3.3功能樹</b></p><p><b> 基礎資料</b></p><p><b> |--學生信息</b></p><p> |-------班級信息維護</p
44、><p> |-------專業(yè)信息維護</p><p> |-------學生信息維護</p><p> |-------學生信息查詢</p><p><b> |--教師信息</b></p><p> |-------課程基本信息維護</p><p> |---
45、----教師信息維護</p><p> |-------教師信息查詢</p><p> |--宿舍管理員信息</p><p> |-------宿舍管理員信息維護</p><p> |-------宿舍管理員信息查詢</p><p><b> |--宿舍信息</b></p>
46、;<p> |-------宿舍信息維護</p><p> |-------宿舍信息查詢</p><p><b> 教學管理</b></p><p><b> |--學籍管理</b></p><p> |-------報道注冊</p><p> |
47、-------學籍注銷:學生畢業(yè)</p><p><b> |--課程管理</b></p><p> |-------開課申請</p><p> |-------開課審批與發(fā)布</p><p> |-------學生選課</p><p> |-------選課發(fā)布</p>
48、<p> |-------考試安排</p><p> |-------考試成績錄入</p><p> |-------成績發(fā)布</p><p><b> |--活動管理</b></p><p> |-------活動申請</p><p> |-------活動發(fā)布</p
49、><p> |-------活動查詢與報名</p><p> |-------活動報名情況發(fā)布</p><p> |-------活動記錄與總結</p><p><b> |--比賽管理</b></p><p> |-------比賽信息發(fā)布</p><p> |-
50、------比賽信息查詢與報名</p><p> |-------比賽報名發(fā)布</p><p><b> 宿舍管理</b></p><p><b> |--日常管理</b></p><p> |-------發(fā)布宿舍分配信息</p><p> |-------考勤記
51、錄</p><p> |-------衛(wèi)生評分</p><p> |-------綜合評分</p><p> |-------總分發(fā)布</p><p> |-------總分查詢</p><p> |-------發(fā)布宿舍調整信息</p><p> |-------查詢宿舍調整信息&
52、lt;/p><p><b> |--后勤管理</b></p><p> |-------發(fā)布費用清單</p><p> |-------收費處理</p><p> |-------繳費查詢</p><p><b> 3.4用例圖</b></p><p
53、><b> (1)教師用例</b></p><p> 教師登錄系統后,系統根據用戶角色授權顯示教師登錄界面,其功能有開課申請、考試安排、成績錄入、成績錄入、活動申請、活動報名查詢、比賽報名查詢、學生信息查詢、教師信息查詢等,教師可以根據需要操作相應模塊,如圖3-10所示。</p><p> 圖3-10 教師用例圖</p><p>
54、<b> (2)管理員用例</b></p><p> 管理員登錄系統后,系統根據用戶角色授權顯示管理員登錄界面,其功能有基礎信息維護(學生信息、教師信息、班級信息、專業(yè)信息、課程信息、宿舍信息等)、報道注冊、信息發(fā)布(開課列表、選課信息、成績信息、活動列表、各種報名信息)等,管理員可以根據需要操作相應模塊,如圖3-11所示。</p><p> 圖3-11 管理
55、員用例圖</p><p><b> (3)學生用例</b></p><p> 學生登錄系統后,系統根據用戶角色授權顯示學生登錄界面,其功能有比賽報名、活動報名、選課以及各種信息查詢等,學生可以根據需要操作相應模塊,如圖3-12所示。</p><p> 圖3-12 學生用例圖</p><p> (4)宿舍管理員用
56、例</p><p> 宿舍管理員登錄系統后,系統根據用戶角色授權顯示宿舍管理員登錄界面,其功能宿舍分配、宿舍檢查、總分發(fā)布、費用清單發(fā)布、收費處理和宿舍信息查詢等,宿舍管理員可以根據需要操作相應模塊,如圖3-13所示。</p><p> 圖3-13 宿舍管理員用例圖</p><p><b> 4數據庫設計</b></p>
57、<p> 本系統采用MySQL數據庫設計,MySQL的數據庫對象主要包含有表、主鍵、約束、默認值、數據類型、視圖、存儲過程等。數據庫的數據特點都是通過數據庫對象表現出來的,在設計數據庫之前弄清數據庫對象是非常必要的。下面是設計數據表的具體步驟:</p><p> (1)確定數據庫實體:確定數據庫實體即是具有相同屬性的事件或事物,在設計數據表之前我們應該深入的考慮所做的程序都用到實體的什么屬性和該怎樣
58、表述。</p><p> (2)規(guī)劃數據表:表是具體組織和存儲數據的對象,由列和行組成。表中的數據通常是關于某個特定類別的事物的信息。在設計時,行和列的順序可以是任意的,但一個表中列的名字必須是唯一的,這就能保證不出現重復的屬性。</p><p> (3)確定主鍵:主鍵是表中一列或多列的組合,其值唯一標識了表中的一行記錄。任意兩行之間的主鍵不能有相同的值,它確定了表中不能出現有相同的數
59、據。</p><p> (4)選擇數據類型:SQL Server 2000 提供的數據類型有系統數據類型和用戶自定義類型,它表明了數據的屬性。數據類型必須與該數據所表示的對象屬性相符。</p><p> (5)確定數據約束:約束是SQL Server 2000實施數據一致性和完整性的方法。它對表中各列的取值范圍進行限制,使數據更為合理。</p><p> (6
60、)確定外鍵:外鍵是確定表與表之間關系的數據對象,表與表之間的關系也只能由外鍵來確定,只有確定表與表之間的關系后,數據庫里的數據才能相互聯系起來,才是一個完整的數據庫體系。</p><p><b> 4.1模塊E-R圖</b></p><p><b> (1)登錄管理</b></p><p> 登錄窗體中,首先要定義好
61、菜單的各個屬性,例如:編號、名稱、菜單級別號、授權等級、窗體名稱等。這樣才能確定菜單生成后會出現在哪個窗體上,出現的級別是怎么樣的。菜單列表與角色菜單列表的對應關系是一對多的關系,因為同一個菜單列表可以對多個角色開放,一個角色只有一個菜單列表,其E-R圖如圖4-1所示。</p><p> 圖4-1 登錄管理E-R圖</p><p><b> (2)基本信息</b>
62、</p><p> 在基本信息E-R圖中,最關鍵的實體是學生,其中的關系為學生與班級的對應關系是多對一,因為一個班級由多個學生組成,而一個學生只能在一個班級里;班級與專業(yè)也是多對一的關系,一個專業(yè)會有多個班級,一個班級只能屬于一個專業(yè);專業(yè)與教師的關系為多對一,一個專業(yè)有許多老師,而一個老師只屬于一個專業(yè);學生與入住信息是一對一的關系,一個學生只有一個入住信息,一張入住信息表也只記錄一個學生的信息;入住信息與宿
63、舍信息是多對一的關系,一個入住信息記錄只能屬于一個宿舍,而一個宿舍可以入住多個學生,就會有多個入住信息記錄,其E-R圖如圖4-2所示。</p><p> 圖4-2 基本信息E-R圖</p><p><b> (3)課程管理</b></p><p> 在課程管理E-R圖中,學生與選課的對應關系是一對多的關系,一個學生可以有多個選課信息,
64、一個選課信息只能屬于一個學生;選課與課程信息的對應關系是多對一的關系,一條開課信息可以有很多同學選擇,所以會有多個選課信息,而一個選課信息只能對應一條開課信息;課程信息與課程列表是多對一的關系,一門課可以有多個老師開設,或者一個老師對同一門課教授多個班級,而每一條開課信息只能屬于某一門課,其E-R圖如圖4-3所示。</p><p> 圖4-3 課程管理E-R圖</p><p><b
65、> (4)繳費管理</b></p><p> 在繳費管理E-R圖中,學生信息與繳費記錄的對應關系為一對多,因為一個學生可以有多次繳費,會產生多條繳費記錄,或者一個學生一次可以交多種費用,也會產生多條記錄,而一條記錄只能有一個學號,其E-R圖如圖4-4所示。</p><p> 圖4-4 繳費管理E-R圖</p><p><b> (
66、5)活動管理</b></p><p> 在活動管理E-R圖中,學生信息與活動記錄是一對多的關系,因為一次活動中學生只能報名一次,而活動會有很多學生報名;活動記錄與活動列表是對多一的關系,一次活動可以有多條活動記錄來記錄學生的活動信息,而一條活動記錄只能記錄本次活動的信息,其E-R圖如圖4-5所示。</p><p> 圖4-5 活動管理E-R圖</p><
67、;p><b> (6)宿舍檢查</b></p><p> 在宿舍檢查E-R圖中,宿舍信息與宿舍檢查信息的對應關系為一對多的關系,因為在本系統中,一條宿舍檢查信息只能記錄一個學生的檢查信息,而一間宿舍會住有多個學生,會產生多條檢查記錄,其E-R圖如圖4-6所示。</p><p> 圖4-6 宿舍檢查E-R圖</p><p><b
68、> 4.2據庫邏輯設計</b></p><p> 4.2.1基礎資料數據庫設計</p><p> 本過程是將數據庫概念結構轉化為MySQL數據庫系統支持的實際數據模型,即數據庫的邏輯結構。系統數據庫中各個表的設計結果如下所示。</p><p> (1)學生信息表(P_Student):主要存放學生基本信息,如表4-7所示。</p>
69、;<p> 數據來源:直接在學生信息維護窗體中錄入;</p><p> 關系模式為:P_Student(學號,姓名,性別,籍貫,身份證號,初三日期,家庭地址,郵編,聯系電話,狀態(tài),E_Mail)。</p><p> 表4-7 學生信息表</p><p> (2)教師信息表(P_Teacher):主要存放教師基本信息,如表4-8所示。<
70、/p><p> 數據來源:直接在教師信息維護窗體中錄入;</p><p> 關系模式為:P_Teacher(職工號,姓名,性別,職稱,聯系電話,手機,地址,郵編,E_Mail)。</p><p> 表4-8 教師信息表</p><p> (3)班級信息表(P_Class_info):主要存放班級基本信息,如表4-9所示。</p
71、><p> 數據來源:直接在班級信息維護窗體中錄入;</p><p> 關系模式為:P_Class_info(班級ID,班級編號,班級名稱,人數,入學時間,畢業(yè)時間,班級狀態(tài))。</p><p> 表4-9 班級信息表</p><p> (4)專業(yè)信息表(P_Major):主要存放專業(yè)基本信息,如表4-10所示。</p>
72、<p> 數據來源:直接在專業(yè)信息維護窗體中錄入;</p><p> 關系模式為:P_Major(專業(yè)ID,專業(yè)編碼,專業(yè)名稱,專業(yè)負責人ID,專業(yè)負責人,所屬系編碼,所屬系名稱,系主任ID,系主任,所在學院編碼,所在學院,院長ID,院長)。</p><p> 表4-10 專業(yè)信息表</p><p> (5)宿舍信息表(Dor_info):
73、主要存放宿舍基本信息,如表4-11所示。</p><p> 數據來源:直接在宿舍信息維護窗體中錄入;</p><p> 關系模式為:P_Major(樓號,宿舍號,床位數,宿舍電話,財產情況)。</p><p> 表4-11 宿舍信息表</p><p> (6)菜單列表(sys_menu):主要存放菜單基本信息,如表4-12所示。&l
74、t;/p><p> 數據來源:在主窗體創(chuàng)建后通過SQL語言添加到數據庫;</p><p> 關系模式為:sys_menu(menuID,objID,supID,menuTitle,formName,paramdescription,remark)。</p><p> 表4-12 菜單列表</p><p> (7)用戶表(sys_user
75、):主要存放用戶基本信息,如表4-13所示。</p><p> 數據來源:管理員在各個用戶維護窗體中錄入,自動添加到數據庫;</p><p> 關系模式為:sys_user(用戶ID,角色ID,密碼,用戶狀態(tài),創(chuàng)建日期,描述)。</p><p> 表4-13 用戶表</p><p> (8)課程信息表(P_Course_list):
76、主要存放用戶基本信息,如表4-14所示。</p><p> 數據來源:管理員在課程信息維護窗體中錄入,自動添加到數據庫;</p><p> 關系模式為:P_Course_list(課程ID,課程編號,課程名,學分,學時,推薦教材,專業(yè)ID)。</p><p> 表4-14 課程信息表</p><p> 4.2.2教學管理數據庫設計&
77、lt;/p><p> (1)開課申請表(P_Courses):主要存放開課基本信息,如表4-15所示。</p><p> 數據來源:教師在開課申請窗體中錄入,自動添加到數據庫;</p><p> 關系模式為:P_Course(開課編號,課程性質,課程狀態(tài),開課學期,考試時間,考試地點,教材,教學大綱)。</p><p> 表4-15 開
78、課申請表</p><p> (2)選課表(Edu_Select_course):主要存放選課基本信息,如表4-16所示。</p><p> 數據來源:學生在選課申請窗體中錄入,自動添加到數據庫;</p><p> 關系模式為:Edu_Select_course(學號,課程ID,編號,選課時間,考勤成績,課堂表現成績,平時成績,考試成績,補考成績,總成績)。&l
79、t;/p><p> 表4-16 選課表</p><p> (3)活動列表(Edu_Activities_list):主要存放活動基本信息,如表4-17所示。</p><p> 數據來源:教師在活動申請窗體中錄入,自動添加到數據庫;</p><p> 關系模式為:Edu_Activities_list(活動號,活動名稱,活動性質,活動級別
80、,活動狀態(tài),活動時間,活動地點,活動內容,姓名,職工號)。</p><p> 表4-17 活動列表</p><p> (4)活動記錄表(Edu_Activities_record):主要存儲活動記錄信息,如表4-18所示。</p><p> 數據來源:在活動記錄窗體中錄入,自動添加到數據庫;</p><p> 關系模式為:Edu_A
81、ctivities_record(學號,姓名,活動號,報名時間,活動表現記錄,活動成績,活動總結,活動評價,備注)。</p><p> 表4-18 活動記錄表</p><p> (5) 比賽列表(Edu_Competition_list):主要存放比賽信息,如表4-19所示。</p><p> 數據來源:在比賽窗體中錄入,自動添加到數據庫;</p>
82、;<p> 關系模式為:Edu_Competition_list(比賽號,比賽名稱,比賽級別,比賽時間,比賽地點,相關專業(yè),主辦單位,比賽內容,報名條件,進行狀態(tài))。</p><p> 表4-19 比賽列表</p><p> (6)比賽記錄表(Edu_Competition_record):存放比賽記錄信息,如表4-20所示。</p><p>
83、 數據來源:在比賽報名窗體中錄入,自動添加到數據庫;</p><p> 關系模式為:Edu_Competition_list(學號,姓名,比賽號,報名時間,比賽表現記錄,比賽成績,比賽總結,比賽評價,備注)。</p><p> 表4-20 比賽記錄表</p><p> 4.2.3宿舍管理數據庫設計</p><p> (1)入住信息
84、表(Dor_in_info):主要存放入住信息,如表4-21所示。</p><p> 數據來源:在入住登記窗體中錄入,自動添加到數據庫;</p><p> 關系模式為:Dor_in_info(學號,樓號,宿舍號,入住時間,床號)。</p><p> 表4-21 入住信息表</p><p> (2)繳費記錄表(Dor_Payment_
85、info):主要存放繳費信息,如表4-22所示。</p><p> 數據來源:在繳費窗體中錄入,自動添加到數據庫;</p><p> 關系模式為:Dor_Payment_info(編號,繳費記錄編號,學號,樓號,宿舍號,宿舍管理員編號,繳費名稱,繳費金額,繳費時間,備注)。</p><p> 表4-22 繳費記錄表</p><p>
86、 (3)宿舍檢查表(Dor_Check_cleanl_record):主要存放檢查信息,如表4-23所示。</p><p> 數據來源:在檢查窗體中錄入,自動添加到數據庫;</p><p> 關系模式為:Dor_Payment_info(樓號,宿舍號,床號,檢查日期,宿舍管理員編號,學號,姓名,衛(wèi)生成績,出去標志,打分依據,意見,備注)。</p><p> 表
87、4-23 宿舍檢查表</p><p><b> 4.3數據庫連接</b></p><p> 本系統采用MySQL數據庫,首先根據業(yè)務流圖、數據流圖、功能樹和ER圖等結合PowerDesigner軟件畫好各個表以及表與表之間的關系;再根據已有的關系生成可執(zhí)行的.sql文件,通過命令:mysql -u root -p tchstu<e:\db\sym.sql(
88、我的sym.sql文件在E:\db文件中)把PowerDesigner建立的表在數據庫中生成。然后應用服務器通過ODBC和數據庫連接,接著在應用服務器中通過Database與ODBC連接,并且在Database中建立遠程數據模塊RemoteDataModule;然后在客戶端建立數據模塊DataModule通過Tsocket與應用服務器端的遠程數據模塊連接,這樣一整套的數據連接就完成了,并形成標準的三次C/S結構。</p>
89、<p><b> 5系統詳細設計</b></p><p> 高校學生綜合管理在功能上劃分,有三大模塊:基礎資料維護模塊、教學管理模塊和宿舍管理模塊。</p><p> 基礎資料維護模塊主要實現的功能是:學生信息維護、教師信息維護、宿舍管理員信息維護、宿舍信息維護、班級信息維護、課程信息維護、專業(yè)信息維護等;教學模塊主要實現的功能是:教師開課申請,學生選
90、課,考試安排,成績管理,活動申請,活動報名,比賽報名,以及對成績和比賽的查詢等;宿舍管理模塊主要實現的功能是:宿舍分配、宿舍檢查、宿舍繳費等。</p><p> 5.1基礎資料功能設計與實現</p><p> 5.1.1登錄界面的設計</p><p> (1)運行時首先顯示的是登錄界面,如圖5-1所示。</p><p> 圖5-1
91、登錄界面</p><p> 【用戶名】和【密碼】的顯示框的ReadOnly屬性設置為false,即是通過鍵盤輸入內容。輸入用戶名和密碼后點擊登錄后,如果沒輸入用戶名,會提示輸入用戶名;如果沒輸入密碼,會提示輸入密碼;如果用戶名和密碼能和數據庫匹配上則能成功登錄到相應權限下的客戶端主界面上;如果與數據庫中的數據匹配不上則回提示用戶不存在或者密碼錯誤。</p><p> 把登錄用戶的用戶名
92、顯示在客戶端主窗體中實現的代碼如下:</p><p> if (strcmp(user->userID,"admin")==0) {</p><p> strcpy(user->userName,"管理員");</p><p><b> }</b></p><p>
93、;<b> else{</b></p><p> dataset->Close();</p><p> switch (user->roleID)</p><p><b> {</b></p><p> case 2: dataset->CommandText=&quo
94、t;SELECT teacherName from P_Teacher where (teacherID='"+AnsiString(user->userID)+"')"; break;</p><p> case 3: dataset->CommandText="SELECT stuName from P_Student where (stu
95、Num='"+AnsiString(user->userID)+"')"; break;</p><p><b> }</b></p><p><b> }</b></p><p><b> 5.1.2密碼修改</b></p>&
96、lt;p> 用戶登錄后,可以選擇修改密碼,修改密碼界面如圖5-2所示。</p><p> 圖5-2 密碼修改</p><p> 當每次添加一個新用戶時,會自動創(chuàng)建賬戶和密碼,每個新用戶的初始密碼都設置為空,所以每個用戶登錄后都可以根據自己的情況修改密碼,密碼為長度不超過32位的字符。</p><p> 5.1.3基礎信息下拉菜單</p>
97、<p> 在客戶端主界面中,鼠標滑動到菜單上,就會顯示出下拉菜單列表,如圖5-3所示。</p><p> 圖5-3 基礎信息下拉菜單列表</p><p> 5.1.4班級和專業(yè)信息維護</p><p> (1)班級信息維護的界面,如圖5-4所示。</p><p> 圖5-4 班級信息維護</p>&l
98、t;p> (2)主要實現的功能</p><p> 添加功能:管理員剛進入系統是沒有班級,管理員要根據實際情況點擊【添加】按鈕來添加已有的班級信息,其中班級的添加是根據所在系來選擇添加的。點擊添加后會彈出一個班級屬性的窗體,里面有班級所屬系的選擇,如圖5-5所示。</p><p> 修改功能:管理員點擊【修改】按鈕時,如果有班級列表并選擇了一個,則會彈出如圖5-5的窗口,修改需要
99、修改的屬性,然后點擊保存就會自動保存到數據庫里面去;如果沒有選擇班級,則自動選擇第一個;如果沒有班級列表,會提示你選擇班級。</p><p> 圖5-5 班級屬性</p><p> 刪除功能:點擊【刪除】按鈕時,如果有班級列表并選擇了一個,就會刪除一個班級項;如果沒有選擇班級,則自動選擇第一個;如果沒有班級列表,會提示你選擇班級。</p><p> 退出功
100、能:點擊【退出】按鈕后,會直接返回到客戶端主窗體界面,可以繼續(xù)選擇其他菜單。</p><p> cdsProperty組件的實現是:select C.classID,C.classCode,C.className,M.majorName,C.classCount,C.InTime from P_Class_info AS C left join P_Major M on (C.majorID=M.majorI
101、D) where (C.class_status=1)。</p><p> 在圖5-5班級屬性窗體中點擊SpeedButton1按鈕,選擇班級所屬的系,選擇系后再在各個DBEdit中填寫班級屬性,點擊保存即可。點擊SpeedButton1按鈕后,會彈出所以系的列表,如圖5-6所示。</p><p> cdsProperty組件的實現是:select C.classID,C.class
102、Code,C.className,C.majorID,C.classCount,C.InTime,C.outTIme,class_status from P_Class_info AS C where (C.classID=:oid),其中oid是一個整形參數,通過點擊SpeedButton1獲得。</p><p> cdsProperty通過SQL語句和數據庫連接,把當前classID和系列表中的class
103、ID聯系起來,產生的數據直接保存到數據庫里面。</p><p> 圖5-6 專業(yè)列表</p><p> 其中管理員也可以通過點擊專業(yè)列表窗體中的【添加】、【刪除】、【保存】、【退出】等按鈕來對專業(yè)進行維護,但是每次添加或者刪除和修改后都必須點擊保存才能生效,其中添加事件的代碼如下:</p><p> cdsGrid->Append();</p&g
104、t;<p> cdsGrid->Edit();</p><p> cdsGrid->FieldByName("majorID")->AsInteger=getMaxID("P_Major","majorID");</p><p> 通過cdsGrid組件直接保存到數據庫里面。</p>
105、;<p> 5.1.5學生信息維護</p><p> (1)學生信息維護界面設計,如圖5-7所示。</p><p> 圖5-7 學生信息列表</p><p> (2)主要實現的功能</p><p> 添加功能:管理員剛進入系統是沒有學生信息,管理員要根據實際情況點擊【添加】按鈕來添加學生信息,其中學生的添加是根據
106、所在班級來選擇添加的。點擊【添加】按鈕前必須通過SpeedButton1按鈕來選擇一個班級,否則會提示沒有選擇班級,不能添加。選擇班級后,會彈出一個如圖5-8所示的窗口,雙擊所需要的選擇的班級,則在圖5-7的窗體中就會顯示班級名稱。</p><p> 圖5-8 班級列表</p><p> 修改功能:管理員點擊【修改】按鈕時必須通過SpeedButton1按鈕來選擇一個班級,否則會提示
107、沒有選擇班級,不能修改。如果有學生列表并選擇了一個,則會彈出如圖5-9的窗口,修改需要修改的屬性,然后點擊保存就會自動保存到數據庫里面去;如果沒有選擇學生,則自動選擇第一個;如果沒有學生列表,會提示你選擇一個學生。</p><p> 圖5-9 學生屬性</p><p> 刪除功能:點擊【刪除】按鈕時必須通過SpeedButton1按鈕來選擇一個班級,否則會提示沒有選擇班級,不能刪除
108、。如果有學生列表并選擇了一個,就會刪除一個學生項;如果沒有選擇學生,則自動選擇第一個;如果沒有學生列表,會提示你選擇一個學生。</p><p> 退出功能:點擊【退出】按鈕后,會直接返回到客戶端主窗體界面,可以繼續(xù)選擇其他菜單。</p><p> 在【添加】或者【修改】學生屬性時,對于出生日期的選擇是通過SpeedButton1來實現的,點擊一下SpeedButton1按鈕,會出現如圖
109、5-10的日期窗口,供你選擇。</p><p> 圖5-10 日期選擇</p><p><b> (3)主要代碼實現</b></p><p> 日期選擇的SpeedButton1代碼實現:</p><p> void __fastcall TFormSut::SpeedButton1Click(TObject
110、*Sender)</p><p><b> {</b></p><p> AnsiString day= cdsProperty->FieldByName("stu_birthDate")->AsString;</p><p> day=getDate1(day);</p><p>
111、 cdsProperty->Edit();</p><p> cdsProperty->FieldByName("stu_birthDate")->AsString=day;</p><p><b> }</b></p><p> 其中學生信息列表中DBGridEh1的OddRowColor屬性設置
112、為ClWindow,表示DBGridEh1的顏色為默認顏色;BorderStyle屬性設置為bdLeftToRight,表示DBGridEh1的列表從左到右對齊;Ctl3D屬性設置為true,表示帶有3D效果。</p><p> 5.1.6課程信息維護</p><p> (1)課程信息維護界設計,面如圖5-11所示。</p><p> 圖5-11 課程信息列
113、表</p><p> (2)主要實現的功能</p><p> 添加功能:管理員要根據實際情況點擊【添加】按鈕來添加課程信息,其中課程的添加是根據所在專業(yè)來選擇添加的。點擊【添加】按鈕前必須通過SpeedButton1按鈕來選擇一個專業(yè),否則會提示沒有選擇班級,不能添加。選擇專業(yè)后,會彈出一個如圖5-11所示的窗口,雙擊所需要的選擇的班級,則再圖5-11的窗體中就會顯示專業(yè)名稱。然后再點
114、擊【添加】按鈕,會出現圖5-12的窗體。</p><p> cdsProperty組件的實現是:select C.course_ID,C.course_num,C.course_name,C.course_credits,C.course_hours from P_Course_list AS C where(C.majorID=:majid) ,其中majid是一個整形參數,通過點擊SpeedButton1
115、獲得。</p><p> 修改功能:管理員點擊【修改】按鈕時必須通過SpeedButton1按鈕來選擇一個班級,否則會提示沒有選擇班級,不能修改。如果有課程列表并選擇了一個,則會彈出如圖5-12的窗口,修改的屬性,然后點擊保存就會自動保存到數據庫里面去;如果沒有選擇課程,則自動選擇第一個;如果沒有課程列表,會提示你選擇一門課程。</p><p> 刪除功能:點擊【刪除】按鈕時必須通過S
116、peedButton1按鈕來選擇一個專業(yè),否則會提示沒有選擇專業(yè),不能刪除。如果有課程列表并選擇了一個,就會刪除一個課程項;如果沒有選擇課程,則自動選擇第一個;如果沒有課程列表,會提示你選擇一門課程。</p><p> 退出功能:點擊【退出】按鈕后,會直接返回到客戶端主窗體界面,可以繼續(xù)選擇其他菜單。</p><p> 圖5-12 課程屬性</p><p>&l
117、t;b> (3)主要代碼實現</b></p><p> 專業(yè)列表的雙擊事件代碼實現:</p><p> void __fastcall TFormMajorList::DBGridEh1DblClick(TObject *Sender){</p><p> if (cdsGrid->FieldByName("majorID&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學生綜合管理系統畢業(yè)論文
- 畢業(yè)論文---學生信息綜合管理系統
- 畢業(yè)論文——學生管理系統
- 學生管理系統畢業(yè)論文
- 學生管理系統畢業(yè)論文
- 畢業(yè)論文——學生管理系統
- 學生管理系統畢業(yè)論文
- 畢業(yè)論文 ----學生管理系統
- 學生管理系統-畢業(yè)論文
- 學生管理系統-畢業(yè)論文
- 學生管理系統畢業(yè)論文
- 學生管理系統畢業(yè)論文
- 學生管理管理系統畢業(yè)論文
- 學生成績管理系統畢業(yè)論文畢業(yè)論文
- 畢業(yè)論文----學生管理系統設計
- 畢業(yè)論文——學生排課管理系統
- 學生管理系統畢業(yè)論文 (2)
- 學生管理系統畢業(yè)論文 (2)
- 學生學籍管理系統畢業(yè)論文
- 畢業(yè)論文——學生管理系統 (2)
評論
0/150
提交評論