學(xué)生選課系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
學(xué)生選課系統(tǒng)課程設(shè)計(jì)_第2頁(yè)
學(xué)生選課系統(tǒng)課程設(shè)計(jì)_第3頁(yè)
學(xué)生選課系統(tǒng)課程設(shè)計(jì)_第4頁(yè)
學(xué)生選課系統(tǒng)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、裝訂線長(zhǎng) 春 大 學(xué) 課程設(shè)計(jì)紙學(xué)生選修課程管理系統(tǒng)第9小組學(xué)號(hào)姓名具體模塊成績(jī)備注041140336蔡忠文老師操作模塊組長(zhǎng)041140337李梓郡學(xué)生操作模塊組員041140338王超課程操作模塊組員041140339張暢數(shù)據(jù)庫(kù)設(shè)計(jì)組員目 錄1 可行性分析31.1 經(jīng)濟(jì)上的可行性31.2 技術(shù)上的可行性31.3 操作上的可行性32 需求分析42.1需求陳述42.2分析建模43 分析設(shè)計(jì)103.1系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)103.3系統(tǒng)軟件架構(gòu)設(shè)計(jì)144 詳細(xì)設(shè)計(jì)165 實(shí)現(xiàn)206 測(cè)試316.1測(cè)試方法316.2測(cè)試用例327 總結(jié)347.1小組總結(jié)347.2個(gè)人總結(jié)341 可行性分析1.1 經(jīng)濟(jì)上的

2、可行性 界面友好,操作簡(jiǎn)單,系統(tǒng)實(shí)現(xiàn)可行,因此經(jīng)濟(jì)可行。該系統(tǒng)可以容易實(shí)現(xiàn)學(xué)生、老師和教學(xué)系統(tǒng)管理員與學(xué)校之間的聯(lián)系,在Internet上實(shí)現(xiàn)完成部分教務(wù)工作,提高辦事效率。1.2 技術(shù)上的可行性隨著互聯(lián)網(wǎng)的蓬勃發(fā)展,越來(lái)越多的機(jī)構(gòu)將科研管理與Internet融合到一起,以方便個(gè)高校管理。在這樣一個(gè)社會(huì)背景下,基于Windows和SQL Server 2021 設(shè)計(jì)出數(shù)據(jù)庫(kù) ,運(yùn)用先進(jìn)的ASP.NET技術(shù)、先進(jìn)的C#語(yǔ)言,采用B/S模式開(kāi)發(fā)的大學(xué)生選修課管理系統(tǒng),將學(xué)生、老師、管理員有機(jī)地結(jié)合在一起,有效地提高管理水平和效率。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,基于以上的技術(shù)在現(xiàn)今比較

3、容易實(shí)現(xiàn)。 1.3 操作上的可行性該系統(tǒng)操作方便,簡(jiǎn)單。 2 需求分析2.1需求陳述系統(tǒng)功能模塊基本將本系統(tǒng)劃分為三大模塊,即學(xué)生選課模塊、教師開(kāi)課模塊以及管理員管理模塊。 (1)學(xué)生選課模塊:在這個(gè)模塊中,允許學(xué)生修改個(gè)人信息,瀏覽基本的課程;并實(shí)現(xiàn)主要的選課功能,包括填寫(xiě)選課信息、查看已選課程、修改選課等。(2)教師開(kāi)課模塊:這個(gè)模塊主要是讓教師申請(qǐng)教課,同時(shí)教師可以修改個(gè)人信息、瀏覽基本課程以及查看學(xué)生的選課情況等。(3)管理員管理模塊:這個(gè)模塊的功能比較多,主要包括創(chuàng)建課程的指定任課老師、設(shè)定課程人數(shù)、統(tǒng)計(jì)學(xué)生選課信息、發(fā)通知等等。(4)通用功能模塊:即用戶登錄、密碼修改等功能的實(shí)現(xiàn)。

4、2.2分析建模根據(jù)系統(tǒng)需求角色確定,外部參與者如下:管理員:對(duì)學(xué)生和教師基本資料維護(hù),對(duì)課程基本資料進(jìn)行添加、 刪除、 更新或查詢等;學(xué)生:進(jìn)行課程預(yù)覽,選課信息查詢,進(jìn)行選課,成績(jī)查詢等;教師:查詢課程,申請(qǐng)教課及課程報(bào)名人數(shù)情況,進(jìn)行成績(jī)?cè)u(píng)定等;確定用例與管理員有關(guān)的用例:發(fā)布通知、分配帳號(hào)密碼、注銷或修改用戶狀態(tài)、創(chuàng)建課程,定任課老師、設(shè)定課程人數(shù)、統(tǒng)計(jì)學(xué)生選課信息;與學(xué)生有關(guān)的用例:修改個(gè)人信息、選課操作、修改選課、瀏覽課程、查詢成績(jī)與教師有關(guān)的用例:申請(qǐng)教課、瀏覽課題、查詢學(xué)生選課情況、成績(jī)?cè)u(píng)定建立系統(tǒng)用例圖此系統(tǒng)用例圖包括:學(xué)生選課系統(tǒng)的高層用例圖,管理員管理子系統(tǒng)用例圖,教師管理

