




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
110506224张留春 学生信息管理系统的设计 第28页 共28页数据库原理与开发课程设计报告 设计题目: 学生信息管理系统 学生姓名张留春学 号110506224专业名称信息管理与信息系统日 期2013.1.1学生信息管理系统学生姓名:张留春 一、 课程设计说明数据库是信息系统的核心内容,信息系统的设计、开发、维护都建立在后台完备的数据库系统的基础之上。本课程设计拟通过给定题目,要求学生选择指定的系统,按照数据库设计的一般要求和流程,分析并设计出该系统的数据库结构(包括逻辑结构和物理结构)。并最终将所设计的数据库使用SQL语句在SQL Server2000数据库管理系统中建立相应的数据库。二、系统功能描述:随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量成倍增长。面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统可以做到规范管理、科学统计和快速查询,从而减少管理方面的工作量。三、课程设计任务需要完成的功能主要有: 有关学籍等信息的输入,包括学生基本信息、所在班级、所学课程和成绩等 学生信息的查询,包括学生基本信息、所在班级、所学课程和成绩等 学生信息的修改 班级管理信息的输入,包括班级设置、年级信息等 班级管理信息的查询 班级管理信息的修改 学生基本课程信息的输入 学生课程信息的修改 学生课程的设置和修改 学生成绩信息的输入 学生成绩信息的修改 学生成绩信息的查询 学生成绩信息的统计 2系统结构分析2.1需求分析 学生管理系统是适应时代发展的需要,提高管理的效率而开发设计的。通过对信息的收集、存储、传递、统计、分析、综合查询、报表输出和信息共享,及时为管理者提供学生基础信息,违规记录,考试成绩信息的查询。实现了学生信息管理的简单化和规划化,提高了学校日常的工作效率,从而提高学校日常管理的效率,满足管理者对信息的需求。 经过综合分析,确定了学生管理系统的主要包括以下功能:(1)用户登陆功能 管理员登陆界面主要为管理员提供 对系统使用者的操控,确保系统信息的安全性,可靠性,登陆后可以通用系统管理中的用户管理增加或修改用户帐户。(2)学生信息管理功能学生信息管理功能模块可以实现以下功能:学生信息管理;学生成绩录入;(3)学生信息查询功能学生成绩查询;学生课程查询;学生基础信息查询。(4) 关于对话框 显示有关该系统的信息。2.2 功能模块图根据上述的功能,可以设计出系统的总体功能模块,如图2.1所示。学生管理系统系统登陆学生管理查询管理系统管理关于 图2.1 系统总体功能模块“系统登陆”功能模块用于验证使用者的身分,其功能模块如图2.2所示。系统登陆用户名密码 图2.2 系统登陆模块“学生管理”功能模块用于学生信息管理,学生成绩录入,学生违规处理,成绩等级设置,其功能模块如图2.3所示。学生管理成绩等级设置学生违规处理学生成绩录入学生信息管理图2.3 学生管理模块“查询管理”功能模块用于查询学生信息,学生成绩,违规信息,其功能模块如图2.4所示。查询管理学生违规处理学生成绩查询学生信息查询图2.4查询管理模块系统管理用户管理退出系统“系统管理”功能模块用于修改或增加用户,退出系统,其功能模块如图2.5所示。 图 图2.5系统管理模块3数据库设计3.1 概念结构设计根据需求分析抽象出信息结构,可得该系统的E-R图。(1) 用户(tb_user)E-R图,主体为系统管理员,其包含两个属性,分别为用户名和密码。如图3.1所示。 系统管理员 、用户名密码 图3.1 用户E-R图 (2)学生(tb_studentinfo)实体E-R图,主体为学生,其包含属性为学生姓名,学生编号,年龄,性别,地址,班级,联系电话。如图3.2所示。学 生年龄性别学生编号学生姓名地址联系电话班级 图3.2学生实体E-R图(3)考试(tb_examkinds)实体E-R图,主体为考试,其包含属性学生编号,考试类别,考试科目,考试成绩,考试日期。如图3.3所示。 考 试考试成绩考试日期学生编号考试科目考试类别 图3.3考试实体E-R图 通过分析上述实体间的联系将分E-R图合并为学生管理系统的基本E-R图。由于用户这一实体它是用来确定使用该系统权限的于其他实体间无内在联系,故在此不考虑。同时每个实体的属性在上面的分E-R图中已经给出,在此不予给出班 级学 院属 于n1学 生属于1nn考试违 规违规信息考试成绩nm m图3.5 系统基本E-R图3.2逻辑结构设计根据上述的概念结构设计出逻辑结构,将E-R图转换为关系模型。(1)数据库中数据表描述 本数据库包含以下4个表:登录表tb_user,学生基础信息表tb_studentinfo,学生违规信息表tb_regbreakinfo,学生成绩信息表tb_examinfo_sub,成绩等级设置表tb_gradelevel,考试类型表tb_examkinds。表3.1 数据表描述表编号数据表名称类型内容01tb_user辅助表记录管理员帐号,密码02tb_studentinfo主表记录学生基础信息03tb_regbreakinfo主表记录学生违规信息04tb_examinfo_sub主表记录学生成绩信息05tb_gradelevel主表查询时设置查询范围06tb_examkinds主表记录考试的类型 本系统主要用于管理者的使用,即只有系统管理员用户。系统管理员为xuwei,他可以管理所有信息。前面是通过前台来实现系统安全性的,我们也可以对数据库进行身份验证,可以从系统中建一个登录名,使得本系统可以有多个管理员,从而实现对数据库的完善与管理,以此来及时更新系统中的学生信息管理。(2) 系统数据项表描述表3.2 tb_user表数据项信息表编号标识符类型长度所属表名同义名1usernamevarchar20tb_user用户名2pwdvarchar10tb_user密码表3.3 tb_studentinfo表数据项信息表编号标识符类型长度所属表名同义名1studentidvarchar50tb_studentinfo 学生编号2studentnamevarchar50tb_studentinfo学生姓名3phonevarchar50tb_studentinfo联系电话4addrvarchar50tb_studentinfo地址5agefloat8tb_studentinfo年龄6phonevarchar50tb_studentinfo目录名7sexvarchar50tb_studentinfo性别表3.4 tb_regbreakinfo表数据项信息表编号标识符类型长度所属表名同义名1studentidvarchar50tb_regbreakinfo 学生编号2breakcontentvarchar100tb_regbreakinfo违规内容3handleresultvarchar100tb_regbreakinfo处理结果4memovarchar100tb_regbreakinfo备注5breaktime smalldatetime4tb_regbreakinfo时间表3.5 tb_examinfo_sub表数据项信息表编号标识符类型长度所属表名同义名1studentidvarchar50tb_examinfo_sub 学生编号2codevarchar50tb_examinfo_sub考试科目3gradefloat8tb_examinfo_sub成绩4kindvarchar50tb_examinfo_sub考试类型5examdatedatetime8tb_examinfo_sub考试时间表3.6 tb_gradelevel表数据项信息表编号标识符类型长度所属表名同义名1grade_levelvarchar50tb_gradelevel 成绩等级2up_gradefloat8tb_gradelevel最高分数3low_gradefloat8tb_gradelevel最低分数表3.7 tb_examkinds表数据项信息表编号标识符类型长度所属表名同义名1kindvarchar50tb_examkinds 考试类型4系统实现4.1 数据库的连接 在该系统中数据库的连接使用ODBC。ODBC是一种可以执行SQL语句的API。ODBC有VC+ 6.0编程语言编写的类及接口组成,使用它可以将VC程序连接到SQL Sever等多种关系型数据库中。程序员通过ODBC可以编写成具有平台无关性的数据库应用程序。 首先配置ODBC数据源。打开Windows控制面板,找到管理工具数据源 (ODBC),双击打开此选项,数据源配置界面如图4.1所示:图 4.1 数据源配置界面 选择添加(D).,弹出“创建新数据源”界面,下拉选择框到最末尾,选择SQL Server。点击完成按钮,弹出“创建到SQL Server的新数据源”界面,填写相关的内容,其中,名称(M)可以任意指定一个自己方便记忆的数据源名称(必须),描述(D)用来描述此数据源,可以不用填写,而服务器(S)来源于:SQL Sever服务管理器。点击下一步按钮,不需要做任何改动。点击下一步按钮,选择更改默认的数据库为(D):自己定义的数据库,此处选择之前创建的数据库wang(重要),点击完成按钮,完成新数据源的创建工作。数据源源配置成功之后进行测试,测试结果如图4.2所示。图4.2 数据源测试结果4.2数据库备份和恢复方案(1)应用辅助工具进行备份和恢复 应用数据库辅助工具(如sqlbackuptools)进行备份,选择所需要备份的数据库和目标地址即可进行数据备份,恢复数据库只需要指定备份文件和需要恢复的数据库即可进行数据恢复。(2)分离数据库法在企业管理器中右击需要备份的数据库,选择“所有任务”,“分离数据库”,执行分析操作,拷贝数据库MDF文件和LDF文件。恢复方案:在企业管理器的控制台树中选择“数据库”节点,右击,“所有任务”,“附加数据库”,找到待恢复数据库的MDF文件,确定。4.3系统功能模块设置本系统的用户界面用VC+ 6.0编写,主要由1个主界面和10个辅助对话框组成。主界面集合系统主要基本功能按键,辅助对话框负责采集用户输入信息和做基本的信息处理。:(1)系统类文件功能描述NO.类名类型功能01CMystudentsysDlgFrame主窗口类,提供系统主要功能的调用接口02CMystudentsysApp辅助类封装系统主要数据和方法,为其它类提供信息处理功能03CRegbreak_finddigDialog查询学生的违规信息04CUserdlgDialog管理员信息修改对话框,修改管理员密码,删除管理员05CInput_regbreakdlgDialog学生违规信息的录入06CInfoStudentDialog学生基础信息的录入07CGrade_levelinfodigDialog学生成绩等级的设置08CExaminfo_submarkdlgDialog学生成绩的录入09CLoginDialog管理员登陆对话框,提供登陆界面,检查登陆信息表4.1 类文件作用描述表(2)系统数据流表描述表4.3 数据流表编号名称来源去向组成1登陆信息管理员应用系统用户名+密码2授权信息应用系统管理员3错误身份信息应用系统管理员4查询请求管理员应用系统待查询对象识别符(如Cid,Ono)5查询结果应用系统管理员被查询对象具体信息6管理请求管理员应用系统识别符(Cid,Ono等)+管理类型7管理结果信息应用系统管理员被管理对象处理结果8非法请求应用系统管理员非法请求提示信息5功能测试5.1测试方案由于系统规模较小,所以没有安排单独的白盒测试,而是相应地将这部分测试归并到系统编码过程中。整个测试过程基于自顶向下测试的组装模块的方法,先对主模块进行基本测试,然后在按深度优先策略逐一将子模块组装到主模块上进行测试,最后再对系统进行全面的整体测试。5.2测试过程(1)登陆测试双击可执行文件mystudentsys.exe打开应用系统,可见登陆界面如图5.1所示:图5. 1 系统登陆界面若输入用户名和密码错误,用户无法登陆如图5.2所示:图5.2 登陆错误提示信息输入正确用户名和密码,用户正常登陆。(2)学生管理功能测试A:学生信息管理:选择“学生信息管理”,填写学生信息(或者单击添加按钮),单击“保存”按钮,即可将当前输入的学生信息保存到数据库中,如图5.3所示:图5.3 学生信息保存B:单击“第一条”,“上一条”,“下一条”,“末一条” 按钮,可分别查看数据中以录入的学生信息,如图5.4所示:图5.4 查看学生信息C:选中学生信息页面,单击删除按钮,及可删除相应的学生信息,如图5.5所示:图5.5 删除学生信息D:学生成绩录入:“学生管理”,“学生成绩录入”,单击“保存”按钮,即可保存输入的成绩信息。如图5.6所示:图5.6 学生成绩录入A:学生成绩查询:“查询管理”,“学生成绩查询”,输入学生编号,单击查询按钮即可显示查询学生的信息。如图5.10所示:图5.10 学生成绩查询C:学生基础信息查询:“查询管理”,“学生违规查询”,输入学生编号,单击“查询”按钮,即可查看所查询学生的信息。如图5.12所示:图5.12 学生基本信息查询(4) 系统管理功能测试A:用户管理:“系统管理”,“用户管理”,出现用户管理界面,如图5.13所示。在该界面可以为系统添加管理员,删除管理员,修改管理员,增加系统的管理人数以及修改变更。图5.13 用户管理B:退出系统:如图5.14所示:图5.14 退出系统(5) 关于作者信息,显示作者的信息.如图5.15所示:图5.15 关于作者程序代码CREATE DATABASE xuweiGOCREATE TABLE tb_examinfo_sub (studentid varchar(50) NOT NULL ,code varchar(50) NOT NULL ,grade float NOT NULL ,kind varchar(50) NOT NULL ,examdate datetime NOT NULL ) ;GOCREATE TABLE tb_regbreakinfo (studentid varchar(50) NOT NULL ,breakcontent varchar(100) NOT NULL ,handleresult varchar (100) NOT NULL ,memo varchar(100) ,breaktime smalldatetime NOT NULL ) ;GOCREATE TABLE tb_studentinfo (studentid varchar(50) NOT NULL ,studentname varchar(50) NOT NULL ,sex varchar(50) NOT NULL ,age float NOT NULL ,addr varchar(60) ,phone varchar(50) ,class varchar(50) NOT NULL ) ;GOCREATE TABLE tb_user (username varchar(20) NOT NULL ,pwd varchar(10) ) ;GOCREATE TABLE tb_gradelevel (grade_level varchar(50) NOT NULL,up_grade float NOT NULL,low_grade float NOT NULL) ;GOCREATE TABLE tb_examkinds (kind varchar(50) NOT NULL) ;GO/程序名称:mystudentsys.cpp/程序功能:取得应用程序与数据库系统的连接tryCString strConnect;strConnect.Format(DSN=mystudentsys;);if (m_DB.Open(NULL,false,false,ODBC;DSN=xuwei;UID=Sa;PWD=123;)=0)AfxMessageBox(Unable to Connect to the Specified Data Source);return FALSE ;catch(CDBException *pE)pE-ReportError();pE-Delete();return FALSE;/基于对话框的MFC程序,运行完了App函数之后便运行initial函数CLogin dlg;if(dlg.DoModal() != IDOK) /在登录对话框显示后若用户按取消按钮则执行if语句销毁登录对话框OnOK(); /执行本函数的ONOK函数,销毁登录对话框/返回true显示出MystudentsysDlg对话框return TRUE; / return TRUE unless you set the focus to a control/程序名称:Login.cpp/程序功能:系统登陆void CLogin:OnOK() / TODO: Add extra validation hereUpdateData(TRUE);if(m_Name.IsEmpty() | m_PassWord.IsEmpty()MessageBox(用户名或密码不能为空);return;m_Num+;CString sql;sql.Format(select * from tb_user where username = %s and pwd = %s,m_Name,m_PassWord);m_LoginSet = new CLoginSet(&(CMystudentsysApp*)AfxGetApp()-m_DB);if(!m_LoginSet-Open(AFX_DB_USE_DEFAULT_TYPE,sql)AfxMessageBox(tb_studentinfo 表打开失败!);if(m_LoginSet-GetRecordCount()!=0)CDialog:OnOK(); /核对密码成功,销毁登录对话框elseif(m_Num = 3)MessageBox(密码3次不正确);CDialog:OnCancel();elseMessageBox(用户名或密码不正确);m_Name = ;m_PassWord = ;UpdateData(FALSE);if(m_LoginSet-IsOpen()m_LoginSet-Close();delete m_LoginSet; /程序名称:Studentinfo_finddlg.cpp/程序功能:学生基本信息录入BOOL CStudentinfo_finddlg:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization herem_List.InsertColumn(0,学生姓名);m_List.InsertColumn(1,性别);m_List.InsertColumn(2,年龄);m_List.InsertColumn(3,住址);m_List.InsertColumn(4,电话);m_List.InsertColumn(5,班级);RECT rect;m_List.GetWindowRect(&rect);int wid=rect.right-rect.left;m_List.SetColumnWidth(0,wid/6);m_List.SetColumnWidth(1,wid/6); m_List.SetColumnWidth(2,wid/6);m_List.SetColumnWidth(3,wid/6);m_List.SetColumnWidth(4,wid/6);m_List.SetColumnWidth(5,wid/6);m_List.SetExtendedStyle(LVS_EX_FULLROWSELECT);return TRUE;void CStudentinfo_finddlg:OnClose() / TODO: Add your message handler code here and/or call defaultCDialog:OnClose();void CStudentinfo_finddlg:Onfindstudentinfo() / TODO: Add your control notification handler code herem_List.DeleteAllItems();UpdateData(TRUE);if(m_studentid.IsEmpty()AfxMessageBox(请输入查询学生编号!);elseCString sqlStr;sqlStr=SELECT * FROM tb_studentinfo WHERE studentid=;sqlStr+=m_studentid;sqlStr+=;mystudentset = new CStudentinfoset(&(CMystudentsysApp*)AfxGetApp()-m_DB);if(!mystudentset-Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr)AfxMessageBox(tb_studentinfo表打开失败!);if(mystudentset-GetRecordCount() = 0)AfxMessageBox(该学生无相关违规记录!);m_studentid = _T();UpdateData(FALSE);return;DisplayRecord();if(mystudentset-IsOpen()mystudentset-Close();delete mystudentset;bool CStudentinfo_finddlg:DisplayRecord()m_List.DeleteAllItems();CString addr,sage,sclass;CString name,phone,sex;CString date;int age; name = mystudentset-m_studentname;addr = mystudentset-m_addr;age = mystudentset-m_age;sclass = mystudentset-m_class;phone = mystudentset-m_phone; sex = mystudentset-m_sex;sage.Format(%d,age);m_List.InsertItem(0,name.GetBuffer(50); m_List.SetItemText(0,1,sex.GetBuffer(50);m_List.SetItemText(0,2,sage.GetBuffer(50);m_List.SetItemText(0,3,addr.GetBuffer(50); m_List.SetItemText(0,4,phone.GetBuffer(50);m_List.SetItemText(0,5,sclass.GetBuffer(50);UpdateData(FALSE);return TRUE;/程序名称:Examinfo_submarkdlg.cpp/程序功能:学生成绩查询void CExaminfo_submarkdlg:Oninputsavemarks() UpdateData(TRUE); /读入输入的资料if(m_studentid.IsEmpty()|m_examsubject.IsEmpty()|m_examkind.IsEmpty()AfxMessageBox(请输入相应的数据!);return;CString sqlStr_findid;sqlStr_findid=SELECT * FROM tb_studentinfo WHERE tb_studentinfo.studentid=+m_studentid+ ;myfindset_id = new CStudentinfoset(&(CMystudentsysApp*)AfxGetApp()-m_DB);if(!myfindset_id-Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr_findid)AfxMessageBox(tb_studentinfo表打开失败!);if(myfindset_id-GetRecordCount()=0)AfxMessageBox(没有此学生,请确认学号后再输入!); if(myfindset_id-IsOpen()myfindset_id-Close();delete myfindset_id;return;if(myfindset_id-IsOpen()myfindset_id-Close();delete myfindset_id; CString sql;CString year,month,day;year = m_examdate.Format(%Y);month = m_examdate.Format(%m);day = m_examdate.Format(%d);sql.Format(SELECT * FROM tb_examinfo_sub WHERE tb_examinfo_sub.studentid= %s and code = %s and kind = %s and year(examdate) = %s andmonth(examdate) = %s and day(examdate) = %s,m_studentid,m_examsubject,m_examkind,year,month,day);myexamsubmarkset_findsame = new CExaminfo_submarkset(&(CMystudentsysApp*)AfxGetApp()-m_DB);if(!myexamsubmarkset_findsame-Open(AFX_DB_USE_DEFAULT_TYPE,sql)AfxMessageBox(tb_examinfo_sub表打开失败!);if(myexamsubmarkset_findsame-GetRecordCount()!=0)AfxMessageBox(已经有此记录,不能重复输入!);if(myexamsubmarkset_findsame-IsOpen() myexamsubmarkset_findsame-Close();return;if(myexamsubmarkset_findsame-IsOpen() myexamsubmarkset_findsame-Close();delete myexamsubmarkset_findsame;myexamsubmarkset-AddNew(); /调用添加记录的函数处理myexamsubmarkset-m_studentid = m_studentid; /对应变量更新myexamsubmarkset-m_code = m_examsubject; myexamsubmarkset-m_grade = m_submark; myexamsubmarkset-m_kind = m_examkind;myexamsubmarkset-m_examdate = m_examdate;myexamsubmarkset-Update();myexamsubmarkset-Requery();DisplayRecord(); /更新显示bool CExaminfo_submarkdl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 零碳园区供暖负荷预测与调节方案
- 数字化仓储管理系统方案
- 污水处理厂建设工程施工方案
- 司机新交规知识培训课件
- 司机岗位安全知识培训课件
- 工程项目碳经济张静晓课后答案
- 历年玄外分班考数学试卷
- 司机专业礼仪知识培训内容课件
- 梦见发数学试卷
- 机场货运安全知识培训课件
- 合同延期协议模板
- 2025年广州市城市更新计划
- 医院创建平安医院领导小组职责
- 光源与照明工程师月工作总结
- 《腰椎病的推拿疗法》课件
- 呼吸衰竭完整课件
- 《T-ZGYSYJH 004-2022 产褥期妇女食养药膳技术指南》
- 齐河经济开发区马寨小区安置楼工程临时用电组织设计(5月10日改)
- 220kV变电站土建工程项目管理实施规划(第二版)
- 《计算机网络技术》(第三版)教学指南
- 专门为聋哑人的语文教案
评论
0/150
提交评论