摘要:文章開發的管理信息系統,是在Visual C++6.0環境下,采用“自上而下地總體規劃,自下而上地應用開發”的策略來完成的。簡略介紹了學生管理信息系統的系統設計、數據庫設計及系統實現。系統界面友好,操作簡單實用。
關鍵詞:信息管理系統;學生信息;數據庫
中圖分類號:TP315文獻標識碼:A文章編號:1009-3044(2008)25-1357-03
Design and Realization of Student Information Management System
LIU Fu-fen
(Experiment Teaching Tontrol Division, Chongqing University, Zhanjiang Normal College, Zhanjiang 524048, China)
Abstract: The article is intended to develop the new information management system under the Visual C++6.0 with \"downward overall planning, upward application and development\" strategy. It briefly introduces the students' system design, database design and the system realization within the management system.The system surface is friendly, the simplicity of operator is practical.
Key words: information management system; student information; database
1 引言
隨著學校的規模不斷擴大,學生數量急劇加,有關學生的各種信息量也成倍增長,面對龐大的信息量,就需要有學生信息管理系統來提高學生管理工作的效率。通過這樣的系統,可以做到信息的規范管理、科學統計和快速的查詢,從而減少管理方面的工用量。
2 開發環境選擇
本系統采用C/S結構開發模式,以 Visual C++ 6.0 和 SQL Server 2000 作為開發工具,Windows XP 作為開發平臺,使用SQL Server2000作為后臺數據庫管理學生信息,使用SQL語句對數據庫管理和操作。
3 系統設計
3.1 系統功能分析
系統開發的總體任務是實現學生信息關系的系統化、規范化和自動化。系統功能分析是在系統開發的總體任務的基礎上完成的。本系統需要完成的功能主要有:
1)用戶管理。包括用戶添加、刪除、密碼修改。
2)基礎設置。
院系設置:包括添加、修改、刪除。
班級設置:包括添加、修改、刪除。
3)學生信息管理,信息錄入。
信息管理:包括添加、修改、刪除、查詢。
學籍管理:主要是學生離校和轉系的管理。
4)課程信息管理。
課程管理:包括添加、修改、刪除。
班級選課:包括添加、修改、刪除。
成績錄入:包括添加、修改、刪除。
5)考核信息管理。獎罰信息管理、成績統計。
3.2 系統數據流圖和功能模塊設計
對上述各項功能進行集中、分塊,按照結構化程序設計的要求,得到如圖1所示的系統功能模塊圖。
4 數據庫設計
4.1 數據庫需求分析
針對一般學生信息管理系統的需求,通過對學生學習過程的內容和數據流程分析,設計如面所示的數據項和數據結構:
學生基本信息:包括的數據項有:學生學號、學生姓名、性別、出生日期、班級、院系、民族、籍貫、政治面目、聯系電話、入校日期、家庭住址、照片等。
班級信息:包括的數據項有:班號、班名、班主任、院系、學生人數、輔導員等。
課程基本信息:包括的數據項有:課程號、課程名稱、學時、學分、所屬院系、老師等。
選課信息:包括的數據項有:編號、院系、班級、學期、課程名等。
成績信息:包括的數據項有:學生學號、班級、課程、成績、學期等。
院系信息:包括的數據項有:編號、名稱、電話
學期信息:包括的數據項有:編號、名稱
獎罰信息:包括的數據項有:編號、學號、姓名、獎罰時間、名稱、具體描述等。
轉系信息:包括的數據項有:編號、學號、原院系、原班級、現院系、現班級、轉系時間等。
離校信息:包括的數據項有:編號、學號、院系名稱、班級、離校類別、日期等。
用戶信息:包括的數據項有:帳號、密碼、姓名、職務、部門。
有了上同的數據結構、數據項,我們就能進行下面的數據庫設計。
4.2 數據庫概念結構設計
得到上面的數據項和數據結構以后,就可以設計出能夠滿足用戶需求的各種實體,以及它們之間的關系,為后面的邏輯結構設計打下基礎。這些實體包含各種具體信息,通過相互之間的作用形成數據的流動。本實例根據上面的設計規劃出的實體有:學生實體、班級實體、院系實體、課程實體、成績實體、轉系實體、離校實體、學期實體、獎罰實體。其中學生實體的描述E-R圖如圖2。
■
圖2 學生實體ER圖
4.3 數據庫邏輯結構設計
經過前面的需求分析和概念結構設計后,現將上面的數據庫概念結構轉化為SQL Server 2000數據庫系統所支持的實際數據模型,也就是數據庫的邏輯結構。在上面的實體以及實體之間關系的基礎上,形成數據庫中的表格以及各個表格之間的關系。每個表格表示在數據庫中的一個表。其中的班級信息表如表1:
表1 class_Info班級信息表
■
5 系統的實現
5.1 數據庫連接
數據庫中的數據表創建成以后,數據庫必須與系統建立起動態鏈接,這樣才能對數據庫里的數據表進行更新、查詢等操作。本系統在連接數據庫,采用專門的連接數據類ADOConn,其中包含了連接數據庫的代碼,部分實現過程如下:
class ADOConn
{
public:
//添加一個指向Connection對象的指針
_ConnectionPtr m_pConnection;
// 添一個指向Recordset對象的指針
_RecordsetPtr m_pRecordset;
public:
ADOConn();
virtual ~ADOConn();
//初始化連接
void OnInitADOConnect();
//執行查詢
_RecordsetPtr GetRecordSet(_bstr_t bstrSQL);
//執行SQL語句,Insert Update _varinat_t
BOOL ExecuteSQL(_bstr_t bstrSQL);
void ExitConnect();
}
5.2 系統功能模塊的實現
用戶要使用本系統,首先必須通過系統的身份認證,這個過程叫做登錄。
當前用戶的數據應該是全局有效的,在工程的任何位置都可以訪問它。因此添加一個類CGlobal,用于保存全局變量。在CGloba.hl和CGlobal.cpp中添加如下代碼:
#include \"sers.h\"
CUsers curUser;
在StdAfx.h中添加如下代碼:
#include \"Global.h\"
因為StdAfx.h默認包含在很多程序中,這樣在這些各方中就可以直接訪問curUser對象了。在訪問之前,還需要添加如下命令引入外部變量。
Extern CUsers curUser;
添加對話框:
■
圖3 用戶登錄界面
void CLoginDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData(TRUE);
if(m_userid==\"\")
{
MessageBox(\"請輸入用戶帳號\");
return;
}
if(m_password==\"\")
{
MessageBox(\"請輸入用戶密碼\");
return;
}
CUsers user;
user.GetData(m_userid);
CString index;
index=user.GetUserPwd();
index.TrimRight();
if(index!=m_password)
{
MessageBox(\"用戶信息不正確,無法登錄\");
return;
}
UpdateData(FALSE);
CDialog::OnOK();
}
本文介紹了學生管理信息系統的系統設計、數據庫設計及系統實現,省略了各個功能模塊細節部分的實現。
參考文獻:
[1] 啟明工作室. Visual C+++ SQL數據庫應用系統開發與實例[M]. 北京:人民郵電出版社,2004.
[2] 周啟濤,高英. Visual C++ 數據庫開發基礎與應用[M]. 北京:人民郵電出版社,2005.
[3] 劉國燊. 數據庫技術基礎及應用[M]. 北京:電子工業出版社,2003.