5、子系統(tǒng)用例圖以及學(xué)生選課子系統(tǒng)的用例圖。系統(tǒng)用例大學(xué)生選修課用例描述管理員:管理員負(fù)責(zé)整個(gè)選修課系統(tǒng)的全面工作管理員使用子系統(tǒng)“選課管理”中的教學(xué)大綱信息和“科室分配管理”中的教師信息,制定選課表管理員點(diǎn)擊子系統(tǒng)“課程信息管理” 對(duì)學(xué)生和教師基本資料維護(hù),課程基本資料進(jìn)行添加、刪除、更新或查詢等相關(guān)操作學(xué)生:進(jìn)行課程預(yù)覽,選課信息查詢,進(jìn)行選課,成績(jī)查詢等;教師:查詢課程,申請(qǐng)教課及課程報(bào)名人數(shù)情況,進(jìn)行成績(jī)?cè)u(píng)定等;成績(jī)查詢:登錄選課系統(tǒng)選擇用戶“學(xué)生”輸入密碼,提交提示登錄成功或錯(cuò)誤信息選擇“選修課成績(jī)查詢”,選擇學(xué)期查到對(duì)應(yīng)成績(jī)。成績(jī)管理:教師進(jìn)行操作,包括教師錄入和維護(hù)學(xué)生的成績(jī),統(tǒng)計(jì)成

6、績(jī)查詢成績(jī),也可進(jìn)行學(xué)生成績(jī)的刪除和修改工作。詳細(xì)描述如下:登錄:通過(guò)用戶名及密碼登錄學(xué)生選課系統(tǒng)驗(yàn)證當(dāng)前用戶權(quán)限。課程信息瀏覽:讓學(xué)生可以詳細(xì)的了解課程情況。選課:學(xué)生可以選擇要選修的課程 。選課概述:前提條件(正確登錄、同一選課選修兩次第二次不計(jì)學(xué)分)點(diǎn)擊選課項(xiàng)提交按鈕提示選課情況修改選課:由于主觀或客觀原因要求退課。修改選課概述:前提條件(限定的課程開(kāi)設(shè)人數(shù)已滿,或是不足規(guī)定人數(shù)取消該課程安排的信息,以及個(gè)人在規(guī)定日期前可以修改選課等)成績(jī)查詢:登錄選課系統(tǒng)選擇用戶“學(xué)生”輸入密碼,提交提示登錄成功或錯(cuò)誤信息選擇“選修課成績(jī)查詢”,選擇學(xué)期查到對(duì)應(yīng)成績(jī)。學(xué)生選課系統(tǒng)的高層用例圖如圖2-1

7、所示圖2-1 學(xué)生選課系統(tǒng)的高層用例圖管理子系統(tǒng)用例(1)用戶登錄獲取用戶輸入的用戶名及密碼;若出現(xiàn)用戶名、密碼錯(cuò)誤或不匹配現(xiàn)象,反饋錯(cuò)誤提示;在用戶名及密碼都正確的前提下,支持密碼修改。(2)選課系統(tǒng)首先發(fā)布選課通知,即先對(duì)教師發(fā)出通知(教師得到通知后才可申請(qǐng)教課),然后對(duì)學(xué)生發(fā)出通知(此時(shí)已安排完有關(guān)選修課的所有信息)創(chuàng)建課程指定任課教師設(shè)定課程的人數(shù)和開(kāi)課時(shí)間安排分配賬號(hào)及密碼(由于是管理員操作此部分)。(3)教師教課申請(qǐng)獲取教師申請(qǐng)教課的信息,包括教師信息及其所要教的課程課程信息;提供教師瀏覽課程的功能,即課程時(shí)間、教室等的安排;并提供查詢學(xué)生選課情況的功能,即選此門課程的名單等;處理

