ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:490.30KB ,
资源ID:11001698      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11001698.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学籍管理系统.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学籍管理系统.docx

1、学籍管理系统成绩评阅人评阅日期计算机科学与技术系数据库课程设计设计题目: 学生学籍管理系统 班 级: 学 号: 姓 名: 指导老师: 2006年12月25日目录1.学生学籍管理系统简介 32.数据库需求分析 33.系统总体设计 33.1系统物理结构设计 33.2系统体系结构设计 33.2.1基本信息管理功能集合 43.2.2考核管理功能集合 43.2.3用户管理及权限控制功能集合 53.2.4系统流程分析 54. 数据库设计 64.1数据库概念结构设计 64.2数据库逻辑结构设计 84.3数据库物理设计 94.3.1关系数据库的存取方法 94.3.2数据库的存储结构 94.3.3评价物理结构

2、105. 程序模块设计 105.1登陆窗体和系统主界面设计 105.1.1设计登陆窗体 105.1.2设计主界面 115.2学生基本信息管理模块设计 125.2.1功能需求 125.2.2界面设计 135.2.3程序代码设计与分析 145.2.4运行结果 196.参考文献 19一、学生学籍管理系统简介:学籍管理是高等院校学生管理事务中的一项重要工作,在管理过程中涉及大量的数据处理,它的内容对于学校的决策者和管理者来说都至关重要,所以学生学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时

3、间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生学籍信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生学籍管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。二、数据库需求分析:高等院校学籍管理涉及院系信息、班级信息、任课教师信息、学生信息、学籍变更信息

4、、学生奖惩信息、课程信息以及选课信息和成绩等多种数据信息。学籍管理用户包括系统管理员、教师和学生。系统管理员负责日常的学籍管理工作,如各种基本信息的录入、修改、删除等操作。教师使用该系统可完成教学班信息查询和成绩管理。学生使用该系统主要完成选课和成绩查询等操作。经过调研与分析,高等院校学籍管理系统主要应具有以下功能。(1)院系信息管理。院系信息管理包括院系信息数据的录入、修改与删除等功能。(2)学生信息管理。学生信息管理包括学生信息的录入、修改与删除等功能。(3)学生教育经历信息管理。学生教育经历信息管理包括录入、修改与删除等功能。(4)学生奖惩信息管理。学生奖惩信息管理包括学生奖惩信息的录入

