版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 1 可行性分析3</b></p><p> 1.1 經(jīng)濟上的可行性3</p><p> 1.2 技術(shù)上的可行性3</p><p> 1.3 操作上的可行性3</p><p><b
2、> 2 需求分析4</b></p><p><b> 2.1需求陳述4</b></p><p><b> 2.2分析建模4</b></p><p><b> 3 分析設(shè)計10</b></p><p> 3.1系統(tǒng)功能結(jié)構(gòu)設(shè)計10</p
3、><p> 3.3系統(tǒng)軟件架構(gòu)設(shè)計14</p><p><b> 4 詳細設(shè)計16</b></p><p><b> 5 實現(xiàn)20</b></p><p><b> 6 測試31</b></p><p> 6.1測試方法31</p&
4、gt;<p> 6.2測試用例32</p><p><b> 7 總結(jié)34</b></p><p> 7.1小組總結(jié)34</p><p> 7.2個人總結(jié)34</p><p><b> 1 可行性分析</b></p><p> 1.1 經(jīng)濟上
5、的可行性 </p><p> 界面友好,操作簡單,系統(tǒng)實現(xiàn)可行,因此經(jīng)濟可行。該系統(tǒng)可以容易實現(xiàn)學生、老師和教學系統(tǒng)管理員與學校之間的聯(lián)系,在Internet上實現(xiàn)完成部分教務工作,提高辦事效率。</p><p> 1.2 技術(shù)上的可行性</p><p> 隨著互聯(lián)網(wǎng)的蓬勃發(fā)展,越來越多的機構(gòu)將科研管理與Internet融合到一起,以方便個高校管理。在這樣一個
6、社會背景下,基于Windows和SQL Server 2005設(shè)計出數(shù)據(jù)庫 ,運用先進的ASP.NET技術(shù)、先進的C#語言,采用B/S模式開發(fā)的大學生選修課管理系統(tǒng),將學生、老師、管理員有機地結(jié)合在一起,有效地提高管理水平和效率。隨著科學技術(shù)的不斷提高,計算機科學日漸成熟,基于以上的技術(shù)在現(xiàn)今比較容易實現(xiàn)。 </p><p> 1.3 操作上的可行性</p><p> 該系統(tǒng)操作方便,
7、簡單。 </p><p><b> 2 需求分析</b></p><p><b> 2.1需求陳述</b></p><p> 系統(tǒng)功能模塊基本將本系統(tǒng)劃分為三大模塊,即學生選課模塊、教師開課模塊以及管理員管理模塊。 </p><p> ?。?)學生選課模塊:在這個模塊中,允許學生修改個人信息,
8、瀏覽基本的課程;并實現(xiàn)主要的選課功能,包括填寫選課信息、查看已選課程、修改選課等。</p><p> (2)教師開課模塊:這個模塊主要是讓教師申請教課,同時教師可以修改個人信息、瀏覽基本課程以及查看學生的選課情況等。</p><p> ?。?)管理員管理模塊:這個模塊的功能比較多,主要包括創(chuàng)建課程的指定任課老師、設(shè)定課程人數(shù)、統(tǒng)計學生選課信息、發(fā)通知等等。</p><
9、p> ?。?)通用功能模塊:即用戶登錄、密碼修改等功能的實現(xiàn)。</p><p><b> 2.2分析建模</b></p><p><b> 根據(jù)系統(tǒng)需求</b></p><p> 角色確定,外部參與者如下:</p><p> ①管理員:對學生和教師基本資料維護,對課程基本資料進行添加、
10、 刪除、 更新或查詢等;</p><p> ?、趯W生:進行課程預覽,選課信息查詢,進行選課,成績查詢等;</p><p> ?、劢處煟翰樵冋n程,申請教課及課程報名人數(shù)情況,進行成績評定等;</p><p><b> 確定用例</b></p><p> 與管理員有關(guān)的用例:</p><p>
11、發(fā)布通知、分配帳號密碼、注銷或修改用戶狀態(tài)、創(chuàng)建課程,定任課老師、設(shè)定課程人數(shù)、統(tǒng)計學生選課信息;</p><p><b> 與學生有關(guān)的用例:</b></p><p> 修改個人信息、選課操作、修改選課、瀏覽課程、查詢成績</p><p><b> 與教師有關(guān)的用例:</b></p><p>
12、; 申請教課、瀏覽課題、查詢學生選課情況、成績評定</p><p><b> 建立系統(tǒng)用例圖</b></p><p> 此系統(tǒng)用例圖包括:學生選課系統(tǒng)的高層用例圖,管理員管理子系統(tǒng)用例圖,教師管理子系統(tǒng)用例圖以及學生選課子系統(tǒng)的用例圖。</p><p><b> 系統(tǒng)用例</b></p><p&
13、gt; 大學生選修課用例描述</p><p> 管理員:管理員負責整個選修課系統(tǒng)的全面工作</p><p> 管理員使用子系統(tǒng)“選課管理”中的教學大綱信息和“科室分配管理”中的教師信息,制定選課表</p><p> 管理員點擊子系統(tǒng)“課程信息管理” 對學生和教師基本資料維護,課程基本資料進行添加、刪除、更新或查詢等相關(guān)操作</p><p&
14、gt; 學生:進行課程預覽,選課信息查詢,進行選課,成績查詢等;</p><p> 教師:查詢課程,申請教課及課程報名人數(shù)情況,進行成績評定等;</p><p> 成績查詢:登錄選課系統(tǒng)→選擇用戶“學生”→輸入密碼,提交→提示登錄成功或錯誤信息→選擇“選修課成績查詢”,選擇學期→查到對應成績。</p><p> 成績管理:教師進行操作,包括教師錄入和維護學生
15、的成績,統(tǒng)計成績查詢成績,也可進行學生成績的刪除和修改工作。</p><p><b> 詳細描述如下:</b></p><p> 登錄:通過用戶名及密碼登錄學生選課系統(tǒng)→驗證當前用戶權(quán)限。</p><p> 課程信息瀏覽:讓學生可以詳細的了解課程情況。</p><p> 選課:學生可以選擇要選修的課程 。選課概述
16、:前提條件(正確登錄、同一選課選修兩次第二次不計學分)→點擊選課項→提交按鈕→提示選課情況</p><p> 修改選課:由于主觀或客觀原因要求退課。修改選課概述:前提條件(限定的課程開設(shè)人數(shù)已滿,或是不足規(guī)定人數(shù)取消該課程安排的信息,以及個人在規(guī)定日期前可以修改選課等)</p><p> 成績查詢:登錄選課系統(tǒng)→選擇用戶“學生”→輸入密碼,提交→提示登錄成功或錯誤信息→選擇“選修課成績
17、查詢”,選擇學期→查到對應成績。</p><p> 學生選課系統(tǒng)的高層用例圖如圖2-1所示</p><p> 圖2-1 學生選課系統(tǒng)的高層用例圖</p><p><b> 管理子系統(tǒng)用例</b></p><p><b> ?。?)用戶登錄</b></p><p> 獲
18、取用戶輸入的用戶名及密碼;</p><p> 若出現(xiàn)用戶名、密碼錯誤或不匹配現(xiàn)象,反饋錯誤提示;</p><p> 在用戶名及密碼都正確的前提下,支持密碼修改。</p><p><b> ?。?)選課系統(tǒng)</b></p><p> 首先發(fā)布選課通知,即先對教師發(fā)出通知(教師得到通知后才可申請教課),然后對學生發(fā)出通
19、知(此時已安排完有關(guān)選修課的所有信息)</p><p> 創(chuàng)建課程指定任課教師</p><p> 設(shè)定課程的人數(shù)和開課時間安排</p><p> 分配賬號及密碼(由于是管理員操作此部分)。</p><p><b> (3)教師教課申請</b></p><p> 獲取教師申請教課的信息,包
20、括教師信息及其所要教的課程課程信息;</p><p> 提供教師瀏覽課程的功能,即課程時間、教室等的安排;并提供查詢學生選課情況的功能,即選此門課程的名單等;</p><p> 處理和統(tǒng)計教師對學生成績的評定。</p><p><b> ?。?)學生選課</b></p><p> 提供學生修改個人信息的功能;<
21、;/p><p> 提供學生瀏覽全部選修課信息的功能,然后接受學生的選課操作;</p><p> 獲取學生及其所選課程的信息后,提供學生瀏覽自己所選課程的安排情況;</p><p> 得到選課系統(tǒng)的指令,在相應時間內(nèi)可以讓學生修改自己的選課;</p><p> 將選課系統(tǒng)統(tǒng)計好的成績信息反饋給學生供其瀏覽。</p><p
22、> 管理員管理子系統(tǒng)用例詳細描述如下:</p><p> ①發(fā)放通知:此用例包含兩種情況,一是相對于教師的,二是相對于學生的。相對于教師,即對于選課信息錄入后發(fā)放給教師的通知,相對于學生即是在安排完選課相應的教師、選課限定人數(shù)等規(guī)則后發(fā)放給學生的通知。</p><p> ?、趯W生及教師列表:對于學生的個人信息、選課信息,教師的個人信息、對應教受的課程信息等的查詢、刪除、修改等操作
23、。</p><p> ?、劭蛇x課程列表:在限定人數(shù)已滿或是人數(shù)不夠不進行課程開設(shè)等情況下對于課程選擇的限定。</p><p> ?、軐W生已選課程列表:在課程修完教師評定相應成績后,對于學生已選課程的成績統(tǒng)計以及錄入發(fā)放。</p><p> 管理員添加及密碼修改:根據(jù)實際情況進行添加、修改等。</p><p> 管理員管理子系統(tǒng)用例圖如圖2
24、-2所示:</p><p> 圖2-2 管理員管理子系統(tǒng)用例圖</p><p> 教師進行查詢課程,申請教課及課程報名人數(shù)情況,進行成績評定等工作。</p><p><b> 主要是學生選課操作</b></p><p> 提供學生修改個人信息的功能;</p><p> 提供學生瀏覽全部選
25、修課信息的功能,然后接受學生的選課操作;</p><p> 獲取學生及其所選課程的信息后,提供學生瀏覽自己所選課程的安排情況;</p><p> 得到選課系統(tǒng)的指令,在相應時間內(nèi)可以讓學生修改自己的選課。</p><p> 學生選課子系統(tǒng)如圖2-3所示</p><p> 圖2-3學生選課子系統(tǒng)用例圖</p><p&
26、gt;<b> 3 分析設(shè)計</b></p><p> 3.1系統(tǒng)功能結(jié)構(gòu)設(shè)計</p><p> 首先輸入用戶名和密碼登錄系統(tǒng),系統(tǒng)給出提示,若登錄成功后則進行課程信息查詢。</p><p> 然后對信息進行詳細查看,例如選課時間安排、教師安排、人數(shù)安排等,之后可點擊選擇課程并提交確認,此時系統(tǒng)也會給出提示,若成功選擇給出課程詳細信息,
27、否則將提示人數(shù)已滿的限制信息。</p><p> 修改所選課程,也必須找到自己已選課程列表并進行刪除,然后再按相同方法進行選課,最終完成選課。當然修改課程過程中,也要注意修改時間的限定,因為管理員也要統(tǒng)計學生及其所選課程的信息,所以必須在規(guī)定時間進行修改。</p><p> 經(jīng)過活動如圖3-1所示</p><p> 圖3-1 學生選課操作的活動圖</p&
28、gt;<p> 順序圖如圖3-2所示</p><p> 圖3-2學生選課操作順序圖</p><p> 學生選課操作的協(xié)作圖3-3所示:</p><p> 圖3-3學生選課操作的協(xié)作圖</p><p> 參與交互的對象有課程信息模塊、課程安排模塊及面向教師、學生。此圖主要考慮通過對象之間的交互共同完成選課操作的過程,各信
29、息流向及標明的順序更好詮釋出管理員進行管理時所需對象及時間上的配合。管理員管理操作的協(xié)作圖如下所示:</p><p> 參與的交互對象有課程信息模塊、成績評定模塊、成績管理模塊以及學生。</p><p> 首先教師進入課程信息模塊,選擇自已所教授的選修課,進而得到所有學生信息。然后通過反饋的信息及自己記錄的考勤情況(如特定安排取消的課時等)進入成績評定模塊。一般是將所有學生進行統(tǒng)一打分
30、,若不是統(tǒng)一的情況或是有修改等情況都可進入成績管理模塊進行相應操作。在規(guī)定日期前上交評定成績信息后再反饋給學生。如圖3-4所示:</p><p> 圖3-4教師評定成績的協(xié)作圖</p><p> 學生在選課操作中其生存周期中所處的不同狀態(tài)、轉(zhuǎn)換時的條件,雖然看似較為簡單,但并不可忽視。對于此信息的詳細設(shè)計,可進一步用于用類狀態(tài)的設(shè)計和編制類。如圖3-5所示:</p>&l
31、t;p> 圖3-5學生登錄選課的狀態(tài)圖</p><p> 3.2.系統(tǒng)硬件結(jié)構(gòu)設(shè)計</p><p> 類模型是面向?qū)ο蠓椒ǖ暮诵?,類模型從對象的角度描述系統(tǒng)的組成,描述對象及相互間的關(guān)系。系統(tǒng)已在前面進行過簡單描述,通過檢查問題陳述中的所有名詞短語和代詞,得到初始類:</p><p> 學生 教師 管理員 選課操作
32、選課管理 申請教課</p><p> 成績管理 成績查詢 用戶管理 課程信息 可選課程 學生已選課程</p><p> 經(jīng)過分析最后得到教師、學生、管理員、課程信息及系統(tǒng)維護這幾個類。并標識出類的名稱及屬性。如下圖3-6所示:</p><p> 圖3-6類名稱及屬性</p><p> 3.3系統(tǒng)軟件架構(gòu)設(shè)計
33、</p><p> 3.3.1功能要求:</p><p> (1) 設(shè)計數(shù)據(jù)對象(表、視圖、規(guī)則、函數(shù)等),完成學生自主選課,實現(xiàn)對于數(shù)據(jù)庫完整性的檢查; </p><p> (2) 根據(jù)用戶不同,指派不同權(quán)利:管理員具有dbo權(quán)限,學生具有插入選課表、退課表權(quán)限,查詢課程表權(quán)限,確保數(shù)據(jù)庫的安全性; </p><p> (3)
34、能夠?qū)崿F(xiàn)對于學生選課信息、課程信息、授課教師信息、教室使用信息的查詢; </p><p> (4) 設(shè)計觸發(fā)器/存儲過程,優(yōu)化數(shù)據(jù)庫查詢、沖突檢測、擴展數(shù)據(jù)庫完整性和數(shù)據(jù)操縱功能; </p><p> (5) 設(shè)計選課時間段,在指定時間段內(nèi),允許選課、退課。</p><p> (6) 完成數(shù)據(jù)庫的備份等事務處理,保證數(shù)據(jù)庫的一致性,可靠性。</p&g
35、t;<p> 3.3.2 實現(xiàn)要求</p><p> (1) 根據(jù)系統(tǒng)的功能要求,建立了概念模型,設(shè)計各功能塊的E-R圖,對其合并,形成系統(tǒng)總E-R圖, 如圖3-1所示。</p><p> (2) 利用T-SQL實現(xiàn)數(shù)據(jù)庫,關(guān)系表,視圖,數(shù)據(jù)類型,存儲過程及其他數(shù)據(jù)對象的建立、更新、修改及數(shù)據(jù)庫完整性檢查。</p><p><b>
36、4 詳細設(shè)計</b></p><p><b> 蔡忠文設(shè)計內(nèi)容:</b></p><p><b> 老師操作模塊:</b></p><p><b> 1)增加老師</b></p><p> 2)根據(jù)教師號碼修改教師信息</p><p>
37、; 3)根據(jù)教師號碼刪除教師信息</p><p> 4)根據(jù)教師號碼查詢教師的信息</p><p> 5)查詢所有教師的信息</p><p><b> 李梓郡設(shè)計內(nèi)容:</b></p><p><b> 學生操作模塊</b></p><p><b> 1
38、)增加學生</b></p><p> 2)根據(jù)學號修改學生信息</p><p> 3)根據(jù)學號刪除學生信息</p><p> 4)根據(jù)學號查詢學生信息</p><p> 5)查詢所有學生信息</p><p><b> 王超設(shè)計內(nèi)容:</b></p><p&
39、gt;<b> 課程操作模塊</b></p><p><b> 1)增加課程</b></p><p> 2)根據(jù)課程號修改課程信息</p><p> 3)根據(jù)課程號刪除課程的信息</p><p> 4根據(jù)課程號查詢課程的信息</p><p><b> 5
40、)查詢所有課程</b></p><p><b> 張暢設(shè)計內(nèi)容:</b></p><p><b> 系統(tǒng)的數(shù)據(jù)庫設(shè)計:</b></p><p> 本系統(tǒng)設(shè)計的是一個以班級為單位的選課數(shù)據(jù)庫,能夠?qū)崿F(xiàn)學生自主選課功能,并能實現(xiàn)學生信息、課程信息、學生選課信息、教室信息、授課教師信息等的創(chuàng)建、更新、刪除、修改
41、,數(shù)據(jù)庫完整性檢查、沖突檢測、查詢優(yōu)化以及數(shù)據(jù)庫角色、權(quán)限的分配,實現(xiàn)數(shù)據(jù)庫的備份等事務處理以保證數(shù)據(jù)的完整性、一致性、安全性、可靠性。E-R圖如4-1所示</p><p> 圖4-1 學生選課系統(tǒng)總E-R圖</p><p><b> 表4-1教師表</b></p><p><b> 4-2課程表</b></p
42、><p><b> 4-3成績表</b></p><p><b> 4-4學生表</b></p><p><b> 4-5管理員表</b></p><p><b> 4-6系表</b></p><p><b> 5
43、實現(xiàn)</b></p><p> 1.管理員底層代碼:</p><p> package xiangmu.dao;</p><p> import java.util.List;</p><p> import xiangmu.po.course;</p><p> import xiangmu.p
44、o.manager;</p><p> import xiangmu.po.student;</p><p> import xiangmu.po.teacher;</p><p> public interface ManagerDao {</p><p><b> //管理員登錄</b></p>
45、<p> public boolean inToSystem(manager m);</p><p><b> //增加學生</b></p><p> public boolean addStudentforManager(student s);</p><p> //根據(jù)學生的學號修改學生的信息</p>&l
46、t;p> public boolean updateStudentforManager(String sno,student s);</p><p> //根據(jù)學號刪除學生的全部信息</p><p> public boolean deleteStudentforManager(String sno);</p><p> //根據(jù)學號查詢學生的信息&l
47、t;/p><p> public student selectStudentforManager(String sno);</p><p> //查詢所有學生的信息</p><p> public List<student> selectAllStudent();</p><p><b> //增加老師</b&
48、gt;</p><p> public boolean addTeacherforManager(teacher t);</p><p> //根據(jù)教師號修改教師的信息</p><p> public boolean updateTeacherforManager(String tno,teacher t);</p><p> //根
49、據(jù)教師號刪除教師的信息</p><p> public boolean deleteTeacherforManager(String tno);</p><p> //根據(jù)教師號查詢教師的信息</p><p> public teacher selectTeacherforManager(String tno);</p><p> /
50、/查詢所有教師的信息</p><p> public List<teacher> selectAllTeacher();</p><p><b> //增加課程</b></p><p> public boolean addCourseforManager(course c);</p><p> //
51、根據(jù)課程號修改課程的信息</p><p> public boolean updateCourseforManager(String cno,course c);</p><p> //根據(jù)課程號刪除課程的信息</p><p> public boolean deleteCourseforManager(String cno);</p><
52、p> //根據(jù)課程號查詢課程的信息</p><p> public course selectCourseforManager(String cno);</p><p> //查詢所有課程的信息</p><p> public List<course> selectAllCourse();</p><p><b
53、> //退出系統(tǒng)</b></p><p> public void backSystem();</p><p><b> }</b></p><p> 2.學生模塊底層代碼:</p><p> package xiangmu.dao;</p><p> import
54、java.util.List;</p><p> import xiangmu.po.StuChengJi;</p><p> import xiangmu.po.course;</p><p> import xiangmu.po.score;</p><p> import xiangmu.po.student;</p>
55、;<p> public interface StudentDao {</p><p><b> //登錄系統(tǒng)</b></p><p> public boolean inToSystembyStudent(String sno,String spassword);</p><p><b> //選課</b
56、></p><p> public boolean xunKebyStudent(String sno,String cno); </p><p> //查詢所有已選課程</p><p> public List<StuChengJi> xunAllKeChengbyStudent(String sno);</p><p&
57、gt;<b> //查詢自身的信息</b></p><p> public student xunStudent(String sno);</p><p> //查詢所選課程的成績</p><p> public List<score> xunChengJibyStudent(String sno,score s);<
58、/p><p><b> //退課</b></p><p> public boolean deleteCoursebyStudent(String sno,course c);</p><p><b> //退出系統(tǒng)</b></p><p> public void backSystembySt
59、udent();</p><p><b> }</b></p><p> 3.老師模塊底層代碼:</p><p> package xiangmu.dao;</p><p> import java.util.List;</p><p> import xiangmu.po.studen
60、t;</p><p> import xiangmu.po.teacher;</p><p> public interface TeacherDao {</p><p><b> //登錄系統(tǒng)</b></p><p> public boolean inToSystembyTeacher(String tno,
61、String tpassword);</p><p> //查詢所有自身所帶課程的所有學生的信息</p><p> public List<student> xunAllStudentbyStudent(String tno);</p><p> //輸入成績(在上一步的結(jié)果上,輸入成績)</p><p> public
62、boolean chengjibyTeacher(String sno,String sscore,String cno);</p><p><b> //查詢自身的信息</b></p><p> public teacher xunTeacherbyTeacher(String tno);</p><p><b> //退出系
63、統(tǒng)</b></p><p><b> }</b></p><p> 4.主界面的servlet代碼如下:</p><p> package xiangmu.gongneng;</p><p> import java.io.IOException;</p><p> impo
64、rt java.io.PrintWriter;</p><p> import javax.servlet.ServletException;</p><p> import javax.servlet.http.HttpServlet;</p><p> import javax.servlet.http.HttpServletRequest;</p&
65、gt;<p> import javax.servlet.http.HttpServletResponse;</p><p> public class main extends HttpServlet{</p><p> private static final long serialVersionUID = 1L;</p><p><b
66、> @Override</b></p><p> protected void doGet(HttpServletRequest req, HttpServletResponse resp)</p><p> throws ServletException, IOException {</p><p> req.setCharacterEn
67、coding("utf-8");</p><p> resp.setContentType("text/html;charset=utf-8");</p><p> PrintWriter out = resp.getWriter();</p><p> String username = req.getParamete
68、r("username");</p><p> String password = req.getParameter("password");</p><p> String yonghu = req.getParameter("yonghu");</p><p> if(yonghu.equals(
69、"student")){</p><p> req.getRequestDispatcher("/studentcaozuo").forward(req, resp);</p><p> }else if(yonghu.equals("teacher")){</p><p> req.getReque
70、stDispatcher("/teachercaozuo").forward(req, resp);</p><p> }else if(yonghu.equals("manager")){</p><p> req.getRequestDispatcher("/managercaozuo").forward(req, res
71、p);</p><p><b> }</b></p><p><b> }</b></p><p><b> @Override</b></p><p> protected void doPost(HttpServletRequest req, HttpServlet
72、Response resp)</p><p> throws ServletException, IOException {</p><p> this.doGet(req, resp);</p><p><b> }</b></p><p><b> }</b></p>&l
73、t;p> 5、管理員界面的代碼:</p><p> package xiangmu.gongneng;</p><p> import java.io.IOException;</p><p> import java.io.PrintWriter;</p><p> import javax.servlet.ServletE
74、xception;</p><p> import javax.servlet.http.HttpServlet;</p><p> import javax.servlet.http.HttpServletRequest;</p><p> import javax.servlet.http.HttpServletResponse;</p>&
75、lt;p> import xiangmu.daoimpl.ManagerDaoimpl;</p><p> import xiangmu.po.manager;</p><p> public class managercaozuo extends HttpServlet {</p><p> private static final long ser
76、ialVersionUID = 1L;</p><p> public void doGet(HttpServletRequest request, HttpServletResponse response)</p><p> throws ServletException, IOException {</p><p> this.doPost(request
77、, response);</p><p><b> }</b></p><p> public void doPost(HttpServletRequest request, HttpServletResponse response)</p><p> throws ServletException, IOException {</
78、p><p> PrintWriter out = response.getWriter();</p><p> String username = request.getParameter("username");</p><p> String password = request.getParameter("password&qu
79、ot;);</p><p> manager m = new manager(username,password);</p><p> ManagerDaoimpl mipml = new ManagerDaoimpl();</p><p> if(mipml.inToSystem(m)){</p><p> request.getR
80、equestDispatcher("managergongneng.jsp").forward(request, response);</p><p><b> }else{</b></p><p> request.getRequestDispatcher("/managerdengluerror").forward(re
81、quest, response);</p><p><b> }</b></p><p> out.println(username);</p><p> out.println(password);</p><p><b> }</b></p><p><b&
82、gt; }</b></p><p> 6.學生模塊界面的代碼:</p><p> package xiangmu.gongneng;</p><p> import java.io.IOException;</p><p> import java.io.PrintWriter;</p><p>
83、 import javax.servlet.ServletException;</p><p> import javax.servlet.http.HttpServlet;</p><p> import javax.servlet.http.HttpServletRequest;</p><p> import javax.servlet.http.Ht
84、tpServletResponse;</p><p> import javax.servlet.http.HttpSession;</p><p> import xiangmu.daoimpl.StudentDaoimpl;</p><p> public class studentcaozuo extends HttpServlet {</p>
85、;<p> private static final long serialVersionUID = 1L;</p><p> public void doGet(HttpServletRequest request, HttpServletResponse response)</p><p> throws ServletException, IOException
86、{</p><p> this.doPost(request, response);</p><p><b> }</b></p><p> public void doPost(HttpServletRequest request, HttpServletResponse response)</p><p>
87、throws ServletException, IOException {</p><p> PrintWriter out = response.getWriter();</p><p> String sno = request.getParameter("username");</p><p> String spassword =
88、 request.getParameter("password");</p><p> StudentDaoimpl simpl = new StudentDaoimpl();</p><p> String sname = simpl.chaSnameforSno(sno);</p><p> HttpSession sessionsno
89、 = request.getSession();</p><p> HttpSession sessionsname = request.getSession();</p><p> sessionsno.setAttribute("sno", sno);</p><p> sessionsname.setAttribute("s
90、name", sname);</p><p> if(simpl.inToSystembyStudent(sno, spassword)){</p><p> request.getRequestDispatcher("student/studentgongneng.jsp").forward(request, response);</p>
91、<p><b> }else{</b></p><p> request.getRequestDispatcher("/managerdengluerror").forward(request, response);</p><p><b> }</b></p><p> out.pr
92、intln(sno);</p><p> out.println(spassword);</p><p><b> }</b></p><p><b> }</b></p><p> 7.老師界面的servlet代碼:</p><p> package xiangm
93、u.gongneng;</p><p> import java.io.IOException;</p><p> import java.io.PrintWriter;</p><p> import javax.servlet.ServletException;</p><p> import javax.servlet.http
94、.HttpServlet;</p><p> import javax.servlet.http.HttpServletRequest;</p><p> import javax.servlet.http.HttpServletResponse;</p><p> import xiangmu.daoimpl.TeacherDaoimpl;</p>
95、;<p> public class teachercaozuo extends HttpServlet {</p><p> private static final long serialVersionUID = 1L;</p><p> public void doGet(HttpServletRequest request, HttpServletRespons
96、e response)</p><p> throws ServletException, IOException {</p><p> this.doPost(request, response);</p><p><b> }</b></p><p> public void doPost(HttpServl
97、etRequest request, HttpServletResponse response)</p><p> throws ServletException, IOException {</p><p> PrintWriter out = response.getWriter();</p><p> String tno = request.getPa
98、rameter("username");</p><p> String tpassword = request.getParameter("password");</p><p> TeacherDaoimpl timpl = new TeacherDaoimpl();</p><p> String tname =
99、timpl.chaTnameforTno(tno);</p><p> if(timpl.inToSystembyTeacher(tno, tpassword)){</p><p> request.getRequestDispatcher("teacher/teachergongneng.jsp?tname="+tname+"").forwar
100、d(request, response);</p><p><b> }else{</b></p><p> request.getRequestDispatcher("/managerdengluerror").forward(request, response);</p><p><b> }</b
101、></p><p> out.println(tno);</p><p> out.println(tpassword);</p><p> out.flush();</p><p> out.close(); </p><p><b> }</b></p>
102、<p><b> }</b></p><p> 8、數(shù)據(jù)庫設(shè)計的代碼:</p><p><b> //創(chuàng)建課程表</b></p><p> create table t_course(</p><p> cno varchar(10) primary key ,</p&g
103、t;<p> cname varchar(10) ,</p><p> cscore varchar(5) ,</p><p> dno varchar(10) foreign KEY (dno) REFERENCES t_dept(dno)</p><p><b> )</b></p><p>
104、;<b> //創(chuàng)建系表</b></p><p> create table t_dept(</p><p> dno varchar(10) primary key,</p><p> dname varchar(10)</p><p><b> )</b></p><
105、;p><b> //創(chuàng)建學生表</b></p><p> create table t_student(</p><p> sno varchar(10) primary key,</p><p> spassword varchar(10),</p><p> sname varchar(10),<
106、;/p><p> ssex varchar(5),</p><p> sage int ,</p><p> dno varchar(10) foreign KEY (dno) REFERENCES t_dept(dno),</p><p><b> )</b></p><p><b
107、> //創(chuàng)建教師表</b></p><p> create table t_teacher(</p><p> tno varchar(10) primary key,</p><p> tpassword varchar(10) ,</p><p> tname varchar(10),</p>&
108、lt;p> tsex varchar(5) ,</p><p> dno varchar(10) foreign KEY(dno) REFERENCES t_dept(dno),</p><p> cno varchar(10) foreign KEY(cno) REFERENCES t_course(cno)</p><p><b> )&
109、lt;/b></p><p><b> //創(chuàng)建成績表</b></p><p> create table t_score(</p><p> cno varchar(10) foreign KEY(cno) REFERENCES t_course(cno),</p><p> sno varchar(10
110、) foreign KEY(sno) REFERENCES t_student(sno),</p><p> sscore varchar(5),</p><p> primary KEY(sno,cno)</p><p><b> )</b></p><p><b> //創(chuàng)建管理員表</b&g
111、t;</p><p> create table t_manager(</p><p> managerid varchar(10) primary KEY,</p><p> managerpassword varchar(10) </p><p><b> )</b></p><p>
112、<b> 程序的部分界面:</b></p><p> 學生界面如圖5-1和 5-2所示:</p><p><b> 圖5-1</b></p><p><b> 圖5-2</b></p><p> 2.老師操作界面的部分截圖如圖5-3和5-4所示:</p>
113、<p><b> 圖5-3</b></p><p><b> 圖5-4</b></p><p> 3.管理員操作界面的部分截圖5-5和5-6所示:</p><p><b> 圖5-5</b></p><p><b> 圖5-6</b>
114、</p><p><b> 6 測試</b></p><p><b> 6.1測試方法</b></p><p><b> 黑盒測試</b></p><p> 選取測試用例的原則:</p><p> 1、所設(shè)計出的測試用例能夠減少為達到合理測試所
115、需要設(shè)計的附加測試用例數(shù)目</p><p> 2、所設(shè)計出的測試用例能夠告訴我們,是否存在某些類型的錯誤,而不是僅僅指出與特定測試相關(guān)的錯誤是否存在</p><p> 3、正確的劃分等價類,已根據(jù)等價類設(shè)計測試方案,以滿足所有的測試都能追溯到用戶需求</p><p> 盡量避免含糊的測試用例。</p><p> 盡量將具有相類似功能的
116、測試用例抽象并歸類。</p><p> 盡量避免冗長和復雜的測試用例。</p><p><b> 6.2測試用例表</b></p><p><b> 7 總結(jié)</b></p><p><b> 7.1.小組總結(jié)</b></p><p> 這次的
117、UML信息系統(tǒng)分析課程設(shè)計,我們做的是“大學生選修課管理系統(tǒng)”,通過幾個星期對其各階段任務的分析實驗操作(確定課題、可行性研究與計劃、需求分析、設(shè)計等),使我們對這門課程有了更深層次的了解,同時也學到了很多東西。</p><p><b> 7.2.個人總結(jié)</b></p><p> 我們剛學過軟件工程課程,此次項目當中我也用到了軟件工程過程的思想。首先確定項目課題
118、,弄清選題依據(jù)后,進行了可行性研究,可行性研究的主要任務不是具體解決系統(tǒng)中實現(xiàn)問題,而是以最小的代價在盡可能短的時間內(nèi)確定問題是否值得解決,是否能夠解決,因此我考慮了項目的進度、質(zhì)量,范圍以及風險等內(nèi)容。</p><p> 從UML建模思想與操作技術(shù)上的可行方面。接著是需求分析工作流階段,分析工作六階段,但是這部分任務用了較長的時間,因為除了用傳統(tǒng)的結(jié)構(gòu)化分析方法學外,還用了我們學過的課程信息系統(tǒng)面向?qū)ο蟮姆治?/p>
119、方方法學。剛開始用結(jié)構(gòu)化的方法時,由于對系統(tǒng)的了解程度不夠,項目即將面臨癱瘓,認為做不下來這個項目,實施過程中出現(xiàn)這樣那樣一系列的風險問題,搞得我弄得暈頭轉(zhuǎn)向,好多好多的困難。最后我決定從最基本的數(shù)據(jù)流圖著手,一步一步的來,縮小項目的范圍。按照“自定而下,逐層分解”的總原則劃分,逐層到每一層的復雜度。</p><p> 比較有難度的就是用面向?qū)ο蟮姆椒ǚ治隽?,這種方法以前自己沒有使用過,只是通過課程來了解其含義
120、,理解起來也很空洞。一開始我就覺得很難上手,在建立用例模型的時候,也遇到好多困難。比如,用例的擴展和包含,我們書上是include和extend。在Visio軟件中,沒有這內(nèi)容,這令人比較糾結(jié),還有如何確定執(zhí)行者、用例、用例之間的具體關(guān)系;在建立動態(tài)模型的時候,</p><p> 如何分析確定類、確定類與類之間的關(guān)系等等都阻礙著分析的前行。為了解決這些問題,我也不乏做了很多工作,比如把書上的各小節(jié)的例子與案例分
121、析都仔細的研究了幾遍,尤其是我們講的Osbert Oglesby案例進行了研究。然后通過借鑒其它書本及網(wǎng)上搜索的資料,</p><p> 我花了一個周時間進行設(shè)計階段的工作,這部分我熟悉了一個軟件開發(fā)工具——Visio。當然了,考慮用word來畫模型圖還是比較復雜,至少說很花時間的,而用Visio工具大大節(jié)約了時間并且減少了出錯率,同時也使得我們對UML建模有了一個專業(yè)上的認知。之后根據(jù)需要對系統(tǒng)進行了數(shù)據(jù)結(jié)構(gòu)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學生選課系統(tǒng)課程設(shè)計
- 學生選課系統(tǒng)課程設(shè)計
- 學生選課系統(tǒng)課程設(shè)計
- 課程設(shè)計--學生選課系統(tǒng)
- 學生選課系統(tǒng)課程設(shè)計
- pb課程設(shè)計—學生選課系統(tǒng)
- 學生選課系統(tǒng)課程設(shè)計報告
- 學生選課管理系統(tǒng)課程設(shè)計
- 學生選課系統(tǒng)-課程設(shè)計報告
- 學生選課系統(tǒng)課程設(shè)計報告
- 學生選課系統(tǒng)設(shè)計報告課程設(shè)計
- 學生選課管理系統(tǒng)課程設(shè)計報告
- c#學生選課系統(tǒng)課程設(shè)計
- 課程設(shè)計報告--學生選課管理系統(tǒng)
- 學生選課課程設(shè)計
- 課程設(shè)計----學生選課管理
- jsp課程設(shè)計學生在線選課系統(tǒng)
- vfp課程設(shè)計報告--學生選課管理系統(tǒng)
- 學生選課系統(tǒng)《軟件工程》課程設(shè)計
- 施工組織課程設(shè)計--學生選課管理系統(tǒng)
評論
0/150
提交評論