教學材料《JSP設計與開發》-第12章_第1頁
教學材料《JSP設計與開發》-第12章_第2頁
教學材料《JSP設計與開發》-第12章_第3頁
教學材料《JSP設計與開發》-第12章_第4頁
教學材料《JSP設計與開發》-第12章_第5頁
已閱讀5頁,還剩67頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

學習要點模塊設計數據庫設計頁面之間的關系功能實現的關鍵代碼返回12.1

系統概述12.1.1

系統總體設計本系統采用Servlet+JSP+JavaBean+SQL2005Express設計方式,其中Servle[擔當主要邏輯控制,通過接收JSP傳來的用戶請求,調用以及初始化JavaBean,在通過JSP傳到客戶端,本系統中匆1Bean擔當主要的與數據庫的連接與通信,JavaBean在本系統中主要擔當配合JSP以及Servlel來完成用戶的請求,而JSP主要擔當接收與響應客戶端,具體設計如圖12-1所示。下一頁返回12.1

系統概述12.1.2系統模塊設計學生課績管理系統由登錄模塊、學生模塊、教師模塊和管理員模塊4部分組成。其功能如下。1.登錄模塊系統的任何角色使用系統,都必須要從系統的登錄入口進人。管理員、學生和教師在登錄的時候,先選定角色,然后輸人用戶名和密碼,登錄系統,具體流程如圖12-2所示。2.學生模塊學生登錄以后,可以選報課程。系統會根據學生所在系及課程的預修課判斷(課程有系別,預修課等屬性)。首先,系統會列出所有滿足上一頁下一頁返回12.1

系統概述該生性別以及該生還未選報的課程,或者其預修課為“public”的課程。如果該生選報了未滿足預修課要求的課程,系統會有相關的錯誤提示。其次,學生可以查看自己的成績,包括該生已選課程的名稱,學分以及該生的總分。如果教師還未給出成績,則系統會有相關提示。再次,該生可以更改自己的個人信息,包括密碼,電話號碼等,其中要求密碼不能為空,具體流程如圖12-3所示。3.教師模塊教師在本系統中擁有是否接受學生所選課程,以及給學生打分的權力,只有先接受學生,才能給該生打分。首先,系統要求教師選擇學生,然后系統會列出該教師所代課程的班級,其次系統會列出選報了該課程的所有學生(其中包括了該生的一些詳細情況),在教師選擇了上一頁下一頁返回12.1

系統概述接受以后,就可以給該生的這門課打分,在這之后系統會分析教師的輸人是否正確(即是否為阿拉伯數字),否則會有提示。其次,在教師給出了學生成績之后,系統會根據成績來判斷該生是否通過了考試,如果該成績大于或等于60,則在該生的學分上加上該課程的學分。具體流程如圖12-4所示。4.管理員模塊管理員在本系統中有著最高的權力,包括新增,更改,刪除學生,教師,課程以及班級。其中“班級”是本系統中關鍵的環節,同樣也是數據庫中的關鍵。它直接與課程,教師,上課時間,地點聯系,學生所選的課程也要具體到某一個班級,所以首先班級號不能為空,其次要保證同一教師在同一時間不能同時上兩門課程。在新增“課程”時,上一頁下一頁返回12.1

系統概述要求決定課程所在系以及其預修課(系統會動態列出現有的課程),其中課程所在系必須與預修課所在系一致(或者選擇無預修課,再或者預修課屬性為public,否則系統會有錯誤提示。除此之外,在更改或新增時,名稱,ID或者密碼不可為空,否則系統會有相關提示。具體流程如圖12-5所示。)上一頁下一頁返回12.1

系統概述12.1.3系統功能描述學生課績管理系統的角色可以劃分為3類。①管理員:負責對學生、教師、課程、和班級信息的管理。②學生:選課、查看學分、修改個人信息。③教師:選擇學生、公布成績。1.登錄系統初始化好系統管理員,系統管理員添加學生和教師。管理員、學生和教師在登錄的時候,先選定角色然后輸人用戶名和密碼,登錄系統。上一頁下一頁返回12.1

系統概述2.管理員管理學生管理員可以對學生進行管理,查看所有學生信息、添加新學生、更改學生信息以及刪除學生。包括的信息有:學號、學生姓名、密碼、學生所在系、性別和籍貫。3.管理員管理教師管理員可以對教師進行管理,查看所有教師信息、添加新教師、更改教師信息以及刪除教師。包括的信息有:教師號碼、教師姓名、密碼和職稱。4.管理員管理課程管理員可以對課程進行管理,查看所有課程信息、添加新課程、更改課程信息以及刪除課程。包括的信息有:課程號、課程名、學分、系別和預選修情況。上一頁下一頁返回12.1

系統概述5.管理員管理班級管理員可以對班級進行管理,查看所有班級信息、添加新班級、更改班級信息以及刪除班級。包括的信息有:課程號、教師、課程、教師和上課時間。6.學生選課顯示登錄學生可以選擇的所有課程列表,可以對想要選的課程進行選課操作。7.學生查看學分顯示登錄學生選擇的所有課程和對應的學分以及總分。8.學生個人信息管理登錄學生更改自己的信息,包括新密碼、電話和E-mail。上一頁下一頁返回12.1

系統概述9.教師選擇學生顯示登錄教師所教的所有課程列表,顯示要選擇某課程的所有學生,可以對學生進行接受操作(接受選擇此課程的學生)10.教師公布成績顯示登錄教師所教的所有課程列表,顯示選秀某課程的所有學生,可以對學生評分。整個系統的功能模塊結構如圖12-6所示。上一頁返回12.2

數據庫設計12.2.1數據庫設計步驟按照數據庫設計理論的要求,學生科技管理系統數據庫的設計需要遵循一定的步驟。1.取定需求數據庫設計的第一個階段是需求分析。需求分析的任務就是通過詳細調查要處理的對象來明確用戶的各種需求。并且通過調查、收集和分析信息,以了解在數據庫中需要存儲哪些數據,要完成什么樣的數據處理功能。這一過程是數據庫設計的起點,它將直接影響到后面各個階段的設計,并影響到設計結果是否合理和實用。需求分析的重點是調查、收集與分析用戶在數據管理中的信息要求、處理要求、安全性與完整性要求。下一頁返回12.2

數據庫設計需求分析時,先要調查清楚用戶的實際需求并進行初步分析,與用戶達成共識,再進一步分析與表達這些需求。2.概念結構設計準確抽象出現實世界的需求后,就應該考慮如何實現用戶的這些需求。概念結構獨立于數據庫邏輯結構,也獨立于支持數據庫的DBMS。它是現實世界與機器世界的中介,一方面能夠充分反映現實世界,包括實體和實體之間的關系,另一方面又易于向關系、網狀、層次等模型轉換。所以概念結構設計是整個數據為設計的關鍵所在。先根據應用的需求,畫出能反映每個應用需求的E一R圖,其中包括確定實體、屬性和聯系的類型。然后優化初始的E一R圖,消除冗余和可能存在的矛盾。概念模型是對用戶需求的客觀反映,并不涉及上一頁下一頁返回12.2

數據庫設計具體的計算機軟、硬件環境。因此,在這一階段中將注意力集中在怎樣表達出用戶對信息的需求,而不考慮具體實現問題。3.邏輯結構設計概念結構是各種數據庫模型的共同基礎,它比數據模型更獨立于機器,更抽象,從而更加穩定。但為了滿足用某一DBMS實現用戶的需求,還必須將概念結構進一步轉化為相應的數據模型,即是要進行數據庫的邏輯結構設計。首先要將E一R圖向數據模型轉換,這一步是要將實體、實體的屬性和實體之間的聯系轉化為關系模式。由于邏輯設計的結果不是唯一的,所以還應該適當地修改、調整數據模型的結構,即以規范化理論進行優化以提高數據庫應用系統的性能。上一頁下一頁返回12.2

數據庫設計4.數據庫物理設計為一個給定的邏輯數據模型選取一個最適合應用環境的物理結構的過程即為數據庫的物理設計。這個階段要充分了解所用的DBMS的內部特征,特別是存儲結構和存取方法;要充分了解應用環境,特別是應用的處理頻率、響應時間要求和外存設備的特性等。設計數據庫的物理結構,就要是確定數據的存儲結構、存取路徑、存放位置和系統配置(包括同時使用數據庫的用戶數,同時打開數據庫對象數,使用緩沖區大小、個數,時間片大小,數據庫大小,裝載因子,鎖的數目等)。設計好后,要根據時間效率、空間效率、維護代價和各種用戶要求進行比較分析評價,從中選擇一個較優的方案作為數據庫的物理結構上一頁下一頁返回12.2

數據庫設計5.數據庫的實施、運行和維護最后一個階段是實施與維護數據庫。完成數據模型的建立后,我們就必須對字段進行命名,確定字段的類型和寬度,并利用數據庫管理系統或數據庫語言創建數據庫結構、輸人數據和運行等,因此數據庫的實施是數據庫設計過程的“最終實現”。以后的重點就是數據庫的維護工作,包括做好備份工作、數據庫的安全性和完整性調整、改善數據庫性能等。上一頁下一頁返回12.2

數據庫設計12.2.2

數據庫結構設計1.數據庫邏輯結構設計根據功能模塊的劃分的結果可知,本系統的用戶有三類:管理員、學生和教師。由于管理員、學生和教師的權限和操作功能大不相同,因此在本系統中我們需要分別進行數據記錄所需要的數據實體有以下5個。(1)管理員數據實體:只需要記錄管理員的登錄名、姓名和密碼,其中登錄名和密碼是管理功能模塊登錄驗證時所必需的。(2)學生數據實體:包括學生號、密碼、學生姓名、性別、學生所在系、籍貫、聯系電話、電子郵件。這些信息中,密碼、聯系電話和電子郵件由學生自己進行維護,管理員在學生人學時根據填寫的信息上一頁下一頁返回12.2

數據庫設計初始化學生信息,在以后的維護過程中,僅在特殊情況下對信息進行修改操作。(3)教師數據實體:包括教師號、密碼、教師姓名、職稱。這些信息由管理員初始化,如果有所改動都要由管理員維護。(4)課程數據實體:用于一記錄所有課程的基本信息,包括課程的課程號、課程名、學分、系別和預選修情況。這些信息由學校的工作人員以管理員身份登錄后進行維護。(5)班級數據實體:用于記錄班級的基本信息,包括班級號、教師、課程、教室和上課時間。這些數據由管理員進行錄人和維護(如果與學校排課系統等結合,數據就由那些系統來提供。上一頁下一頁返回12.2

數據庫設計以上的5個實體都是基本的數據實體。作為學生課績管理系統,還要記錄學生選課和學分情況,因此又有如下的實體。學生課績數據實體:包括學生號、所上課班級、是否被老師接收和所給學分。以下是這6個數據實體的關聯關系,如圖12-7所示。2.數據庫的創建在這個數據庫管理系統中,要建立6張數據表。如表12-1——表12-6所示。(1)管理員表(admin):用于存放管理員用戶的數據記錄。(2)班級信息表(classes):用于存放所有與班級相關的信息。上一頁下一頁返回12.2

數據庫設計(3)課程信息表(course):用于存放所有開課課程的基本信息。(4)教師信息表(teacher):用于存放所有上課教師的基本信息。(5)學生信息表(student):用于存放所有學生的基本信息。(6)學生課績信息表(enrol):用于存放所有學生課績信息。上一頁返回12.3

系統的實現12.3.1

系統界面的設計在本系統中其界面共分為如下4個大的模塊。

(1)登錄模塊:此模塊是用于不同系統角色的登錄,也是系統的唯一入口。(2)管理員模塊:此模塊是用于管理員對學生、教師、課程和班級等基本信息的管理和維護,包括如下的兒個部分。①學生管理:新增、更改、刪除學生。②教師管理:新增、更改、刪除學生。③課程管理:新增、更改、刪除學生。④班級管理:新增、更改、刪除學生。下一頁返回12.3

系統的實現(3)學生模塊:此模塊是學生管理操作界面,①選報課程:查看可選課程、選課。②查看成績:查看自己的成績。③個人信息:修改。(4)教師模塊:此模塊是教師管理操作界面,①接受學生選課:查看、接受學生。②打分:查看、打分。包括如下的兒個部分。包括如下的兒個部分。上一頁下一頁返回12.3

系統的實現1.登錄界面系統的任何用戶使用系統,都必須要從系統的登錄入口進人,這是任何一個系統管理功能保密性的需要。根據前面的需求分析和設計可知,系統角色包括管理員、學生和教師3類,這就要求為這3類用戶都提供登錄的界面。而根據數據庫部分的設計我們可知,管理員用戶存放在數據表admin中,初始化填人了一個管理員的用戶記錄,管理員編號為1,密碼為1;學生存放在數據表student中;教師存放在數據表teacher中。為了給系統的3類用戶提供共同的登錄界面,在登錄界面中,提供了選擇登錄用戶類型的單選按鈕。而且登錄名和密碼的輸人框是上一頁下一頁返回12.3

系統的實現必不可少的,還要包括“確定登錄”和“取消登錄”鏈接)其界面設計結果如圖12-8所示。2.管理員管理首頁管理員登錄后,首先提示登錄成功,如果登錄失敗,則會有錯誤提示信息。然后管理員就可以進行自己的工作操作了。因為管理員要維護的信息有學生、教師、課程和班級,所以在管理首頁上提供了維護這此信息的鏈接入口。其管理員的管理界面設計如圖12-9所示。3.管理員管理學生界面當管理員進行學生管理操作時,首先要顯示所有學生列表,為此,我們設計了學生列表的界面。在該界面中,需要包括如下的信息:編號、學生學號(這一段的值從1自動增長,以避免數據重復,當然在上一頁下一頁返回12.3

系統的實現實際使用中,如果學生的學號已分配好,那么就可將這一字段改為手動錄人。后面的教師編號、課程編號、班級編號都如此)、姓名、密碼、籍貫、系別、性別、學分、電話和電子郵件。還應該提供對學生管理操作的入口,包括增加學生、修改學生和刪除學牛。界面設計如圖12-10所示。

管理學生時,首先要添加學生,因此我們先設計添加學生的界面。根據數據庫設計部分可知,學生信息表為*ludenl。根據學生信息表的設計,我們的界面中需要包括學生姓名、登錄密碼、學生籍貫、聯系電話和電子郵件的文本輸人框,而學生所在系是數據列表,因此需要使用下拉列表的控件。填寫完信息之后,還要進行數據保存,添加學生界面設計如圖12-11所示上一頁下一頁返回12.3

系統的實現修改學生信息的界面和添加新學生界面類似,只不過缺少編號的文本輸人框而已。至于刪除操作,在顯示學生列表界面中就可以實現,這里就不需要單獨的界面了。4.管理員管理教師界面當管理員進行教師管理操作的時候,要先顯示所有教師的列表。為此,我們設計了教師列表的界面。該界面中,需要包括如下的信息:編號、教師編號、姓名、職務、密碼。還應該提供對教師管理操作的入口,包括新增教師、修改教師和刪除教師。界面設計如圖12-12所示。管理教師時,首先要添加教師,因此我們首先設計添加教師的界面上一頁下一頁返回12.3

系統的實現根據數據庫設計部分可知,教師信息表為LP8G11PT。根據教師信息表的設計,其界面中應該包括教師姓名、登錄密碼和教師職務的文本輸人框。填寫完信息之后,還要進行數據保存。界面設計如圖12-13所示。5.管理員管理課程界面當管理員進行課程管理操作的時候,要先顯示所有課程的列表。為此,我們設計了課程列表的界面。該界面中,需要包括如下的信息:編號、課程編號、課程名稱、學分、預修課和所在系。還應該提供對課程管理操作的入口,包括新增課程、修改課程和刪除課程。界面設計如圖12-14所示。上一頁下一頁返回12.3

系統的實現管理課程時,首先要添加課程。因此我們首先設計添加課程的界面。根據數據庫設計部分可知,課程信息表為course。根據課程信息表的設計。我們的界面中應該包括課程名稱的文本輸人框,而課程學分、所屬系別和預修課需要選擇,因此需要使用下拉列表的控件。填寫完信息后,還要進行數據保存界面設計如圖12-15所示。6.管理員管理班級界面當管理員進行班級管理操作的時候,要先顯示所有班級的列表。為此,我們設計了班級列表的界面。該界面中,需要包括如下的信息:編號、班級編號、教師姓名、課程名稱、上課教室和上課時間。還應該提供對班級管理操作的入口,包括新增班級、修改班級和刪除班級。)界面設計如圖12-16所示。上一頁下一頁返回12.3

