C#学生信息数据库管理系统文档格式.docx
《C#学生信息数据库管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《C#学生信息数据库管理系统文档格式.docx(63页珍藏版)》请在冰豆网上搜索。
实现计算机自动化管理体制。
(2)建立学生成绩管理机制,在计算机的支持下快速的完成学生成绩的查询和修改。
(3)建立课程设置管理,在计算机的支持下实现课程的添加、删除、修改。
(4)建立班级设置管理,在计算机的支持下实现班级的添加、删除和修改。
(5)实现系统的权限设置管理,保证系统安全性。
根据系统的需求分析,得到本系统的功能要求如下:
(1)班级、课程的设置管理:
学校的教务秘书可以根据本校具体情况在每学期开始时设置所需班级数量和人数。
并设置本学期的课程。
(2)权限管理:
为了很好的保证系统的安全性,学校相关负责人可以设置不同类型的人员的权限。
(3)学生档案管理:
学生档案的数量十分庞大,教务管理人员进行新生入学的档案录入及更改。
其中包括学生个人信息的修改。
(4)学生成绩管理:
教务管理人员可以查询和修改学生的历年考试成绩,掌握学生学习情况,作为评定学生素质的数据依据。
2.3
性能需求
系统的运行对于运行环境的要求是;
1.硬件环境
目前,我们所开发的系统主要是应用在中小规模的学校内部,因此,一般配置的计算机硬件就可以满足系统需求。
考虑到学校规模的扩大和硬件价格的降低,为本系统配置在较优秀的服务器硬件,可以充分发挥本系统性能。
●
处理器:
IntelPentium4
3.06GX
或更高
内存:
256M(推荐)
硬盘空间:
40GB
显卡:
SVGA显示适配器
2.软件环境
操作系统:
Windows2000/XP
开发软件:
MicrosoftVisualStudio.NET2003
数据库:
MicrosoftSQLServer2000
3
总体设计
3.1
设计思想与处理流程
本系统采用面向对象方法进行分析和设计,在SQLServer2000数据库上实现数据操作。
使用纯面向对象的C#语言作为开发语言,使用Windows2000作为开发平台,能够很好的实现系统的开发及测试。
系统的基本流程是:
用户登陆→主界面→选择各项子系统。
3.2
系统层次模块图
“学生信息管理系统”主要分为登录、新生信息录入、学生信息查询、更新学生信息、学生成绩录入、学生成绩查询、权限管理、密码管理、班级管理、课程管理等10个模块。
系统主模块功能树如图2-1所示:
图2-1
“学生信息管理系统”系统主模块功能树
3.3
模块设计
1.登录模块:
输入用户名称和密码,如果用户名、密码正确,进入主控制平台;
否则给出错误信息提示。
2.系统维护模块:
权限管理子模块:
系统管理员进行用户权限设置和初始密码的设置。
密码修改子模块:
登陆系统用户可以随时修改自己的密码,保证密码的有效性和保密性。
班级管理子模块:
在新学期开始或每学期中间需要开设新的课程时可以在本模块进行班级的设置和维护。
课程设置子模块:
在每学期开始需要进行本学期需要开设课程的设置。
在某一课程发生变动时可以进行课程的维护,包括修改课程的名称、学分等,也可以删除某一课程。
3.学生信息管理模块:
新生信息录入子模块:
在每学年开始或中间可以进行学生信息的录入,包括学生的基本信息等。
学生信息查询子模块:
方便教务管理人员快速的查找某一学生。
分为按照学生的姓名进行查找和按照学生的所在班级名进行查找。
利于管理人员随时掌握学生信息。
更新学生信息子模块:
教务管理人员可以随时更改学生的某些信息,包括学生姓名、身份证号、班级等信息的更改。
4.学生成绩管理模块:
学生成绩录入子模块:
按照学生考试的时间和课程录入学生的考试成绩。
学生成绩查询子模块:
方便教务管理人员快速的查找某一学生的成绩。
利于管理人员随时掌握学生考试信息。
5.帮助信息模块:
显示系统的开发版本和系统说明信息。
4
数据库设计
1.SQLServer2000数据库建立过程
首先把SQLServer2000的“服务管理器”打开,鼠标左键单击“开始/继续”按钮,然后在“开始”→“程序”内选择“MicrosoftSQLServer”→“企业管理器”。
展开左边的程序树,如图2-2所示。
图2-2
打开企业管理器
在“数据库”文件夹图标上单击鼠标右键,选择“新建数据库”,弹出新建数据库窗体,如图2-3所示。
图2-3
新建数据库窗体
在“名称”文本框内,输入新建数据库的名称,在此输入“StuMagSys”,新建学生信息管理数据库。
其他选项默认即可。
然后,开始建立本系统需要的数据库表,方法如下:
首先,在新建的数据库上单击鼠标右键,选择“新建”→“表”,如图2-4所示。
图2-4
新建表
然后,在弹出的窗体内输入表字段和类型以及长度和是否允许空等信息,如图2-5所示。
图2-5
新建表窗体
输入完表字段后,为表的字段添加主键、约束和关系等,方法是在添加约束或关系的字段上单击鼠标右键,选择“设置主键”或“关系”等。
如图2-6所示。
图2-6
创建主键
保存该表,命名为Student。
接下来在建立本章需要的其他表,在此不再详述了。
接下来就是如何向已经建立好的数据表内输入数据了,方法如下,首先在建立好的表上单击鼠标右键,选择“打开表”→“返回所有行”,如图2-7所示。
图2-7
打开表
然后在弹出的窗体内输入数据,输入结束后,鼠标左键单击工具栏上的运行图标,保存数据,如图2-8所示。
图2-8
为表添加数据窗体
2.表结构实现
根据系统功能设计的要求以及功能模块的划分,对于系统用户信息数据库,可以列出以下数据项和数据结构:
(1)、名称:
学生信息表
表名称标识:
Student表
数据来源:
新生信息录入模块进行录入。
表2-1学生信息表(Student)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Student_id
int
4
P
Notnull
学号
Student_name
nvarchar
10
姓名
Sex
char
2
性别
Birth
smalldatatime
出生年月
Nation
8
民族
Class_id
班级号
Entrance_date
smalldatetime
入学时间
home
40
家庭地址
politic
政治面貌
ID
18
身份证号
Job
20
职位
specialty
所学专业
(2)、名称:
学生成绩表
Student_course表
学生成绩录入模块进行录入。
表2-2学生成绩表(Student_course)
Course_id
课程号
Grade
float
成绩
SC_semester
Smallint
学期
School_year
学年
(3)、名称:
班级表
class表
班级管理模块进行录入
表2-3班级表(class)
Int
p
年级
Class_name
班级名称
SumStu
班级人数
MaxNum
最大人数
(4)、名称:
课程表
course表
课程管理模块进行录入
表2-4课程表(course)
Course_name
Credit
课程名
学分
(5)、名称:
用户表
Syuser表
权限管理模块进行录入
表2-5用户表(Syuser)
User_id
用户编号
User_name
用户名
User_role
用户角色
Password
密码
5
详细设计
本系统主要实现学生信息的浏览、查询、编辑、添加和删除,同时对班级和课程进行管理,增加权限的管理。
根据已有的需求分析和总体设计,我们在此基础上来进行系统的详细设计和实现,为此,我们建立了一个C#.NET项目。
在“开始”菜单中找到“MircoSoftVisualStudio.Net
2003”,启动应用程序,鼠标单击“文件”→“新建”→“项目”,单击“VisualC#项目”,建立一个“Windows
应用程序”,命名为“StudentManagementSystem”,位置默认。
如图2-9所示。
图2-9新建C#项目窗体
然后我们把这个项目生成的默认窗体作为本系统的主窗体,我们再向这个项目中添加一个窗体,鼠标单击“项目”→“添加Windows窗体”,输入窗体名称为“Login”把新添加的窗体作为登陆窗体,调整窗体大小到合适值。
修改该窗体的name属性为“Login”,text属性为“用户登陆”,StartPosition属性为“CenterScreen”,其他属性默认。
我们接下来的所有窗体文件都是使用这种方法在这个项目中添加。
5.1登录模块的设计与实现
1.用户身份验证IPO图
输入:
用户名和密码。
处理:
(1)
用户登录窗体启动。
(2)
输入用户名和密码。
(3)
从用户信息表中检查是否有相应的用户名和密码。
(4)
如果用户名或密码为空或者错误,进行提示。
(5)
如果输入的用户名和密码正确,则允许该用户进入系统。
(6)
进入主控制平台。
输出:
主控制平台。
2.用户登录模块的窗体设计,如图2-10所示:
图2-10用户登录模块的窗体效果
3.用户登录模块的主要代码
usingSystem;
usingSystem.Drawing;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Windows.Forms;
usingSystem.Data;
usingSystem.Data.SqlClient;
namespaceStudentManagementsystem
{
publicclassLogin:
System.Windows.Forms.Form
privateSystem.Windows.Forms.Labellabel1;
privateSystem.Windows.Forms.Labellabel2;
privateSystem.Windows.Forms.Buttonlogin_butt;
privateSystem.Windows.Forms.ButtonLogout_butt;
privateSystem.Windows.Forms.TextBoxUser_name;
privateSystem.Windows.Forms.TextBoxPasswords;
publicstaticStringUsername="
"
;
//保存用户登陆名,以便以后使用。
publicstaticboolloginOrnot;
//判断用户登陆成功与否。
privatestringstrconn;
//查询更新数据库字符串。
privatestringconnstr="
workstationid=localhost;
IntegratedSecurity=SSPI;
database=StuMagSys"
//连接数据库字符串。
privateSqlDataAdaptersqlda;
//查询数据库时使用的适配器。
privateDataSetdset=newDataSet();
//保存查询结果的数据集。
privateSqlConnectionmyconn;
//数据库连接。
privateDataTablemytable;
//查询返回的数据表。
privateDataRowUserrows;
//表中的行。
privateSystem.Windows.Forms.GroupBoxgroupBox1;
privateSystem.Windows.Forms.GroupBoxgroupBox2;
privateSystem.ComponentModel.Containercomponents=null;
/*此处省略程序自动生成的代码*/
privatevoidlogin_butt_Click(objectsender,System.EventArgse)
try
strconn="
select*fromsyuserwhereUse_name="
+"
'
+this.User_name.Text.ToString().Trim()+"
//根据用户输入的用户名和密码初始化查询更新数据库字符串
myconn=newSqlConnection(connstr);
sqlda=newSqlDataAdapter(strconn,myconn);
dset.Clear();
sqlda.Fill(dset,"
syuser"
);
mytable=dset.Tables[0];
//查询的结果在Tables[0]中。
for(intj=0;
j<
mytable.Rows.Count;
j++)
Userrows=mytable.Rows[j];
if(Userrows[1].ToString().Trim()==this.User_name.Text.ToString().Trim()&
&
Userrows[3].ToString().Trim()==this.Passwords.Text.ToString().Trim()){
loginOrnot=true;
Username=Userrows[1].ToString().Trim();
this.Close();
}
else
MessageBox.Show("
用户名/密码错误!
请重试!
"
确认"
MessageBoxButtons.OK);
loginOrnot=false;
this.User_name.Text="
this.Passwords.Text="
catch(Exceptionex)
MessageBox.Show(ex.ToString(),"
MessageBoxButtons.YesNoCancel);
return;
privatevoidLogout_butt_Click(objectsender,System.EventArgse)