8、和統(tǒng)計(jì)教師對(duì)學(xué)生成績(jī)的評(píng)定。(4)學(xué)生選課提供學(xué)生修改個(gè)人信息的功能;提供學(xué)生瀏覽全部選修課信息的功能,然后接受學(xué)生的選課操作;獲取學(xué)生及其所選課程的信息后,提供學(xué)生瀏覽自己所選課程的安排情況;得到選課系統(tǒng)的指令,在相應(yīng)時(shí)間內(nèi)可以讓學(xué)生修改自己的選課;將選課系統(tǒng)統(tǒng)計(jì)好的成績(jī)信息反饋給學(xué)生供其瀏覽。管理員管理子系統(tǒng)用例詳細(xì)描述如下:發(fā)放通知:此用例包含兩種情況,一是相對(duì)于教師的,二是相對(duì)于學(xué)生的。相對(duì)于教師,即對(duì)于選課信息錄入后發(fā)放給教師的通知,相對(duì)于學(xué)生即是在安排完選課相應(yīng)的教師、選課限定人數(shù)等規(guī)則后發(fā)放給學(xué)生的通知。學(xué)生及教師列表:對(duì)于學(xué)生的個(gè)人信息、選課信息,教師的個(gè)人信息、對(duì)應(yīng)教受的課程

9、信息等的查詢、刪除、修改等操作??蛇x課程列表:在限定人數(shù)已滿或是人數(shù)不夠不進(jìn)行課程開(kāi)設(shè)等情況下對(duì)于課程選擇的限定。學(xué)生已選課程列表:在課程修完教師評(píng)定相應(yīng)成績(jī)后,對(duì)于學(xué)生已選課程的成績(jī)統(tǒng)計(jì)以及錄入發(fā)放。管理員添加及密碼修改:根據(jù)實(shí)際情況進(jìn)行添加、修改等。管理員管理子系統(tǒng)用例圖如圖2-2所示:圖2-2 管理員管理子系統(tǒng)用例圖教師進(jìn)行查詢課程,申請(qǐng)教課及課程報(bào)名人數(shù)情況,進(jìn)行成績(jī)?cè)u(píng)定等工作。主要是學(xué)生選課操作提供學(xué)生修改個(gè)人信息的功能;提供學(xué)生瀏覽全部選修課信息的功能,然后接受學(xué)生的選課操作;獲取學(xué)生及其所選課程的信息后,提供學(xué)生瀏覽自己所選課程的安排情況;得到選課系統(tǒng)的指令,在相應(yīng)時(shí)間內(nèi)可以讓學(xué)

10、生修改自己的選課。學(xué)生選課子系統(tǒng)如圖2-3所示圖2-3學(xué)生選課子系統(tǒng)用例圖3 分析設(shè)計(jì)3.1系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)首先輸入用戶名和密碼登錄系統(tǒng),系統(tǒng)給出提示,若登錄成功后則進(jìn)行課程信息查詢。然后對(duì)信息進(jìn)行詳細(xì)查看,例如選課時(shí)間安排、教師安排、人數(shù)安排等,之后可點(diǎn)擊選擇課程并提交確認(rèn),此時(shí)系統(tǒng)也會(huì)給出提示,若成功選擇給出課程詳細(xì)信息,否則將提示人數(shù)已滿的限制信息。修改所選課程,也必須找到自己已選課程列表并進(jìn)行刪除,然后再按相同方法進(jìn)行選課,最終完成選課。當(dāng)然修改課程過(guò)程中,也要注意修改時(shí)間的限定,因?yàn)楣芾韱T也要統(tǒng)計(jì)學(xué)生及其所選課程的信息,所以必須在規(guī)定時(shí)間進(jìn)行修改。經(jīng)過(guò)活動(dòng)如圖3-1所示圖3-1 學(xué)生

11、選課操作的活動(dòng)圖順序圖如圖3-2所示圖3-2學(xué)生選課操作順序圖學(xué)生選課操作的協(xié)作圖3-3所示:圖3-3學(xué)生選課操作的協(xié)作圖 參與交互的對(duì)象有課程信息模塊、課程安排模塊及面向教師、學(xué)生。此圖主要考慮通過(guò)對(duì)象之間的交互共同完成選課操作的過(guò)程,各信息流向及標(biāo)明的順序更好詮釋出管理員進(jìn)行管理時(shí)所需對(duì)象及時(shí)間上的配合。管理員管理操作的協(xié)作圖如下所示:參與的交互對(duì)象有課程信息模塊、成績(jī)?cè)u(píng)定模塊、成績(jī)管理模塊以及學(xué)生。首先教師進(jìn)入課程信息模塊,選擇自已所教授的選修課,進(jìn)而得到所有學(xué)生信息。然后通過(guò)反饋的信息及自己記錄的考勤情況(如特定安排取消的課時(shí)等)進(jìn)入成績(jī)?cè)u(píng)定模塊。一般是將所有學(xué)生進(jìn)行統(tǒng)一打分,若不是統(tǒng)

