版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 1 可行性分析3</b></p><p> 1.1 經濟上的可行性3</p><p> 1.2 技術上的可行性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 分析設計10</b></p><p> 3.1系統(tǒng)功能結構設計10</p
3、><p> 3.3系統(tǒng)軟件架構設計14</p><p><b> 4 詳細設計16</b></p><p><b> 5 實現20</b></p><p><b> 6 測試31</b></p><p> 6.1測試方法31</p&
4、gt;<p> 6.2測試用例32</p><p><b> 7 總結34</b></p><p> 7.1小組總結34</p><p> 7.2個人總結34</p><p><b> 1 可行性分析</b></p><p> 1.1 經濟上
5、的可行性 </p><p> 界面友好,操作簡單,系統(tǒng)實現可行,因此經濟可行。該系統(tǒng)可以容易實現學生、老師和教學系統(tǒng)管理員與學校之間的聯系,在Internet上實現完成部分教務工作,提高辦事效率。</p><p> 1.2 技術上的可行性</p><p> 隨著互聯網的蓬勃發(fā)展,越來越多的機構將科研管理與Internet融合到一起,以方便個高校管理。在這樣一個
6、社會背景下,基于Windows和SQL Server 2005設計出數據庫 ,運用先進的ASP.NET技術、先進的C#語言,采用B/S模式開發(fā)的大學生選修課管理系統(tǒng),將學生、老師、管理員有機地結合在一起,有效地提高管理水平和效率。隨著科學技術的不斷提高,計算機科學日漸成熟,基于以上的技術在現今比較容易實現。 </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、瀏覽基本的課程;并實現主要的選課功能,包括填寫選課信息、查看已選課程、修改選課等。</p><p> ?。?)教師開課模塊:這個模塊主要是讓教師申請教課,同時教師可以修改個人信息、瀏覽基本課程以及查看學生的選課情況等。</p><p> (3)管理員管理模塊:這個模塊的功能比較多,主要包括創(chuàng)建課程的指定任課老師、設定課程人數、統(tǒng)計學生選課信息、發(fā)通知等等。</p><
9、p> ?。?)通用功能模塊:即用戶登錄、密碼修改等功能的實現。</p><p><b> 2.2分析建模</b></p><p><b> 根據系統(tǒng)需求</b></p><p> 角色確定,外部參與者如下:</p><p> ?、俟芾韱T:對學生和教師基本資料維護,對課程基本資料進行添加、
10、 刪除、 更新或查詢等;</p><p> ?、趯W生:進行課程預覽,選課信息查詢,進行選課,成績查詢等;</p><p> ?、劢處煟翰樵冋n程,申請教課及課程報名人數情況,進行成績評定等;</p><p><b> 確定用例</b></p><p> 與管理員有關的用例:</p><p>
11、發(fā)布通知、分配帳號密碼、注銷或修改用戶狀態(tài)、創(chuàng)建課程,定任課老師、設定課程人數、統(tǒng)計學生選課信息;</p><p><b> 與學生有關的用例:</b></p><p> 修改個人信息、選課操作、修改選課、瀏覽課程、查詢成績</p><p><b> 與教師有關的用例:</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)“課程信息管理” 對學生和教師基本資料維護,課程基本資料進行添加、刪除、更新或查詢等相關操作</p><p&
14、gt; 學生:進行課程預覽,選課信息查詢,進行選課,成績查詢等;</p><p> 教師:查詢課程,申請教課及課程報名人數情況,進行成績評定等;</p><p> 成績查詢:登錄選課系統(tǒng)→選擇用戶“學生”→輸入密碼,提交→提示登錄成功或錯誤信息→選擇“選修課成績查詢”,選擇學期→查到對應成績。</p><p> 成績管理:教師進行操作,包括教師錄入和維護學生
15、的成績,統(tǒng)計成績查詢成績,也可進行學生成績的刪除和修改工作。</p><p><b> 詳細描述如下:</b></p><p> 登錄:通過用戶名及密碼登錄學生選課系統(tǒng)→驗證當前用戶權限。</p><p> 課程信息瀏覽:讓學生可以詳細的了解課程情況。</p><p> 選課:學生可以選擇要選修的課程 。選課概述
16、:前提條件(正確登錄、同一選課選修兩次第二次不計學分)→點擊選課項→提交按鈕→提示選課情況</p><p> 修改選課:由于主觀或客觀原因要求退課。修改選課概述:前提條件(限定的課程開設人數已滿,或是不足規(guī)定人數取消該課程安排的信息,以及個人在規(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> 若出現用戶名、密碼錯誤或不匹配現象,反饋錯誤提示;</p><p> 在用戶名及密碼都正確的前提下,支持密碼修改。</p><p><b> ?。?)選課系統(tǒng)</b></p><p> 首先發(fā)布選課通知,即先對教師發(fā)出通知(教師得到通知后才可申請教課),然后對學生發(fā)出通
19、知(此時已安排完有關選修課的所有信息)</p><p> 創(chuàng)建課程指定任課教師</p><p> 設定課程的人數和開課時間安排</p><p> 分配賬號及密碼(由于是管理員操作此部分)。</p><p><b> (3)教師教課申請</b></p><p> 獲取教師申請教課的信息,包
20、括教師信息及其所要教的課程課程信息;</p><p> 提供教師瀏覽課程的功能,即課程時間、教室等的安排;并提供查詢學生選課情況的功能,即選此門課程的名單等;</p><p> 處理和統(tǒng)計教師對學生成績的評定。</p><p><b> (4)學生選課</b></p><p> 提供學生修改個人信息的功能;<
21、;/p><p> 提供學生瀏覽全部選修課信息的功能,然后接受學生的選課操作;</p><p> 獲取學生及其所選課程的信息后,提供學生瀏覽自己所選課程的安排情況;</p><p> 得到選課系統(tǒng)的指令,在相應時間內可以讓學生修改自己的選課;</p><p> 將選課系統(tǒng)統(tǒng)計好的成績信息反饋給學生供其瀏覽。</p><p
22、> 管理員管理子系統(tǒng)用例詳細描述如下:</p><p> ?、侔l(fā)放通知:此用例包含兩種情況,一是相對于教師的,二是相對于學生的。相對于教師,即對于選課信息錄入后發(fā)放給教師的通知,相對于學生即是在安排完選課相應的教師、選課限定人數等規(guī)則后發(fā)放給學生的通知。</p><p> ②學生及教師列表:對于學生的個人信息、選課信息,教師的個人信息、對應教受的課程信息等的查詢、刪除、修改等操作
23、。</p><p> ?、劭蛇x課程列表:在限定人數已滿或是人數不夠不進行課程開設等情況下對于課程選擇的限定。</p><p> ?、軐W生已選課程列表:在課程修完教師評定相應成績后,對于學生已選課程的成績統(tǒng)計以及錄入發(fā)放。</p><p> 管理員添加及密碼修改:根據實際情況進行添加、修改等。</p><p> 管理員管理子系統(tǒng)用例圖如圖2
24、-2所示:</p><p> 圖2-2 管理員管理子系統(tǒng)用例圖</p><p> 教師進行查詢課程,申請教課及課程報名人數情況,進行成績評定等工作。</p><p><b> 主要是學生選課操作</b></p><p> 提供學生修改個人信息的功能;</p><p> 提供學生瀏覽全部選
25、修課信息的功能,然后接受學生的選課操作;</p><p> 獲取學生及其所選課程的信息后,提供學生瀏覽自己所選課程的安排情況;</p><p> 得到選課系統(tǒng)的指令,在相應時間內可以讓學生修改自己的選課。</p><p> 學生選課子系統(tǒng)如圖2-3所示</p><p> 圖2-3學生選課子系統(tǒng)用例圖</p><p&
26、gt;<b> 3 分析設計</b></p><p> 3.1系統(tǒng)功能結構設計</p><p> 首先輸入用戶名和密碼登錄系統(tǒng),系統(tǒng)給出提示,若登錄成功后則進行課程信息查詢。</p><p> 然后對信息進行詳細查看,例如選課時間安排、教師安排、人數安排等,之后可點擊選擇課程并提交確認,此時系統(tǒng)也會給出提示,若成功選擇給出課程詳細信息,
27、否則將提示人數已滿的限制信息。</p><p> 修改所選課程,也必須找到自己已選課程列表并進行刪除,然后再按相同方法進行選課,最終完成選課。當然修改課程過程中,也要注意修改時間的限定,因為管理員也要統(tǒng)計學生及其所選課程的信息,所以必須在規(guī)定時間進行修改。</p><p> 經過活動如圖3-1所示</p><p> 圖3-1 學生選課操作的活動圖</p&
28、gt;<p> 順序圖如圖3-2所示</p><p> 圖3-2學生選課操作順序圖</p><p> 學生選課操作的協作圖3-3所示:</p><p> 圖3-3學生選課操作的協作圖</p><p> 參與交互的對象有課程信息模塊、課程安排模塊及面向教師、學生。此圖主要考慮通過對象之間的交互共同完成選課操作的過程,各信
29、息流向及標明的順序更好詮釋出管理員進行管理時所需對象及時間上的配合。管理員管理操作的協作圖如下所示:</p><p> 參與的交互對象有課程信息模塊、成績評定模塊、成績管理模塊以及學生。</p><p> 首先教師進入課程信息模塊,選擇自已所教授的選修課,進而得到所有學生信息。然后通過反饋的信息及自己記錄的考勤情況(如特定安排取消的課時等)進入成績評定模塊。一般是將所有學生進行統(tǒng)一打分
30、,若不是統(tǒng)一的情況或是有修改等情況都可進入成績管理模塊進行相應操作。在規(guī)定日期前上交評定成績信息后再反饋給學生。如圖3-4所示:</p><p> 圖3-4教師評定成績的協作圖</p><p> 學生在選課操作中其生存周期中所處的不同狀態(tài)、轉換時的條件,雖然看似較為簡單,但并不可忽視。對于此信息的詳細設計,可進一步用于用類狀態(tài)的設計和編制類。如圖3-5所示:</p>&l
31、t;p> 圖3-5學生登錄選課的狀態(tài)圖</p><p> 3.2.系統(tǒng)硬件結構設計</p><p> 類模型是面向對象方法的核心,類模型從對象的角度描述系統(tǒng)的組成,描述對象及相互間的關系。系統(tǒng)已在前面進行過簡單描述,通過檢查問題陳述中的所有名詞短語和代詞,得到初始類:</p><p> 學生 教師 管理員 選課操作
32、選課管理 申請教課</p><p> 成績管理 成績查詢 用戶管理 課程信息 可選課程 學生已選課程</p><p> 經過分析最后得到教師、學生、管理員、課程信息及系統(tǒng)維護這幾個類。并標識出類的名稱及屬性。如下圖3-6所示:</p><p> 圖3-6類名稱及屬性</p><p> 3.3系統(tǒng)軟件架構設計
33、</p><p> 3.3.1功能要求:</p><p> (1) 設計數據對象(表、視圖、規(guī)則、函數等),完成學生自主選課,實現對于數據庫完整性的檢查; </p><p> (2) 根據用戶不同,指派不同權利:管理員具有dbo權限,學生具有插入選課表、退課表權限,查詢課程表權限,確保數據庫的安全性; </p><p> (3)
34、能夠實現對于學生選課信息、課程信息、授課教師信息、教室使用信息的查詢; </p><p> (4) 設計觸發(fā)器/存儲過程,優(yōu)化數據庫查詢、沖突檢測、擴展數據庫完整性和數據操縱功能; </p><p> (5) 設計選課時間段,在指定時間段內,允許選課、退課。</p><p> (6) 完成數據庫的備份等事務處理,保證數據庫的一致性,可靠性。</p&g
35、t;<p> 3.3.2 實現要求</p><p> (1) 根據系統(tǒng)的功能要求,建立了概念模型,設計各功能塊的E-R圖,對其合并,形成系統(tǒng)總E-R圖, 如圖3-1所示。</p><p> (2) 利用T-SQL實現數據庫,關系表,視圖,數據類型,存儲過程及其他數據對象的建立、更新、修改及數據庫完整性檢查。</p><p><b>
36、4 詳細設計</b></p><p><b> 蔡忠文設計內容:</b></p><p><b> 老師操作模塊:</b></p><p><b> 1)增加老師</b></p><p> 2)根據教師號碼修改教師信息</p><p>
37、; 3)根據教師號碼刪除教師信息</p><p> 4)根據教師號碼查詢教師的信息</p><p> 5)查詢所有教師的信息</p><p><b> 李梓郡設計內容:</b></p><p><b> 學生操作模塊</b></p><p><b> 1
38、)增加學生</b></p><p> 2)根據學號修改學生信息</p><p> 3)根據學號刪除學生信息</p><p> 4)根據學號查詢學生信息</p><p> 5)查詢所有學生信息</p><p><b> 王超設計內容:</b></p><p&
39、gt;<b> 課程操作模塊</b></p><p><b> 1)增加課程</b></p><p> 2)根據課程號修改課程信息</p><p> 3)根據課程號刪除課程的信息</p><p> 4根據課程號查詢課程的信息</p><p><b> 5
40、)查詢所有課程</b></p><p><b> 張暢設計內容:</b></p><p><b> 系統(tǒng)的數據庫設計:</b></p><p> 本系統(tǒng)設計的是一個以班級為單位的選課數據庫,能夠實現學生自主選課功能,并能實現學生信息、課程信息、學生選課信息、教室信息、授課教師信息等的創(chuàng)建、更新、刪除、修改
41、,數據庫完整性檢查、沖突檢測、查詢優(yōu)化以及數據庫角色、權限的分配,實現數據庫的備份等事務處理以保證數據的完整性、一致性、安全性、可靠性。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、實現</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> //根據學生的學號修改學生的信息</p>&l
46、t;p> public boolean updateStudentforManager(String sno,student s);</p><p> //根據學號刪除學生的全部信息</p><p> public boolean deleteStudentforManager(String sno);</p><p> //根據學號查詢學生的信息&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> //根據教師號修改教師的信息</p><p> public boolean updateTeacherforManager(String tno,teacher t);</p><p> //根
49、據教師號刪除教師的信息</p><p> public boolean deleteTeacherforManager(String tno);</p><p> //根據教師號查詢教師的信息</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、根據課程號修改課程的信息</p><p> public boolean updateCourseforManager(String cno,course c);</p><p> //根據課程號刪除課程的信息</p><p> public boolean deleteCourseforManager(String cno);</p><
52、p> //根據課程號查詢課程的信息</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> //輸入成績(在上一步的結果上,輸入成績)</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、數據庫設計的代碼:</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、所設計出的測試用例能夠減少為達到合理測試所
115、需要設計的附加測試用例數目</p><p> 2、所設計出的測試用例能夠告訴我們,是否存在某些類型的錯誤,而不是僅僅指出與特定測試相關的錯誤是否存在</p><p> 3、正確的劃分等價類,已根據等價類設計測試方案,以滿足所有的測試都能追溯到用戶需求</p><p> 盡量避免含糊的測試用例。</p><p> 盡量將具有相類似功能的
116、測試用例抽象并歸類。</p><p> 盡量避免冗長和復雜的測試用例。</p><p><b> 6.2測試用例表</b></p><p><b> 7 總結</b></p><p><b> 7.1.小組總結</b></p><p> 這次的
117、UML信息系統(tǒng)分析課程設計,我們做的是“大學生選修課管理系統(tǒng)”,通過幾個星期對其各階段任務的分析實驗操作(確定課題、可行性研究與計劃、需求分析、設計等),使我們對這門課程有了更深層次的了解,同時也學到了很多東西。</p><p><b> 7.2.個人總結</b></p><p> 我們剛學過軟件工程課程,此次項目當中我也用到了軟件工程過程的思想。首先確定項目課題
118、,弄清選題依據后,進行了可行性研究,可行性研究的主要任務不是具體解決系統(tǒng)中實現問題,而是以最小的代價在盡可能短的時間內確定問題是否值得解決,是否能夠解決,因此我考慮了項目的進度、質量,范圍以及風險等內容。</p><p> 從UML建模思想與操作技術上的可行方面。接著是需求分析工作流階段,分析工作六階段,但是這部分任務用了較長的時間,因為除了用傳統(tǒng)的結構化分析方法學外,還用了我們學過的課程信息系統(tǒng)面向對象的分析
119、方方法學。剛開始用結構化的方法時,由于對系統(tǒng)的了解程度不夠,項目即將面臨癱瘓,認為做不下來這個項目,實施過程中出現這樣那樣一系列的風險問題,搞得我弄得暈頭轉向,好多好多的困難。最后我決定從最基本的數據流圖著手,一步一步的來,縮小項目的范圍。按照“自定而下,逐層分解”的總原則劃分,逐層到每一層的復雜度。</p><p> 比較有難度的就是用面向對象的方法分析了,這種方法以前自己沒有使用過,只是通過課程來了解其含義
120、,理解起來也很空洞。一開始我就覺得很難上手,在建立用例模型的時候,也遇到好多困難。比如,用例的擴展和包含,我們書上是include和extend。在Visio軟件中,沒有這內容,這令人比較糾結,還有如何確定執(zhí)行者、用例、用例之間的具體關系;在建立動態(tài)模型的時候,</p><p> 如何分析確定類、確定類與類之間的關系等等都阻礙著分析的前行。為了解決這些問題,我也不乏做了很多工作,比如把書上的各小節(jié)的例子與案例分
121、析都仔細的研究了幾遍,尤其是我們講的Osbert Oglesby案例進行了研究。然后通過借鑒其它書本及網上搜索的資料,</p><p> 我花了一個周時間進行設計階段的工作,這部分我熟悉了一個軟件開發(fā)工具——Visio。當然了,考慮用word來畫模型圖還是比較復雜,至少說很花時間的,而用Visio工具大大節(jié)約了時間并且減少了出錯率,同時也使得我們對UML建模有了一個專業(yè)上的認知。之后根據需要對系統(tǒng)進行了數據結構
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學生選課系統(tǒng)課程設計
- 學生選課系統(tǒng)課程設計
- 學生選課系統(tǒng)課程設計
- 課程設計--學生選課系統(tǒng)
- 學生選課系統(tǒng)課程設計
- pb課程設計—學生選課系統(tǒng)
- 學生選課系統(tǒng)課程設計報告
- 學生選課管理系統(tǒng)課程設計
- 學生選課系統(tǒng)-課程設計報告
- 學生選課系統(tǒng)課程設計報告
- 學生選課系統(tǒng)設計報告課程設計
- 學生選課管理系統(tǒng)課程設計報告
- c#學生選課系統(tǒng)課程設計
- 課程設計報告--學生選課管理系統(tǒng)
- 學生選課課程設計
- 課程設計----學生選課管理
- jsp課程設計學生在線選課系統(tǒng)
- vfp課程設計報告--學生選課管理系統(tǒng)
- 學生選課系統(tǒng)《軟件工程》課程設計
- 施工組織課程設計--學生選課管理系統(tǒng)
評論
0/150
提交評論