學(xué)生選課系統(tǒng)
《學(xué)生選課系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《學(xué)生選課系統(tǒng)(51頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、摘要 摘要 對(duì)于目前高校來說,網(wǎng)上學(xué)生選課系統(tǒng)是高校學(xué)生管理工作中必不可少的一部分,對(duì)于高校來說學(xué)生選課系統(tǒng)非常重要,有著很深的意義。本系統(tǒng)基于目前高校的實(shí)際情況開發(fā),主要基于BS架構(gòu),不需要安裝軟件,只需要打開瀏覽器,輸入指定的網(wǎng)址便可訪問。本系統(tǒng)使用PHP+MySQL技術(shù)進(jìn)行開發(fā)。為學(xué)生選課提供一個(gè)便捷的平臺(tái),方便學(xué)生選課,學(xué)校學(xué)生選課的管理,教師只需在后臺(tái)設(shè)置課程信息,學(xué)生便可選課,免去了許多繁雜的步驟。 關(guān)鍵詞 成績(jī)管理系統(tǒng);高校;PHP; I I II
2、 Abstract For the current colleges and universities, the online student selection system is an indispensable part of the management of college students. For colleges and universities, the student selection system is very important and has deep meaning. The system is developed based on the
3、current situation of colleges and universities. It is mainly based on the BS architecture. It does not need to install software. It only needs to open the browser and enter the specified URL to access. This system is developed using PHP+MySQL technology. It provides a convenient platform for student
4、s to choose courses, which is convenient for students to choose courses. The management of school students' choice of courses, teachers only need to set course information in the background, students can choose courses, eliminating many complicated steps. Keywords: Grade management system; college
5、; PHP; III 目錄 目錄 摘要 I Abstract II 第一章 緒論 3 1.1 項(xiàng)目背景 3 1.2 項(xiàng)目的意義 3 1.3 國(guó)內(nèi)外研究現(xiàn)狀 3 1.4 研究?jī)?nèi)容及本人工作 4 1.4.1研究?jī)?nèi)容 4 第二章 系統(tǒng)開發(fā)方法 5 2.1 軟件開發(fā)方法 5 2.2 開發(fā)核心語言介紹 5 2.3 其他開發(fā)語言介紹 5 2.3.1 MySQL數(shù)據(jù)庫(kù) 5 2.3.1 Thinkphp框架 5 第三章 系統(tǒng)需求與分析 6 3.1可行性分析 6 3.1.1經(jīng)濟(jì)可行性 6 3.1.2技術(shù)可行性 6 3.2 業(yè)務(wù)需求與分析 7 3.3
6、 非功能需求分析 8 3.4 功能需求與分析 8 3.4.1用戶登錄 8 3.4.2 教師模塊 9 3.4.3 學(xué)生模塊 10 3.5 性能需求與分析 10 第四章 系統(tǒng)設(shè)計(jì) 11 4.1 系統(tǒng)設(shè)計(jì)原則 11 4.2 系統(tǒng)總體設(shè)計(jì) 11 4.2.1系統(tǒng)總體結(jié)構(gòu) 11 4.3 核心功能模塊詳細(xì)設(shè)計(jì) 12 III 鎮(zhèn)江高等??茖W(xué)校畢業(yè)設(shè)計(jì)(論文) 4.3.1登錄模塊詳細(xì)設(shè)計(jì) 12 4.4數(shù)據(jù)庫(kù)設(shè)計(jì) 13 4.5數(shù)據(jù)庫(kù)連接與實(shí)施 14 第五章 系統(tǒng)實(shí)現(xiàn) 15 5.1 運(yùn)行配置環(huán)境 15 5.1.1軟件運(yùn)行環(huán)境要求 15 5.2 系統(tǒng)主要功能截圖及
7、主要實(shí)現(xiàn)代碼 16 5.2.1用戶登錄 16 5.2.2學(xué)生功能模塊 18 5.2.3教師功能代碼實(shí)現(xiàn) 22 第六章 系統(tǒng)測(cè)試 23 6.1 軟件測(cè)試方法 23 6.2 系統(tǒng)主要功能的測(cè)試用例 23 6.2.1系統(tǒng)安裝測(cè)試 23 6.2.2登陸功能測(cè)試 24 6.2.3發(fā)布課程測(cè)試 24 6.2.4查詢課程測(cè)試 25 6.2.5學(xué)生選課測(cè)試 25 總結(jié)與展望 26 致 謝 27 參考文獻(xiàn) 28 第一章 緒論 第一章 緒論 1.1 項(xiàng)目背景 目前高校學(xué)生人數(shù)多,基數(shù)大,一個(gè)學(xué)生要選許多的選修課程,往往一個(gè)學(xué)生要學(xué)許多門課程,如果學(xué)校使用紙質(zhì)化報(bào)名選
8、課的話,教師將會(huì)面對(duì)復(fù)雜的工作量,需要大量的工作人員去登記,統(tǒng)計(jì)學(xué)生選課信息,逐層上報(bào),這無疑是一個(gè)非常龐大復(fù)雜的工作量。需要耗費(fèi)許多的時(shí)間,教師許多的精力。那么我們有什么辦法去改善目前這一情況呢?因此,學(xué)生網(wǎng)上選課系統(tǒng)就因此誕生了。 1.2 項(xiàng)目的意義 計(jì)算機(jī)方面的網(wǎng)絡(luò)技術(shù)的大力發(fā)展,人們?cè)絹碓蕉美镁W(wǎng)絡(luò)。我們可以基于BS架構(gòu)開發(fā)web程序,用戶無需安裝軟件,只需用瀏覽器打開指定的網(wǎng)址進(jìn)行登錄注冊(cè)即可訪問該程序。學(xué)生網(wǎng)上選課系統(tǒng),學(xué)生只需通過瀏覽器訪問該系統(tǒng),進(jìn)行選課操作,教師在后臺(tái)可以添加選課內(nèi)容,管理學(xué)生,查看統(tǒng)計(jì)的學(xué)生的選課情況。減少了教師的很多工作量,節(jié)約了許多時(shí)間。大大的便于
9、高校管理工作的進(jìn)行。 1.3 國(guó)內(nèi)外研究現(xiàn)狀 依照學(xué)生選課系統(tǒng)國(guó)內(nèi)外情況,外國(guó)相關(guān)人員對(duì)該系統(tǒng)的完善與升級(jí),相比我國(guó)內(nèi)系統(tǒng),已經(jīng)相對(duì)的的完整。但是國(guó)外的系統(tǒng)邏輯思維與國(guó)內(nèi)不一樣,不太符合我國(guó)國(guó)情,因此我們需要開發(fā)出一套與我們高校相適應(yīng)的選課系統(tǒng),基于高校出發(fā),功能操作方式應(yīng)符合國(guó)人思維,使用的習(xí)慣。 1.4 研究?jī)?nèi)容及本人工作 1.4.1研究?jī)?nèi)容 1. 對(duì)高校學(xué)生選課現(xiàn)象進(jìn)行調(diào)研 調(diào)查分析目前高校學(xué)生選課情況,做出一個(gè)大概的了解。 2. 對(duì)系統(tǒng)的需求進(jìn)行分析 分析該系統(tǒng)所需要的功能 3. 設(shè)計(jì)功能模塊 詳細(xì)確定系統(tǒng)所需的功能模塊,
10、比如用戶登錄注冊(cè)模塊、學(xué)生選課模塊等。 4. 數(shù)據(jù)庫(kù)設(shè)計(jì) 建立數(shù)據(jù)庫(kù),設(shè)計(jì)選課系統(tǒng)所需要的表,以及E-R圖。 45 鎮(zhèn)江高等??茖W(xué)校畢業(yè)設(shè)計(jì)(論文) 5.實(shí)現(xiàn)系統(tǒng) 開始編寫該系統(tǒng)代碼,實(shí)現(xiàn)學(xué)生網(wǎng)上選課系統(tǒng)功能。 6.系統(tǒng)測(cè)試 對(duì)系統(tǒng)功能進(jìn)行測(cè)試。 本網(wǎng)上學(xué)生選課系統(tǒng)的設(shè)計(jì)與制作全部由本人獨(dú)自設(shè)計(jì)與制作,從系統(tǒng)的需求分析,系統(tǒng)的功能模塊設(shè)計(jì)與確定,系統(tǒng)代嗎編寫,設(shè)計(jì)系統(tǒng)的數(shù)據(jù)庫(kù),系統(tǒng)測(cè)試。在本系統(tǒng)的后、前期需求分析階段,本人對(duì)在校學(xué)生和任課教師的需求進(jìn)行調(diào)研和統(tǒng)計(jì),并撰寫該系統(tǒng)的需求文檔,并根據(jù)該
11、系統(tǒng)的需求文檔進(jìn)行該系統(tǒng)功能的測(cè)試和評(píng)估,這也包括學(xué)生選課系統(tǒng)的測(cè)試等相關(guān)內(nèi)容。2 基礎(chǔ)理論和相關(guān)技術(shù)介紹 第二章 軟件開發(fā) 第二章 軟件開發(fā) 2.1 軟件開發(fā)方法 本選課系統(tǒng)采用玩的文檔閱讀與研究、實(shí)際進(jìn)入高校調(diào)查研究、進(jìn)行過系統(tǒng)實(shí)際測(cè)試等相關(guān)的研究方法。通過實(shí)際高校情況調(diào)查結(jié)果結(jié)合相關(guān)文檔內(nèi)容研究課題。在選課系統(tǒng)的完成與實(shí)現(xiàn)中將使用自己所學(xué)的編程專業(yè)知識(shí)和相關(guān)技術(shù)進(jìn)行研究。同時(shí)閱讀與參考其他作者所編寫的學(xué)生網(wǎng)上選課管理系統(tǒng),結(jié)合當(dāng)前高校學(xué)生網(wǎng)上選課系統(tǒng)實(shí)際需求出發(fā)進(jìn)行功能性的研究與實(shí)
12、現(xiàn)。進(jìn)行實(shí)際學(xué)生網(wǎng)上選課系統(tǒng)開發(fā)。 該方法就是把這個(gè)高校學(xué)生網(wǎng)上選課系統(tǒng)、分為幾大功能模塊,分模塊進(jìn)行開發(fā)與制作。完成最終系統(tǒng)的實(shí)現(xiàn)。 2.2 開發(fā)核心語言介紹 本系統(tǒng)開發(fā)主要采用PHP語言進(jìn)行開發(fā)制作。PHP起源源于1995年,由Rasmus Lerdorf 開發(fā)完成。PHP是一種語法結(jié)構(gòu)簡(jiǎn)單,易于入門的,很多功能只需要一個(gè)函數(shù)就可以實(shí)現(xiàn)的腳本語言。它的安全性高,跨平臺(tái),幾乎支持所有的操作系統(tǒng)平臺(tái),支持多種服務(wù)器,支持廣泛的數(shù)據(jù)庫(kù),其中PHP+MySQL是最佳的組合,本系統(tǒng)就采用了MySQL數(shù)據(jù)庫(kù),它還有易學(xué)性,語法簡(jiǎn)單便于掌握。它執(zhí)行速度塊,占用系統(tǒng)資源少,代碼執(zhí)行的速度就快。PHP
13、還是一個(gè)免費(fèi)的開源腳本。PHP目前已成為全球最受歡迎的腳本語言之一。 2.3 其他開發(fā)語言介紹 2.3.1 MySQL數(shù)據(jù)庫(kù) 只有與數(shù)據(jù)庫(kù)結(jié)合,才能充分發(fā)揮動(dòng)態(tài)網(wǎng)頁編程語言的的魅力,PHP支持多種數(shù)據(jù)庫(kù),尤其與MySQL被稱為“黃金搭檔”!MySQL也是目前最為流行的開源數(shù)據(jù)庫(kù),是完全網(wǎng)絡(luò)化跨平臺(tái)關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)。MySQL具有功能強(qiáng)大,提供了多種數(shù)據(jù)庫(kù)存儲(chǔ)引擎,支持跨平臺(tái),運(yùn)行速度快,MySQL使用了B樹磁盤表,成本低,免費(fèi),支持各種開發(fā)語言,存儲(chǔ)容量大等優(yōu)點(diǎn)。 2.3.1 Thinkphp框架 ThinkPHP是一種性能卓越并且功能豐富的輕量級(jí)PHP開發(fā)框架,其宗旨是讓web應(yīng)用
14、開發(fā)更簡(jiǎn)單、更快速。Thinkphp在易用性、擴(kuò)展性和性能方面不斷優(yōu)化和改進(jìn),已經(jīng)成為國(guó)內(nèi)最領(lǐng)先和最具影響力的web開發(fā)框架。它開源、快速、簡(jiǎn)單。 鎮(zhèn)江高等專科學(xué)校畢業(yè)設(shè)計(jì)(論文) 第三章 系統(tǒng)需求與分析 本系統(tǒng)為學(xué)生網(wǎng)上選課系統(tǒng),主要功能有用戶登錄、學(xué)生瀏覽課程信息并可以進(jìn)行選課操作,查詢課程信息,瀏覽已經(jīng)選擇的課程并且可以進(jìn)行取消操作。教師可以管理學(xué)生信息,管理課程,管理學(xué)生選課。 3.1可行性分析 3.1.1經(jīng)濟(jì)可行性 PHP+MySQL,thinkPHP是開源免費(fèi)的軟件,不需要收費(fèi),同時(shí)采用PHPstorm編輯器,學(xué)生可以免費(fèi)申請(qǐng),本項(xiàng)目完全不需要其他資金,經(jīng)濟(jì)上完全可
15、行。 3.1.2技術(shù)可行性 本系統(tǒng)開發(fā)主要采用PHP語言進(jìn)行開發(fā)制作。PHP是一種語法結(jié)構(gòu)簡(jiǎn)單,易于入門的,很多功能只需要一個(gè)函數(shù)就可以實(shí)現(xiàn)的腳本語言。它還有易學(xué)性,語法簡(jiǎn)單便于掌握。它執(zhí)行速度塊,占用系統(tǒng)資源少,代碼執(zhí)行的速度就快。PHP還是一個(gè)免費(fèi)的開源腳本。PHP目前已成為全球最受歡迎的腳本語言之一。 MySQL具有功能強(qiáng)大,提供了多種數(shù)據(jù)庫(kù)存儲(chǔ)引擎,支持跨平臺(tái),運(yùn)行速度快,MySQL使用了B樹磁盤表,成本低,免費(fèi),支持各種開發(fā)語言,存儲(chǔ)容量大等優(yōu)點(diǎn)。 ThinkPHP是一種性能卓越并且功能豐富的輕量級(jí)PHP開發(fā)框架,其宗旨是讓web應(yīng)用開發(fā)更簡(jiǎn)單、更快速。Thinkphp在易
16、用性、擴(kuò)展性和性能方面不斷優(yōu)化和改進(jìn),已經(jīng)成為國(guó)內(nèi)最領(lǐng)先和最具影響力的web開發(fā)框架。它開源、快速、簡(jiǎn)單。 3.2 業(yè)務(wù)需求與分析 具體功能實(shí)際可根據(jù)業(yè)務(wù)不同需求進(jìn)行個(gè)別設(shè)置,以下為基本需求設(shè)定。 1.用戶登錄的需求分析 該功能主要分為 學(xué)生 教師 管理員三個(gè)身份進(jìn)行登錄。 運(yùn)行登陸程序 學(xué)生登陸 教師登陸 圖3-1登錄流程圖 第三章 系統(tǒng)需求與分析 2.教師功能模塊的需求分析 教師在系統(tǒng)登錄成功之后,可以管理學(xué)生信息,對(duì)學(xué)生信息進(jìn)行查看等操作。教師可以發(fā)布要選課的課程信息,管理發(fā)布的課程,查看學(xué)生的
17、選課情況,修改自己的登錄密碼。等相關(guān)操作。 教師登陸成功 修改密碼 查看選課情況 管理發(fā)布課程 發(fā)布課程 圖3-2教師功能流程圖 3.學(xué)生功能模塊的需求分析 學(xué)生在登陸之后可以修改登錄密碼,查看自己可以選擇的課程,管理自己已 經(jīng)選擇的課程,進(jìn)行選課操作。 學(xué)生功能模塊 修改密碼 選擇課程 管理已選課程 查看可選課程 圖3-3學(xué)生功能流程圖 3.3 非功能需求分析 3.3.1系統(tǒng)運(yùn)行環(huán)境 1、軟件運(yùn)行環(huán)境要求 開發(fā)工具:PHPstorm 、hbuilder、phpstudy,
18、運(yùn)行環(huán)境:Windows操作系統(tǒng),lamp集成開發(fā)環(huán)境 2、硬件運(yùn)行環(huán)境要求 CPU:3.66G Hz以上; 鎮(zhèn)江高等??茖W(xué)校畢業(yè)設(shè)計(jì)(論文) 內(nèi)存:4GB; 硬盤空間:100GB以上 3.4 功能需求與分析 本系統(tǒng)是一個(gè)以PHP+MySQL技術(shù),結(jié)合thinkPHP框架開發(fā)的網(wǎng)上學(xué)生選課系統(tǒng),供高校師生使用。從用戶的角度上,該系統(tǒng)分為兩個(gè)層面:(1)使用該系統(tǒng)的學(xué)生,他們登錄系統(tǒng)后通過客戶端瀏覽器瀏覽可選的課程信息,并根據(jù)自己的實(shí)際情況按照一定次序選課。(2)另一個(gè)是教師,他們可以通過瀏覽器輸入該網(wǎng)上選課系統(tǒng)的訪問地址,進(jìn)行網(wǎng)上選課系統(tǒng)的維護(hù)和管理工作。比如說,對(duì)課程信息進(jìn)
19、行刪除操作,添加操作,修改操作。 該網(wǎng)上選課系統(tǒng)是建立在B/S的架構(gòu)上的動(dòng)態(tài)web程序應(yīng)用,隸屬于web開發(fā)。不僅僅如此,還需要按照學(xué)校的規(guī)模條件以及學(xué)生集中選課的時(shí)間。根據(jù)預(yù)期系統(tǒng)性能選定服務(wù)器,相應(yīng)的軟硬件和網(wǎng)絡(luò)設(shè)施。 3.4.1用戶登錄 本系統(tǒng)主要有三位用戶進(jìn)行登錄操作,學(xué)生登錄,教師登錄。管理員登錄 運(yùn)行登陸程序 學(xué)生登陸 教師登陸 圖3-4登錄模塊 3.4.2 教師模塊 教師在網(wǎng)上選課系統(tǒng)登陸成功之后,可以發(fā)布課程,填寫需要發(fā)布的 課程信息,比如課程名稱,任課教師,課程時(shí)長(zhǎng)等等信息,在教師發(fā)布課程之后,教師還可以管理課程,對(duì)發(fā)布
20、的課程進(jìn)行管理操作,對(duì)不需要的課程進(jìn)行刪除,填錯(cuò)的課程信息,進(jìn)行修改正確的課程信息。教師還可以查看學(xué)生的選課情況,對(duì)學(xué)生選擇了哪些課程進(jìn)行查看操作。除此之外,教師還以可以管理學(xué)生,新增學(xué)生,修改學(xué)生信息,刪除學(xué)生信息。為了提高系統(tǒng)的安全性,教師可以在登錄系統(tǒng)之后,進(jìn)行密碼修改操作,修改的自己的登錄密碼。 第三章 系統(tǒng)需求與分析 教師登陸成功 查看選課情況 修改密碼 管理發(fā)布課程 發(fā)布課程 圖3-5教師功能模塊 3.4.3 學(xué)生模塊 學(xué)生在登錄該網(wǎng)上選課系統(tǒng)之后,自己可以選擇的課程信息,課程名稱,上課時(shí)間,任課教師,上課地點(diǎn)等信息。學(xué)生可
21、以對(duì)自己合適的課程進(jìn)行選擇操作,學(xué)生還可以查看自己所選擇的課程信息,學(xué)生可以管理自己的已經(jīng)選擇課程,對(duì)自己所選擇的課程進(jìn)行退課操作,允許反悔。為了提高系統(tǒng)的安全性,學(xué)生可以在登錄系統(tǒng)之后,進(jìn)行密碼修改操作,修改的自己的登錄密碼。 學(xué)生功能模塊 修改密碼 管理已選課程 選擇課程 查看可選課程 圖3-6學(xué)生功能流程圖 3.5 性能需求與分析 1.適應(yīng)性 學(xué)生網(wǎng)上選課系統(tǒng)由于使用PHP+MySQL,結(jié)合thinkPHP框架開發(fā),所以本系統(tǒng)用于Linux、windows平臺(tái)、mac等操作系統(tǒng)上運(yùn)行。 2.故障處理 正常使用系統(tǒng)過程中不會(huì)出現(xiàn)錯(cuò)誤日志
22、,出現(xiàn)系統(tǒng)錯(cuò)誤,必須保證數(shù)據(jù)一致性。 鎮(zhèn)江高等??茖W(xué)校畢業(yè)設(shè)計(jì)(論文) 第四章 系統(tǒng)設(shè)計(jì) 4.1 系統(tǒng)設(shè)計(jì)原則 1.系統(tǒng)性 學(xué)生網(wǎng)上選課系統(tǒng)由于使用PHP+MySQL,結(jié)合thinkPHP框架開發(fā) 2.經(jīng)濟(jì)性 本次系統(tǒng)開發(fā)過程中,經(jīng)濟(jì)性即指滿足基本需求的條件下,減少開發(fā)成本。在滿足基本功能的條件下,合理降低項(xiàng)目費(fèi)用。 3.靈活性 此項(xiàng)目模塊化開發(fā),使得各模塊獨(dú)立開發(fā),降低耦合度,實(shí)現(xiàn)高內(nèi)聚低耦合。 4.2 總體設(shè)計(jì) 4.2.1總體結(jié)構(gòu) 首頁 學(xué)生網(wǎng)上選課系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)圖,系統(tǒng)主要由幾大功能模塊組成:安裝模塊、用戶登錄模塊、學(xué)生功能模塊,教授功能模塊組成。如圖4-
23、2系統(tǒng)層次圖所示: 學(xué)生 教師 查詢課程 刪除課程 修改課程 添加課程 瀏覽已選課程 查詢課程 瀏覽可選課程 課程詳細(xì)信息 選擇課程 刪除已選課程 圖4-1總體結(jié)構(gòu)層次圖 4.3 核心功能模塊詳細(xì)設(shè)計(jì) 4.3.1登錄功能設(shè)計(jì) 第4章 系統(tǒng)設(shè)計(jì) 本系統(tǒng)主要分為三個(gè)角色登錄,學(xué)生登錄,教師登錄,管理員登錄。 4.3.2 教師模塊詳細(xì)設(shè)計(jì) 教師在網(wǎng)上選課系統(tǒng)登陸成功之后,可以發(fā)布課程,填寫需要發(fā)布的課程信息,比如課程名稱,任課教師,課程時(shí)長(zhǎng)等等信息,在教師發(fā)布課程之后,教師還可以管理課程,對(duì)發(fā)布的課程進(jìn)
24、行管理操作,對(duì)不需要的課程進(jìn)行刪除,填錯(cuò)的課程信息,進(jìn)行修改正確的課程信息。教師還可以查看學(xué)生的選課情況,對(duì)學(xué)生選擇了哪些課程進(jìn)行查看操作。除此之外,教師還以可以管理學(xué)生,新增學(xué)生,修改學(xué)生信息,刪除學(xué)生信息。為了提高系統(tǒng)的安全性,教師可以在登錄系統(tǒng)之后,進(jìn)行密碼修改操作,修改的自己的登錄密碼。 4.3.3 學(xué)生功能模塊詳細(xì)設(shè)計(jì) 學(xué)生在登錄該網(wǎng)上選課系統(tǒng)之后,可以去查看教師所發(fā)布的課程,自己可以選擇的課程信息,課程名稱,上課時(shí)間,任課教師,上課地點(diǎn)等信息。學(xué)生可以對(duì)自己合適的課程進(jìn)行選擇操作,學(xué)生還可以查看自己所選擇的課程信息,學(xué)生可以管理自己的已經(jīng)選擇課程,對(duì)自己所選擇的課程進(jìn)行退課操作
25、,允許反悔。學(xué)生可以在登錄系統(tǒng)之后,進(jìn)行密碼修改操作,修改的自己的登錄密碼。 4.4數(shù)據(jù)庫(kù)設(shè)計(jì) 本系統(tǒng)完全遵循模塊開發(fā)準(zhǔn)測(cè),報(bào)錯(cuò)數(shù)據(jù)庫(kù)模塊管理,同時(shí)各模塊數(shù)據(jù)管理必須遵循數(shù)據(jù)一致性原則。共分為5個(gè)關(guān)系,詳細(xì)信息如下所示: 學(xué)生(學(xué)號(hào)、姓名、學(xué)院、專業(yè)、班級(jí)、性別、班級(jí)、密碼) 教師(教師工號(hào)、姓名、學(xué)院、性別、職稱、密碼) 課程(課程編號(hào)、課程名、教師姓名、已選人數(shù)、容量、上課時(shí)間、上課地點(diǎn)、學(xué)分、學(xué)時(shí)) 選課信息(學(xué)號(hào)、課程編號(hào)) 1.選課信息表 選課信息表包括 學(xué)生學(xué)號(hào)、課程表號(hào)2個(gè)字段。 表4-1課程信息表 字段名稱 數(shù)據(jù)類型 大小 約束 非空 默認(rèn)值 含
26、義 StuNo varchar 8 主鍵 是 無 學(xué)號(hào)無 CouNo int 3 主鍵 是 無 課程編號(hào) State char 2 是 無 課程狀態(tài) Credit Smallint 2 是 無 課程學(xué)分 Alter char 2 是 無 成績(jī) 2.學(xué)生信息表 學(xué)生信息表包括 學(xué)號(hào)、姓名、學(xué)院、專業(yè)、性別、班級(jí)、密碼7個(gè)字段 鎮(zhèn)江高等??茖W(xué)校畢業(yè)設(shè)計(jì)(論文) 表4-2學(xué)生信息表 字段名稱 數(shù)據(jù)類型 大小 約束 非空 默認(rèn)值 含義 StuNo char 8 主鍵 是 無 學(xué)號(hào)
27、StuName char 10 是 無 姓名 Classno char 8 是 無 班級(jí) Pwd char 8 是 無 密碼 Credit Smallint 2 是 無 學(xué)分 3.教師信息表 標(biāo)識(shí):info_teacher 教師信息表包括 工號(hào)、姓名、學(xué)院、性別、職稱、密碼6個(gè)字段 表4-3教師信息表 字段名稱 數(shù)據(jù)類型 大小 約束 非空 默認(rèn)值 含義 TeatNo char 8 主鍵 是 無 工號(hào) Teaname char 10 是 無 姓名 DepartNo char
28、 2 是 無 學(xué)院 Pwd char 8 是 無 密碼 4.課程信息表 課程信息表包括 課程編號(hào)、課程名稱、上課老師、學(xué)分、上課時(shí)間 表 4-4課程信息表 字段名稱 數(shù)據(jù)類型 大小 約束 非空 默認(rèn)值 含義 CouNnme char 8 主鍵 是 無 課程名稱 Kind char 8 是 無 類 Teacher char 10 是 無 上課老師 SchoolTime char 8 是 無 上課時(shí)間 Credit Smallint 2 是 無 課程學(xué)分 primary
29、 key char 2 是 無 課程編號(hào) 4.5數(shù)據(jù)庫(kù)連接與實(shí)施 4.5.1 數(shù)據(jù)庫(kù)實(shí)施 本階段主要進(jìn)行創(chuàng)建表、添加數(shù)據(jù)和創(chuàng)建必要的視圖、觸發(fā)器和存儲(chǔ)過程等內(nèi)容。 這個(gè)過程在系統(tǒng)安裝階段完成。 第四章 系統(tǒng)設(shè)計(jì) Navicat是一款數(shù)據(jù)庫(kù)管理工具,本系統(tǒng)采用Navicat軟件作為數(shù)據(jù)庫(kù)管理和開發(fā)工具。數(shù)據(jù)庫(kù)的操作都是在Navicat中完成。 4.5.2 鏈接數(shù)據(jù)庫(kù) 本系統(tǒng)采用thinkPHP框架開發(fā),無需編寫繁雜的數(shù)據(jù)庫(kù)連接代碼,只需要在系統(tǒng)框架目錄app/conf/config.php.中設(shè)置好數(shù)據(jù)庫(kù)的地址,用戶名,密碼,數(shù)據(jù)庫(kù)名稱即可,如圖所示:
30、 表4-1數(shù)據(jù)庫(kù)連接代碼 鎮(zhèn)江高等專科學(xué)校畢業(yè)設(shè)計(jì)(論文) 第五章 系統(tǒng)實(shí)現(xiàn) 5.1 運(yùn)行配置環(huán)境 5.1.1軟件運(yùn)行環(huán)境要求 本系統(tǒng)軟件運(yùn)行環(huán)境主要使用lamp開發(fā)環(huán)境,就是Linux,Apache,MySQL數(shù)據(jù)庫(kù),PHP5.6進(jìn)行開發(fā)。我們主要使用簡(jiǎn)單的PHPstudy集成開發(fā)環(huán)境,無需繁雜的配置就可以把項(xiàng)目簡(jiǎn)單的跑起來。 5.2 主要系統(tǒng)功能截圖及相關(guān)實(shí)現(xiàn)代碼 5.2.1登錄 登錄主要分為2個(gè)身份進(jìn)行登錄,學(xué)生和教師身份,在系統(tǒng)主頁登錄模塊處,輸入自己的登錄賬號(hào)和登錄密碼,選擇自己符合的身份進(jìn)行登錄,在用戶點(diǎn)擊登陸后,進(jìn)行
31、表單post方式傳值到驗(yàn)證控制器中進(jìn)項(xiàng)驗(yàn)證。若用戶名和密碼輸入正確就會(huì)跳轉(zhuǎn)到和自己相對(duì)應(yīng)的頁面。若用戶名和密碼輸入錯(cuò)誤,系統(tǒng)則會(huì)提示,用戶登錄失敗,請(qǐng)返回重新登錄。 圖5-1登錄界面
圖5-2登錄前端代碼 public function checkLogin( ) t $username = sthis->_ .post ("username") ;$pw33、d =$this->_ post (" password");$usertype =$this->_ post( 'role') ;if( !$use rname)t sthis->error( 'iA5aAAP8! '); if(!$pwd)t $this->error( 'iXE5'); 1/9Re?#4 if($usertype a'student' )t $student =M( 'student' );//3J88t -↑Xf e 11i014 $condit ion['StuName' ]=$username;$condition['Pwd ']=$pw
34、d : $userinfo =$student- >where($ condition)-find(); if(!$userinfo) sthis->errorl '?P&TT?');if(!$userinfo['Pwd']=$pwd) $this- >error( 'AIP E54iR') ;elsef session( 'StuNo' . $userinfo['StuNo']) : sess ion( 'StuName' , $userinfo[ 'StuName']);session( ' role' ,$userinfol'student']) : sthis->su
35、ccess( 'ükAEIJ',U( " /Student/index')); 鎮(zhèn)江高等??茖W(xué)校畢業(yè)設(shè)計(jì)(論文) 在通過post提交登陸數(shù)據(jù)后,$username = $this->_post("username");$pwd =$this->_post("password");$usertype =$this->_post('role');會(huì)在checkLogin()方法中處理,獲取用戶名,登錄密碼,身份選擇信息,判斷!$username用戶名是否為空,密碼是否為空,然后根據(jù)角色信息去查詢數(shù)據(jù)庫(kù),如果是學(xué)生就去查詢學(xué)生信息表,如果是教師就去查詢教師信息表, 看是否存在用戶民,密碼是否
36、匹配。如果匹配的話就將信息存儲(chǔ)到數(shù)據(jù)庫(kù)中。跳轉(zhuǎn)到對(duì)應(yīng)的頁面去。代碼如圖所示: 圖5-2登錄代碼邏輯處理 5.2.2學(xué)生功能模塊 學(xué)生在登錄系統(tǒng)之后會(huì)進(jìn)入對(duì)應(yīng)的功能模塊,進(jìn)行相應(yīng)的選課,退課,查詢已 選課程操作。如圖所示: 圖5-3學(xué)生功能模塊界面 學(xué)生可以查看選課信息,在學(xué)生點(diǎn)擊進(jìn)入選課系統(tǒng)后,系統(tǒng)會(huì)查詢學(xué)生可以選課的信息,把將其顯示在頁面上。具體代碼實(shí)現(xiàn)如下: public function chCourse(){ $st = M('stu); $db_prfi = C('DB_PREFIX'); $stno = session('StNo');
37、 $stinform=$st->alias('st')->join('__CLASS__ as clon cl.Classno=st.Classno')->find($stuno); 第五章 系統(tǒng)實(shí)現(xiàn) $co=M('course'); $where['DNo'] =$stinform['DNo']; $cou =$cou->field('c.*,sc.StuNo')->alias('c')->join("__STUCOU__ as sc on sc.Cou = c.Cou and sc.St= '".$st."'")->where($while)->select();
38、 $this->display(); $this->assign('list',$coulist); } 學(xué)生可以查看已選課程,界面如圖: 圖5-4學(xué)生已選課程信息界面 public function choseCourse (){ $co=$this->_get('Co'); $stno=session('StNo'); $data['Order']=2; $data['State']='已選'; $data['CoNo']=$cono; $data['StNo']=$stno; $st=M('st); $ad
39、=$st->add($data); if($ad){ $this->success('成功選課!'); } } 學(xué)生刪除已選課程邏輯代碼如下: public function delete(){ $stcou=D('Stcou'); 鎮(zhèn)江高等??茖W(xué)校畢業(yè)設(shè)計(jì)(論文) $CoNo=$this->_get('CoNo'); //var_dump($CoNo);die; $stcou=D('Stcou'); $md=$stcou->where("CoNo = '$CoNo' ")->delete(); if (!$md){
40、 $this->error('刪除失?。?); }else{ $this->success('刪除成功!',U('/Stu/stucoulist')); } } 5.2.3教師功能代碼實(shí)現(xiàn) 教師角色登錄成功之后,可以進(jìn)行維護(hù)學(xué)生的信息。教師角色可以發(fā)布要選課的課程,維護(hù)發(fā)布的課程,查看學(xué)生的選課情況,維護(hù)自己的賬號(hào)信息。等相關(guān)操作界面如圖所示: 圖5-5教師角色功能界面 教師點(diǎn)擊添加課程界面如圖所示 第五章 系統(tǒng)實(shí)現(xiàn) 圖5-6添加課程功能界面 教師通過表單post方式在輸入課程相關(guān)信息后,提交相關(guān)信息到控制器add_do方法中操作:
41、 public function add_do(){ $co=D('Course'); $re=$co->create($_POST,1); if(!$re){ $this->error($cou->getError()); } $Co->DepartNo=$_SESSION['departno']; $r=$co->add($re); if(!$r){ $this->error('課程創(chuàng)建失敗!'); }else{ $this->success('課程創(chuàng)建成功!',U('
42、/Teacher/index')); } } 教師修改課程信息代碼如下: public function edit(){ $CoNo=$this->get('CoNo'); $co=M('corse'); $couinfo=$cou->find($CouNo); $this->assign('info',$couinfo); $this->display(); } public function edit_do(){ 鎮(zhèn)江高等??茖W(xué)校畢業(yè)設(shè)計(jì)(論文) $CoNo=$this->get('CoNo'); $co=
43、D('Corse'); if($co->create()){ $this->error($cou->getError()); } if($co->save($CoNo)){ $this->error('此數(shù)據(jù)寫入失敗'); }else{ $this->success('本課程創(chuàng)建成功!',U('/Corse/colist')); } } 教師角色刪除課程時(shí)候可以通過a標(biāo)簽獲取對(duì)應(yīng)課程的id信息并傳值,傳到對(duì)應(yīng)的控制器: public function delete(){ $CoNo=$this->_get('Co
44、No'); $co=M('couse'); $md=$cou->where("CoNo = '$CoNo'")->delete(); if($md){ $this->success('本課程刪除成功',U('/Corse/colist')); }else{ $this->success('本課程刪除失??!'); } } } 教師可以查看學(xué)生的信息,并且可以進(jìn)行刪除,修改操作:、 第五章 系統(tǒng)實(shí)現(xiàn) 圖5-7教師維護(hù)學(xué)生信息的界面 教師修改學(xué)生信息代碼如下所示: public function edit
45、(){ $stform=$st->findno($StNo); $this->assign('information',$ stform); $StNo=$this->get('StNo'); $st=M('stu'); $this->display(); } 鎮(zhèn)江高等??茖W(xué)校畢業(yè)設(shè)計(jì)(論文) 第六章 系統(tǒng)測(cè)試 6.1 軟件測(cè)試方法 首先對(duì)于不同類型系統(tǒng)應(yīng)該采取不同的測(cè)試方法,下面就簡(jiǎn)單列舉幾種常用的測(cè)試方法,具體見表6-1軟件測(cè)試信息表。 表6-1軟件測(cè)試方法總結(jié)表 單元測(cè)試 在最低的功能和參數(shù)上去
46、證明所寫程序的準(zhǔn)確性,舉個(gè)例子測(cè)試一個(gè)方法的正確性 黑盒測(cè)試 在不了解系統(tǒng)結(jié)構(gòu)前提條件下,對(duì)系統(tǒng)的各個(gè)模塊進(jìn)行測(cè)試。 灰盒測(cè)試 在白盒測(cè)試與黑盒測(cè)試之間的測(cè)試是灰盒測(cè)試 白盒測(cè)試 系統(tǒng)的開發(fā)人員已經(jīng)了解系統(tǒng)內(nèi)部開發(fā)結(jié)構(gòu),并且可預(yù)見性進(jìn)行系統(tǒng)內(nèi)部業(yè)務(wù)邏輯測(cè)試 6.2 系統(tǒng)主要功能的測(cè)試用例 6.2.1系統(tǒng)安裝測(cè)試 運(yùn)行安裝程序安裝選課系統(tǒng),填寫相關(guān)信息,如果提示安裝成功,數(shù)據(jù)庫(kù)建立成功,基本表建立成功,測(cè)試數(shù)據(jù)插入成功,測(cè)試成功。 表6-1系統(tǒng)運(yùn)行成功頁面 表6-2開始界面用例表 第六章 系統(tǒng)測(cè)試 6.2.2登陸模塊功能測(cè)試 本系統(tǒng)的登陸模塊分兩種
47、角色也對(duì)應(yīng)兩種不同的角色權(quán)限權(quán)限。在后期的登陸模塊功能測(cè)試時(shí),需要分別用兩種不同的角色賬號(hào)密碼進(jìn)行登陸。結(jié)果是成功登陸到與某一種角色對(duì)應(yīng)的頁面,則說明登陸模塊能運(yùn)行無異常,測(cè)試結(jié)果符合預(yù)期。 6.2.3發(fā)布課程模塊測(cè)試 該系統(tǒng)的課程由教師角色發(fā)布,教師用戶先登錄該系統(tǒng),進(jìn)入課程模塊進(jìn)行發(fā)布。發(fā)布的課程保存到數(shù)據(jù)庫(kù)之后,在表明該模塊測(cè)試成功。 圖6-3發(fā)布成功頁面圖 6.2.4查詢課程模塊測(cè)試 學(xué)生角色、管理員角色和教師角色都有權(quán)限查詢課程,測(cè)試時(shí),登陸每一種一種角色,進(jìn)行對(duì)課程的查詢。若查詢到的數(shù)據(jù)且數(shù)據(jù)與數(shù)據(jù)庫(kù)的數(shù)據(jù)一致,則表明該功能模塊能測(cè)試成功。
48、 圖6-4課程查詢的設(shè)置 6.2.5學(xué)生的選課模塊測(cè)試 鎮(zhèn)江高等??茖W(xué)校畢業(yè)設(shè)計(jì)(論文) 首先對(duì)學(xué)生角色進(jìn)行登陸,先要查詢課程,然后進(jìn)行選課,如果選課結(jié)果成功,并且將數(shù)據(jù)傳到到數(shù)據(jù)庫(kù)中,則該模塊功能測(cè)試成功。 圖6-5學(xué)生選課模塊測(cè)試 結(jié)論 結(jié)論 本網(wǎng)上學(xué)生選課系統(tǒng)是由我獨(dú)自完成的學(xué)生網(wǎng)上選課系統(tǒng),在完成系統(tǒng)的過程中,我通過實(shí)際的調(diào)查研究,利用學(xué)校的圖書館資源,利用網(wǎng)上的資源,去查閱相關(guān)的資料,詢問老師,和同學(xué)等各項(xiàng)資源完成了我的畢業(yè)設(shè)計(jì)。 由于時(shí)間的倉(cāng)促,我的畢業(yè)設(shè)計(jì)還有許多的不足之處,在后期的時(shí)間,我會(huì)依
49、舊去完善這個(gè)學(xué)生網(wǎng)上選課系統(tǒng)。通過這次的設(shè)計(jì)么我也學(xué)到了許多,PHP框架的使用,PHP基礎(chǔ)知識(shí)的學(xué)習(xí),以后我仍然會(huì)努力的去學(xué)習(xí)相關(guān)編程知識(shí)和技術(shù)并總結(jié)經(jīng)驗(yàn)。不斷地去提高自己的編程能力。 鎮(zhèn)江高等??茖W(xué)校畢業(yè)設(shè)計(jì)(論文) 致謝 首先在這里感謝我的指導(dǎo)老師,在指導(dǎo)老師的細(xì)心指導(dǎo)與耐心的幫助下,幫助我去研究我的畢業(yè)設(shè)計(jì)選題,分析選課的內(nèi)容到最后幫我確定畢業(yè)設(shè)計(jì)選題內(nèi)容。在我完成畢業(yè)設(shè)計(jì)過程中,我的直倒老師給我提供了很大的幫助,在我有疑問的情況下,老師很樂意的去給我解答問題,給我拓展思路,幫助我尋找方向去解決問題。 最后感謝所有幫助過我的教師和同學(xué),感謝學(xué)校給我一個(gè)完成畢業(yè)設(shè)計(jì)的機(jī)會(huì)。 參考文獻(xiàn) 參考文獻(xiàn) [1]明日科技.零基礎(chǔ)學(xué)PHP.吉林大學(xué)出版社,2016. [2]樊愛宛.PHP MySQL網(wǎng)站開發(fā)從零開始學(xué).清華大學(xué)出版社,2017. [3]唐俊.PHP MySQL網(wǎng)站開發(fā)技術(shù)項(xiàng)目式教程.人民郵電出版社,2015. [4]梅隆尼.PHP MySQL和apache編程導(dǎo)學(xué).機(jī)械工業(yè)出版社,2009 [5]列旭松,陳文.PHP核心技術(shù)與最佳實(shí)踐.機(jī)械工業(yè)出版社,2018.
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)2圖形與幾何第7課時(shí)圖形的位置練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)2圖形與幾何第1課時(shí)圖形的認(rèn)識(shí)與測(cè)量1平面圖形的認(rèn)識(shí)練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)1數(shù)與代數(shù)第10課時(shí)比和比例2作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)4比例1比例的意義和基本性質(zhì)第3課時(shí)解比例練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)3圓柱與圓錐1圓柱第7課時(shí)圓柱的體積3作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)3圓柱與圓錐1圓柱第1節(jié)圓柱的認(rèn)識(shí)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)2百分?jǐn)?shù)(二)第1節(jié)折扣和成數(shù)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)1負(fù)數(shù)第1課時(shí)負(fù)數(shù)的初步認(rèn)識(shí)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)期末復(fù)習(xí)考前模擬期末模擬訓(xùn)練二作業(yè)課件蘇教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)期末豐收?qǐng)@作業(yè)課件蘇教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)易錯(cuò)清單十二課件新人教版
- 標(biāo)準(zhǔn)工時(shí)講義
- 2021年一年級(jí)語文上冊(cè)第六單元知識(shí)要點(diǎn)習(xí)題課件新人教版
- 2022春一年級(jí)語文下冊(cè)課文5識(shí)字測(cè)評(píng)習(xí)題課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)4數(shù)學(xué)思考第1課時(shí)數(shù)學(xué)思考1練習(xí)課件新人教版