12、一的情況或是有修改等情況都可進(jìn)入成績(jī)管理模塊進(jìn)行相應(yīng)操作。在規(guī)定日期前上交評(píng)定成績(jī)信息后再反饋給學(xué)生。如圖3-4所示:圖3-4教師評(píng)定成績(jī)的協(xié)作圖 學(xué)生在選課操作中其生存周期中所處的不同狀態(tài)、轉(zhuǎn)換時(shí)的條件,雖然看似較為簡(jiǎn)單,但并不可忽視。對(duì)于此信息的詳細(xì)設(shè)計(jì),可進(jìn)一步用于用類狀態(tài)的設(shè)計(jì)和編制類。如圖3-5所示:圖3-5學(xué)生登錄選課的狀態(tài)圖3.2.系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)類模型是面向?qū)ο蠓椒ǖ暮诵?,類模型從?duì)象的角度描述系統(tǒng)的組成,描述對(duì)象及相互間的關(guān)系。系統(tǒng)已在前面進(jìn)行過(guò)簡(jiǎn)單描述,通過(guò)檢查問(wèn)題陳述中的所有名詞短語(yǔ)和代詞,得到初始類:學(xué)生 教師 管理員 選課操作 選課管理 申請(qǐng)教課成績(jī)管理 成績(jī)查詢 用

13、戶管理 課程信息 可選課程 學(xué)生已選課程經(jīng)過(guò)分析最后得到教師、學(xué)生、管理員、課程信息及系統(tǒng)維護(hù)這幾個(gè)類。并標(biāo)識(shí)出類的名稱及屬性。如下圖3-6所示:圖3-6類名稱及屬性3.3系統(tǒng)軟件架構(gòu)設(shè)計(jì) 3.3.1功能要求:(1) 設(shè)計(jì)數(shù)據(jù)對(duì)象(表、視圖、規(guī)則、函數(shù)等),完成學(xué)生自主選課,實(shí)現(xiàn)對(duì)于數(shù)據(jù)庫(kù)完整性的檢查; (2) 根據(jù)用戶不同,指派不同權(quán)利:管理員具有dbo權(quán)限,學(xué)生具有插入選課表、退課表權(quán)限,查詢課程表權(quán)限,確保數(shù)據(jù)庫(kù)的安全性; (3) 能夠?qū)崿F(xiàn)對(duì)于學(xué)生選課信息、課程信息、授課教師信息、教室使用信息的查詢; (4) 設(shè)計(jì)觸發(fā)器/存儲(chǔ)過(guò)程,優(yōu)化數(shù)據(jù)庫(kù)查詢、沖突檢測(cè)、擴(kuò)展數(shù)據(jù)庫(kù)完整性和數(shù)據(jù)操縱功能

14、; (5) 設(shè)計(jì)選課時(shí)間段,在指定時(shí)間段內(nèi),允許選課、退課。(6) 完成數(shù)據(jù)庫(kù)的備份等事務(wù)處理,保證數(shù)據(jù)庫(kù)的一致性,可靠性。3.3.2 實(shí)現(xiàn)要求(1) 根據(jù)系統(tǒng)的功能要求,建立了概念模型,設(shè)計(jì)各功能塊的E-R圖,對(duì)其合并,形成系統(tǒng)總E-R圖, 如圖3-1所示。(2) 利用T-SQL實(shí)現(xiàn)數(shù)據(jù)庫(kù),關(guān)系表,視圖,數(shù)據(jù)類型,存儲(chǔ)過(guò)程及其他數(shù)據(jù)對(duì)象的建立、更新、修改及數(shù)據(jù)庫(kù)完整性檢查。4 詳細(xì)設(shè)計(jì)蔡忠文設(shè)計(jì)內(nèi)容:老師操作模塊:1)增加老師2)根據(jù)教師號(hào)碼修改教師信息3)根據(jù)教師號(hào)碼刪除教師信息4)根據(jù)教師號(hào)碼查詢教師的信息5)查詢所有教師的信息李梓郡設(shè)計(jì)內(nèi)容:學(xué)生操作模塊1)增加學(xué)生2)根據(jù)學(xué)號(hào)修改學(xué)生

15、信息3)根據(jù)學(xué)號(hào)刪除學(xué)生信息4)根據(jù)學(xué)號(hào)查詢學(xué)生信息5)查詢所有學(xué)生信息王超設(shè)計(jì)內(nèi)容:課程操作模塊1)增加課程2)根據(jù)課程號(hào)修改課程信息3)根據(jù)課程號(hào)刪除課程的信息4根據(jù)課程號(hào)查詢課程的信息5)查詢所有課程張暢設(shè)計(jì)內(nèi)容:系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì):本系統(tǒng)設(shè)計(jì)的是一個(gè)以班級(jí)為單位的選課數(shù)據(jù)庫(kù),能夠?qū)崿F(xiàn)學(xué)生自主選課功能,并能實(shí)現(xiàn)學(xué)生信息、課程信息、學(xué)生選課信息、教室信息、授課教師信息等的創(chuàng)建、更新、刪除、修改,數(shù)據(jù)庫(kù)完整性檢查、沖突檢測(cè)、查詢優(yōu)化以及數(shù)據(jù)庫(kù)角色、權(quán)限的分配,實(shí)現(xiàn)數(shù)據(jù)庫(kù)的備份等事務(wù)處理以保證數(shù)據(jù)的完整性、一致性、安全性、可靠性。E-R圖如4-1所示nn111mmmmm學(xué)生學(xué)號(hào)姓名性別專業(yè)班級(jí)密

