学生学籍管理系统设计说明书.doc

上传人:仙人指路1688 文档编号:3941646 上传时间:2023-03-28 格式:DOC 页数:51 大小:1.24MB
返回 下载 相关 举报
学生学籍管理系统设计说明书.doc_第1页
第1页 / 共51页
学生学籍管理系统设计说明书.doc_第2页
第2页 / 共51页
学生学籍管理系统设计说明书.doc_第3页
第3页 / 共51页
学生学籍管理系统设计说明书.doc_第4页
第4页 / 共51页
学生学籍管理系统设计说明书.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《学生学籍管理系统设计说明书.doc》由会员分享,可在线阅读,更多相关《学生学籍管理系统设计说明书.doc(51页珍藏版)》请在三一办公上搜索。

1、学生学籍管理系统设计说明书目录摘 要3第一章 需求分析4第二章系统设计421数据库设计42.1.1数据库简介42.1.2概念结构设计42.1.3逻辑结构设计52.2总体结构设计102.2.1模块设计102.2.2系统结构设计13第三章 系统实现133.1系统登录模块133.2系统主界面模块153.3系统功能模块163.3.1用户管理163.3.2权限管理模块203.3.3院系管理模块223.3.4班级管理模块263.3.5专业信息管理模块283.3.6课程信息管理模块313.3.7教师管理模块343.3.8学期信息管理模块373.3.9学生成绩管理模块383.3.10学生档案管理模块443.3

2、.11用户操作模块493.4系统测试50第四章总结51摘 要学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是

3、企业的科学化、正规化管理,与世界接轨的重要条件。第一章 需求分析详见另一文档“需求规格说明书”。第二章系统设计21数据库设计2.1.1数据库简介在系统设计过程中,数据库的设计是系统的核心和基础,把系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。1数据库的概念数据库是长期储存在计算机内大量的有组织的,可以共享的数据的集合,这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的

4、高级阶段,它是由文件管理系统发展起来的。2新建数据库在新建一个数据库时,必须先对它进行分析,比如它的大小、权限和备份等问题。3修改数据库数据库的修改主要包括Alter database、Drop database等等。当然其中涉及到数据库用户的权限问题,管理用户分配给一般用户有修改的权限时才能进行修改。2.1.2概念结构设计概念结构设计通常是使用E-R图对它的描述工具进行设计,对需求分析阶段收集到的数据进行分类、组织(聚集),形成实体、实体的属性,标识实体的码,确定实体之间的联系类型,设计E-R图。本系统的E-R图如图2.1所示。教师用户教师学生教师院系班级教师课程教师编号名称编号学号姓名号编

5、号名称编号用户名密码编号编号选课包括教学属于教学包括教学授课包括教学mnnn1nn1mn111成绩属于n1专业开设n1图2.12.1.3逻辑结构设计逻辑结构设计应该首先选择最适于描述与表达相应概念结构的数据模型,然后选择最合适的数据库管理系统。逻辑结构设计时一般要分两步进行: 将概念结构转换为一般的关系、网状、层次模型,并将转化来的关系、网状、层次模型向特定数据库管理系统支持下的数据模型转换 对数据模型进行优化 本系统中逻辑结构设计主要是将概念结构设计阶段设计好的的E-R图转换成具体的数据库管理系统支持的数据模型。关系模型的逻辑结构是一组关系模式的集合。而E-R图则是由实体、实体的属性和实体之

6、间的联系三个要素组成的。所以将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换一般遵循如下原则:一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。现在需要将上面的数据库概念结构转化为SQL Server 2000 数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。学籍管理系统数据库中各个表格的设计结果如下面的几个表所示。每个表表示在据库中的一个数据表。编号字段名数据结构别名1studentIDVarchar(15)学号2studentNameChar(8)姓名3classNamevarchar(30)班级名称4age

7、smallint年龄5sexChar(2)性别6nationChar(4)民族7nativeplaceVarchar(30)籍贯8majorNamevarchar(20)专业名称9statuschar(8)政治面貌10homeAddressvarchar(30)家庭住址11birthdaydatetime出生日期12indatedatetime入学日期图2.2 学生表编号字段名数据结构别名1departmentIDchar(10)院系编号2departmentNamevarchar(30)院系名称图2.3院系表编号字段名数据结构别名1classIDvarchar(30)班级编号2classNa