5、、修改与删除等功能。(5)学籍变更信息管理。学籍变更信息管理包括学籍变更信息的录入、修改与删除等功能。三、系统总体设计:1、系统物理结构设计本系统采用C/S体系结构,Client (客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server (服务器)端用于提供数据服务。开发数据库管理信息系统需要选择两种工具,即前台开发语言和后台数据库。开发C/S(客户/服务器)结构的应用程序时,前台开发语言通常选择BASIC、VISUAL C+、DELPHI和POWER BUILDER等;如果开发网络应用程序,则需要选择网络数据库系统,例如SQL SERVER、ORACLE等;如果开发单机应

6、用程序,则选择一个小型数据库系统就可以了,比如ACCESS。鉴于对VISUAL C+熟悉,功能强大、面向对象等特点,所以本系统采用VISUAL C+作为开发工具,SQL SERVER作为后台数据库,以提供一个高性能的管理信息系统解决方案。2、系统体系结构设计根据功能分析总结系统的体系结构。系统的功能模块如图所示: 在本系统中,可以把功能模块分为以下3个功能集合来描述:(1)基本信息管理功能集合包括院系信息管理和学生信息管理等功能模块。此集合中功能模块的关系如图:学生基本信息管理模块是整个系统的核心。除了院系管理模块外,其他各个模块都针对每个学生的一个方面进行管理,都需要提供学生编号等基本信息作

7、为索引。(2)考核管理功能集合包括考勤管理和考评管理模块。此集合中功能模块的关系如图所示: (3)用户管理及权限控制功能集合包括用户信息管理、权限控制等模块。权限控制虽然不是一个独立存在的模块,但是它却贯穿整个系统的运行过程当中。 在本系统中,用户管理模块的功能比较简单。在系统初始化时,有两个默认的用户。系统管理员用户为paradise,普通用户为user,手动添加到数据库中。他们的默认密码为123。paradise用户可以创建用户、修改用户信息和删除用户;普通用户只能修改自己的密码和查询信息。 用户管理功能模块的关系如图所示:(4)系统流程分析在本系统中,应该首先增加院系信息,再增加学生信息

8、。院系信息管理模块可以添加、修改、删除和查看院系等操作,院系信息包括院系名称和上级机构等。添加院系信息后,就可以添加学生信息了。在学生信息管理模块中可以对学生信息进行添加、修改、删除和查看操作。学生基本信息包括姓名、性别、民族、籍贯、成绩、身份证号等信息。学生信息是系统的核心数据,它为学生个人简历模块、学生奖励和处罚模块和学籍管理模块提供学生数据。在学籍变动管理模块中,可以对学籍变动信息进行添加、修改、删除和查询操作。学籍变动包括学生、变动类型、转入学校、转入院系、学籍变动原因和备注等信息。在添加学籍变动信息需要选择学生和院系信息。在学生奖惩管理模块中,可以对学生的奖励和处罚信息进行添加、修改

9、、删除和查询等操作。奖惩信息包括学生、奖惩类型和具体署名等信息。在添加奖惩信息时需要选择学生信息。本系统的流程分析如图所示:四、数据库设计 数据库结构设计的好坏将直接对应用系统的效率以及与实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度等等。1、数据库概念结构设计(1)学生实体E-R图 (2)学生转出实体E-R图(3)学生休学E-R图(4)学生退学实体E-R图(5)学生考评实体E-R图(6)学生调班实体E-R图(7)学生留级(跳级)实体E-R图(8)各实体之间的E-R图2 数据库逻辑设计(1)Department表(院系信息表)如表

10、所示。字段名称类 型宽 度允许空值主 键说 明Dep_idchar6NOT NULL是院系编号Dep_namechar20NOT NULL院系名称Describechar8NULL院系描述UpperIdint2NULL上级院系编号(2)Student表(学生信息表)如下表所示。字段名称类 型宽 度允许空值主 键说 明snochar8NOT NULL是学生学号snamechar8NOT NULL学生姓名sexchar2NULL学生性别nativechar20NULL籍贯birthdaysmalldate4NULL学生出生日期cnochar6NULL学生所在院系编号(外键)spnochar8NUL

11、L专业代码(外键)classnochar4NULL班级号entimesmalldate4NULL学生入校时间homevarchar40NULL学生家庭住址telvarchar40NULL学生联系电话(3)Experience表(学生教育经历信息表)如下表所示。字段名称类 型宽 度允许空值主 键说 明Exp_idsmallint2NOT NULL是记录号snochar8NOT NULL学生学号(外键)StartDatedatetime10NOT NULL开始日期EndDatedatetime10NOT NULL终止日期SchoolVarchar50NOT NULL学校名称Titlevarchar

12、20NULL职务(4)Evaluation表(奖励和处罚信息表)如下表所示。字段名称类 型宽 度允许空值主 键说 明Eva_idsmallint2NOT NULL是记录号snochar8NOT NULL学生学号(外键)EvaTypechar1NOT NULL奖罚类型EvaDatedatetime8NOT NULL记录时间Descriptionvarchar100NULL描述(5)Change表(学籍变更信息表)如下表所示。字段名称类 型宽 度允许空值主 键说 明Changeidsmallint2NOT NULL是记录号snochar8NOT NULL学生学号(外键)ChangeTypechar

13、1NOT NULL变更类型OldClassvarchar50NOT NULL原班级名称Newschoolvarchar50NULL新学校名称ChangeDatedatetime8NOT NULL变动日期Reasonvarchar200NOT NULL变动原因Descriptionvarchar200NULL描述(6)Users表(用户信息表)如下表所示。字段名称类 型宽 度允许空值主 键说 明UserNamechar8NOT NULL是用户名Pwdchar8NULL密码User_typeint4NOT NULL操作权限(7)外键定义表如下表所示。关系名主键表主键字段外键表外键字段FK_Stud

14、ents_DepartmentclassescnostudentcnoFK_Experience_StudentstudentSnoExperiencesnoFK_Change_StudentstudentsnochangesnoFK_Evaluation_Studentstudentsnoevaluationsno3、数据库物理设计(1)关系数据库的存取方法: 采用索引方法,主要是B+树索引方法。(2)数据库的存储结构:录入数据采用表格方式,限制录入数据类型及取值范围以保证数据的完整性及准确。由于条件不允许,本系统没有将表和索引放在不同的磁盘,没有能够实现磁盘驱动器并行工作,降低了物理I/O

15、读写的效率。为了改进系统的性能,我选择把比较大的表分放在两个磁盘上,以加快存取速度。(3)评价物理结构:数据完成的时间性:如成绩的录入,仅当师资科录入教学进程,教务科分发教师教学任务安排之后,各系方可录入成绩。数据安全性:本系统采用二级安全保障:第一级:依赖于网络本身对用户使用权限的规定。第二级:在程序模块中通过使用密码控制功能对用户使用权限加以限制。五、程序模块设计1、 登陆窗体和系统主界面设计(1) 设计登陆窗体:登陆窗体的名称为“登陆对话框”,界面布局如图所示:输入用户名的编辑框为IDC_USERNAME_EDIT,输入密码的编辑框为IDC_PWD_EDIT,在属性窗口中,选中编辑框ID

16、C_PWD_EDIT的Password属性。当用户单击“确定”按钮时,将发送BN_CLICKED消息,在ClassWizard窗口中为其添加CLoginDlg:OnOK(),代码如下: void CLoginDlg:OnOK() /将对话框中编辑框的数据读取到成员变量中 UpdateData(TRUE); /检查数据有效性 if (m_UserName = ) MessageBox(请输入用户名); return; if (m_Pwd = ) MessageBox(请输入密码); return; /定义CUsers对象,用于从表Users中读取数据 CUsers user; user.GetD

17、ata(m_UserName); /如果读取的数据与用户输入数据不同,则返回 if (user.GetPwd() != m_Pwd) MessageBox(用户信息不正确,无法登录!你这丫是不是把密码忘记了?); return; /关闭对话框 CDialog:OnOK();(2) 设计主界面:主界面的名称为“学生学籍管理”,加入菜单项,主界面如下图所示:打开ClassWizard窗口,为菜单项IDR_EXIT添加代码,对应的函数为CHrSysDlg:OnExit(),代码如下:void CHrSysDlg:OnExit() / TODO: Add your command handler co

18、de here OnOK();2、 学生基本信息管理模块设计(1)学生基本信息管理模块可以实现以下功能:创建学生记录、修改学生基本信息、删除学生记录、查看学生基本信息。(2)界面设计设计学生基本信息编辑窗体设计学生信息管理窗体设计选择学生信息窗体 (3)程序代码设计与分析 Refresh_Data()函数功能是根据用户选择的院系和学生状态信息设置select语句而刷新DataGrud表格中的数据,代码:void CEmpManDlg:Refresh_Data() UpdateData(TRUE); int iDepId; HTREEITEM node; node = m_tree.GetSel

19、ectedItem(); iDepId = m_tree.GetItemData(node); CString cDepId; cDepId.Format(%d, iDepId); CString cSource = SELECT Emp_Id, Emp_Name AS 姓名, Sex AS 性别,; cSource += Nationality AS 民族, BadgeID 学生证, Position AS 专业,; cSource += Family_Place AS 籍贯 FROM Employees WHERE Dep_Id= + cDepId; int iType = m_combo

20、.GetCurSel(); CString cType; cType.Format(%d, iType); if (iType 0) cSource += AND State= + cType; /刷新ADO Data控件的记录源 m_Adodc.SetRecordSource(cSource); m_Adodc.Refresh(); /设置列宽度 _variant_t vIndex; vIndex = long(0); m_datagrid.GetColumns().GetItem(vIndex).SetWidth(0); vIndex = long(1); m_datagrid.GetCo

21、lumns().GetItem(vIndex).SetWidth(50); vIndex = long(2); m_datagrid.GetColumns().GetItem(vIndex).SetWidth(30); vIndex = long(3); m_datagrid.GetColumns().GetItem(vIndex).SetWidth(57); vIndex = long(4); m_datagrid.GetColumns().GetItem(vIndex).SetWidth(60); vIndex = long(5); m_datagrid.GetColumns().GetI

22、tem(vIndex).SetWidth(60); vIndex = long(6); m_datagrid.GetColumns().GetItem(vIndex).SetWidth(60); 当学生基本信息编辑窗体启动时,将执行OnInitDialog()函数,代码: BOOL CEmpEditDlg:OnInitDialog() CDialog:OnInitDialog(); / TODO: Add extra initialization here /设置性别 if (cSex = 男) m_Sex.SetCurSel(0); else m_Sex.SetCurSel(1); /设置状

23、态 m_State.SetCurSel(iState-1); if (EmpId = 0) GetDlgItem(IDC_SETPHOTO_BUTTON)-EnableWindow(FALSE); else /读取照片图像信息 /清除原图像数据 if(m_hBitmap) DeleteObject(m_hBitmap); m_hBitmap = NULL; /将当前学生记录读取到m_pRs对象中 CString cEmpId; cEmpId.Format(%d, EmpId); /连接数据库 ADOConn m_AdoConn; m_AdoConn.OnInitADOConn(); /设置SE

24、LECT语句 _bstr_t vSQL; vSQL = SELECT * FROM Employees WHERE Emp_id= + cEmpId; /执行SELETE语句 _RecordsetPtr m_pRs; m_pRs = m_AdoConn.GetRecordSet(vSQL); /如果不存在此记录,则将设置按钮置灰并返回 if(m_pRs-adoEOF | m_pRs-adoBOF) GetDlgItem(IDC_SETPHOTO_BUTTON)-EnableWindow(FALSE); return FALSE; /读取图像字段的实际大小 long lDataSize = m_

25、pRs-GetFields()-GetItem(Photo)-ActualSize; char *m_pBuffer; /定义缓冲变量 return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE当用户单击学生信息管理窗体“添加”按钮时将执行OnAddButton()函数,代码:void CEmpManDlg:OnAddButton() / TODO: Add your control notification handle

26、r code here UpdateData(TRUE); HTREEITEM node; /用于保存当前节点 node = m_tree.GetSelectedItem(); /取得当前节点值 int iDepId; iDepId = m_tree.GetItemData(node); if (iDepId = 0) /不能在根节点添加学生 MessageBox(请选择院系); return; CEmpEditDlg dlg; /初始化变量 dlg.EmpId = 0; /编号为0,表示添加 dlg.DepId = iDepId; / dlg.cSex = 男; /性别初始化为男 int i

27、State; iState = m_combo.GetCurSel(); if (iState = 0) dlg.iState = 1; else dlg.iState = iState; CTime t = CTime:GetCurrentTime(); dlg.m_Birth = t; dlg.m_HireDate = t; if (dlg.DoModal() = IDOK) Refresh_Data(); 当用户单击学生信息管理窗体“修改”按钮时将执行OnModiButton()函数,代码: void CEmpManDlg:OnModiButton() / TODO: Add your

28、control notification handler code here UpdateData(TRUE); if (m_Adodc.GetRecordset().GetEof() MessageBox(请选择要修改的记录!); return; CEmployees emp; emp.GetData(m_datagrid.GetItem(0); CEmpEditDlg dlg; dlg.EmpId = emp.GetEmp_Id(); dlg.EmpName = emp.GetEmp_Name(); dlg.DepId = emp.GetDep_Id(); dlg.UpperId = emp.GetUpperId(); dlg.m

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1