《学生管理系统设计文档(共14页).doc》由会员分享,可在线阅读,更多相关《学生管理系统设计文档(共14页).doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上学生管理系统设计文档1.系统概述本学生信息管理系统可以说是一个综合性的学校学生管理系统,这它集成了学生学籍管理系统、学生成绩管理系统、学生档案管理系统等多种功能,因而具有较强的实用性和先进性。1.1 系统及需求分析 1.1.1 系统需求 通过调查,要求系统需要有以下功能: 由于操作人员的计算机知识普遍较差,要求有良好的人机界面; 由于该系统的使用对象多,要求有较好的权限管理; 原始数据修改简单方便,支持多条件修改 方便的数据查询,支持多条件查询; 在相应的权限下,删除数据方便简单,数据稳定性好; 数据计算自动完成,尽量减少人工干预;1.1.2可行性分析由于本系统管理的
2、对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。本系统的设计是在Window中文版操作系统环境下,使用C+ Builder 6.0开发的。数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及
3、适用范围。本系统选用的开发语言:C+语言,用Borland的C+ Builder,它是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美。在C+ Builder环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。1.2系统的
4、功能简介本系统主要可以实现以下的管理功能:班级管理、学生档案管理、学生交费管理、课程管理、成绩管理等等。1.3.1 项目规划学生信息管理系统是一个典型的数据库应用程序,由系统、设置、录入、查询、帮助等模块组成,特规划如下:1.3.2系统模块该模块的主要任务是维护系统的正常运行和安全性设置,包括系统登录、退出登录、用户管理、退出系统等等。1.3.3设置模块:该模块的功能是实现设置功能,包括:专业、课程、班级的设置,这三个功能模块各自独立,完成学生管理必需的设置。1.3.4录入模块:该模块的主要功能是实现录入功能,包括学生档案、学生成绩的录入,完成学生管理数据的录入功能。1.3.5查询模块:该模块
5、主要功能是实现查询功能,包括学生档案和成绩的查询以及成绩统计,都有打印报表的功能。1.3.6帮助模块:本系统的使用说明和关于。1.4系统开发的目标出于本系统是学校学生管理的一个综合性的系统,本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。2. 系统分析2.1数据流程分析:由于本系统的数据模块较多,下面仅以学生成绩为例来进行编制。学籍管理部门教师学生成绩管理系统教务处学生教师教师学生情况学生成绩查询统计分析学生成绩管理系统0层数据流程图学生课程成绩管理部门教务处教师1.0学生管理2.0课程管理3.0成绩管理4.0统计分析D1D2D3查询者管理者学生成绩管理系统1层数据流程图2
6、.2数据存储分析:实体联系图1、数据模型设计。首先来做出学生成绩管理系统的E-R图,分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。2、再分析三个实体之间的联系。首先,这三个实体不是一个统一体,学生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。课程与学生这两个实体是多对多联系;一位学生要学习多门课程,一门课程有多位学生共同学习。而学习成绩是这两个实体“学生”和“成绩”共有的属性,应填在二者的联系“学习”边。因为成绩既不是学生独有的,也不是课程独有的;“学生甲70分”或“英语70分”是不完全的
7、,说“学生甲英语70分”才是正确的,因为70分是学生甲和英语课二者共有的。这个E-R图可画成下图。学生课程成绩学习mn学生成绩管理系统中学生与课程的E-R图教师与课程这两个实体之间,是一对多联系;一位教师可以都多门课程,而一门课程对于学生成绩来说只能有一位教师(英语、高等数学有多位教师教,但对某个固定的学生来说只能有一位教师)。其E-R图,如下所示。n教师课程教学l教师与课程的E-R图组合到一起,得到最后的E-R图,有了E-R图,就可以设计数据库。下图为数据模型图。学生课程教师学习学习课程学生教师实体模型数据模型数据库学习lnmm2.3功能分析:功能层次图学生信息管理系统登录系统设置录入查询帮
8、助退出登录课程设置系统登录用户管理专业设置班级设置学生档案学生成绩学生档案学生成绩使用说明关于系统退出系统3.系统设计3.1软件模块结构设计通过对系统的调研与分析,系统主要应完成的功能有:班级管理、学生成绩管理、课程管理、成绩管理、系统管理等功能。分成系统、设置、录入、查询、帮助五个模块本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。32数据库设计数据库采用了Microsoft推出的Access数据库,这是微软集成到Office中的一个简易有效的桌面数据库。使用Access的好处还在于,如果你的
9、系统扩展到C/S模式的时候,可以使用Microsoft的数据库服务器软件SQL Server,此时,程序只需要简单的修改一下链接(ADO的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。本系统中所涉及到的主要实体共有六个数据表,各表的物理结构如下:专业表:字段名称类型宽度小数位序号自动编号专业代码文本8专业名称文本50学制文本1课程表:字段名称类型宽度小数位序号自动编号课程名称文本50教材文本200专业文本50学期文本8周学时文本2班级表:字段名称类型宽度小数位序号自动编号年级文本4专业文本50班号文本8名称文本50用户表:字段名称类型宽度小数位序号自动编号用户名文本20密码文本2
10、0权限文本10学生表:字段名称类型宽度小数位序号自动编号学号文本10姓名文本16性别文本2生日日期/时间政治面貌文本20民族文本20籍贯文本8电话文本30邮箱文本30特长文本50照片OLE 对象成绩表:字段名称类型宽度小数位序号自动编号学号文本8学期文本20课程文本50平时数字单精度型自动考查数字单精度型自动考试数字单精度型自动总评数字单精度型自动32数据库E-Rl图专业代码专业序号学制专业名称课程名称课程序号教材专业周学时年级班级序号专业班号名称学号学生序号性别政治面貌姓名生日民族籍贯电话邮箱特长照片成绩课程考查平时考试总评序号学号学期用户名用户序号权限密码4.系统的功能模块设计本部分主要内
11、容为本系统的运行界面以及源代码。一.主界面设计1.新建一个工程xsgl,将主窗口命名fmain,标题为学生管理系统。设置其StartPosition为CenterScreen。2.作主菜单:系统:系统登录、退出登录、用户管理、退出系统设置:专业设置、课程设置、班级设置录入:学生档案、学生成绩查询:学生档案、学生成绩帮助:使用说明、关于系统3.放一个图像框pictureBox1,设置Dock为Fill,SizeMode为StretchImage,取一幅图像(Image)。4.放两个标签label12,标题分别为欢迎你使用学生管理系统、空,设置它们的字体、大小、颜色、透明。5.代码:/响应fmai
12、n的Load事件: label1.Parent = pictureBox1; label2.Parent = pictureBox1;/设置标签的父容器 label1.Left = (Width - label1.Width) / 2;/label1水平居中 退出登录.Enabled = false; 用户管理.Enabled = false; 设置.Enabled = false; 录入.Enabled = false; 查询.Enabled = false;/未登录时关闭相应的功能/响应菜单退出系统的代码: Close();/响应菜单关于系统的代码: MessageBox.Show(学生管
13、理系统n版本1.0n作者吴三成, 学生管理系统);二.登录界面设计1.新建一个窗口fdl,标题为登录,设置其StartPosition为CenterScreen。2.放两个标签label12,标题分别为用户名、密码,设置它们的字体、大小、颜色。再放两个文本框textBox12,设置它们的字体、大小、颜色。再放按钮button1,标题为登录,设置它的字体、大小、颜色。3.代码:/为连接Access数据库,在代码头加上:using System.Data.OleDb;/在生成函数前加上属性: public int ndl = 0; public string yhm = ; public stri
14、ng qx = ;/响应登录按钮单击事件: if (textBox1.Text = ) MessageBox.Show(请你输入用户名!, 提示); return; if (textBox2.Text = ) MessageBox.Show(请你输入密码!, 提示); return; /以上验证输入 string cs = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xsgl.mdb; OleDbConnection co = new OleDbConnection(cs); co.Open(); OleDbCommand cm = new Ole
15、DbCommand(); cm.Connection = co; OleDbDataReader rd;/以上建立数据库连接 cm.CommandText = select * from 用户 where 用户名=+textBox1.Text+; rd = cm.ExecuteReader();/以上设计与执行查找用户名的SQL if (rd.Read() /找到用户名 string mm = rd.GetString(2).Trim();/从数据库中取得密码 if (mm.Equals(textBox2.Text.Trim() /密码相等则登录成功,保存登录信息,关闭登录窗口 this.nd
16、l = 1; this.yhm = textBox1.Text; this.qx = rd.GetString(3); MessageBox.Show(this.qx + this.yhm + 登录成功!, 提示); co.Close(); this.Close(); else MessageBox.Show(密码不对!, 提示); else MessageBox.Show(无此用户名!, 提示); co.Close();/养成关闭数据库连接的好习惯/fmain加上属性: static int ndl = 0; static string yhm = ; static string qx =
17、; /响应fmain系统登录菜单单击事件: fdl f = new fdl();/生成登录窗口实例 f.ShowDialog();/模式显示之 ndl = f.ndl; yhm = f.yhm; qx = f.qx;/关闭登录窗口后取回登录数据 f.Dispose();/释放登录窗口资源 if (ndl = 1) /登录成功则开放相应的功能 查询.Enabled = true; 系统登录.Enabled = false; 退出登录.Enabled = true; 用户管理.Enabled = true;/所有用户都要开放的 if (qx.Equals(超级用户) /超级用户全部开放 设置.En
18、abled = true; 录入.Enabled = true; else if (qx.Equals(录入人员) /录入人员可使用录入功能 录入.Enabled = true; label2.Text = qx + yhm;/显示用户 label2.Left = (Width - label2.Width) / 2;/响应fmain退出登录菜单单击事件: /去掉登录信息,关闭相应功能,开放系统登录功能 label2.Text = ; ndl = 0; qx = ; yhm = ; 退出登录.Enabled = false; 用户管理.Enabled = false; 设置.Enabled = false; 录入.Enabled = false; 查询.Enabled = false; 系统登录.Enabled = true;专心-专注-专业