8、mevarchar(30)班级名称3departmentNamevarchar(30)院系名称4gradechar(10)年级5studentNumberint学生人数6studentTeachercahr(8)班主任图2.4班级表编号字段名数据结构别名1courseIDchar(10)课程编号2courseNamevarchr(50)课程名称3creditssmallint学分4courseHourint学时5categoryvarchar(20)类别6teachervarchar(15)任课教师7departmentNamevarchar(30)开课院系8courseNotevarchar

9、(100)备注图2.5课程表编号字段名数据结构别名1teacherIDchar(10)教师编号2teacherNamechar(8)教师姓名3sexchar(2)性别4teacherTitlechar(4)职称5contactvarchar(50)联系方式7departmentNamevarchar(30)院系名称图2.6教师表编号字段名数据结构别名1majorIDvarchar(20)专业编号2majorNamevarchar(30)专业名称3categoryvarchar(30)类别4departmentNamevarchar(30)所属院系5majorNotevarchar(100)备注

10、图2.7专业信息表编号字段名数据结构别名1usernamevarchar(20)用户名2passwordvarchar(20)密码3rolenamevarchar(30)身份图2.8用户表编号字段名数据结构别名1semesterIDchar(5)学期编号2semesterNamevarchar(50)学期名称图2.9学期表编号字段名数据结构别名1IDint编号2studentNamevarchar(15)学生姓名3courseNamechar(10)课程名称4className varchar(30)班级名称5semesterNamevarchar(20)学期名称6scoresmallint分

11、数图2.10成绩表编号字段名数据结构别名1rolenamevarchar(3)身份名称2viewMenuItembit查询权限3XTMenuItembit系统管理权限4DMenuItembit院系管理权限5CMenuItembit班级管理权限6MMenuItembit专业管理权限7KMenuItembit课程管理权限8TMenuItembit教师管理权限9QMenuItembit学期管理权限10SMenuItembit成绩管理权限11StuMenuItembit学生管理权限图2.11权限表2.2总体结构设计2.2.1模块设计本系统是一个典型的信息管理系统,主要目标是让使用它的管理用户,包括系统

12、管理员、教师和学生,能很好地管理有关学生学籍方面的工作,比如系统管理员负责日常的学籍管理工作,如各种基本信息的录入、修改、删除等操作,教师使用该系统可完成教学班级信息查询和成绩管理,而学生使用该系统主要完成选课和成绩查询等操作。根据需求分析中列出的学生学籍管理系统的八个基本模块,设计了如下图2.12所示的学生学籍管理系统总体结构示意图。高校学籍管理系统系统用户管理院系信息管理班级信息管理教师信息管理学生信息管理课程信息管理成绩信息管理专业信息管理用户数据录入与编辑、查询删除删除院系信息录入与编辑、查询专业信息录入与编辑班级信息录入与编辑、查询教师信息录入与编辑、查询学生信息录入与编辑、查询课程

13、信息录入与编辑、查询专业信息查询成绩信息录入与编辑课程成绩查询权限管理角色添加、删除学期信息管理学期信息录入与编辑、查询图2.12学生学籍管理系统总体结构图由上述的系统总体结构图所示,将一个开发的学生学籍管理系统分成九个子模块,他们分别为:系统用户管理模块、权限管理模块、院系信息管理模块 、班级信息管理模块、教师信息管理模块、学生信息管理模块、课程信息管理模块、专业信息管理模块、成绩信息管理模块;通过这些子模块完成各项功能,如课程信息管理模块主要完成对课程信息的录入、编辑与删除。 根据该系统功能分析,该系统主要有九个功能模块,具体功能描述如下:(1)系统用户管理:l 添加用户信息,包括用户名、

14、密码和身份。l 删除已有的用户信息。l 修改用户信息,包括用户名、密码、和身份。(2)系统权限管理:l 添加角色,包括角色名称和它拥有的权限。l 删除已有的角色信息。(3)院系信息管理:l 添加院系信息,包括院系编号和院系名称。l 根据院系编号查询院系信息。l 修改和删除院系信息。(4)班级信息管理:l 添加新的班级信息。l 根据年级或院系查询班级信息。l 修改已存在的班级信息。l 删除已有的班级信息。(5)教师信息管理:l 添加新教师的基本信息。l 根据院系查询教师信息。l 修改已存在的教师信息。l 删除教师相关信息。(6)学生信息管理:l 添加新学生的基本信息。l 根据学号或姓名查询学生信