系統的實現管理班級時,首先要添加班級。因此我們首先設計了添加班級的界面。根據數據庫設計部分可知,班級信息表為classes。根據班級信息表的設計,我們的界面中應該包括上課教室和上課時間的文本輸人框,而上課教師姓名和所上課程需要選擇,因此需要使用下拉列表的控件。填寫完信息后,還要進行數據保存。界面設計如圖12-17所示。7.學生選課界面學生通過登錄界面進人系統之后,和管理員登錄系統的界面類似,首先也是顯示學生所能做的導航鏈接。關于這個界面的設計與管理員管理首頁類似。當學生進行選課操作的時候,要先顯示所有能夠選擇的課程列表。為此,我們設計了顯示課程列表的界面。該界面中,需要包括如下的信息:課程編號、課程名稱、預修課、系別、班級號、上一頁下一頁返回12.3

系統的實現上課教室、上課時間和教師。還應該提供對課程管理操作的入口,包括注冊操作,即所說的選課。界面設計如圖12-18所示顯示完課程信息之后,主要還是進行選課的操作。而選課操作在選課列表界面就可以實現,就不需要單獨的界面了。8.學生查看成績界面學生進行查看操作的時候,需要查看的信息包括該生已選課程的名稱、課程學分以及該生所得的總學分。當然還需要課程的成績,如果教師還未給出成績,則系統會有相關提示。界面設計如圖12-19所示9.教師查看選課學生的界面教師通過登錄界面進人系統之后,和管理員登錄系統的界面類似,上一頁下一頁返回12.3

