第一篇:學生信息管理系統相關功能實現(xiexiebang推薦)
學生信息管理系統代碼設計
第一章 概述
學生信息管理系統是一個不斷發展的新型學科,任何一個單位要生存要發展,要高效率地把內部活動有機地組織起來,就必須建立與自身特點相適應的管理信息系統。在現今眾多的學生管理系統中,最為常見的是學生學籍管理系統和學生課程成績管理系統。這是對我國現今大多學校對學生管理的需要而開發設計的,但隨著學校的發展,這種各自獨立的系統遠遠不能滿足學校管理的需要。學生檔案管理系統是一個教育單位不可缺少的部分,它的內容對于學校的決策者和管理者來說都至關重要,所以學生檔案管理系統應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統人工的方式管理文件檔案,這種管理方式存在著許多缺點,效率低、保密性差,另外時間一長,將產生大量的文件和數據,這對于查找、更新和維護都帶來了不少的困難。而使用計算機對學生檔案信息進行管理,具有手工管理所無法比擬的優點。例如檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優點能夠極大地提高學生檔案管理的效率,也是企業的科學化、正規化管理的重要途徑。
第二章 學生成績管理系統功能的實現
2.1 系統功能模塊設計
對上述各項功能進行集中、分塊,按照結構化程序設計的要求,得到如圖所示的系統功能模塊圖。
/ 8
2.2 數據庫的連接
在整個學生成績管理系統中,數據庫的打開在系統中是很重要的,下面給出本系統連接打開數據庫的代碼文件DB.ASP <% dim db set db=Server.CreateObject(“ADODB.Connection”)db.open “driver={Microsoft
Access
Driver(*.mdb)};dbq=”&Server.Mappath(“bysj.mdb”)%>
2.3 成績管理系統的登錄頁面
學生成績管理系統分為三種登錄模式(1)系統管理員登錄(2)教師登錄(3)學生登錄
成績管理系統的安全性
系統是用ASP網頁編程+ACCESS數據庫+SQL查詢語句,學生成績管理系統中擁有的用戶名和密碼才能正常進入成績管理系統,系統安全設計的判斷頁面為DLCL.ASP文件,以下給出整個文件的部分代碼提供參考: 打開數據文件 <% if request.form(“xuehao”)=“" then response.write ”“ end if %> 輸入的用戶名進行判斷,如果為空則自動跳回到系統首頁 <% if request.form(”pwd“)=”“ then response.write”“ end if 輸入的密碼進行判斷,如果為空則自動跳回到系統首頁 <% if request.form(”xuehao“)<>”“ and request.form(”pwd“)<>”“ then user=trim(request.form(”xuehao“))pwd=trim(request.form(”pwd“))lx=request.form(”d1“)session(”a“)=0 if lx=”超 級 系 統 管理員“ then sql=”select * from admin“ set rs=db.execute(sql)do while not rs.eof if trim(rs(”admin“))=user and trim(rs(”pwd“))=pwd then session(”a“)=1 session(”user“)=user response.redirect ”admin.asp“ end if rs.movenext loop response.redirect ”errar.asp“ end if if lx=”學 生“ then
/ 8
sql=”select * from xuesheng“ set rs=db.execute(sql)do while not rs.eof if trim(rs(”xuehao“))=user and trim(rs(”pwd“))=pwd then session(”a“)=1 session(”xuehao“)=user response.redirect ”xuesheng.asp“ end if rs.movenext loop response.redirect ”errar.asp“ end if if lx=”教 師“ then sql=”select * from jiaoshi“ set rs=db.execute(sql)do while not rs.eof if trim(rs(”user“))=user and trim(rs(”pwd“))=pwd then session(”a“)=1 session(”user“)=user response.redirect ”jiaoshi.asp“ end if rs.movenext loop response.redirect ”errar.asp“ end if end if %> 以上代碼是通過讀取輸入的用戶名和密碼在從數據庫中進行查找,是否有當前輸入的用戶和密碼,如果用戶名正確與密碼正確則進入相應頁面的同時對SESSION存一個值,如果數據庫中沒有該用戶則跳到錯誤處理頁面ERRAR.ASP。
/ 8
判斷用戶是否是從登錄頁面進入系統的處理頁面文件ADERRAR.ASP的代碼如下 <% session(”a“)=0 if session(”user“)=”“ then response.write ”“ end if %> 如果SESSION中的值為空,則自動跳轉到登錄頁面
學生信息管理模塊
1.添加學生信息。此部分實現了對學生信息的增加功能,public class AddStuInfo extends StuInfo {
StuBean getSnum = new Stubean();public AddStuInfo(){
this.setTitle(”添加學生信息“);
this.setResizable(false);
sNum.setEditable(false);
sNum.setText(”“+getSnum.getStuId());
sName.setEditable(true);
sSex.setEditable(true);
sSethnic.setEditable(true);
sBirth.setEditable(true);
sYear.setEditable(true);
sMajor.setEditable(true);
sCollege.setEditable(true);
sHome.setEditable(true);
//設置運行時窗口的位置
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation((screenSize.width300)/ 2 + 45);} 2.刪除學生信息。此部分實現了對學生信息的刪除。在刪除前先查詢出需要刪除的學生的基本信息,在進行刪除。
public class DelStuInfo extends StuInfo{
String sNum_str = ”“;public DelStuInfo(){
/ 8
} this.setTitle(”刪除學生信息“);this.setResizable(false);sNum.setEditable(false);sNum.setText(”請查詢學號“);sName.setEditable(false);sSex.setEditable(false);sSethnic.setEditable(false);sBirth.setEditable(false);sYear.setEditable(false);sMajor.setEditable(false);sCollege.setEditable(false);sHome.setEditable(false);//設置運行時窗口的位置
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation((screenSize.width300)/ 2 + 45);3.修改學生信息。此部分實現了對學生信息的修改。在修改時先查詢出要修改的學生的基本信息,然后在進行需要的改動并保存。
public class EditStuInfo extends StuInfo {
String sNum_str = ”“;public EditStuInfo(){
this.setTitle(”修改學生信息“);
this.setResizable(false);
sNum.setEditable(false);
sNum.setText(”請查詢學號“);
sName.setEditable(false);
sSex.setEditable(false);
sSethnic.setEditable(false);
sBirth.setEditable(false);
sYear.setEditable(false);
sMajor.setEditable(false);
sCollege.setEditable(false);
sHome.setEditable(false);
//設置運行時窗口的位置
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation((screenSize.width300)/ 2 + 45);} 2.4課程信息管理模塊
1.增加課程信息。此部分實現了對課程信息的增加。
public class AddCourseInfo extends CourseInfo{
CrsBean getCnum = new CrsBean();public AddCourseInfo(){
this.setTitle(”添加課程信息“);
/ 8
} this.setResizable(false);cNum.setEditable(false);cNum.setText(”“+getCnum.getCrsId());cName.setEditable(true);cTeacher.setEditable(true);cType.setEditable(true);cTime.setEditable(true);cPlace.setEditable(true);//設置運行位置,使對話框居中
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation((int)(screenSize.width300)/ 2 +45);2.刪除課程信息。此部分實現了對課程信息的刪除。在刪除時先查詢出需要刪除的課程基本信息,在進行刪除。
public class DelCourseInfo extends CourseInfo{
String cNum_str = ”“;public DelCourseInfo(){
this.setTitle(”刪除課程信息“);
this.setResizable(false);
cNum.setEditable(false);
cNum.setText(”請查詢課程號“);
cName.setEditable(false);
cTeacher.setEditable(false);
cType.setEditable(false);
cTime.setEditable(false);
cPlace.setEditable(false);
//設置運行位置,使對話框居中
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation((int)(screenSize.width300)/ 2 +45);} 3.修改課程信息。此部分實現了對課程信息的修改。在修改時先查詢出需要修改課程的信息,在進行相應的修改。
public class EditCourseInfo extends CourseInfo {
String cNum_str = ”“;public EditCourseInfo(){
this.setTitle(”修改課程信息“);
this.setResizable(false);
cNum.setEditable(false);
cNum.setText(”請查詢課程號");
cName.setEditable(false);
cTeacher.setEditable(false);
cType.setEditable(false);
cTime.setEditable(false);
cPlace.setEditable(false);
//設置運行位置,使對話框居中
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
/ 8
this.setLocation((int)(screenSize.width300)/ 2 +45);}
2.5 系統在調度中經常出現的問題(1)數據庫的連接容易出錯
(2)各種數據寫入數據庫時容易出錯(3)在調度中經常出現數詞不匹配
總
結
尤其是在做實驗時,對JAVA連接數據庫還很陌生,但是后來通過上網,去圖書館找資料就很快的搞定了。從中理解了大學對一個人來說,最重要的不是你學了多少知識,而是快速學習的能力,同時我也知道,任何一件事不是只有知道了相關信息才去做他,即使不知道相關信息也可以動手去做。一邊學一邊做,在信息時代里,這是一個人的生存手段。
其實,在編程過程之中,怎樣讓程序和界面的結合是一個很難處理的問題,因為處理不好就會有時出現觸一發而動全身的現象,真的是很難處理,所以在編程開始,就要讓程序函數之間不要耦合的太緊密了,這樣才能處理好這種情況..總之,這次課程設計受益匪淺,不僅鍛煉了我做事堅持不懈的心態,也慢慢地培養了我不懂就查書的好習慣,我的自學能力也有了一定的提高,我更明白了搞計算機這行,要學到真正的技術完全要靠自己,在課堂上只能學到最基本的東西,但這最基本的東西也一定要學好。
/ 8
第二篇:學生信息管理系統的設計與實現
學號 10031010309004
中 南 大 學 現 代 遠 程 教 育
畢 業 論 文
論文題目 學生信息管理系統的設計與實現
姓 名 谷 豐 專 業 計算機科學與技術 層 次 專升本 入學時間 2010.3 管理中心 河南電大 學習中心 河南南陽 指導教師 宋 長 斌
2012年 04 月 24日
0
學生信息管理系統的設計與實現
內容提要:由于學校規模進一步擴大,學生人數逐年上升,學生信息的管理也變得越來越復雜。為此,切實有效的把學生信息管理系統引入學校教務管理中,對于促進學校管理制度和提高學校教學質量有著顯著意義。
本系統采用B/S結構,ASP為開發語言,SQL Server 2000為數據庫來進行設計與開發。本論文,簡要闡述了系統的開發背景與開發環境,對系統的構架進行分析,由此劃分出各個模塊,包括用戶注冊模塊,用戶登陸模塊,個人管理模塊,基本信息管理模塊,特殊信息管理模塊,畢業生信息管理模塊,成績管理模塊,更多信息管理模塊,退出系統模塊。詳細介紹了系統各個模塊與功能的實現原理,最后總結開發階段與測試階段所遇到的問題與解決方法。
關鍵詞:學生信息管理 數據庫 管理信息系統
目 錄:
一、學生信息管理系統開發背景 ??????????2
二、學生信息管理系統的總體設計??????????????2
三、學生信息管理系統的實現????????????????3
四、結束語????????????????????5
五、參考文獻???????????????????5 隨著計算機的發展及網絡技術的應用,當今社會,正快速向信息化社會前進,信息自動化的作用也越來越大。而在日常生活中信息技術的不斷融入、技 1 術越來越先進的同時,應該從以前繁瑣的事務中解放出來,來提高工作效率。學生信息管理系統就是使用計算機完成眾多學生信息的處理。
一、學生信息管理系統開發背景
隨著科學技術的不斷提高,目前,學校學生管理是教務管理中的一個極為重要的環節,它是整個管理的核心和基礎。由于學校規模進一步擴大,學生人數逐年上升,學生情況的管理也變得越來越復雜。面對如此繁雜的任務。如果讓個人去管理文檔,就會顯得費時費力。近年來隨著計算機的迅速發展,計算機已經在社會各個領域顯示了它巨大的作用。毋庸置疑,切實有效地把計算機管理引入學校教務管理中,對于促進學校管理制度,提高學校教學質量與辦學水平有著顯著意義。由于上述原因,所以,學生管理系統的開發也是時代的一個必經階段。本次設計主要采用B/S結構,從學生入學到畢業每個人在校的信息,以及成績的管理。本系統主要分為六大模塊,基本信息管理、特殊信息管理、畢業生信息管理、更多信息管理(補助信息管理、勤工助學信息管理、獎勵信息管理、處罰信息管理、異動情況信息管理)、成績管理、個人管理。用戶可以對各種信息進行錄入,修改,刪除等操作。更方便各個專業老師對學生信息的系統化管理,提高辦公效率,以達到更合理化,方便化等要求。
二、學生信息管理系統的總體設計
根據系統功能分析和學生信息需求的特點,經過模塊化得到學生信息管理系統功能模塊結構圖,學生信息管理系統的功能設計構思: 功能說明
經過實際考察與分析研究,學生信息管理系統主要應具有以下功能:(1)登錄用戶信息的錄入、修改和刪除功能。(2)學生基本信息的錄入、修改和查詢功能。
2(3)課程的添加和修改。(4)成績的輸入、修改和查詢。
登錄的用戶分為普通學生和管理員兩種類型:學生為系統普通用戶,只能運行此系統學生學籍、課程、成績的查詢功能; 系統管理員則具有運行系統所有功能的權限,利用不同用戶具有不同權限設定的方法有效地保證了系統數據操作的安全性。2 數據庫設計
根據上述的系統需求分析,需要建立一個學生信息數據庫,在學生.mdb 數據庫中建立學籍表、成績表課程信息表、用戶表和臨時表五個表。其中“學籍表”、“成績表”、“課程信息表”。
三、學生信息管理系統的實現 登陸模塊實現用戶登錄窗體作為系統的啟動窗體,用于驗證用戶的身份,當用戶在窗體中輸入用戶名和用戶密碼后,系統自動判斷所輸入的用戶是否存在和密碼是否正確,若不正確,則顯示“用戶名不正確”或“密碼輸入錯誤”提示信息,當 3 次輸入都不正確時,則自動退出登錄窗體,結束系統運行。本窗體為兩種不同的用戶(教師,系統管理員)進入系統。以不同的權限進入系統,滿足其不同的需求。其中系統管理員具有瀏覽、管理數據庫,添加新用戶等全部權限。而教師用戶只具有瀏覽和查詢權限,既不能對數據進行修改,也不能添加新用戶。
在系統主窗體加載的過程中,首先判斷此時登陸的用戶權限,如果是“學生用戶”,則將“用戶管理”、“課程添加修改”、“學籍添加修改”、“成績輸入修改” 這幾個菜單設置為不可見。系統主界面模塊
按照在系統功能模塊圖中介紹的功能模塊,可以將這些功能以菜單的形式設計出來。首先添加主窗體,設置其屬性。在添加好的窗體中,單擊鼠標右鍵,從彈出的快捷菜單中選擇“菜單編輯器”命令,在彈出的菜單編輯器對話框中,按照菜單各自的功能要求,分別錄入進去,并且使用方向鍵為菜單分級。用戶管理模塊
用戶管理模塊包括 “添加用戶”“刪除用戶”“修改密碼”三個窗體,分別起到對用戶的用戶名及密碼信息進行添加、刪除已有用戶、修改用戶信息的功能。學籍管理模塊
在“學籍管理”模塊中,可以添加、修改、查詢學生的學籍信息,包括 “入學登記”、“學籍修改”、“學籍查詢”三個窗體。學籍的全部查詢是能夠查看所有學生的學籍信息,還可以根據“學號”、“姓名”、“班級”等不同的字段進行查詢。在顯示這些信息時,將使用到“學籍表”數據表。課程管理模塊
在“課程管理”模塊中,可以添加、修改學生的課程信息。通過輸入課程的編號和名稱進行添加及修改,在顯示這些信息時,將使用到“課程信息表”數據表。成績管理模塊
在“成績管理”模塊中,可以添加、修改、查詢學生的學籍信息,包括 “成績輸入”、“成績修改”、“成績查詢”三個窗體。學生成績的查詢可以根據“學號”、“姓名”、“課程”“班級”這些不同的字段進行查詢。在顯示這些信息時,將使用到“成績表”數據表。
在對現有系統和現狀認真調查分析的基礎上,明確了學生信息管理工作本身存在的問題和建立管理信息系統的初步要求,經過調查、研究、分析、計算,在學生信息管理中的應用已經條件成熟,將從技術可行性、經濟可行性、操作可行性等方面總結系統開發的可行性,確保學生信息管理系統能夠使用計算機完成眾多學生信息的處理。
結束語:
隨著計算機的發展及網絡技術的應用,當今社會,正快速向信息化社會前進,信息自動化的作用也越來越大。而在日常生活中信息技術的不斷融入、技術越來越先進的同時,應該從以前繁瑣的事務中解放出來,來提高工作效率。本系統基本達到了預期目標,系統運行可靠、操作簡便。但由于研究時間和相關條件的限制,該系統還有一些不完善的地方,后續還會對該課題繼續研究。
參考文獻:
1.數據庫基礎與應用 作者:王利 中央廣播電視大學出版社 1997年
2.SQL Server2000系統管理 飛思科技產品研發中心 電子工業出版社 2001年 3.軟件工程 作者:陳明 中央廣播電視大學出版社 2001年 4.計算機專業畢業設計指導 清華大學出版社
第三篇:學生信息管理系統
摘 要
隨著網絡通信技術的迅速發展和信息技術的廣泛應用,計算機的應用已普及到經濟和社會生活的各個領域。教育領域也不例外,現今已經出現了各種遠程網絡在線教育系統、圖書館管理系統、學生信息管理系統等。其中學生信息管理是任一院校都不可缺少的部分,它的內容對于學校的決策者和教學管理者來說都至關重要,而傳統的人工管理方式效率較低,為數據的查詢、更新和維護帶來了極大的不便。所以學生信息管理信息系統的開發和應用是必要的,它能夠為管理人員提供充足的信息和快捷的查詢手段,提高學校對學生信息的管理效率。
本文的學生信息管理系統是基于java語言的,它能夠提供學生信息管理功能,方便系統管理員對學生學號、班級等信息的添加、修改、刪除、查詢等操作,同時可以一樣方便的對學生的信息進行查詢。本系統也主要利用java語言和access實現,因此它具有很強的可移植性,很方便。
關鍵字: 學生信息 管理系統
添加 刪除 查詢 修改
Abstract With the rapid development of network communication technology and extensive application of information technology, computer applications have spread to the economic and social life in various fields.The field of education is no exception, now there have been a variety of remote network online education system, library management system, student information management system.Which is either a student information management schools are an indispensable part of its contents and teaching for school managers, policy-makers are essential, and the traditional manual management inefficient for data query, update and maintenance brought great inconvenience.So the student information management system development and application of information is necessary, it is able to provide managers with sufficient information and quick inquiry means to improve school student information management efficiency.This student information management system is based on the java language, it is able to provide students with information management function to facilitate system administrators to students student number, class and other information to add, modify, delete, query and other operations, but can be just as convenient for students information to search.This system is mainly achieved using java language and access, so it is very portable, very convenient.Keywords: Student Information Management System add delet revise
前言
隨著計算機技術的飛速發展,信息時代的到來,信息改變了我們這個社會。學校在管理、教學、辦公各個方面也在悄悄地變化。一個學校的信息化程度體現在將計算器與信息技術應用于教學與管理,以現代化工具代替傳統手工作業。無疑,使用信息化管理使教學更先進、辦公更高效、管理更科學,信息交流更迅速。
學生成績管理系統是一個教育單位不可缺少的部分,它的內容對于學校的決策者和管理者來說都至關重要,所以學生成績信息管理系統應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產生大量的文件和數據,這對于查找、更新和維護都帶來了不少的困難。
作為計算機應用的一部分,使用計算機對學生成績信息進行管理,具有著手工管理所無法比擬的優點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優點能夠極大地提高學生檔案管理的效率,也是企業的科學化、正規化管理,與世界接軌的重要條件。
因此,開發這樣一套管理軟件成為很有必要的事情,故決定選擇學生成績管理系統來作為本人的畢業設計,在很短的時間里開發出一套界面友好,功能強大,使用簡單的適用于各規模學院的學生成績管理系統。該學生成績管理系統能有效的處理在校學生的成績管理,具有成績輸入、成績查詢、成績統計及打印功能。
學生成績管理系統可以實施應用在各中、大、小院校中,適用范圍很廣,應用性強。隨著系統實施的日益成熟,最終會使單機作業為主的教學管理活動提高到這個平臺上來,從而實現學校學生成績信息管理的辦公自動化,籍以提高辦學效率和質量。使學校充分利用計算機所帶來的新技術,為培養人才打下堅實的基礎。
第一章 相關技術簡介
1.1 java語言簡介
Java語言是sun公司與1995年5月正式發布的程序設計語言,他的前身是sun公司為智能消費類家用電器研究而開發的項目的一部分。
Java程序設計語言是新一代語言的代表,他強調了面向對象的特性,可以用來開發范圍廣泛的軟件,它具有支持圖形化的用戶界面,網格以及數據庫連接等復雜功能。Java語言的主要特點: 1)易于學習
Java語言很簡單,對于熟悉C++的程序設計人員更不會對其感到陌生,因 為它的語法非常接近于C++,但他同時摒棄了C++許多的復雜易混淆的功能。利用java同樣可以變質出非常復雜的系統,且運行占用很少的內存資源。2)高效率的執行方式
Java語言的執行方式是采用先經過編譯器編譯,在通過解釋器解釋執行的 方式來運行的。他綜合了解釋性語言與編譯語言的眾多有點,使其執行效率較以往的程序設計語言有了大幅度的提高。3)與平臺的無關性
由于iava語言是解釋執行的,他會被轉換成一種字節碼的“目標程序”。因此它可以跨平臺運行 4)分布式安全性
Java從誕生之日起就與網絡聯系在了一起,他強調網絡特性,內置TCPIP,HTTP,FTP協議庫,便于開發網上應用系統。5)豐富的API文檔和類庫
Java為用戶提供了詳盡的API(Application Program Interface)文檔說明。
1.2 access數據庫簡介
Microsoft Office Access是微軟把數據庫引擎的圖形用戶界面和軟件開發工具結合在一起的一個數據庫管理。他擁有邏輯、流程處理,即VBA語言(VB也可以用來做邏輯處理);又可以存儲數據,即在“表”中存儲數據。
第二章 系統分析
2.1 系統分析
學生信息管理系統,可用于學校等機構的學生信息管理,查詢,更新與維護,使用方便,易用性強,圖形界面清晰明了。該軟件用java語言編寫,用access數據庫作為后臺的數據庫進行信息的存儲,用SQL語句完成學生學籍信息的添加,查詢,修改,刪除的操作以及成績的錄入,修改,刪除等。用ODBC驅動實現前臺Java與后臺SQL數據庫的連接。Java語言跨平臺性強,可以在windows,linux,ubuntu等系統下使用,方便簡單,安全性好。
本《學生管理系統》具有對學生進行學籍管理的功能。并于數據庫相連接,能夠對學生的學號、姓名、性別、班級、專業進行查詢、添加和刪除等,簡捷方便,容易使用。2.2 應解決的問題
2.2.1合理的設計數據庫
盡量合理地減少數據庫數據的冗余,使重復的數據保持在最小限度,這樣將不必要的多占用存儲空間,減少產生混亂影響的危險,還能提高計算機的運行速度。作為學生成績管理系統,必須能解決以下方面的問題:能錄入信息。
在開發學生信息管理系統時,最重要的就是學生的基本信息,其學生信息表E-R圖如圖2.1所示。
圖 2.1 學生信息E-R圖
2.2.2設計出友好的界面
界面的友好與否是用戶評價一個軟件優劣的重要方面。因為該系統涉及到
學生成績的真實性,所以該系統要具有一定的保密性和權限控制,首先應設計一個用戶的登陸窗口界面,要求只能由特定的人員對該系統進行操作。此外還應設計登陸后系統的主窗口,要求能夠顯示學生成績的基本信息,可以實現數據的錄入,更新,刪除、查詢、統計等功能。
另外窗口界面要多用按鈕,少用菜單,窗口的各個控鍵布局要合理,美觀。要充分的利用java.awt和java.swing提供的強大的功能,多用窗口和控件,充分體現窗口的多元化格局。
2.2.3實現的基本功能
該系統要求除了能實現信息的錄入,刪除,插入,更新,數據導出excel文件等基本功能之外,還要求能夠根據用戶的需要進行操作。例如要查詢學生成績,要求可以按照專業、班級等多種方式查詢。這些功能基本上能滿足用戶操作的需要,這樣用戶操作起來就更簡單方便。部分文本框使用了下拉式,使用戶可以不用花費大量的時間去輸入信息。
2.3 數據庫物理設計 1.1.1 3.3.1數據庫物理設計
本系統采用Access數據庫管理系統作為后臺數據庫的開發工具,設計的表結構如下:
第三章 程序代碼及運行效果
3.1主類代碼:
/*主類代碼*/ package kcsj;import java.awt.*;import javax.swing.*;import java.awt.event.*;
import javax.swing.border.*;import javax.swing.JOptionPane;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.table.DefaultTableCellRenderer;import javax.swing.table.DefaultTableModel;import javax.swing.table.TableColumn;import java.sql.*;import java.awt.GridLayout;public class myStudent { public myStudent(){
}
public static void main(String[] args){ // TODO code application logic here loginFrame lf=new loginFrame();Font ft=new Font(“Serif”,Font.BOLD,18);lf.setVisible(true);lf.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){
System.exit(0);} });} }
3.2 登陸: public loginFrame(){
p=new JPanel();
user=new JTextField(10);
pass=new JPasswordField(10);
login=new JButton(“登錄”);
cancel=new JButton(“退出”);
p.setBackground(Color.lightGray);
//user.setText(“王明玉”);
//pass.setText(“123456”);
login.addActionListener(this);
cancel.addActionListener(this);
p.add(new JLabel(“學生信息管理系統登錄”));
p.add(new JLabel(“賬號:”));
p.add(user);
p.add(new JLabel(“密碼:”));
p.add(pass);
p.add(login);
p.add(cancel);
this.add(p);
this.setTitle(“學生管理系統登錄界面”);
this.setSize(180,160);}
public void actionPerformed(ActionEvent e){
//查找
if(e.getSource()==login){
if(user.getText().toString().equals(“")){
JOptionPane.showMessageDialog(null, ”請輸入用戶名“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(pass.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”請輸入密碼“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
myConnection conn=new myConnection();
ResultSet rs;
String sql=”select * from admin where 用戶名 = '“+user.getText().toString()+”' and 密碼 = '“+pass.getText().toString()+”'“;
try{
rs=conn.getResult(sql);
if(rs.next()){
this.dispose();
//JOptionPane.showMessageDialog(null, ”此用戶已經存在“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
sql=”select * from student“;
mainFrame mf=new mainFrame();
mf.setTitle(”西北師范大學學生信息管理系統“);
mf.setSize(600,486);
mf.freshTable(sql);
mf.setVisible(true);
mf.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}else{
JOptionPane.showMessageDialog(null, ”用戶名或密碼錯誤“, ”登錄失敗“, JOptionPane.INFORMATION_MESSAGE);
}
}catch(Exception er){
System.out.println(er.toString());
}
}
//全部顯示
}if(e.getSource()==cancel){
System.exit(0);
} } } 登陸界面:
3.3 修改數據:
/*修改數據*/ class editFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400;public static final int HEIGHT = 400;
JLabel 學號1,姓名1,性別1,民族1,年齡1,年級1,班級1,專業1;JTextField 學號,姓名,性別,民族,年齡,年級,班級,專業;JButton b;JPanel p;
mainFrame mf;
public editFrame(mainFrame mmf){ setTitle(”修改學生信息“);setSize(WIDTH,HEIGHT);setLocation(120,180);
Container contentPane = getContentPane();contentPane.setLayout(new FlowLayout());
學號1=new JLabel(”學號“);姓名1=new JLabel(”姓名“);性別1=new JLabel(”性別“);民族1=new JLabel(”民族“);年齡1=new JLabel(”年齡“);年級1=new JLabel(”年級“);班級1=new JLabel(”班級“);
專業1=new JLabel(”專業“);
學號=new JTextField(5);姓名=new JTextField(5);性別=new JTextField(5);民族=new JTextField(5);年齡=new JTextField(5);年級=new JTextField(5);班級=new JTextField(10);專業=new JTextField(10);學號.setEnabled(false);b=new JButton(”確定“);p=new JPanel();p.setLayout(new GridLayout(10,2,5,5));p.add(學號1);p.add(學號);p.add(姓名1);p.add(姓名);p.add(性別1);p.add(性別);p.add(民族1);p.add(民族);p.add(年齡1);p.add(年齡);p.add(年級1);p.add(年級);p.add(班級1);p.add(班級);p.add(專業1);p.add(專業);p.add(new Label(”“));p.add(new Label(”“));p.add(b);contentPane.add(p);//添加按鈕監聽器
b.addActionListener(this);mf=mmf;}
public void actionPerformed(ActionEvent e){
if(學號.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null,”請輸入學號“,”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(姓名.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null,”請輸入姓名“,”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(年齡.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null,”請輸入年齡“,”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
String sql=”update student set 姓名='“+姓名.getText()+”',性別='“+性別.getText()+”',年齡=“+年齡.getText()+”,年級='“+年級.getText()+”',班級='“+班級.getText()+”',專業='“+專業.getText()+”',民族='“+民族.getText()+”' where 學號='“ + 學號.getText()+ ”'“;
myConnection conn=new myConnection();
try{
//JOptionPane.showMessageDialog(null, sql, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
if(conn.executeSql(sql)){
JOptionPane.showMessageDialog(null, ”修改成功“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
mf.freshTable(”select * from student“);
this.dispose();
}else{
JOptionPane.showMessageDialog(null, ”修改失敗“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}
}catch(Exception er){
System.out.println(er.toString());
}
}
}
}
3.4 查找數據:
class findFrame extends JDialog implements ActionListener{
mainFrame mf;JPanel p;JComboBox c;JTextField t;JButton b;JButton fAll;String sql=”select * from student“;String[] colStr={”學號“,”姓名“,”性別“,”民族“,”年齡“,”年級“,”班級“,”專業“};
public findFrame(mainFrame mmf){
mf=mmf;
p=new JPanel();
c=new JComboBox(colStr);
t=new JTextField(10);
b=new JButton(”查找“);
fAll=new JButton(”全部顯示“);
b.addActionListener(this);
fAll.addActionListener(this);
p.add(new JLabel(”選擇“));
p.add(c);
p.add(new JLabel(”查找內容“));
p.add(t);
p.add(b);
p.add(fAll);
this.add(p);
this.setTitle(”查找“);
this.setSize(450,80);}
public void actionPerformed(ActionEvent e){
//查找
if(e.getSource()==b){
String selectStr=c.getSelectedItem().toString();
if(selectStr==”年齡“){
sql=”select * from student where “+selectStr+” “+t.getText().toString();
}
else {
sql=”select * from student where “+selectStr+” '“+t.getText().toString()+”'“;
= = 12
}
mf.freshTable(sql);
//全部顯示
}if(e.getSource()==fAll){
sql=”select * from student“;
mf.freshTable(sql);
} } }
3.5 添加數據:
class addFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400;public static final int HEIGHT = 400;
JLabel 學號1,姓名1,性別1,民族1,年齡1,年級1,班級1,專業1;JTextField 學號,姓名,性別,民族,年齡,年級,班級,專業;JButton b;JPanel p;
mainFrame mf;
public addFrame(mainFrame mmf){ setTitle(”修改學生信息“);setSize(WIDTH,HEIGHT);setLocation(120,180);
Container contentPane = getContentPane();//contentPane.setBackground(Color.BLACK);//設置窗口顏色
contentPane.setLayout(new FlowLayout());
學號1=new JLabel(”學號“);
姓名1=new JLabel(”姓名“);
性別1=new JLabel(”性別“);
民族1=new JLabel(”民族“);
年齡1=new JLabel(”年齡“);
年級1=new JLabel(”年級“);
班級1=new JLabel(”班級“);
專業1=new JLabel(”專業“);
學號=new JTextField(”201071030240“,5);
姓名=new JTextField(5);
性別=new JTextField(”女“,5);
民族=new JTextField(5);
年齡=new JTextField(5);
年級=new JTextField(5);
班級=new JTextField(10);
專業=new JTextField(10);
b=new JButton(”確定“);p=new JPanel();p.setLayout(new GridLayout(10,2,5,5));p.add(學號1);p.add(學號);p.add(姓名1);p.add(姓名);p.add(性別1);p.add(性別);p.add(民族1);p.add(民族);p.add(年齡1);p.add(年齡);p.add(年級1);p.add(年級);p.add(班級1);p.add(班級);p.add(專業1);p.add(專業);p.add(new Label(”“));p.add(new Label(”“));p.add(b);contentPane.add(p);//添加按鈕監聽器
b.addActionListener(this);mf=mmf;}
public void actionPerformed(ActionEvent e){
if(學號.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”請輸入學號“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(姓名.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”請輸入姓名“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(年齡.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”請輸入年齡“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
String sql=”select * from student where 學號='“ + 學號.getText()+ ”'“;
myConnection conn=new myConnection();
ResultSet rs;
rs=conn.getResult(sql);
try{
//System.out.println(rs.getRow());
if(rs.next()){
JOptionPane.showMessageDialog(null, ”此學號已經存在“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
sql=”insert into student values('“ +學號.getText()+”','“+ 姓名.getText()+”','“+ 性別.getText()+”','“+ 民族.getText()+”',“+ 年齡.getText()+”,'“+ 年級.getText()+”','“+ 班級.getText()+”','“+ 專業.getText()+”')“;
if(conn.executeSql(sql)){
JOptionPane.showMessageDialog(null, ”添加成功“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
mf.freshTable(”select * from student“);
學號.setText(”“);
姓名.setText(”“);
性別.setText(”“);
民族.setText(”“);
年齡.setText(”“);
年級.setText(”“);
班級.setText(”“);
專業.setText(”“);
}else{
JOptionPane.showMessageDialog(null, ”添加失敗“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}
}
}catch(Exception er){
System.out.println(er.toString());
}
}
}
}
3.6 修改數據:
class editFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400;public static final int HEIGHT = 400;
JLabel 學號1,姓名1,性別1,民族1,年齡1,年級1,班級1,專業1;JTextField 學號,姓名,性別,民族,年齡,年級,班級,專業;JButton b;JPanel p;
mainFrame mf;
public editFrame(mainFrame mmf){ setTitle(”修改學生信息“);setSize(WIDTH,HEIGHT);setLocation(120,180);
Container contentPane = getContentPane();contentPane.setLayout(new FlowLayout());
學號1=new JLabel(”學號“);
姓名1=new JLabel(”姓名“);
性別1=new JLabel(”性別“);
民族1=new JLabel(”民族“);
年齡1=new JLabel(”年齡“);
年級1=new JLabel(”年級“);
班級1=new JLabel(”班級“);
專業1=new JLabel(”專業“);
學號=new JTextField(5);
姓名=new JTextField(5);
性別=new JTextField(5);
民族=new JTextField(5);
年齡=new JTextField(5);
年級=new JTextField(5);
班級=new JTextField(10);
專業=new JTextField(10);
學號.setEnabled(false);
b=new JButton(”確定“);p=new JPanel();p.setLayout(new GridLayout(10,2,5,5));p.add(學號1);p.add(學號);
p.add(姓名1);p.add(姓名);p.add(性別1);p.add(性別);p.add(民族1);p.add(民族);p.add(年齡1);p.add(年齡);p.add(年級1);p.add(年級);p.add(班級1);p.add(班級);p.add(專業1);p.add(專業);p.add(new Label(”“));p.add(new Label(”“));p.add(b);contentPane.add(p);//添加按鈕監聽器
b.addActionListener(this);mf=mmf;}
public void actionPerformed(ActionEvent e){
if(學號.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”請輸入學號“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(姓名.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”請輸入姓名“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(年齡.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”請輸入年齡“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
String sql=”update student set 姓名='“+姓名.getText()+”',性別='“+性別.getText()+”',年齡=“+年齡.getText()+”,年級='“+年級.getText()+”',班級='“+班級.getText()+”',專業='“+專業.getText()+”',民族='“+民族.getText()+”' where 學號='“ + 學號.getText()+ ”'“;
myConnection conn=new myConnection();
try{
//JOptionPane.showMessageDialog(null, sql, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
if(conn.executeSql(sql)){
JOptionPane.showMessageDialog(null, ”修改成功“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
mf.freshTable(”select * from student“);
this.dispose();
}else{
JOptionPane.showMessageDialog(null, ”修改失敗“, ”溫馨提示", JOptionPane.INFORMATION_MESSAGE);
}
}catch(Exception er){
System.out.println(er.toString());
}
} } }
運行效果:
第四章 總結
通過本次課程設計,不僅讓我更深入的了解JAVA這門學科,更使自己有了繼續探索的興趣。
對我來說,在之前的學習過程中沒有能夠很好的掌握JAVA語言的學習,在很多地方還有生疏和遺漏,并且在此次課程設計過程中也遇到困難不能自己獨立解決。但是,通過這次程序設計,除了增加了自己的編程能力,提高了我對JAVA的應用能力,同時我也深感“認真嚴謹”這個詞的重要性,一點點小的馬虎,便會導致整個程序不能正常運行。在今后的學習中,我將繼續保持嚴謹的學習態度。與此同時,在同學的幫助下,讓我體會到了相互學習的重要性,而更讓人難以忘懷的是在熱烈討論問題時,那激情橫溢的場面。總之,此次課程設計讓我獲益匪淺。
第五章 總結
課程設計是培養學生綜合運用所學知識,發現,提出,分析和解決實際問題,鍛煉實踐能力的重要環節,是對學生實際工作能力的具體訓練和考察過程.本次課程設計雖然很辛苦,實在是受益匪淺。本來這門課的知識學的就不夠扎實,本次課程設計,在設計過程中碰到了很多問題,剛開始要設計的時候,還真不知道從哪里下手但最終在圖書、同學和老師的幫助下都得到了解決,讓我學會了好多書本上沒有的東西,通過本次課程設計我也能將課本上的知識融會貫通,起到了很好的輔助學習的效果,但是我發現我學到的知識比整整一個學期學到的都多。理
論和實踐的相結合是學習最有效的方法。在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,通過這次課程設計之后,一定把以前所學過的知識重新溫故。
通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。
第六章 參考文獻
第四篇:學生信息管理系統
–––––––––––––––––摘 要–––––––––––––––––
學生信息管理系統是典型的信息管理系統(MIS),其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。對于前者要求建立起數據一致性和完整性強、數據安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。
經過分析,我們使用MICROSOFT公司的VISUAL BASIC開發工具,利用其提供的各種面向對象的開發工具,尤其是數據窗口這一能方便而簡潔操縱數據庫的智能化對象,首先在短時間內建立系統應用原型,然后,對初始原型系統進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行系統。
關鍵字:控件、窗體、域、數據庫。
–––––––––––––––––前言–––––––––––––––––
隨著學校的規模不斷擴大,學生數量急劇增加,有關學生的各種信息量也成倍增長。面對龐大的信息量需要有學生管理系統來提高學生管理工作的效率。通過這樣的系統可以做到信息的規范管理、科學統計和快速查詢、修改、增加、刪除等,從而減少管理方面的工作量。
本系統主要用于學校學生信息管理,總體任務是實現學生信息關系的系統化、規范化和自動化,其主要任務是用計算機對學生各種信息進行日常管理,如查詢、修改、增加、刪除,另外還考慮到學生選課,針對這些要求設計了學生信息管理系統本系統主要用于學校學生信息管理,總體任務是實現學生信息關系的系統化、規范化和自動化,其主要任務是用計算機對學生各種信息進行日常管理,如查詢、修改、增加、刪除,另外還考慮到學生選課,針對這些要求設計了學生信息管理系統。
本系統主要包括學生信息查詢、教務信息維護和學生選課三部分。其功能主要有: ⒈有關學籍等信息的輸入,包括輸入學生基本信息、所在班級、所學課程和成績等。⒉學生信息的查詢,包括查詢學生基本信息、所在班級、已學課程和成績等。⒊學生信息的修改。
⒋班級管理信息的輸入,包括輸入班級設置、年級信息等。⒌班級管理信息的查詢。⒍班級管理信息的修改。⒎學生課程的設置和修改。
目 錄
前言
第一章 Visual Basic 概述 1.1 Visual Basic 語言的特點
1.2 Visual Basic 系統幾個程序應用中的常用名詞 第二章 Windows 下的Visual Basic 編程環境簡介 2.1 面對對象的編程 2.2 實現菜單選項 2.3 實現工具欄
第三章 怎樣開發一個學生信息管理系統的查詢模塊 3.1 學生信息系統的設計分析 3.2 編程環境的選擇 3.3 關系型數據庫的實現 3.4 二者的結合(DBA)第四章 使用Access2000 創建數據庫 4.1 數據庫的概念 4.2 新建一個數據庫 4.3 修改已建的數據庫 第五章 可行性分析 第六章 系統總體規劃 6.1 系統功能 6.2 系統流程圖 第七章 系統具體實現 7.1 各功能的實現 7.1.1 課程管理 7.1.2 打印統計 結束語 后記 主要參考文獻
第一章 Visual Basic 概述 1.1 Visual Basic 語言的特點
Visual Basic 語言用其設計應用程序時具有兩個基本特點:可視化設計和事件驅動編程。(1)可視化設計:表現在VB在設計應用于程序界面時有“所見即所得”的處理功能。(2)事件驅動編程:在設計應用程序時,把對象添加到窗體中,在用戶與程序進行交互時,用戶基本上是通過鼠標、鍵盤與應用程序進行交互的,那些對象就必須對鼠標和鍵盤操作所引發的事件做出響應,來執行一段應用程序。1.2 Visual Basic 系統幾個在程序應用中的常用名詞
Visual Basic 系統除了一般高級語言所具有的一些名詞術語外,還有幾個系統常用的名詞。其基本含義如下:(1)視窗(Form)
視窗是進行人機交互的界面或接口,也叫窗體。VB系統的人機交互界面或接口,無論是在設計時或是在運行時,都是Windows 系統的標準視窗。(2)對象(Object)
對象是VB系統內部提供給設計者可以直接使用的處理輸出的控制工具。本程序所應用到的對象類型有標簽框(Label Box),文本框(Text Box),命令按扭(Command Button),網格(Data Grid),ADO控件(Adodc1)等。當把這些工具放置到用戶界面對應的窗體上時,被稱為對象或控件。用戶可以通過設置對象的“屬性”和“方法”,便于對象適應自己所設計應用程序的輸入輸出內容,對象的生成過程及結構都被封裝起來。正確使用對象可以減少程序和開發時間,提高程序設計者的工作效率。(3)屬性(Properties)
屬性是VB系統提供的有關對象的參數或數據接口。用戶通過適當地設置或改變對象的屬性來確定對象的外觀及性能特征,從而有效地使用系統提供的對象。比如,對象的名稱、在屏幕上顯示的位置、大小、顏色、接收或容納的數據內容及數據的表現格式等。(4)事件(Events)
事件是指用戶或操作者對計算機進行的某一操作(如擊鍵、單擊或移動鼠標等)的行為或系統狀態發生的變化。VB系統常用事件來引導計算機執行一段程序。程序所用的鍵盤事件有KeyPress(按鍵)事件,KeyDown事件和KeyUp事件;鼠標事件有Click(單擊鼠標)事件,DbDlicd(雙擊鼠標)。(5)方法(Method)方法主要是指對一個對象使用某種作用的過程。它是在程序執行的過程中要計算機執行的某種操作。其程序的方法有Show(顯示)方法,Hide(隱藏)方法,Refresh(刷新)方法。
(6)過程(Procedure)
過程是指經過定義或說明的,或基于某一對象對應的事件所引發的程序段。(7)模塊(Module)
模塊是指一些運算量或過程進行聲明或定義的一個集合。系統程序大體可分成四個模塊:數據輸入、根據查詢、數據打印和通訊。
第二章 Windows下的Visual Basic 編程環境簡介 2.1 面對對象的編程
面向對象的設計方法(OOP, Objected Programming)從應用領域內的問題著手,以直觀自然的方式描述客觀世界的實體。Visual Basic 作為一種面向對象的編程方法,把程序和數據封裝起來作為一個對象,并為每個對象賦予相應的屬性。在設計對象時,不必編寫建立和描述每個對象的程序代碼,而是用工具畫在界面上,由 Visual Basic 自動生成對象的程序代碼并封裝起來。Visual Basic 應用程序基本的構建塊是用戶所創建的對象,每一個對象都具有一些特性和行為(屬性、事件和方法)。開發人員可以最有效利用所創建的每一個對象。使用應用程序具有可通用性可說擴展性和強有力的功能。
Visual Basic 應用由一系列對象組成,包括有函數、菜單、函數、結構和數據窗口、用戶對象、用戶事件等等,對象中又包含若干控件如命令按鈕、單行編輯器等這些對象和控件都可在許多應用中重復使用。2.2 實現菜單選項
菜單是程序最重要的特性之一,大多數程序都依賴一個定義良好的菜單使程序易于使用和維護,Visual Basic 也提供了強大的創建菜單功能是程序更加標準。
本系統使用 Visual Basic 的菜單編輯器建立菜單或者修改已經存在的菜單,您也可以使用Visual Basic 的Application Wizard 來操作。2.3 實現工具欄
CoolBar控件與Office2000 中看到的CoolBar是類似的。CoolBar就是一個可以在窗體上浮動的工具,同時也是其他ActiveX的容器。通過在CoolBar中遷入其他空間你也可以向用戶提供更好的靈活性和義用性。
選擇“工程”下拉菜單中的“部件”選項,顯示“部件”對話框。在“控件”選項卡列表中選擇“Microsoft Windows Common Controls 6.0”后工具相中增加改控件。本系統就用了Cool工具中的Statubar控件,在系統這一界面中,添加了狀態欄,在第一個欄中,在樣式這一欄中選擇了文本,在第二個欄中,選擇了系統日期,第三個欄中選擇了系統時間,這樣,任何時候操作本系統,都可以看到當前的時間和日期。
第三章 怎樣開發一個學生信息管理系統的查詢模塊? 3.1查詢模塊的設計分析
根據實際情況,我們使用原型法(Rapid Prototyping)即以少量代價快速地構造一個可執行的軟件模型。使用戶可以較快地確定需求,然后采用循環進化的開發方式,對系統模型作連續的精化,將系統需具備的性質逐漸增加上去,直到所有的性質全部滿足。此時模塊也發展成為最終產品了。3.2編程環境的選擇
微軟公司的Visual Basic 6.0是Windows應用程序開發工具,使目前最為廣泛的、易學易用的面向對象的開發工具。Visual Basic提供了大量的控件,這些控件可用于設計界面和實現各種功能,減少了編程人員的工作量,也簡化了界面設計過程,從而有效的提高了應
用程序的運行效率和可靠性。故而,實現本系統VB是一個相對較好的選擇。3.3關系型數據庫的實現
Access2000就是關系數據庫開發工具,數據庫能匯集各種信息以供查詢、存儲和檢索。Access的優點在于它能使用數據表示圖或自定義窗體收集信息。數據表示圖提供了一種類似于Excel的電子表格,可以使數據庫一目了然。另外,Access允許創建自定義報表用于打印或輸出數據庫中的信息。Access也提供了數據存儲庫,可以使用桌面數據庫文件把數據庫文件置于網絡文件服務器,與其他用戶共享數據庫。Access 是一種關系數據庫工具,關系數據庫是已開發的最通用的數據庫之一。如上所述,Access作為關系數據庫開發具備了許多優點,可以在一個數據包同時擁有桌面數據庫的便利和關系數據庫的強大功能。3.4二者的結合(DBA)微軟的JET數據庫引擎提供了與數據庫打交道的途徑,我們是通過它以及Visual Basic來訪問數據庫并對其進行各種操作。Visual Basic、Access以及其他微軟的軟件產品都是通過共用JET數據庫引擎,從而給用戶提供了豐富的數據類型。ADODC控件在數據庫中的信息與將信息顯示給用戶看的Visual Basic 程序之間架起了一座橋梁。我們可以設置ADODC控件的各個屬性,告訴它要調用那個數據庫的哪個部分。缺省情況下,ADODC控件根據數據庫中的一個或多個數據庫表建立一個dynaset-type(動態集合)類型的記錄集合。一個記錄集合是動態的也就意味著,當原來的數據表中的容改變了以后,該記錄集合中的記錄也會隨之改變。將ADODC控件放置在窗體中之后,我們還必須在該控件與要處理的數據庫之間建立聯系。
第四章 使用Access2000創建數據庫 4.1數據庫的概念
數據庫是一種存儲數據并對數據進行操作的工具。數據庫的作用在于組織和表達信息,簡而言之,數據庫就是信息的集合。計算機的數據庫可以分為兩類:非關系數據庫(flat-file)和關系數據庫(relational)。關系數據庫中包含了多個數據表的信息,數據庫含有各個不同部分的術語,象記錄、域等。4.2新建一個數據庫
創建任何一個數據庫的第一步是仔細的規劃數據庫,設計必須是靈活的、有邏輯的。創建一個數據庫結構的過程被認為是數據模型設計。1. 標識需要的數據;
2. 收集被子標識的字段到表中; 3. 標識主關鍵字字段; 4. 規范數據;
5. 標識指定字段的信息;
4.3修改已建的數據庫
數據庫的修改分為;添加、編輯和刪除記錄。這三種操作均可由Visual Basic創建的程序來完成,下面的章節將詳細描述實現的具體方法。
第五章 可行性分析
學生信息,作為一個學校,就有一定的工作量存在,而學生信息,它的工作量可能是其它信息工作量的幾倍,班級的增加、班級的查找、班級的修改;學生檔案;課程管理;成績管理;繳費管理;統計等等,每個信息的數據都在不斷地變化著,如果采用人工的方式進行操作,那么,一天的工作量,足以讓人覺得比較繁瑣,吃不消。針對這樣的情況,采用讓數據的查詢變得簡單化,數據變的更讓每個人都在任何時刻都可以了解到。學生信息管理系統是為本校開發的,本系統所采用的語言是Visual Basic,用Microsoft Access 2000數據庫完成。該系統總體有四部分組成,包括學生信息查詢、教務信息維護、學生選課及用戶管理。通過本系統,把本校內部查詢學生信息、教務信息、學生選課各個環節進行有效地計劃、組織和控制。通過本校內部的信息,依據統一數據信息進行管理,把任何一塊信息所產生的數據變動及時地反映給其它相關信息,做到數據共享。本系統主要信息流程為:教務信息維護接受學生的信息,學生信息查詢根據教務信息維護的學生信息做出對所接收的信息合理性進行判斷,并交于信息維護進行相應的修改,再把信息存入數據庫中。學生選課是對學生進行相應選擇自己相關的課程。最后進行打印。采用本系統,能夠使整個系統內部所有信息的工作簡化,提高工作效益。由于采用統一的數據信息,使相關資料能夠快速地查詢所需的數據、資料及其它信息的,使信息快速高效運行。
本系統中使用到的數據表主要有班級表、成績表、繳費表、課程表、學生檔案、用戶資料,由這六個表,組成了名為信息的數據庫(如圖一)。其中學生檔案是本系統主要的(圖一)
一張表,所有信息都是根據這張學生檔案進行有關的操作,主要的字段有:學號、姓名、年級、專業、性別、出生年月、民族、籍貫、政治面貌、家庭地址、郵政編碼、聯系電話、入學時間、備注。其中日期的數據類型為日期/時間天型,其它的數據類型為文本型;成績表中字段為:學號、姓名、年級、專業、學期、考試時間、考試科目、考試地點、課程性質、科目分數、違紀類型、備注;課程表中字段為:專業、年級、學期、課程名稱、教材、任課老師、課時、上課地點、課程性質、考試性質;用戶資料中的字段包括:用戶名、密碼、身份。
數據庫與VB的連接:本系統的數據鏈接采用的是ADO方法,打開控制面板,打開ODBC數據源圖標,選擇“系統DSN”標簽,點擊“添加”按鈕,在彈出的“創建新數據源”對話框中選擇名稱為“Microsoft Access Drive(*.mdb)”,點擊“完成”按鈕,在ODBC Microsoft Access 安裝對話框中在數據源名中輸入信息,在數據庫這個框中,單擊“選擇”按鈕,在彈出的選擇數據庫這一對話框架中,在驅動器下拉列表框中選擇本系統數據庫所在驅動器,在目錄中選擇庫所在的文件夾,在文件類型中選擇選“Access數據庫(*.mdb)”,在數據庫名中選擇本系統的數據庫,點擊“確定”按鈕即完成數據鏈接。
在VB中,用ADODC鏈接數據庫,用DataGrid或DATA將庫中的數據在界面中顯示出來,本系統采用DataGrid。在界面上右擊Adodc控制,在彈出的快捷菜單中選擇屬性,在屬性對話框中,在“屬性”這一標簽中,選中單選框“Use ODBC Data Source Name”,并在下拉文本框中選擇已經配置好的數據源名信息,再在“RecordSoure”標簽中,在Commard Text(SQL)文本框中輸入查詢語句,如:select * from 學生檔案。同時,將桌面的DataGrid控件選中,在屬性框中,將它的Datasoure設為Adodc。我們可以設置DataGrid控件的外觀:選中該控件,右擊,在彈出的快捷菜單中選擇“檢索字段”,在彈出的對話框中單擊“確定”,這時,表格中出現了表的字段。然后再右擊,同樣,在彈出的快捷菜單中選擇“編輯”,我們就可以所在的表格的寬度進行調整。
第六章 系統(查詢模塊)總體規劃 6.1系統功能(查詢模塊)1. 查詢信息的情況; 2. 判斷信息是否符合要求; 3. 將符合條件的信息進行打印; 6.2流程圖
學生注冊 基本信息輸入 學籍信息管理 班級管理 班級課程設置 課程基本信息 班級課程管理 成績信息輸入 成績信息管理 班級設置
第七章 系統具體實現 7.1各功能的實現
7.1.1課程管理:課程設置(如:界面如圖二)(圖二)
運行程序后,進入課程管理模塊,課程管理模塊的第一塊是課程設置,在這模塊中可以把專業、年級、學期、課程名稱、教材、任課老師、課時、上課地點、課程性質和考試性質等信息輸入,以便使用。結束語 學生信息管理系統(課程設置和打印統計)的完成,它在審核這一功能中能夠對不同情況的資料進行設置和打印,針對需要的信息進行設置和打印。
后記
本系統能夠順利完成,非常感謝指導老師陳志衛老師,同時,也感謝和我一起合作完成本系統的另兩位同學。對于本人來說,通過這次畢業設計,也是對自己在這三年學習的一個檢驗和平時學習的一種結累,可以在學習中提高自己,也充分體現學有所用,學以致用的學習倡導。
在此,我對三年來輔導過我的各位任課老師深表感謝
主要參考文獻
本系統的過程中,主要的參考文獻有:
《Visual Basic6.0》 林陳雷 人民郵電出版社 《面向對象程序設計系列教材》 龔沛曾 高等教育出版社 《Visual Basic6.0編程實例精解》 何文俊
《學用Visual Basic 編程》 潭 浩 西安電子科技大學出版社 《Visual Basic6.0 數據庫開發與專業應用》 敬 錚 國防工業出版社 《Visual Basic6.0 數據庫程序設計高手》 溫賢發 科學出版社
第五篇:學生信息管理系統
目 錄
摘要
隨著電腦的普及與使用,現在的管理也提升了一個檔次,漸漸實現了無紙化辦公,即從原來的人工記錄管理模式轉變為電腦一體化管理。高校是科研的陣地,后勤的學生信息管理系統也應該一改傳統的人工管理,更加信息化,時代化,節省人力物力,提高效率。基于這一點,我設計了學生信息管理系統的方案。
學生信息管理系統,是以高校的管理方式為實例而設計的一種實用型管理系統。本系統最大的特點是通用性、簡單操作性,適用于同行業以及一些同類型的企業管理。隨著學校寄宿人員的增多,學生信息管理系統人員的負擔越來越重,為了讓所有學生信息管理系統人員能從繁重的工作中解脫出來,實現無紙化辦公;使工作更有條理,更方便,更有效率而開發出這套學生信息管理系統軟件。
關鍵詞:信息、管理、實用性、高校
前言
從2012年3月27日開始,我們進行了為期一周的軟件工程課程設計選題工作。在這一周我確定了我的課程設計題目:學生信息管理系統。
確定設計題目之后,我先做了一些準備工作,借閱必要的書籍與材料,通過互聯網以及其他媒介收索了關于學生信息管理系統的相關知識,然后進行針對性的學習。首先就是開發此類項目的背景。當前,學生信息管理體制相對比較落后。主要表現在以下幾個方面:1.高校現行的管理體制不能完全適應國有的管理發展的需要。2.信息管理人員超編現象普遍存在。
3、高校的信息管理大多數都還停留在初級的計算機管理上。對于大量的數據和龐大的數據結構,簡單的用EXCEL表格來記錄是遠遠無法滿足信息的規模的。必須實行現代化信息管理,定制專業的信息管理軟件來進行相關的管理。
4、學生信息公開化不夠。高校的精密儀器設備一般都比較貴重,學生的信息如不能得到有效的共享,將會嚴重制約設備的使用效率,甚至導致重復購買。一套完整的網絡系統將會讓這個問題迎刃而解。
在需求分析階段,我對學生信息管理系統進行了系統功能分析。系統功能包括登陸、學生查詢自己的信息、管理員的日常管理、教師的登陸、查詢等幾部分。
接著在系統設計和詳細設計階段期間,因為需要自學和探索的內容與軟件較多,所以我發揮積極主動精神投入課程設計和開發活動。除了老師正式安排的課程設計時間之外,還充分利用課余時間,向善長這方面的同學進行請教和互相探討,力爭獲得最大收益。在需求分析的基礎上,考慮經濟、技術和運行環境等各方面條件,確定系統的總體結構和系統各組成部分的技術方案,合理選擇計算機和通信的軟硬件設備,提出系統的實施計劃。內容主要包括學生學校管理系統總體結構設計、系統流程設計等等。根據系統的邏輯模型,完成數據流程圖等的設計。使我對這些開發設計的軟件應用工具運用和掌握的更加熟練。
員。每個人都有唯一的一個用戶名,每個用戶名都有與之對應的密碼,如果用戶名和密碼不一致,則無法登陸主界面。如果用戶輸入錯誤可以單擊“重臵”按鈕,重新輸入。輸入完整單擊“確定”按鈕進入主界面。
圖1:登陸界面
2.2.2 主界面用例描述
用戶通過下拉列表框選擇身份,可以是學生、教師或者管理員。用戶選擇身份以后,輸入自己的用戶名和密碼。系統通過認證后,出現學生信息管理系統主界面。通過系統驗證用戶進入學生信息管理主界面,在主界面中我們可以看到登陸學生的基本信息,學生所修課程的信息。用戶可以通過“查找”按鈕看到所查找學生的信息。如圖2:
圖2:主界面
2.2.3 修改密碼用例描述
登陸到主界面中,我們可以看到在主界面的右側
圖3:修改密碼界面
2.2.4 選修課信息用例描述
用戶單擊“選修課信息”按鈕,進入到選修課信息界面。在選修課信息界面中我們可以看到本學期所有可選的課程信息。學生選擇選修課程表的課程,在界面的左下角會出現對應的課程詳細信息。單擊“選修”,就可將所選課程添加到列表框里。單擊“退選”按鈕,那么已選課程將從所選課程列表里刪除,同時退選課程里將出現退選的課程,單擊退選就可以退選此課程了。單擊“確定”按鈕,保存選修課信息。用戶還可以通過“查看”按鈕查看歷年來的所選修的課程情況。如圖4所示:
圖4:選修課信息
2.2.5 個人信息用例描述
在主界面的學生基本信息框下面有兩個按鈕,一個是“查看更多信息”一個是“修改基本信息”。學生、教師、管理員都可以在主界面單擊“查看更多信息”按鈕,進入“個人信息”界面里查看個人基本的信息。管理員可以對這些進行修改,并且只限管理員修改。如圖5。
圖5:個人信息界面
2.2.6 修改學生信息用例描述
管理員可以單擊修改按鈕對學生信息進行修改,當用戶是學生或者老師時,修改按鈕對其不可用。
管理員進入個人信息界面時,單擊修改按鈕就可以進入到修改個人信息界面,對學生的信息進行修改。單擊“確定”按鈕保存。如圖6:
圖6:修改個人信息界面
2.2.7 查看、修改課程信息用例描述
在主界面中我們還可以看到學生所修課程信息情況。這里列出了本學期該學生所修的所有具體課程,每個具體課程占一行,單擊“具體課程信息”按鈕進入
“課程信息”界面,用戶可以看到完整的課程號、課程名、授課教師、學分信息。同時可以通過選擇不同學年的時間段來查看相應學年的課程信息。如圖7:
教師和管理員有權對課程信息進行修改,如果要修改學生課程信息可以單擊“修改”按鈕,進入到“修改課程信息”界面,這里列出可課程名、課程號、任課教師等一系列與課程有關的信息。單擊“確定”可以保存修改的信息并退出。如圖8:
圖7:查看課程信息界面
圖8:修改課程信息
2.2.8 考勤表用例描述
在主界面上單擊“考勤信息”進入到“考勤表”的界面。系統給出所查找學生的考勤情況。其中包括住宿考勤與課堂考勤兩部分。并且最上方有學生的住宿信息以及基本信息。如圖9所示:
圖九:考勤表信息界面
2.2.9 獎懲表用例描述
在主界面,單擊“獎懲信息”按鈕。進入獎懲表界面,這里給出了歷年的獎勵與懲罰信息以及學生的基本信息。如果單擊“修改”按鈕可以對學生獎懲項進行添加、刪除、修改等操作,此操作只能由管理員進行。學生信息管理系統給出相應的學生的獎懲情況。學生單擊個人信息界面上的“獎懲”按鈕,進入到獎懲表的界面。教師在查找到相應的學生信息后可以通過“獎懲”按鈕來查看該生所有的獎勵與懲罰項。如圖10:
圖10:獎懲表信息界面
2.2.10 修改獎懲信息用例描述
管理員可以通過“修改”按鈕進入到“修改獎懲信息”界面。可以對學生的獎懲信息直接進行修改。如圖11:
圖11:修改獎懲信息界面
3.2.2 修改密碼時序圖
用戶進入主界面,單擊“修改密碼”按鈕進入“修改密碼”界面。輸入相應的修改信息,系統檢測輸入是否完整、確認密碼是否與新密碼一致、舊密碼是否正確。檢測通過,顯示成功信息。如圖二所示:
圖2:修改密碼時序圖
3.2.3 選修課信息時序圖
學生在主界面單擊“選修課信息”進入選修課信息界面,此界面上顯示了所有可選的課程信息,這些信息來自選修課信息表。單擊某一課程,在詳細課程信息里顯示具體課程信息,課程的具體信息來自模板課程信息表。如圖三所示:
圖3:選修課信息時序圖
3.2.4 退選選修課時序圖
當學生選修了某一課程時,該課程也許與該生課時或其他原因有所沖突而不能選修,這時應有提示,并讓該生退選改課程。學生單擊“退選”按鈕,系統提示是否退選,單擊“是”則在學生的選修課信息表里移除這個選課項。如圖四所示:
圖4:退選選修課時序圖
3.2.5 查看基本信息時序圖
學生進入主界面后,主界面顯示了學生的個人信息,單擊“查看更多信息”按鈕,進入“個人信息界面”,此界面中顯示的信息來自學生的基本信息表。如圖五所示:
圖5:查看基本信息時序圖
3.2.6 修改個人信息時序圖
在個人信息界面中單擊“修改”按鈕,進入到修改學生信息界面,修改界面的學生信息也是來自學生的基本信息表,當用戶單擊修改時,系統提示是否修改,單擊“是”,系統修改基本信息項。并保存。如圖六所示:
圖6:修改個人信息時序圖
3.2.7 課程信息時序圖
用戶進入主界面,單擊“具體課程信息”按鈕,進入到課程信息界面。在這里顯示了具體的課程信息。此信息來自個人課程信息表。如圖七所示:
圖7:課程信息時序圖
3.2.8 修改課程信息時序圖
管理員或者教師在課程信息界面單擊“修改”按鈕或者從主界面單擊“修改課程信息”按鈕,進入到修改課程信息界面,當用戶單擊修改時,系統檢測信息是否完整,并提示是否修改,單擊“是”,系統這時修改個人課程信息表的信息項。如圖八所示:
圖8:修改課程信息時序圖
3.2.9 考勤表時序圖
用戶在主界面單擊“考勤信息”進入考勤表界面。在考勤表界面中顯示學生的出勤信息。此信息來自學生的住宿考勤表和課件考勤表。如圖九所示:
圖9:考勤表時序圖
3.2.10 獎懲表時序圖
用戶在主界面單擊“獎懲信息”進入獎懲表界面,此界面顯示該生所有的獎懲情況。這些信息來自于學生的獎懲表。如圖十所示:
圖10:獎懲表時序圖
3.2.11 修改獎懲表信息時序圖
當管理員單擊修改時,進入修改獎懲信息界面,這里顯示的信息同樣來自獎懲表。當單擊“修改”時,系統檢測信息是否完整,提示是否修改,單擊“是”,系統修改獎懲信息項,并提示修改成功。如圖十一:
圖11:修改獎懲信息時序圖
總結
從3月27日開始,我們進行了將近三個月的課程設計。通過這次課程設計,我拓寬了知識面,鍛煉了能力,綜合素質得到較大提高。安排課程設計的基本目的,在于通過理論與實際的結合、人與人的溝通,進一步提高思想覺悟。尤其是觀察、分析和解決問題的實際工作能力,以便培養成為能夠主動適應社會主義現代化建設需要的高素質的復合型人才。作為整個學習體系的有機組成部分,課程設計雖然安排在了三個月的時間進行,但并不具有絕對獨立的意義。它的一個重要功能,在于運用學習成果,檢驗學習成果。運用學習成果,把課堂上學到的系統化的理論知識,嘗試性地應用于實際設計工作,并從理論的高度對設計工作的現代化提出一些有針對性的建議和設想。檢驗學習成果,看一看課堂學習與實際工作到底有多大距離,并通過綜合分析,找出學習中存在的不足,以便為完善學習計劃,改變學習內容與方法提供實踐依據。在一個星期的課程設計之后,我們普遍感到不僅實際動手能力有所提高,更重要的是通過對軟件開發流程的了解,進一步激發了我們對專業知識的興趣,并能夠結合實際存在的問題在專業領域內進行更深入的學習。
在這次設計中遇到了很多實際性的問題,在實際設計中才發現,書本上理論性的東西與在實際運用中的還是有一定的出入的,所以有些問題不但要深入地理解,而且要不斷地更正以前的錯誤思維。一切問題必須要靠自己一點一滴的解決,而在解決的過程當中你會發現自己在飛速的提升。對于學生信息管理系統,主要是解決程序設計中的問題,而程序設計是一個很靈活的東西,它反映了你解決問題的邏輯思維和創新能力,它才是一個設計的靈魂所在。因此在整個設計過程中大部分時間是用在程序上面的。很多子程序是可以借鑒書本上的,但怎樣銜接各個子程序才是關鍵的問題所在,這需要對系統的結構很熟悉。因此可以說系統的設計是軟件和硬件的結合,二者是密不可分的。通過這次課程設計我也發現了自身存在的不足之處,雖然感覺理論上已經掌握,但在運用到實踐的過程中仍有意想不到的困惑,經過一番努力才得以解決。
我覺得作為一名學習軟件工程的學生,這次課程設計是很有意義的。更重要的是如何把自己平時所學的東西應用到實際中。雖然自己對于這門課懂的并不
多,很多基礎的東西都還沒有很好的掌握,覺得很難,也沒有很有效的辦法通過自身去理解,但是靠著這三個月的“學習”,在老師、同學的幫助和講解下,漸漸對這門課逐漸產生了些許的興趣,自己開始主動學習并逐步從基礎慢慢開始弄懂它。同時,在這里感謝我們的指導老師彭博老師的悉心解惑和指導。