15、息。l 修改已存在的学生信息。l 删除学生相关信息。(7)课程信息管理:l 添加新的课程基本信息。l 根据开课院系、课程性质、任课教师查询课程基本信息。l 修改或删除已有的课程基本信息。(8)学期信息管理:l 添加新的学期信息。l 修改或删除学期信息。(9)成绩信息管理:l 录入学生的成绩信息。l 根据学号或班级查询相应的成绩信息。l 修改或删除成绩信息。2.2.2系统结构设计在应用程序的设计中,将系统模块用菜单的形式表示出来,这里有5个下拉菜单。 根据对系统结构的分析和结合应用程序中的设计,得出系统结构图,如图2.13。图2.13 系统结构图第三章 系统实现3.1系统登录模块图3.1系统登录

16、图为了系统的安全,在进入系统之前首先会出现一个登录模块,用户登录分为学生、教师、管理员三类用户登录,用户只有在输入正确的用户名和正确的密码之后,才能进入系统。本系统能判断用户权限,不同权限的用户进入系统后执行不同的操作。用户登录窗体中放置了两个文本框(Textbox),用来输入用户名和密码;一个按钮(Button)用来确认登录。部分代码如下:private void button1_Click(object sender, EventArgs e) string ConnStr,SQLstr,sql; ConnStr = Server=(Local);DataBase=学籍管理系统;Integ

17、rated Security=true; SqlConnection Conn = new SqlConnection(ConnStr); if (this.textBox1.Text.Trim() = | this.textBox2.Text.Trim() = ) MessageBox.Show(用户名和密码不能为空!, 登录失败,MessageBoxButtons.OK,MessageBoxIcon.Warning); else try Conn.Open(); SQLstr = select rolename from Userinfo where userName= + textBox

