还剩21页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
软件学院网络工程专业2班
一、课程设计论文题目学生信息管理系统
二、课程设计论文工作自2008年6月30日起至2008年7月4日止
三、课程设计论文地点:数据库实验室
四、课程设计论文内容要求1.本课程设计的目的
(1)巩固和加深对数据库基本知识的理解,提高综合运用课程知识的能力
(2)使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力
(3)使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力2.课程设计的任务及要求1)基本要求
(1)对系统进行功能模块分析、控制模块分析;
(2)系统设计要能完成题目所要求的功能;
(3)编程简练,可用,尽可能的使系统的功能更加完善和全面;
(4)说明书、流程图要清楚;
(5)提高学生的论文写作能力;
(6)特别要求自己独立完成;2)创新要求在基本要求达到后,可进行创新设计,如完善的功能、友好的人机界面3)课程设计论文编写要求
(1)要按照书稿的规格打印与写课程设计论文;
(2)论文包括目录、绪论、正文、小结、参考文献、附录等;
(3)课程设计论文装订按学校的统一要求完成;4)课程设计进度安排内容天数地点构思及收集资料1图书馆编码与调试3实验室撰写论文1图书馆、实验室学生签名2008年6月20日课程设计论文评审意见
(1)完成基本功能(20分)优( )、良( )、中( )、一般( )、差( );
(2)完成调试 (20分)优( )、良( )、中( )、一般( )、差( );
(3)创新设计 (20分)优( )、良( )、中( )、一般( )、差( );
(4)设计分析 (20分)优( )、良( )、中( )、一般( )、差( );
(5)回答问题 (20分)优( )、良( )、中( )、一般( )、差( );
(6)格式规范性及考勤是否降等级是()、否( )评阅人职称2007年6月25日目录TOC\o1-2\h\z\u第一章编程环境简介1第二章系统需求分析
32.1系统需求分析………………………………………………..
32.2各模块的数据流程图………………………………………..4第三章系统概要设计
53.1系统结构设计………………………………………………...
53.2功能模块设计………………………………………………...
63.3各表E-R图…………………………………………………..6第四章逻辑设计7第五章详细设计
125.1连接数据库语句…………………………………………….
125.2相关sql查询语句……………………………………………...13第六章系统测试结果14第七章心得体会19参考文献19第一章编程环境简介学生学籍管理系统采用JAVA语言编写,其数据库部分用MicrosoftSQLServer完成,用到的开发工具分别有Eclipse和MicrosoftSQLServer2005Java语言其实最是诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折但是,网络的出现改变了OAK的命运在Java出现以前,Internet上的信息内容都是一些乏味死板的HTML文档这对于那些迷恋于WEB浏览的人们来说简直不可容忍他们迫切希望能在WEN中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障对于用户的这种要求,传统的编程语言显得无能为力,面SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都想到噢,这正是我想要的于是Java成了一颗耀眼的明星,丑小鸭一下了变成了白天鹅Java的开发环境有不同的版本,如sun公司的JavaDevelopmentKit,简称JDK后来微软公司推出了支持Java规范的MicrosoftVisualJ++Java开发环境,简称VJ++Java的特点
1.平台无关性平台无关性是指Java能运行于不同的平台Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间使用Java编写的程序能在世界范围内共享Java的数据类型与机器无关,Java虚拟机(JavaVirtualMachine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的
2.安全性Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统Java对程序提供了安全管理器,防止程序的非法访问
3.面向对象Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用程序员只需把主要精力用在类和接口的设计和应用上Java提供了众多的一般对象的类,通过继承即可使用父类的方法在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类
4.分布式Java建立在扩展TCP/IP网络平台上库函数提供了用HTTP和FTP协议传送和接受信息的方法这使得程序员使用网络上的文件和使用本机文件一样容易
5.健壮性Java致力于检查程序在编译和运行时的错误类型检查帮助检查出许多开发早期出现的错误Java自己操纵内存减少了内存出错的可能性Java还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发Java应用程序的周期并且Java还提供了Null指针检测、数组边界检测、异常出口、Bytecode校验等功能Java与C/C++语言Java提供了一个功能强大语言的所有功能,但几乎没有一点含混特征C++安全性不好,但C和C++被大家接受,所以Java设计成C++形式,让大家很容易学习Java去掉了C++语言中的指针运算、结构、typedefs、#define、需要释放内存等功能,减少了平常出错的50%,让Java的语言功能很精炼而且,因为Java很小,所以整个解释器只需215K的RAM,并增加了一些很有用的功能,如自动收集碎片Java实现了C++的基本面象对象技术并有一些增强,(为了语言简单,删除了一些功能)Java处理数据方式和用对象接口处理对象数据方式一样SQLServer是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用SQLServer2005为IT专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,SQLServer2005为不同规模的企业提供了一个完整的数据解决方案SQLServer是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用SQLServer2005为IT专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,SQLServer2005为不同规模的企业提供了一个完整的数据解决方案第二章系统需求分析
1.系统需求分析教育在国家的建设与发展中起着重要的作用,占据着重要的战略地位,特别是今年来科学地位的快速发展,学校的教育管理水平不断地提高,积极地推动了我国教育事业的发展,计算机的引用与普及进一步加快了学校的信息化管理作为计算机应用的一部分使用计算机对学生信息进行管理具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等这些优点能够极大地提高学生信息管理的效率也是企业的科学化、正规化管理与世界接轨的重要条件这次课程设计的课题为学生学籍管理系统,其主要包含学生基本信息和考试成绩系统能进行学生信息的录入考试成绩登记查询等功能本系统根据对终端用户和客户进行调研,得出下面的需求说明文本
1.由于学生学藉等信息具有一定的保密性,为了便于管理,应该为用户设置密码保护,提高系统数据的安全性
2.软件能够对学生的学籍信息进行记录,并能够非常方便的浏览、添加、编辑、和查询学生的学习信息能够通过软件即使了解学生的基本情况
3.软件能够对学生的成绩信息非常方便的进行浏览、添加、编辑、和查询实现成绩的有效管理,方便教员查看
4.课程信息描述了课程名称、授课老师等信息能够帮助教学管理人员进行有效管理
5.系统应该具有数据库维护功能,系统运行在Windows平台上,应该具有较好的图形用户界面,还有较好的可拓展性
2.各模块的数据流程图如下第三章概要设计
1、系统结构设计系统设计室在需求分析完成后,按照需求分析的要求进行的学社学籍管理系统根据需求分析结果,可以包括下面几个功能
1.有关学生信息表的操作,包括查询、修改、删除、插入学生信息
2.有关课程表的操作,包括查询、修改课程表信息
3.有关选课表的操作,包括查询、修改、插入选课成绩信息
4.编辑名单的查询操作
5.班级课表的查询操作
6.系统管理,包括没骂管理和用户管理系统结构图如下:
2、功能模块设计本系统主要包括5个功能模块,系统登录退出、学生信息操作、课程信息操作和选课信息操作和班级学院信息操作本人完成了主要的代码设计,包括系统登陆,各种查询修改操作等等!
3、E-R图
1.学生信息E-R图
2.课程表E-R图
3.选课表E-R图
4.班级名单表
5.用户密码表E-R图
6.班级课表E-R图第四章系统逻辑设计下面把E-R图转换为关系模型,关系的码用下横线标出!学生信息表(学号,姓名,性别,年龄,入学日期,籍贯,民族)此表用来记录学生的相关信息,主码是学号Sql语言为createtable学生信息表学号char10primarykey姓名char10年龄char10性别char2入学日期char11民族char10籍贯char10,check性别=女or性别=男课程表(课程号,课程名,授课老师,学分)此表用来记录课程的相关信息,主码是课程号Sql语言为createtable课程表课程号char10primarykey课程名char10授课老师char10学分char2选课表(学号,课程号,成绩)此表用来学生进行选课操作,主码是(学号,课程号)Sql语言为createtable选课表学号char10primarykey课程号char10primarykey成绩char2班级名单表(序号,姓名,学号,学籍状态,班级号)此表用来查询班级名单的信息,主码为序号Sql语言为createtable班级名单表序号char10primarykey学号char10primarykey姓名char12,学籍状态char10班级号char
(10)班级课程表(节次,周一,周二,周三,周四,周五)此表用来查询某个班级的课程表信息主码为(节次)Sql语言为createtable班级课表节次char10primarykey周一char10周二char12,周三char10周四char
(10)周五char10用户密码表(用户名,密码)此表用来设置登陆权限,主码为用户名Sql语言为createtable用户密码(用户名char10primarykey用户密码char20)第五章系统详细设计
1.连接数据库语句使用jdbc-odbc桥接驱动程序来连接sqlservier数据库!Java语言如下packagedataBaseTest;importjava.sql.*;publicclassConnectDataBase{Connectioncon1;ResultSetrs1;Statementst1;publicConnectDataBase{}publicvoidconnect_db{try{Class.forNamesun.jdbc.odbc.JdbcOdbcDriver;}catchClassNotFoundExceptione1{System.out.printlndrivernotfound!;}try{con1=DriverManager.getConnectionjdbc:odbc:studentcourse;st1=con
1.createStatement;}catchSQLExceptione2{System.out.printlntablenotfound;}}publicvoidclose_db{try{st
1.close;con
1.close;}catchSQLExceptione3{System.out.printlne
3.getMessage;}}}
2.相关sql查询语句在进行该数据库系统操作的时侯,进行的相关的sql语句如下查询学生信息select*from学生信息表where学号=’变量’修改学生信息Update学生信息表Set姓名=’变量’,性别=’变量’,年龄=’变量’,民族=’变量’,籍贯=’变量’,入学日期=’变量’Where学号=’变量’,删除学生信息Deletefrom学生信息表where学号=’变量‘插入学生信息Insertinto学生信息表values(‘变量’,‘变量’,‘变量’,‘变量’,‘变量’,‘变量’,‘变量’)(其他的sql语句和上述类似,不在此描述)此外在进行学院信息查询时,没有用数据库的表信息,而是改成了用输入流的方式,在磁盘中读取文件!查询操作的函数代码如下publicvoidquery_college{Stringstr1=str2=;try{Stringstr=com
1.getSelectedItem.toString;FileReaderd1=newFileReaderstr+.txt;BufferedReaderbr1=newBufferedReaderd1;whilestr2=br
1.readLine!=null{str1=str1+str2+\r\n;}d
1.close;text.setTextstr1;JOptionPane.showMessageDialognull操作成功!;}catchIOExceptione1{System.out.printlne
1.getMessage;}}第六章系统测试结果
1、用户登陆页面
2.进入管理系统页面如下
3.学生信息管理页面
4.课程信息管理页面
3.1查询学生信息页面
3.2修改学生信息页面
3.3注册学生信息页面
3.4注销学生信息页面
4.1查询课程信息页面
4.2注销课程信息页面
5.班级名单查询页面
6.班级课表查询
7.查询成绩信息页面
7.1查询成绩信息页面
7.2修改学生信息页面
7.3修改后再查询得
10、查询学院信息在下拉列表中选择软件学院!第七章心得体会经过不到一个礼拜的时间,我的数据库课设终于是做完了,虽然做的没有达到自己预期的效果那么好,不过,自己上看着它一天天的长大,总算还是有很多的收获!第一次这样做,也给以后建立了一些基础,由于自己的才疏学浅以及时间问题,没有很好的去完善整个系统的功能,比如,登陆设置,如今的成果是,只要登陆成功,就可以进行任何的操作,没有达到用户和管理员相独立的局面!本人认为这是最大的不足,因为这样就不能保证数据的安全性和独立性!在以后这都是自己要努力和改正的地方!要做到尽善尽美的地步!在写代码的过程中,自己认为是学到很多东西,很多东西技术都是在查询api文档之后才了解到的!所以我们不能看到自己的一点点成绩就沾沾自喜,我们懂得只是整个海洋的一片波涛,还有整个海洋等带你的探索!参考文献
[1].萨师煊王珊.《数据库系统概论》.高等教育出版社,2000
[2].崔巍.《数据库系统及应用》.高等教育出版社,2003
[3].Java语言实用教程北京邮电大学出版社,2005
[4].张海藩.《软件工程导论》.清华大学出版社,1998查询学生信息学生学籍管理系统学生信息表课程表选课表班级表班级课表用户密码表修改学生信息删除学生信息插入学生信息查询课程信息修改课程信息查询选课成绩信息修改选课成绩信息插入选课成绩信息查询班级名单查询班级课程表用户登录学生信息表入校日期民族籍贯年龄学号姓名性别课程表课程号课程名授课老师学分选课表学号课程号成绩班级名单表序号姓名学号学籍状态班级号用户密码表用户名密码班级课表节次周三周一周四周二周五。