JAVA 课程设计
?
一、設計內容與設計要求
1.課程設計目的:
復習、鞏固Java語言的基礎知識,進一步加深對Java可視化程序設計的理解和掌握;課程設計為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛煉學生的分析解決實際問題的能力。提高學生適應實際,實踐編程的能力;為后繼課程的實驗以及課程設計打下較扎實的基礎。
2.設計要求:
掌握結構化程序設計的主體思想,以自頂向下逐步求精的方法編制程序解決一些實際的中型問題,為將來開發軟件積累一些典型的案例處理經驗。具體要求如下:
(1)設計課題題目:?實驗選課系統?
⑵根據自己對應的課題完成以下主要工作:①完成系統需求分析:包括系統設計目的與意義;系統功能需求;輸入輸出的要求。②完成系統概要設計:程序由哪些模塊組成以及模塊之間的層次結構、各模塊的調用關系;每個模塊的功能;課題涉及的數據結構和數據庫結構;即要存儲什么數據,這些數據是什么樣的結構,它們之間有什么關系等。③完成系統詳細設計:包括采用java語言定義相關的數據類型;寫出各模塊的算法;畫出函數的調用關系圖。④調試分析、設計體會、測試數據:準備典型的測試數據和測試方案,包括正確的輸入及輸出結果和含有錯誤的輸入及輸出結果;程序調試中遇到的問題以及解決問題的方法;課程設計過程經驗教訓、心得體會。⑤關鍵源程序(帶注釋)
⑶按規定格式完成課程設計報告,將其打印稿(A4紙)上交給老師存檔。
⑷不得抄襲他人程序、課程設計報告,每個人應體現自己的個性設計。
?
?
?
摘???要
隨著計算機的普及,計算機技術有快速的發展,計算機在各行各業的應用也越來越廣泛,為了滿足時代的需要,我們開發了許多與實際相應的應用系統,實驗選課系統就是一個很好的例子。實驗選課系統的用處非常大,它是記錄學生選課以及教師等相關信息的軟件,應用不同的用戶權限加以控制,解決了數據的安全性問題。使用簡單、方便,對學校的選課有很大的幫助。
?
?
關鍵詞:數據庫應用;學生實驗選課;權限;數據庫
?
目錄
引??言
1.需求分析
1.1系統分析
1.2用戶需求
2?概要設計
2.1系統流程圖
2.2系統功能模塊設計
3?數據庫設計
3.1.概念模型設計
3.2邏輯結構設計
3.3??物理結構設計
4.程序模塊設計
4.1?開發環境及數據庫連接
4.2?學生模塊設計
4.3教師模塊設計
4.4?管理員模塊設計
5.系統測試
5.1測試環境
結??論
參考文獻
?
?
引??言
數據結構在計算機應用中的作用非常大,程序=數據結構+算法,算法的實現也離不開數據結構,一個好的算法必須要有合適的數據結構加以實現,才能保證算法的優越性。課程設計實際上就是程序的集合,是數據結構和算法方面的綜合應用,課程設計不僅僅是考驗我們的編程,對語言的學習能力,更主要的是培養我們對系統軟件開發的方法的學習和團隊合作能力的考驗。當然,課程設計的意義并不是完全局限于此,每個人在課程設計中都可以得到不同的鍛煉。本次課程設計的題目是實驗選課系統。
主要任務:1、實驗選課系統分為教師,學生及系統管理員三類用戶,學生的功能包括選課,查尋實驗信息等,教師的功能包括考勤,學生實驗成績錄入,查尋實驗信息等。管理員的功能包括新建教師,學生賬戶,設定實驗課程信息(設定實驗時間,地點,任課教師)。2、管理員可對教師,學生及實驗課程信息進行修改;教師可對任課的考勤,成績進行修改;學生可以對自己選修的課程重選,退選。3、管理員可刪除教師,學生及實驗課程信息。4、教師可查詢所任課程的學生名單,實驗時間,考勤及實驗成績,并可按成績分數段進行統計;學生可查尋所學課程的實驗時間,教師名單;管理員具有全系統的查尋功能。
本次設計采用了SQL Sever2008和VS2010等軟件實現系統。
1?需求分析
系統用戶分為三類:學生、教師、管理員;
學生有選課、退選、查詢成績和課程信息、教師名單等功能。
教師有添加成績,查詢學生名單和課程信息、統計、考勤等功能。
管理員具有全系統的使用功能。
1.1?系統分析
實驗選課系統針對不同的用戶,對系統有著不同的使用權限,因此要求系統有密碼登錄功能。
1.2?用戶需求
l??實驗選課系統分為教師,學生及系統管理員三類用戶,學生的功能包括選課,查尋實驗信息等,教師的功能包括考勤,學生實驗成績錄入,查尋實驗信息等。管理員的功能包括新建教師,學生賬戶,設定實驗課程信息(設定實驗時間,地點,任課教師)。
l??管理員可對教師,學生及實驗課程信息進行修改;教師可對任課的考勤,成績進行修改;學生可以對自己選修的課程重選,退選。
l??管理員可刪除教師,學生及實驗課程信息。
l??教師可查詢所任課程的學生名單,實驗時間,考勤及實驗成績,并可按成績分數段進行統計;學生可查尋所學課程的實驗時間,教師名單;管理員具有全系統的查尋功
?
?
?
?
?
?
?
?
2?概要設計??
2.1系統流程圖
2-1?系統流程圖
2.2?系統功能模塊設計
系統主要功能如下所示:
圖2-2?系統功能模塊
?
?
2.3?系統總體設計
實驗選課系統分為教師,學生管理員三個功能模塊。
學生模塊:選課、查尋實驗信息、教師名單等功能。
教師模塊:考勤、成績統計、學生實驗成績錄入、查尋實驗信息、所任課程的學生名單等功能。
管理員模塊:具有全系統的查詢、更新功能。
3?數據庫設計
3.1?概念模型設計
3.1.1 設計原理
通過對系統的總體結構的把握,采用自頂向下和自底向上像結合的混合策略,先采用自頂下策略設計出全局概念結構,再使用自底向上的方法設計出各局部概念結構。
3.1.2 概念模型
經過對實驗選課系統所涉及到的數據進行分析,得到如下的實體:
(1)????學生:屬性包括學號、姓名、密碼。
(2)????課程:屬性包括課程號、課程名稱、課程信息(包括上課時間、上課地點、上課教師)。
(3)????教師:職工號、教師姓名、密碼。
(4)????管理員:管理員編號、管理員姓名、密碼。
聯系有:
(1)????考勤:表示教師、實驗課程、學生之間的關系。它有屬性:狀態
(2)????選課:表示學生與實驗課程之間的關系。它有屬性:成績。
所設計的概念模型(E-R圖)
? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖3-1?系統E-R圖
? ? ? ? ? ? ? ? ? ? ?
? ? 圖?3-2?管理員分E-R圖
? ? ? ? ? ? ? ? ? ? ? ? ? ?
圖3-3?學生分E-R圖
?
圖?3-4?教師分E-R圖
?
圖?3-5?實驗課程分E-R圖
?
?
3.2?邏輯結構設計
3.2.1?將實體轉換為關系模式
S(Sno,Sname,password)
C(Cno,Cname,Ctine,Cplace,Tno)
T(Tno,Tname,password)
A(Ano,Aname,password)
3.2.2將聯系轉換為關系模式
SC(Sno,Cno,grade)
TCS(Tno,Cno,Sno,status)
3.3?物理結構設計
3.3.1? 基本表設計
1、學生表:
表3-1?職工信息表
字段名 | 字段描述 | 字段類型 | 備注 |
Sno | 學號 | Char(10) | 主鍵 |
Sname | 姓名 | Char(10) | 無 |
password | 密碼 | Char(10) | 無 |
?
創建學生表的SQL語句如下:
Create table S
(
Sno char(10) primary key,
Sname char(10),
Password char(10)
);
2、教師表:
表3-2?教師信息表
字段名 | 字段描述 | 字段類型 | 備注 |
Tno | 職工號 | Char(10) | 主鍵 |
Tname | 教師姓名 | Char(10) | 無 |
password | 密碼 | Char(10) | 無 |
?
創建教師表的SQL語句如下:
Create table T
(
Tno char(10) primary key,
Tname char(10),
Password char(10)
);
?
3、管理員表:
表3-3?管理員信息表
字段名 | 字段描述 | 字段類型 | 備注 |
Ano | 管理員編號 | Char(10) | 主鍵 |
Aname | 姓名 | Char(10) | 無 |
password | 密碼 | Char(10) | 無 |
?
創建管理員表的SQL語句如下:
Create table A
(
Ano char(10) primary key,
Aname char(10),
Password char(10)
);
?
4、實驗課程表:
表3-4?實驗課程信息表
字段名 | 字段描述 | 字段類型 | 備注 |
Cno | 課程號 | Char(10) | 主鍵 |
Cname | 課程名稱 | Char(20) | 無 |
Ctime | 上課時間 | Char(20) | 無 |
Cplace | 上課地點 | Char(10) | 無 |
Tno | 任課教師 | Char(10) | T表外鍵 |
?
創建實驗課程表的SQL語句如下:
Create table C
(
Cno char(10) primary key,
Cname char(20),
Ctime char(20),
Cplace char(10),
Tno char(10) foreign key references T(Tno)
);
?
5、學生選課表:
表3-5?學生選課信息表
字段名 | 字段描述 | 字段類型 | 備注 |
Sno | 學號 | Char(10) | 主鍵 |
Cno | 課程號 | Char(10) | 主鍵 |
grade | 成績 | Int | 無 |
?
創建學生選課表的SQL語句如下:
Create table SC
(
Sno char(10) foreign key references S(Sno),
Cno char(10) foreign key references S(Sno),
grade int,
primary key(Sno,Cno)
);
6、考勤表:
表3-6?考勤信息表
字段名 | 字段描述 | 字段類型 | 備注 |
Tno | 職工號 | Char(10) | 主鍵 |
Cno | 課程號 | Char(20) | 主鍵 |
Sno | 學號 | Char(20) | 主鍵 |
status | 狀態 | Char(10) | 無 |
創建考勤表的SQL語句如下:
Create table TCS?
(
Tno char(10) foreign key references T(Tno),
Cno char(10) foreign key references S(Sno),
Sno char(10) foreign key references S(Sno),
status char(10),
primary key(Tno,Cno,Sno)
);
?
4?程序模塊設計
4.1?開發環境及數據庫連接
本系統使用VS2010編程環境編寫,使用SQL Sever (SQLEXPRESS)數據庫,基于JFrame窗體設計,采用ADO.NET數據庫訪問技術。
4.2?學生模塊設計
4.2.1設計思路
根據任務書的內容,明確學生模塊需要實現的功能,根據功能使用不同的方法設計不同的子模塊。
4.2.2實現方法(以程序流程圖或偽碼表示 )
學生模塊代碼:
private?void?學生選課ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????new?Sxuanke().Show();
}
private?void?已選課程ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????new?Syixuan().Show();
}
?
?
private?void?查詢實驗信息ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????new?selectshiyan().Show();
}
private?void?教師名單ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????new?Tmingdan().Show();
?}
private?void?退出ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????this.Close();
?????new?login().Show();
}
4.3教師模塊設計
4.3.1設計思路
根據任務書的內容,明確教師模塊需要實現的功能,根據功能使用不同的方法設計不同的子模塊。
4.2.2實現方法(以程序流程圖或偽碼表示 )
private?void?錄入成績ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????new?gradeAdd().Show();
}
private?void?查詢實驗課程信息ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????new?selectshiyan().Show();
}
private?void?學生名單ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????new?xueshengmingdan().Show();
}
private?void?考勤ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????new?kaoqing().Show();
}
private?void?統計ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
? ???new?tongji().Show();
}
private?void?退出ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????this.Close();
?????new?login().Show();
}
4.4?管理員模塊設計
4.4.1設計思路
根據任務書的內容,明確管理員模塊需要實現的功能,根據功能使用不同的方法設計不同的子模塊。
4.2.2實現方法(以程序流程圖或偽碼表示 )
private?void?添加學生用戶ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????new?AddS().Show();
}
private?void?添加教師用戶ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????new?AddT().Show();
}
private?void?添加實驗課程信息ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????new?AddC().Show();
}
private?void?學生信息ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????new?selectS().Show();
}
private?void?教師信息ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????new?selectT().Show();
}
private?void?實驗課程信息ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????new?selectC().Show();
?}
private?void?學生選課信息ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????new?selectSC().Show();
}
private?void?考勤信息ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????new?selectTCS().Show();
}
?
private?void?退出ToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
?????this.Close();
?????new?login().Show();
}
5.系統測試
5.1測試環境
系統測試的時候主要是黑盒測試,進行功能的驗證。
工具:Windows 10?、VS2010、SQL Sever
5.2?測試用例及結果
5.2.1 界面測試
測試界面是否整潔美觀,人機對話是否友好,檢查所有的頁面是否能夠正確的顯示,每個頁面的風格是否一致,界面是否有錯別字,頁面每一個鏈接是否有對應的界面,頁面控件和操作按鈕的位置是否合理,界面中的下拉列表的值是否正確,是否有重復的值。
界面測試結果,界面整潔美觀,界面友好,界面風格一致,無錯別字,控件按鈕位置合適易于操作,輸入框、下拉列表等顯示正確。
5.2.2功能測試
1、登錄測試
?
圖5-1管理員登錄測試1
圖5-2登錄失敗測試
?
學生登錄測試
查詢結果
?結??論
通過本次數據庫課程設計,對數據庫的使用有了更深的了解,對于數據庫的設計過程和方法有了更全面的認識。當然,本次課程設計使用的是數據庫語言,對這門語言也有了初步的認識。在完成系統的過程中,讓我認識到了自己的不足,自己在項目綜合實訓方面還比較欠缺。本次課程設計完成了任務書的全部內容,系統的詳細設計還有欠缺,系統界面還有待完善。對數據庫安全的方面了解甚少,以至于不知道怎樣去維護,在數據庫的設計方面花了很多時間,但是,有些問題還沒有考慮進去。
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
參考文獻
[1]梁勇JAVA語言程序設計(基礎篇)第十版,機械工業出版社
[2]Bain T.?《SQL server 2008數據倉庫與Analysis Services》.?中國電出版社??
[3]周龍驤.《數據庫管理系統實現技術》.中國地質大學出版社
?
總結
- 上一篇: [js] 获取浏览器当前页面的滚动条高
- 下一篇: 前端学习(2849):简单秒杀学习之浮动