还剩19页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数据库系统课程设计报告题目学生学籍管理系统的设计与实现学生姓名高 凯学号20131346031学院计算机与软件学院专业 网络工程指导教师 马瑞二O一五年月日目录TOC\o1-3\u1引言
11.1__背景和意义12系统需求分析及相关技术介绍
12.1系统需求分析
12.2系统的可行性分析23总体设计
23.1系统模块设计
23.2数据库设计34系统实现
44.1系统功能结构
1.1__背景和意义__以来,学校对学生学籍的管理都还使用着传统的模式在此模式下,人工的记录学生信息、考试信息等等而随着现代素质教育与时代的不断发展,这样的模式已经不能完全适应现代的教育形势较之传统的管理方式,我所设计的学生学籍管理系统的优势有一方面可以实现数据共享,不但像使用单机系统一样,进行便捷地各种数据的添加、修改、删除、查询和统计等操作,并且具有相当的安全性和可靠性;另一方面,检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等这些优点能够极大地提高学生学籍管理的效率,也是学校的科学化、正规化管理与社会接轨的重要条件 2系统需求分析和可行性分析
2.1系统需求分析学生学籍管理系统是基于学校的工作需求而设定,围绕这一工作需求,根据高校人员结构分析,在项目__前期的需求分析工程中,学生学籍管理系统的应用应包括系统设置、学生信息管理、学生成绩管理以及系统说明等部分系统应具有学生学籍信息输入、删除和修改的功能,学生成绩信息亦是如此系统的查询功能应较为完备,不同的用户将登录到不同的主界面,进行不同的界面操作功能能方便地进行相应数据的简单查询和任意字段组合的复合查询,改变以前只有专门人员才能进行数据查询的情况系统应有学生数据安全保密措施,由于身份不同将登录到不同的主界面,高级的用户可以操作低级用户的信息,而低级用户之间互不能操作,保持了信息的安全性但在需要时可由系统维护人员通过添加用户并授权来设置相应权限在系统程序设计中应充分利用数据库服务器的处理能力,降低网络通信量,尽可能减少数据修改冲突,以最大程度地提高系统的执行速度和可靠性,真正起到提高工作效率的作用
2.2系统可行性分析系统可行性主要包括3个方面技术上的可行性、经济上的可行性和管理上的可行性首先,系统在技术上无论是硬件性能要求,还是软件性能要求,均可行其次,从__项目的成本与效益来看,系统__的设备费用、运行费用、培训费用并不能过大,而通过系统的实施,一方面,提高了工作效率,将带来更多的经济效益;另一方面,系统所产生的间接效益也不容忽视工作效率的提高可以节省人力资源,减轻了有关业务人员手工处理的工作负担,及时提供决策信息,促进业务的规范化、系统化、条理化和程序化最后,科学的管理是建立管理信息系统的前提管理人员支持本系统的研发运行,相应的管理制度__的时机已经成熟,规章制度已经齐全,原始数据正确随着时代的发展,人员素质已经逐步提高,不论是对于电脑系统的基本操作还是对于系统的维护都有了一定的基础同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑故障问题3系统总体设计系统设计的任务是确定系统的数据模式、功能结构和系统结构,确定系统支持环境、实现方法和技术系统设计的基本内容是选择数据库管理系统,建立数据模式;选择系统支持环境,包括支持系统运行的硬件和软件要求,确定系统实现功能和方法以及选择系统的基本架构和技术
3.1系统模块设计这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及他们之间的关系,为逻辑结构设计打下基础这个阶段用到的工具是E—R图实体--__图本系统E-R图如下学生实体E-R图
3.2数据库设计逻辑结构设计逻辑结构设计的主要目标是将概念结构转换为一个特定的DBMS可处理的数据模型和数据库模式该模型必须满足数据库的存取、一致性及运行等各方面的用户需求该设计以概念结构设计中的E-R图为主要依据,设计出相关的整体逻辑结构根据E-R图可知学生信息(学号,性别,姓名,班号,入校日期,出生日期,____,家庭住址备注); 数据库物理结构设计从一个满足用户需求的已确定的逻辑模型出发,在限定的软、硬件环境下,利用DBMS提供的各种手段设计数据库的内模式,即设计数据的存储结构和存取方法数据库物理结构设计是对于给定的逻辑数据模型,选择一个适合的物理结构,主要涉及存取方法与存储结构,它依赖于计算机系统关系数据库系统采用关系模型作为数据的组织方式,现在流行的数据库系统大都是关系数据库系统通过对关系模式的优化,得到一个基本表学生信息表字段名字段类型长度主键或外键字段值约束对应中文属性名student_snovarchar50Pri__ryKeyNotNull学号student_snamevarchar50姓名student_s___varchar50性别borndatevarchar50出生日期Classnovarchar50班号Nationvarchar50民族Sdeptvarchar50所在系addressvarchar50地址在SQLServer2014中,文件夹是按数据库对象的类型建立的,文件夹名是该数据库对象名当在企业管理器中选择服务器和数据库文件夹,并打开已定义好的student数据库后,会发现它自动设置了关系图、表、视图、存储过程、用户、角色、规则、默认等文件夹要建立各个表,选择student数据库中的表,单击鼠标右键,在弹出的菜单中选择“新建表”程序系统设计图如下4系统实现
4.1系统功能结构
1.___登陆界面该界面可以输入___号,登陆__用户通过验证通过后方可进入管理系统一定程度上保证了信息安全性,防止他人未经允许篡改学生信息
2.查询学生信息可以选择由用户选择“显示系统中当前的所有学生信息”也可以选择按照“某一个学号查询该学号的学生信息”查询到的信息会在窗口中依次显示出来
3.添加学生信息可以按照图形的界面的显示依次输入新学生的“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”完成新纪录的添加
4.修改学生信息可以选择按照“学号”或者“姓名”找到该学生的学生信息并输入要修改的属性,并输入新的数据完成对学生记录的修改
5.删除学生记录可以根据输入的“学号”或者“姓名”进行删除的操作
6.显示学生信息可以显示所有学生的信息、以供查看
1.添加学生信息
2.修改学生信息
3.查询学生信息
4.删除学生信息
5.显示学生信息
6.退出管理系统
4.2具体功能介绍首先,登录流程图如下所示其次,函数之间的调用如下图所示失败登录界面输入“姓名”和“__”,__“Login”,通过验证则进入主功能菜单如果输入错误则会有相应的警告!
1.当输入一个错误时,会出现下图
2.登陆成功时会出现下图
1.显示__,弹出如下窗口2.添加__,弹出如下窗口若输入的学号已经存在,则会弹出如下窗口成功添加时会弹出3.修改__并输入修改信息,若输入的学号不存在,则输入要修改的正确学号,弹出如下窗口4.查询__,弹出如下窗口当输入的学号不存在时,则输入正确的学号时,则会弹出窗口5.删除__,弹出如下窗口当输入的学号不存在时,会弹出提示当删除成功时,弹出窗口6.退出__,退出学籍管理系统5主要程序代码及说明
1.菜单部分代码packageXSXJGL;importimport;importimportimportimportimportimport;import;publicclassMenu{JFramejf;JButtonj1j2j3j4j5j6;publicstaticvoid__inStringargs[]{Menum=newMenu;m.go;}publicvoidgo{jf=newJFrame学生学籍管理系统;jf.setBounds200200300200;Containercp=jf.getContentPane;cp.setLayoutnewFlowLayoutFlowLayout.LEADING2020;j1=newJButton添加学生信息;j2=newJButton修改学生信息;j3=newJButton查询学生信息;j4=newJButton删除学生信息;j5=newJButton显示学生信息;j6=newJButton退出管理系统;cp.addj1;cp.addj2;cp.addj3;cp.addj4;cp.addj5;cp.addj6;j
1.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{newAdd;}};j
2.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{Modifymodify=newModify;}};j
3.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{Searchsearch=newSearch;}};j
4.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{Deletedelete=newDelete;}};j
5.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{Displaydisplay=newDisplay;}};j
6.addActionListenernewActionListener{publicvoidactionPerformedActionEventae{System.exit0;}};jf.setVisibletrue;}}
2.登录部分代码packageXSXJGL;importimportimportimportimportimportimportimportimportimportpublicclassLogin{publicstaticvoid__inString[]args{finalStringuserName=1;finalStringpasswrod=1;finalJFramejFrame=newJFrame登陆界面;Dimensiondimension=Toolkit.getDefaultToolkit.getScreenSize;jFrame.setBoundsintdimension.getWidth-200/2intdimension.getHeight-300/2200150;jFrame.setResizablefalse;jFrame.setLayoutnull;jFrame.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;JLabellabel1=newJLabel姓名;label
1.setBounds101010030;jFrame.addlabel1;JLabellabel2=newJLabel__;label
2.setBounds104010030;jFrame.addlabel2;finalJTextFieldtext1=newJTextField;text
1.setBounds501513020;jFrame.addtext1;finalJPasswordFieldtext2=newJPasswordField;text
2.setBounds504513020;jFrame.addtext2;JButtonbutton=newJButtonLogin;button.setBounds107517040;button.addActionListenernewActionListener{@OverridepublicvoidactionPerformedActionEvente{ifuserName.equalstext
1.getTextpasswrod.equalstext
2.getText{jFrame.dispose;JOptionPane.showMessageDialognull登陆成功提示JOptionPane.INFOR__TION_MESSAGE;jFrame.dispose;newMenu.go;}else{JOptionPane.showMessageDialognull错误提示JOptionPane.ERROR_MESSAGE;text
1.setText;text
2.setText;}}};jFrame.addbutton;jFrame.setVisibletrue;jFrame.setLocationRelativeTonull;}}
3.连接数据库部分代码packageimportimportimport;import;importimportXSXJGL.Delete;publicclassmyConnection{staticStringurl=jdbc:sqlserver://localhost:1433;DatabaseName=XSXJGL;staticStringuser=sa;staticStringpw=sqlserverSa;staticConnectionconn;publicstaticConnectiongetmyConnection{try{Class.forName;conn=Driver__nager.getConnectionurluserpw;returnconn;}catchClassNotFoundEx__ptione{e.printStackTra__;}catchSQLEx__ptione{//TODOAuto-generatedcatchblocke.printStackTra__;}returnnull;}}其他部分代码由于篇幅过长,不再赘述6课题总结通过本次课程设计,我巩固了所学到的知识,之前的学习只是停留在理论基础上,现在自己动手操作试验后,才是真正的理解及体会数据库也学了一个学期,有很多知识都是似懂非懂,通过平时上机操作,自己也了解了一些,但仍有许多不理解的东西,这次的课程设计让我有了更深的理解和更好的认识之前的困惑通过这次的课程设计也解决了一些,虽然还是不能够全面的理解,但是有进步就是收获我初步学会了论文设计的基本方法,学会了怎样去借鉴别人的方法和经验,知道了如何整合资料和处理这些资料的能力在系统编译的时候会经常因为一些小的错误而心烦意乱,但是也不失为一件好事,失败的越多积累的经验也越丰富,也使自己的能力有了进一步的提高由于知识和经验的不足,这个系统还是有许多需要改进的地方,以后我会更加努力的,在学习的过程中不断地提高和改进加强了我关于理论__实际、与具体课题项目结合__、设计系统的能力在本次课程设计中,我遇到了许多困难,在解决它们的同时收获颇多,特别是如何分析、建立、__一个系统我认识到在一个系统__的过程中编码不是最重要的,重要的是系统分析并建立起系统模型在分析一个系统之前,分析人员必须要对将要__的系统所涉及到的各方面内容有一个总体的认识,并清楚该系统所要实现的功能有了这次的经验,以后在做类似系统时,一定在实现之前先设计周全,努力做到更完善,更好____
[1]彭东.《SQLServer2005应用__技术指南》.北京清华大学出版社
[2]夏邦贵.《SQLServer数据库__入门与范例解析》.北京北京机械工业出版社
[3]岳付强等.《SQLServer从实战到入门[M]》.北京清华大学出版社,2009
[4]李春葆.《VisualBasic数据库系统设计与__》.北京清华大学出版社班级民族学号所在系性别学生姓名生日地址删除查询登录退出失败成功登录验证添加修改显示学生学籍管理系统删除查询登录退出失败成功登录验证学生学籍管理系统添加修改显示SearchLogin成功登录验证AddModifyDeleteDisplay。