16、碼出生日期學(xué)院組成編號(hào)學(xué)院名稱學(xué)習(xí)課程課程號(hào)類型學(xué)分學(xué)時(shí)教師課程名稱教師組成教授開(kāi)設(shè)姓名工號(hào)性別密碼聯(lián)系 院部圖4-1 學(xué)生選課系統(tǒng)總E-R圖表4-1教師表字段名字段類型字段長(zhǎng)度是否為空是否為主鍵描述tnovarcher10是教師號(hào)teacher pesswordvarcher10是密碼tnamevarcher10是姓名tsexvarcher5是性別dnovarcher10否系別cnumbervarcher10否所帶課程號(hào)4-2課程表字段名字段類型字段長(zhǎng)度是否為空是否為主鍵描述cnamevarcher10否否課程名cnovarcher10否是課程號(hào)csoredouble否否課程的學(xué)分dnova

17、rcher10否否課程的系別4-3成績(jī)表字段名字段類型字段長(zhǎng)度是否為空是否為主鍵描述cnovarcher10否課程號(hào)sonvarcher10否學(xué)號(hào)scorevarcher10是成績(jī)4-4學(xué)生表字段名字段類型字段長(zhǎng)度是否為空是否為主鍵描述snovarcher10是學(xué)號(hào)snamevarcher10否姓名ssexvarcher5否性別dnovarcher10否系別sageint否年齡spasswordvarcher10否密碼4-5管理員表字段名字段類型字段長(zhǎng)度是否為空是否為主鍵描述managervarcher10是賬號(hào)managerpasswordvarcher10否密碼4-6系表字段名字段類型字段

18、長(zhǎng)度是否為空是否為主鍵描述dnovarcher10是系號(hào)dnamevarcher10否系名5 實(shí)現(xiàn)1管理員底層代碼: package xiangmu.dao;import java.util.List;import xiangmu.po.course;import xiangmu.po.manager;import xiangmu.po.student;import xiangmu.po.teacher;public interface ManagerDao /管理員登錄public boolean inToSystem(manager m); /增加學(xué)生public boolean addS

19、tudentforManager(student s);/根據(jù)學(xué)生的學(xué)號(hào)修改學(xué)生的信息public boolean updateStudentforManager(String sno,student s);/根據(jù)學(xué)號(hào)刪除學(xué)生的全部信息public boolean deleteStudentforManager(String sno);/根據(jù)學(xué)號(hào)查詢學(xué)生的信息public student selectStudentforManager(String sno);/查詢所有學(xué)生的信息public List<student> selectAllStudent();/增加老師public

20、boolean addTeacherforManager(teacher t);/根據(jù)教師號(hào)修改教師的信息public boolean updateTeacherforManager(String tno,teacher t);/根據(jù)教師號(hào)刪除教師的信息public boolean deleteTeacherforManager(String tno);/根據(jù)教師號(hào)查詢教師的信息public teacher selectTeacherforManager(String tno);/查詢所有教師的信息public List<teacher> selectAllTeacher();/增

21、加課程public boolean addCourseforManager(course c);/根據(jù)課程號(hào)修改課程的信息public boolean updateCourseforManager(String cno,course c);/根據(jù)課程號(hào)刪除課程的信息public boolean deleteCourseforManager(String cno);/根據(jù)課程號(hào)查詢課程的信息public course selectCourseforManager(String cno);/查詢所有課程的信息public List<course> selectAllCourse();/

22、退出系統(tǒng)public void backSystem();2.學(xué)生模塊底層代碼:package xiangmu.dao;import java.util.List;import xiangmu.po.StuChengJi;import xiangmu.po.course;import xiangmu.po.score;import xiangmu.po.student;public interface StudentDao /登錄系統(tǒng)public boolean inToSystembyStudent(String sno,String spassword);/選課public boolean

23、 xunKebyStudent(String sno,String cno); /查詢所有已選課程public List<StuChengJi> xunAllKeChengbyStudent(String sno);/查詢自身的信息public student xunStudent(String sno);/查詢所選課程的成績(jī)public List<score> xunChengJibyStudent(String sno,score s);/退課public boolean deleteCoursebyStudent(String sno,course c);/退出系