系統的實現首先也是顯示教師所能做的功能導航鏈接。關于這個界面的設計與管理員管理首頁類似。當教師在查看選課學生的時候,要先顯示所帶的所有班級和課程列表。為此,我們設計了顯示班級和課程列表的界面。該界面中,需要包括如下的信息:班級編號、課程名稱,并提供了查看注冊該課程學生的操作。界面設計如圖12-20所示。當教師針對某課程,查看選該課程學生的時候,要先顯示所有預報該課程的學生列表。為此,我們設計了顯示學生注冊列表的界面。該界面中,需要包括如下信息:學生學號、學生姓名、系別、性別、學分、電話和電子郵件)界面設計如圖12-21所示。上一頁下一頁返回12.3

系統的實現10.教師公布成績界面當教師公布操作的時候,要先顯示所教的所有班級和課程列表,為此,我們設計了顯示班級和課程列表的界面,并且對某一班級可以查看對應學生的列表信息界面。這兩個界面的設計分別與教師所帶班級和課程列表界面設計和選擇某課程的學生列表界面設計類似。下面設計教師給學生打分的界面。要給學生打分,界面上首先要顯示學生姓名、系別、性別,提供學生成績和本科所得學分的輸人框,以及進行提交操作的“確定”按鈕。界面設計如圖12-22所示。上一頁返回12.4

