目 录
第1章 概 述 . .................................................................................................................. 2 1.1 项目的目的和意义 . ............................................................................................. 2 1.2 项目体系结构及开发环境 . ................................................................................. 2 1.3 系统基本功能 . ..................................................................................................... 2 第2章 系统设计 . ............................................................................................................ 3 2.1 系统的模块划分 . ................................................................................................. 3 2.2 数据库设计 . ......................................................................................................... 4 第3章 系统的详细设计及实现 . ...................................................................................... 5 3.1 公共类 . ................................................................................................................. 5 3.2 系统登录与主窗体 . ............................................................................................. 6 3.3 学生信息管理 . ................................................................... 错误!未定义书签。 3.4 课程信息管理 . ................................................................... 错误!未定义书签。 3.5 选课信息管理与查询 . ....................................................... 错误!未定义书签。 3.6 运行结果 . ........................................................................... 错误!未定义书签。 结 论 . ................................................................................................................................ 8 参考文献 . ............................................................................................................................ 9
第1章 概 述
1.1 项目的目的和意义
本次课程设计的题目是“学生选课系统”的设计与实现。该设计是对本学期前八周所学的面向对象程序设计课程的巩固和深入应用。利用前面学过的知识来解决实际问题,锻炼解决问题的能力和动手编程的能力。同时初步理解软件开发步骤和软件工程思想。
1.2项目体系结构及开发环境
1.本系统采用Client/Server体系结构。 2.系统开发环境
1)开发平台:Microsoft Visual Studio 2008 2)开发语言:C# 3)数据库:Access2003 3.系统运行环境 客户端:
操作系统: Windows XP 服务器端:
数据库:Access2003
1.3系统基本功能
在以上环境下对图书馆管理系统进行开发与设计。主要实现系统登录、图书管理员信息管理、读者信息管理、图书信息管理、图书借阅信息管理等主要功能。
第2章 系统设计
2.1系统的模块划分
图书管理系统是图书馆管理过程中不可缺少的一个系统,它涉及到读者、图书以及管理者等信息的结合。系统包括以下五个模块:
1.登录模块
登录模块提供用户登录界面,用户输入正确的用户名和密码后,则可进入系统主窗口(即导航页面),从而可以选择进入相应的子系统。
2.学生信息模块
学生信息模块主要用户管理学生的基本信息,包括学号、姓名、性别、年龄和所在系,能对学生信息进行添加、删除和修改等操作。
3.课程信息模块
课程信息模块主要用于管理课程信息,包括课程号、课程名、学分和学时,能对课程信息进行添加、删除和修改等操作。
4.„„
系统功能模块图如图2-1所示。
图2-1 系统功能模块图
2.2数据库设计
根据前面的分析,学生选课系统数据库(SelectCourse )中包括系统用户信息“tbl_User”、学生信息“tbl_Student”、课程信息“tbl_Course”和选课信息“tbl_SC”四个数据表。表的结构、表字段的数据类型及相关说明如下:
1. 系统用户表
系统用户表“tbl_User”用于存放系统用户的相关数据。其结构如表2-1所示。
表2-1 系统用户表
2. 学生信息表
学生信息表“tbl_Student”结构如表2-2所示。
表2-2 学生信息表
3. 课程信息表
课程信息表“tbl_Course”结构如表2-3所示。
表
2-3 课程信息表
4. 选课信息表
课程信息表“tbl_SC”结构如表2-4所示。
表2-4 选课信息表
第3章 系统的详细设计及实现
3.1公共类
考虑到系统的各个模块都需要访问数据库,因此最好的方法是编写一些访问数据库的方法,如返回数据集的公共查询方法,执行数据操作的公共方法,并把它们放在一个公共的类(DataBase )中,然后在各模块中调用这些方法来实现对数据库的访问。
同样,在用户登录时,可能需要记录一些关于用户的信息,例如用户名、用户权限等,因此也需要使用到一些公共的静态变量,把这些变量放置在一个名为“ClassShared ”的类中。
3.1.1添加DataBase 公共类
首先为系统添加一个名为“DataBase ”的公共类,用于存放访问数据库的公共方法。
添加公共类的方法和步骤如下:
(1)选择【项目】->【添加类】菜单项,将弹出【添加新项】对话框,保留默认的选择,在“名称”文本框中输入“DataBase ”。
(2)单击【添加】按钮,则类“DataBase ”已经被添加到项目中,并自动切换到该类的代码窗口。
(3)设置DataBase 类的访问修饰符为“Public ”。
3.1.2 编写公共方法
因为在这些方法中需要使用到OleDbConnection 、OleDbDataAdapter 、DataSet 和MessageBox ,所以首先应当引入以下命名空间:
using System.Data;
using System.Data.OleDb; using System.Windows.Forms;
然后为“DataBase ”类声明几个公共变量:
public OleDbConnection dataConnection = new OleDbConnection(); public OleDbDataAdapter dataAdapter; public DataSet dataSet = new DataSet(); public OleDbCommand command;
//定义数据库连接字符串,随具体环境而定,应根据内容自行调整
string connstr = @"Provider = Microsoft.Jet.OLEDB.4.0;" + @"Data Source=E:\SelectCourse.mdb";
1. 公共查询方法GetDataFromDB
GetDataFromDB 是一个返回数据集的公共查询方法,如果正常访问则返回查询结果;否则返回null 。代码如下:
public DataSet GetDataFromDB(string sqlStr) {
try {
dataConnection.ConnectionString = connstr;
dataAdapter = new OleDbDataAdapter(sqlStr, dataConnection); dataSet.Clear();
dataAdapter.Fill(dataSet); //填充数据集 dataConnection.Close(); //关闭连接 }
catch (Exception ex) {
MessageBox.Show(ex.Message); dataConnection.Close(); }
if (dataSet.Tables[0].Rows.Count != 0) {
return dataSet; //若找到相应的数据,则返回数据集 } else {
return null; //若没有找到相应的数据,返回空值 } } „„
3.2系统登录与主窗体
登录是每一个成功项目中不可缺少的模块,好的登录模块可以保证系统的可靠性和安全性。本节首先为“学生选课系统”制作了一个简单的登录模块,登录成功后,应当进入系统的主窗体(导航界面)。
3.2.1 登录界面设计
新建一个Windows 应用程序,命名为“学生选课系统”,使用GroupBox 、Label 、TextBox 、Button 控件将出现的默认窗体Form1设计成如图3-1所示。
图3-1 登录界面
3.2.2 登录代码
接下来编写登录模块的代码。【登录】按钮用于验证输入的用户名和用户密码,若正确则进入系统主界面;否则弹出错误提示,并等待用户的重新输入。
登录时,需要记录登录的用户名和用户权限,因此在“ClassShared ”公共类中声明公共静态成员,声明后“ClassShared ”公共类的代码如下:
using System;
using System.Collections.Generic; using System.Text;
namespace 学生选课系统 {
public class ClassShared {
//数组“userInfo ”用于记录登录的用户名和用户权限 public static string[] userInfo = new string[2]; } }
切换到“frmMain ”窗体设计器,双击【登录】按钮,编写其单击事件的代码如下:
结 论
本套学生选课系统是在C /S 结构的运行模式下,实现了学生信息管理、课程信息管理、选课管理等功能。
本系统的选课管理模块在技术实现上怎样将若干课程和具体的一个学生联系起来,并且可以查询课程的成绩是一难点。对于这一个难题,本系统可以通过引入一个选课信息表来解决。该表把学号和课程号关联起来,同时设置成绩属性。
在安全性方面,本系统把用户分为普通用户和管理员用户。普通用户只能维护和查询选课信息,而不能修改学生信息和课程信息,而管理员可以操作所有的功能。
该系统界面友好,操作简单。同时使用了公共类,提高了代码复用程度,同时也提高了系统的可维护性。
参考文献
[1] 黄光奇,李子木.WEB 数据库互连技术开发指南[M].北京:国防工业出版社,2000.
[2] 刘立军.学生信息管理系统的研究与开发[J].江苏泰州:泰州职业技术学院学报,2005.
[3] 李金山.学生信息管理系统的设计[J].太原:科技情报开发与经济,2005:(14):132.
(至少5个参考文献)
目 录
第1章 概 述 . .................................................................................................................. 2 1.1 项目的目的和意义 . ............................................................................................. 2 1.2 项目体系结构及开发环境 . ................................................................................. 2 1.3 系统基本功能 . ..................................................................................................... 2 第2章 系统设计 . ............................................................................................................ 3 2.1 系统的模块划分 . ................................................................................................. 3 2.2 数据库设计 . ......................................................................................................... 4 第3章 系统的详细设计及实现 . ...................................................................................... 5 3.1 公共类 . ................................................................................................................. 5 3.2 系统登录与主窗体 . ............................................................................................. 6 3.3 学生信息管理 . ................................................................... 错误!未定义书签。 3.4 课程信息管理 . ................................................................... 错误!未定义书签。 3.5 选课信息管理与查询 . ....................................................... 错误!未定义书签。 3.6 运行结果 . ........................................................................... 错误!未定义书签。 结 论 . ................................................................................................................................ 8 参考文献 . ............................................................................................................................ 9
第1章 概 述
1.1 项目的目的和意义
本次课程设计的题目是“学生选课系统”的设计与实现。该设计是对本学期前八周所学的面向对象程序设计课程的巩固和深入应用。利用前面学过的知识来解决实际问题,锻炼解决问题的能力和动手编程的能力。同时初步理解软件开发步骤和软件工程思想。
1.2项目体系结构及开发环境
1.本系统采用Client/Server体系结构。 2.系统开发环境
1)开发平台:Microsoft Visual Studio 2008 2)开发语言:C# 3)数据库:Access2003 3.系统运行环境 客户端:
操作系统: Windows XP 服务器端:
数据库:Access2003
1.3系统基本功能
在以上环境下对图书馆管理系统进行开发与设计。主要实现系统登录、图书管理员信息管理、读者信息管理、图书信息管理、图书借阅信息管理等主要功能。
第2章 系统设计
2.1系统的模块划分
图书管理系统是图书馆管理过程中不可缺少的一个系统,它涉及到读者、图书以及管理者等信息的结合。系统包括以下五个模块:
1.登录模块
登录模块提供用户登录界面,用户输入正确的用户名和密码后,则可进入系统主窗口(即导航页面),从而可以选择进入相应的子系统。
2.学生信息模块
学生信息模块主要用户管理学生的基本信息,包括学号、姓名、性别、年龄和所在系,能对学生信息进行添加、删除和修改等操作。
3.课程信息模块
课程信息模块主要用于管理课程信息,包括课程号、课程名、学分和学时,能对课程信息进行添加、删除和修改等操作。
4.„„
系统功能模块图如图2-1所示。
图2-1 系统功能模块图
2.2数据库设计
根据前面的分析,学生选课系统数据库(SelectCourse )中包括系统用户信息“tbl_User”、学生信息“tbl_Student”、课程信息“tbl_Course”和选课信息“tbl_SC”四个数据表。表的结构、表字段的数据类型及相关说明如下:
1. 系统用户表
系统用户表“tbl_User”用于存放系统用户的相关数据。其结构如表2-1所示。
表2-1 系统用户表
2. 学生信息表
学生信息表“tbl_Student”结构如表2-2所示。
表2-2 学生信息表
3. 课程信息表
课程信息表“tbl_Course”结构如表2-3所示。
表
2-3 课程信息表
4. 选课信息表
课程信息表“tbl_SC”结构如表2-4所示。
表2-4 选课信息表
第3章 系统的详细设计及实现
3.1公共类
考虑到系统的各个模块都需要访问数据库,因此最好的方法是编写一些访问数据库的方法,如返回数据集的公共查询方法,执行数据操作的公共方法,并把它们放在一个公共的类(DataBase )中,然后在各模块中调用这些方法来实现对数据库的访问。
同样,在用户登录时,可能需要记录一些关于用户的信息,例如用户名、用户权限等,因此也需要使用到一些公共的静态变量,把这些变量放置在一个名为“ClassShared ”的类中。
3.1.1添加DataBase 公共类
首先为系统添加一个名为“DataBase ”的公共类,用于存放访问数据库的公共方法。
添加公共类的方法和步骤如下:
(1)选择【项目】->【添加类】菜单项,将弹出【添加新项】对话框,保留默认的选择,在“名称”文本框中输入“DataBase ”。
(2)单击【添加】按钮,则类“DataBase ”已经被添加到项目中,并自动切换到该类的代码窗口。
(3)设置DataBase 类的访问修饰符为“Public ”。
3.1.2 编写公共方法
因为在这些方法中需要使用到OleDbConnection 、OleDbDataAdapter 、DataSet 和MessageBox ,所以首先应当引入以下命名空间:
using System.Data;
using System.Data.OleDb; using System.Windows.Forms;
然后为“DataBase ”类声明几个公共变量:
public OleDbConnection dataConnection = new OleDbConnection(); public OleDbDataAdapter dataAdapter; public DataSet dataSet = new DataSet(); public OleDbCommand command;
//定义数据库连接字符串,随具体环境而定,应根据内容自行调整
string connstr = @"Provider = Microsoft.Jet.OLEDB.4.0;" + @"Data Source=E:\SelectCourse.mdb";
1. 公共查询方法GetDataFromDB
GetDataFromDB 是一个返回数据集的公共查询方法,如果正常访问则返回查询结果;否则返回null 。代码如下:
public DataSet GetDataFromDB(string sqlStr) {
try {
dataConnection.ConnectionString = connstr;
dataAdapter = new OleDbDataAdapter(sqlStr, dataConnection); dataSet.Clear();
dataAdapter.Fill(dataSet); //填充数据集 dataConnection.Close(); //关闭连接 }
catch (Exception ex) {
MessageBox.Show(ex.Message); dataConnection.Close(); }
if (dataSet.Tables[0].Rows.Count != 0) {
return dataSet; //若找到相应的数据,则返回数据集 } else {
return null; //若没有找到相应的数据,返回空值 } } „„
3.2系统登录与主窗体
登录是每一个成功项目中不可缺少的模块,好的登录模块可以保证系统的可靠性和安全性。本节首先为“学生选课系统”制作了一个简单的登录模块,登录成功后,应当进入系统的主窗体(导航界面)。
3.2.1 登录界面设计
新建一个Windows 应用程序,命名为“学生选课系统”,使用GroupBox 、Label 、TextBox 、Button 控件将出现的默认窗体Form1设计成如图3-1所示。
图3-1 登录界面
3.2.2 登录代码
接下来编写登录模块的代码。【登录】按钮用于验证输入的用户名和用户密码,若正确则进入系统主界面;否则弹出错误提示,并等待用户的重新输入。
登录时,需要记录登录的用户名和用户权限,因此在“ClassShared ”公共类中声明公共静态成员,声明后“ClassShared ”公共类的代码如下:
using System;
using System.Collections.Generic; using System.Text;
namespace 学生选课系统 {
public class ClassShared {
//数组“userInfo ”用于记录登录的用户名和用户权限 public static string[] userInfo = new string[2]; } }
切换到“frmMain ”窗体设计器,双击【登录】按钮,编写其单击事件的代码如下:
结 论
本套学生选课系统是在C /S 结构的运行模式下,实现了学生信息管理、课程信息管理、选课管理等功能。
本系统的选课管理模块在技术实现上怎样将若干课程和具体的一个学生联系起来,并且可以查询课程的成绩是一难点。对于这一个难题,本系统可以通过引入一个选课信息表来解决。该表把学号和课程号关联起来,同时设置成绩属性。
在安全性方面,本系统把用户分为普通用户和管理员用户。普通用户只能维护和查询选课信息,而不能修改学生信息和课程信息,而管理员可以操作所有的功能。
该系统界面友好,操作简单。同时使用了公共类,提高了代码复用程度,同时也提高了系统的可维护性。
参考文献
[1] 黄光奇,李子木.WEB 数据库互连技术开发指南[M].北京:国防工业出版社,2000.
[2] 刘立军.学生信息管理系统的研究与开发[J].江苏泰州:泰州职业技术学院学报,2005.
[3] 李金山.学生信息管理系统的设计[J].太原:科技情报开发与经济,2005:(14):132.
(至少5个参考文献)