24、統(tǒng)public void backSystembyStudent();3.老師模塊底層代碼:package xiangmu.dao;import java.util.List;import xiangmu.po.student;import xiangmu.po.teacher;public interface TeacherDao /登錄系統(tǒng)public boolean inToSystembyTeacher(String tno,String tpassword);/查詢所有自身所帶課程的所有學(xué)生的信息public List<student> xunAllStudentbySt

25、udent(String tno);/輸入成績(jī)(在上一步的結(jié)果上,輸入成績(jī))public boolean chengjibyTeacher(String sno,String sscore,String cno);/查詢自身的信息public teacher xunTeacherbyTeacher(String tno);/退出系統(tǒng)4.主界面的servlet代碼如下:package xiangmu.gongneng;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletExceptio

26、n;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class main extends HttpServletprivate static final long serialVersionUID = 1L;Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws

27、 ServletException, IOException req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");PrintWriter out = resp.getWriter();String username = req.getParameter("username");String password = req.getParameter("password");String yonghu = req

28、.getParameter("yonghu");if(yonghu.equals("student")req.getRequestDispatcher("/studentcaozuo").forward(req, resp);else if(yonghu.equals("teacher")req.getRequestDispatcher("/teachercaozuo").forward(req, resp);else if(yonghu.equals("manager")r

29、eq.getRequestDispatcher("/managercaozuo").forward(req, resp);Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException this.doGet(req, resp);5、管理員界面的代碼: package xiangmu.gongneng;import java.io.IOException;import java.io.PrintWriter;

30、import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import xiangmu.daoimpl.ManagerDaoimpl;import xiangmu.po.manager;public class managercaozuo extends HttpServlet private static final l

31、ong serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException this.doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException PrintWriter out =

32、response.getWriter(); String username = request.getParameter("username"); String password = request.getParameter("password"); manager m = new manager(username,password); ManagerDaoimpl mipml = new ManagerDaoimpl(); if(mipml.inToSystem(m) request.getRequestDispatcher("manager

33、gongneng.jsp").forward(request, response); else request.getRequestDispatcher("/managerdengluerror").forward(request, response); out.println(username); out.println(password);6.學(xué)生模塊界面的代碼: package xiangmu.gongneng;import java.io.IOException;import java.io.PrintWriter;import javax.servlet

34、.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import xiangmu.daoimpl.StudentDaoimpl;public class studentcaozuo extends HttpServlet private static final long seri

35、alVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException this.doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException PrintWriter out = response

36、.getWriter(); String sno = request.getParameter("username"); String spassword = request.getParameter("password"); StudentDaoimpl simpl = new StudentDaoimpl(); String sname = simpl.chaSnameforSno(sno); HttpSession sessionsno = request.getSession(); HttpSession sessionsname = reque

37、st.getSession(); sessionsno.setAttribute("sno", sno); sessionsname.setAttribute("sname", sname); if(simpl.inToSystembyStudent(sno, spassword) request.getRequestDispatcher("student/studentgongneng.jsp").forward(request, response); else request.getRequestDispatcher("

38、/managerdengluerror").forward(request, response); out.println(sno); out.println(spassword);7.老師界面的servlet代碼:package xiangmu.gongneng;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpSe

39、rvletRequest;import javax.servlet.http.HttpServletResponse;import xiangmu.daoimpl.TeacherDaoimpl;public class teachercaozuo extends HttpServlet private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOExcept

40、ion this.doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException PrintWriter out = response.getWriter(); String tno = request.getParameter("username"); String tpassword = request.getParameter("password&

41、quot;); TeacherDaoimpl timpl = new TeacherDaoimpl(); String tname = timpl.chaTnameforTno(tno); if(timpl.inToSystembyTeacher(tno, tpassword) request.getRequestDispatcher("teacher/teachergongneng.jsp?tname="+tname+"").forward(request, response); else request.getRequestDispatcher(&q

42、uot;/managerdengluerror").forward(request, response); out.println(tno); out.println(tpassword); out.flush(); out.close(); 8、數(shù)據(jù)庫(kù)設(shè)計(jì)的代碼: /創(chuàng)建課程表create table t_course(cno varchar(10) primary key ,cname varchar(10) ,cscore varchar(5) ,dno varchar(10) foreign KEY (dno) REFERENCES t_dept(dno)/創(chuàng)建系表creat

43、e table t_dept(dno varchar(10) primary key,dname varchar(10)/創(chuàng)建學(xué)生表create table t_student(sno varchar(10) primary key,spassword varchar(10),sname varchar(10),ssex varchar(5),sage int ,dno varchar(10) foreign KEY (dno) REFERENCES t_dept(dno),)/創(chuàng)建教師表create table t_teacher(tno varchar(10) primary key,tp

44、assword varchar(10) ,tname varchar(10),tsex varchar(5) ,dno varchar(10) foreign KEY(dno) REFERENCES t_dept(dno),cno varchar(10) foreign KEY(cno) REFERENCES t_course(cno)/創(chuàng)建成績(jī)表create table t_score(cno varchar(10) foreign KEY(cno) REFERENCES t_course(cno),sno varchar(10) foreign KEY(sno) REFERENCES t_

45、student(sno),sscore varchar(5),primary KEY(sno,cno)/創(chuàng)建管理員表create table t_manager(managerid varchar(10) primary KEY,managerpassword varchar(10) )程序的部分界面:1 學(xué)生界面如圖5-1和 5-2所示:圖5-1圖5-22.老師操作界面的部分截圖如圖5-3和5-4所示: 圖5-3圖5-43.管理員操作界面的部分截圖5-5和5-6所示: 圖5-5圖5-66 測(cè)試6.1測(cè)試方法黑盒測(cè)試選取測(cè)試用例的原則:1、所設(shè)計(jì)出的測(cè)試用例能夠減少為達(dá)到合理測(cè)試所需要設(shè)計(jì)的附

46、加測(cè)試用例數(shù)目2、所設(shè)計(jì)出的測(cè)試用例能夠告訴我們,是否存在某些類型的錯(cuò)誤,而不是僅僅指出與特定測(cè)試相關(guān)的錯(cuò)誤是否存在3、正確的劃分等價(jià)類,已根據(jù)等價(jià)類設(shè)計(jì)測(cè)試方案,以滿足所有的測(cè)試都能追溯到用戶需求盡量避免含糊的測(cè)試用例。盡量將具有相類似功能的測(cè)試用例抽象并歸類。盡量避免冗長(zhǎng)和復(fù)雜的測(cè)試用例。6.2測(cè)試用例表編號(hào)預(yù)期輸入操作輸出結(jié)果測(cè)試功能1添加成功張三 01213234點(diǎn)擊添加添加成功添加2請(qǐng)輸入學(xué)生姓名01001141點(diǎn)擊添加請(qǐng)輸入學(xué)生姓名添加3請(qǐng)輸入學(xué)生學(xué)號(hào)張三點(diǎn)擊添加請(qǐng)輸入學(xué)生學(xué)號(hào)添加4刪除成功張三點(diǎn)擊確定刪除成功刪除5學(xué)生不存在張四點(diǎn)擊確定學(xué)生不存在刪除6張三012132340張三

47、點(diǎn)擊確定張三01213234刪除7張三012132340012132340點(diǎn)擊確定張三01213234查詢8學(xué)生姓名不存在王五點(diǎn)擊確定學(xué)生姓名不存在查詢9學(xué)生學(xué)號(hào)不存在00000點(diǎn)擊確定學(xué)生學(xué)號(hào)不存在查詢10學(xué)生姓名不存在王五點(diǎn)擊查詢學(xué)生姓名不存在查詢11學(xué)生學(xué)號(hào)不存在00000點(diǎn)擊查詢學(xué)生學(xué)號(hào)不存在查詢12學(xué)生信息不能為空點(diǎn)擊查詢學(xué)生信息不能為空查詢13學(xué)生學(xué)號(hào)不能為空張三點(diǎn)擊查詢學(xué)生學(xué)號(hào)不能為空查詢14學(xué)生姓名不能為空012132340點(diǎn)擊查詢查詢15學(xué)生姓名不存在王五點(diǎn)擊修改學(xué)生姓名不存在修改16學(xué)生學(xué)號(hào)不存在00000點(diǎn)擊修改學(xué)生學(xué)號(hào)不存在修改17學(xué)生信息不能為空點(diǎn)擊修改學(xué)生信息不能為

48、空修改18學(xué)生學(xué)號(hào)不能為空張三點(diǎn)擊修改學(xué)生學(xué)號(hào)不能為空修改19學(xué)生姓名不能為空012132340點(diǎn)擊修改學(xué)生姓名不能為空修改20修改成功張三 00000點(diǎn)擊修改修改成功修改7 總結(jié)7.1.小組總結(jié)這次的UML信息系統(tǒng)分析課程設(shè)計(jì),我們做的是“大學(xué)生選修課管理系統(tǒng)”,通過(guò)幾個(gè)星期對(duì)其各階段任務(wù)的分析實(shí)驗(yàn)操作(確定課題、可行性研究與計(jì)劃、需求分析、設(shè)計(jì)等),使我們對(duì)這門課程有了更深層次的了解,同時(shí)也學(xué)到了很多東西。7.2.個(gè)人總結(jié)蔡忠文總結(jié):我們剛學(xué)過(guò)軟件工程課程,此次項(xiàng)目當(dāng)中我也用到了軟件工程過(guò)程的思想。首先確定項(xiàng)目課題,弄清選題依據(jù)后,進(jìn)行了可行性研究,可行性研究的主要任務(wù)不是具體解決系統(tǒng)中實(shí)

49、現(xiàn)問(wèn)題,而是以最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否值得解決,是否能夠解決,因此我考慮了項(xiàng)目的進(jìn)度、質(zhì)量,范圍以及風(fēng)險(xiǎn)等內(nèi)容。李梓郡總結(jié):從UML建模思想與操作技術(shù)上的可行方面。接著是需求分析工作流階段,分析工作六階段,但是這部分任務(wù)用了較長(zhǎng)的時(shí)間,因?yàn)槌擞脗鹘y(tǒng)的結(jié)構(gòu)化分析方法學(xué)外,還用了我們學(xué)過(guò)的課程信息系統(tǒng)面向?qū)ο蟮姆治龇椒椒▽W(xué)。剛開(kāi)始用結(jié)構(gòu)化的方法時(shí),由于對(duì)系統(tǒng)的了解程度不夠,項(xiàng)目即將面臨癱瘓,認(rèn)為做不下來(lái)這個(gè)項(xiàng)目,實(shí)施過(guò)程中出現(xiàn)這樣那樣一系列的風(fēng)險(xiǎn)問(wèn)題,搞得我弄得暈頭轉(zhuǎn)向,好多好多的困難。最后我決定從最基本的數(shù)據(jù)流圖著手,一步一步的來(lái),縮小項(xiàng)目的范圍。按照“自定而下,逐層分解”的總

50、原則劃分,逐層到每一層的復(fù)雜度。王超總結(jié):比較有難度的就是用面向?qū)ο蟮姆椒ǚ治隽?,這種方法以前自己沒(méi)有使用過(guò),只是通過(guò)課程來(lái)了解其含義,理解起來(lái)也很空洞。一開(kāi)始我就覺(jué)得很難上手,在建立用例模型的時(shí)候,也遇到好多困難。比如,用例的擴(kuò)展和包含,我們書(shū)上是include和extend。在Visio軟件中,沒(méi)有這內(nèi)容,這令人比較糾結(jié),還有如何確定執(zhí)行者、用例、用例之間的具體關(guān)系;在建立動(dòng)態(tài)模型的時(shí)候,如何分析確定類、確定類與類之間的關(guān)系等等都阻礙著分析的前行。為了解決這些問(wèn)題,我也不乏做了很多工作,比如把書(shū)上的各小節(jié)的例子與案例分析都仔細(xì)的研究了幾遍,尤其是我們講的Osbert Oglesby案例進(jìn)行

51、了研究。然后通過(guò)借鑒其它書(shū)本及網(wǎng)上搜索的資料,張暢總結(jié):我花了一個(gè)周時(shí)間進(jìn)行設(shè)計(jì)階段的工作,這部分我熟悉了一個(gè)軟件開(kāi)發(fā)工具Visio。當(dāng)然了,考慮用word來(lái)畫(huà)模型圖還是比較復(fù)雜,至少說(shuō)很花時(shí)間的,而用Visio工具大大節(jié)約了時(shí)間并且減少了出錯(cuò)率,同時(shí)也使得我們對(duì)UML建模有了一個(gè)專業(yè)上的認(rèn)知。之后根據(jù)需要對(duì)系統(tǒng)進(jìn)行了數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),這部分內(nèi)容比較簡(jiǎn)潔,因?yàn)槲覀冊(cè)瓉?lái)就學(xué)過(guò)SQL數(shù)據(jù)庫(kù)應(yīng)用知識(shí),曾經(jīng)也做過(guò)有關(guān)數(shù)據(jù)庫(kù)的系統(tǒng),所包含的具體結(jié)構(gòu)相對(duì)而言較為清楚。這顯然給我的項(xiàng)目的質(zhì)量做了保障。 教師見(jiàn)習(xí)報(bào)告總結(jié)期待已久的見(jiàn)習(xí)已經(jīng)結(jié)束了,在龍巖三中高中部見(jiàn)習(xí)聽(tīng)課,雖然只是短短的兩個(gè)星期,但感觸還是蠻深的,以前作為一名學(xué)生坐在課室聽(tīng)課,和現(xiàn)在作為一名準(zhǔn)教師坐在課室聽(tīng)課是完全不同的感受,感覺(jué)自己學(xué)到了一些在平時(shí)課堂上學(xué)不到的東西。在這里,我獲得的不僅是經(jīng)驗(yàn)上的收獲,更多是教學(xué)管理,課

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論