系統關鍵代碼實現界面的設計是系統實現的骨架,數據庫的連接與封裝構成了填寫動態代碼的基礎。因此,編寫基本的功能代碼的基礎已經準備好了,接下來就是在這些骨架中,根據數據庫的連接和封裝來填寫內容。1.登錄系統用戶登錄使用的類有:類loginconfirm和類SqlBean。參數傳遞通過loginconfirm類來驗證傳遞的。驗證過程的代碼如下下一頁返回12.4

系統關鍵代碼實現上一頁下一頁返回12.4

系統關鍵代碼實現上一頁下一頁返回12.4

系統關鍵代碼實現上一頁下一頁返回12.4

系統關鍵代碼實現上一頁下一頁返回12.4

系統關鍵代碼實現2.管理員管理學生管理員管理學生時,主要使用的是類StudentSvlt、類Student和類SqlBean。其中USerlof。在StudentSvlt這個類中主要是封裝了對學生信息表(Student)操作的業務邏輯(updateToTable),對表操作主要分為3種:1是添加;2是修改;3是刪除。上一頁下一頁返回12.4

系統關鍵代碼實現上一頁下一頁返回12.4

系統關鍵代碼實現上一頁下一頁返回12.4

系統關鍵代碼實現上一頁下一頁返回12.4

系統關鍵代碼實現3.教師給學生打分使用的是determine.java中的marking方法。上一頁下一頁返回12.4

系統關鍵代碼實現4.某課程下學生的注冊列表這個業務邏輯我們把它封裝在determine.java,使用的方法是。publicResultSetgetSt

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論