18、1.Text.Trim() + and passWord= + textBox2.Text.Trim() + ; SqlCommand mycomm = new SqlCommand(SQLstr, Conn); mycomm.CommandText = SQLstr; string rolename; if (null != mycomm.ExecuteScalar()/用户权限控制 rolename = mycomm.ExecuteScalar().ToString(); this.Hide(); sql = select * from Role where rolename= + rol

19、ename + ; mycomm.CommandText = sql; SqlDataReader myreader = mycomm.ExecuteReader(); MainForm main = new MainForm(); myreader.Read(); main.XTMenuItem.Visible = (bool)(myreader.GetValue(2); main.viewMenuItem2.Visible = (bool)(myreader.GetValue(1); main.DMenuItem11.Visible = (bool)(myreader.GetValue(3

20、); main.CMenuItem12.Visible = (bool)(myreader.GetValue(4); main.MMenuItem13.Visible = (bool)(myreader.GetValue(5); main.KMenuItem14.Visible = (bool)(myreader.GetValue(6); main.TMenuItem15.Visible = (bool)(myreader.GetValue(7); main.QMenuItem16.Visible = (bool)(myreader.GetValue(8); main.SMenuItem17.

21、Visible = (bool)(myreader.GetValue(9); main.StuMenuItem20.Visible = (bool)(myreader.GetValue(10); main.toolStripStatusLabel2.Text = textBox1.Text.Trim(); main.toolStripStatusLabel4.Text = rolename;/读取用户身份 main.ShowDialog(); else MessageBox.Show(用户名或密码不正确 请确认后重新输入!, 登录失败,MessageBoxButtons.OK,MessageB

22、oxIcon.Error); textBox2.Text = ; textBox2.Focus(); catch (Exception exp) MessageBox.Show(exp.Message, 错误); finally Conn.Close(); 3.2系统主界面模块图3.2系统主界面登陆成功后,即可进入,系统主界面模块。窗体名称为界面功能介绍。主界面为进入学生管理系统各模块的入口,用户可根据菜单上面各个模块名称单击进入各个管理模块,从而进行对系统的管理操作。主界面下面的statusStrip显示了当前登录的用户名和身份。3.3系统功能模块3.3.1用户管理图3.3用户管理本窗体只有

23、系统管理员才可以进行管理,可对用户进行添加、删除、查找功能,用户属性有:用户名、密码、角色。清空按钮用于清空文本。代码如下:private void listBox1_SelectedIndexChanged(object sender, EventArgs e) string ConnStr, SQLstr; ConnStr = Server=(Local);DataBase=学籍管理系统;Integrated Security=true; SqlConnection Conn = new SqlConnection(ConnStr); try Conn.Open(); SQLstr = s

24、elect * from userinfo where username= + listBox1.SelectedItem + ; SqlCommand mycomm = new SqlCommand(SQLstr, Conn); SqlDataReader myreader = mycomm.ExecuteReader(); myreader.Read(); textBox1.Text = myreader.GetValue(0).ToString(); textBox2.Text = myreader.GetValue(1).ToString(); comboBox1.Text = myr

25、eader.GetValue(2).ToString(); catch (Exception exp) MessageBox.Show(exp.Message, 错误); finally Conn.Close(); button1.Enabled = true;/恢复删除按钮 private void usermanage_Load(object sender, EventArgs e) user.Fillrolename(comboBox1); string ConnStr, SQLstr; ConnStr = Server=(Local);DataBase=学籍管理系统;Integrate

26、d Security=true; SqlConnection Conn = new SqlConnection(ConnStr); try Conn.Open(); SQLstr = select username from userinfo; SqlCommand mycomm = new SqlCommand(SQLstr, Conn); SqlDataReader myreader = mycomm.ExecuteReader(); while (myreader.Read() listBox1.Items.Add(myreader.GetValue(0).ToString(); lis

27、tBox1.SelectedIndex = 0; catch (Exception exp) MessageBox.Show(exp.Message, 错误); finally Conn.Close(); private void button4_Click(object sender, EventArgs e) textBox1.Text = ; textBox2.Text = ; comboBox1.Text = ; button1.Enabled = false;/删除按钮不可用 private void button1_Click(object sender, EventArgs e)

28、 string ConnStr, SQLstr; ConnStr = Server=(Local);DataBase=学籍管理系统;Integrated Security=true; SqlConnection Conn = new SqlConnection(ConnStr); try Conn.Open(); SQLstr = delete from userinfo where username= + listBox1.SelectedItem + ; SqlCommand mycomm = new SqlCommand(SQLstr, Conn); DialogResult r = M

29、essageBox.Show(确认要删除此用户吗?, 警告, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (r = DialogResult.Yes) mycomm.ExecuteNonQuery(); textBox1.Text = ; textBox2.Text = ; comboBox1.Text = ; listBox1.Items.Clear(); string updatesql = select username from userinfo; mycomm.CommandText = updatesql; SqlDa

30、taReader myreader = mycomm.ExecuteReader(); while (myreader.Read() listBox1.Items.Add(myreader.GetValue(0).ToString(); catch (Exception exp) MessageBox.Show(exp.Message, 错误); finally Conn.Close(); private void button2_Click(object sender, EventArgs e) string ConnStr, SQLstr; ConnStr = Server=(Local)

31、;DataBase=学籍管理系统;Integrated Security=true; try if (textBox1.Text = | textBox2.Text = | comboBox1.Text = ) MessageBox.Show(请把信息填写完整!, 错误, MessageBoxButtons.OK, MessageBoxIcon.Warning); else /*判断当前用户是否存在*/ SqlConnection Conn1 = new SqlConnection(ConnStr); Conn1.Open(); SQLstr = select username from us

32、erinfo where username= + textBox1.Text + ; SqlCommand comm = new SqlCommand(SQLstr, Conn1); SqlDataReader myreader =comm.ExecuteReader(); if (myreader.HasRows) MessageBox.Show(已存在该用户!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); Conn1.Close(); else /*添加当前用户*/ SqlConnection Conn2 = new SqlConn

33、ection(ConnStr); Conn2.Open(); string insertstr = insert into userinfo values( + textBox1.Text + , + textBox2.Text + , + comboBox1.Text + ); SqlCommand mycomm = new SqlCommand(insertstr,Conn2); mycomm.ExecuteNonQuery(); MessageBox.Show(添加成功!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); textBox1.Text = ; textBox2.Text = ; comboBox1.Text = ; listBox1.Items.Clear(); string updatesql = select username from userinfo; mycomm.CommandText = updatesql; SqlDataReader reader = mycomm.ExecuteReader(); while (reader.Read() listBox1.Items.Add(reader.GetValue(0).ToString();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号