基于java的学生信息管理系统设计与实现Word文档下载推荐.doc
《基于java的学生信息管理系统设计与实现Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《基于java的学生信息管理系统设计与实现Word文档下载推荐.doc(36页珍藏版)》请在冰豆网上搜索。
![基于java的学生信息管理系统设计与实现Word文档下载推荐.doc](https://file1.bdocx.com/fileroot1/2022-10/7/c891d469-bff8-411c-918b-11a4d8b0ec9a/c891d469-bff8-411c-918b-11a4d8b0ec9a1.gif)
1引言 1
1.1背景及意义 1
1.2实验技术选择 1
1.3课题实现技术的简要说明 5
1.4可行性分析 6
2系统需求分析 6
3学生信息管理系统设计 7
3.1数据模型分析与设计 8
3.2结构设计与结构功能图 10
3.2.1结构设计 10
3.2.2功能结构图 10
4系统实现 12
5系统调试与测试 17
5.1系统功能测试 17
5.2系统调试常见错误 17
6实验小结 19
参考文献 19
1引言
1.1背景及意义
学生信息管理系统是一个教育单位不可缺少的部分。
一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:
效率低、保密性差、人工的大量浪费;
另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。
随着科学技术的不断提高,计算机科学日渐成熟其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比拟的优点。
例如:
检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。
要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。
这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。
本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。
通过一个简化的学生信息管理系统,使学生信息管理工作系统化、规范化、自动化,从而达到提高学生信息管理效率的目的。
本课题就是针对便于学生信息管理的问题而设计的一个管理系统。
1.2实验技术选择
本课题设计主要运用的技术有两个:
java项目开发和oracle对数据库的操作。
这里主要介绍本课题为什么选用这两个开发技术:
⑴首先了解一下Java语言特点
Java是一种跨平台,适合于分布式计算环境的面向对象编程语言。
具体来说,它具有如下特性:
简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。
下面我们将重点介绍Java语言的面向对象、平台无关、分布式、多线程、可靠和安全等特性。
①面向对象
面向对象其实是现实世界模型的自然延伸。
现实世界中任何实体都可以看作是对象。
对象之间通过消息相互作用。
另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。
如果说传统的过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。
用公式表示,过程式编程语言为:
程序=算法+数据;
面向对象编程语言为:
程序=对象+消息。
所有面向对象编程语言都支持三个概念:
封装、多态性和继承,Java也不例外。
现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法(其作用是处理数据或同外界交互)。
所谓封装,就是用一个自主式框架把对象的数据和方法联在一起形成一个整体。
可以说,对象是支持封装的手段,是封装的基本单位。
Java语言的封装性较强,因为Java无全程变量,无主函数,在Java中绝大部分成员是对象,只有简单的数字类型、字符类型和布尔类型除外。
而对于这些类型,Java也提供了相应的对象类型以便与其他对象交互操作。
多态性就是多种表现形式,具体来说,可以用“一个对外接口,多个内在实现方法”表示。
举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。
不管存储的是何种数据,堆栈的算法实现是一样的。
针对不同的数据类型,编程人员不必手工选择,只需使用统一接口名,系统可自动选择。
运算符重载(operatoroverload)一直被认为是一种优秀的多态机制体现,但由于考虑到它会使程序变得难以理解,所以Java最后还是把它取消了。
继承是指一个对象直接使用另一对象的属性和方法。
事实上,我们遇到的很多实体都有继承的含义。
例如,若把汽车看成一个实体,它可以分成多个子实体,如:
卡车、公共汽车等。
这些子实体都具有汽车的特性,因此,汽车是它们的“父亲”,而这些子实体则是汽车的“孩子”。
Java提供给用户一系列类(class),Java的类有层次结构,子类可以继承父类的属性和方法。
与另外一些面向对象编程语言不同,Java只支持单一继承。
②平台无关性
Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。
平台无关有两种:
源代码级和目标代码级。
C和C++具有一定程度的源代码级平台无关,表明用C或C++写的应用程序不用修改只需重新编译就可以在不同平台上运行。
Java主要靠Java虚拟机(JVM)在目标码级实现平台无关性。
JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。
但JVM通常是在软件上而不是在硬件上实现。
(目前,SUN系统公司已经设计实现了Java芯片,主要使用在网络计算机NC上。
另外,Java芯片的出现也会使Java更容易嵌入到家用电器中。
)JVM是Java平台无关的基础,在JVM上,有一个Java解释器用来解释Java编译器编译后的程序。
Java编程人员在编写完程序后,通过Java编译器将Java源程序编译为JVM的字节代码。
任何一台机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。
另外,Java采用的是基于IEEE标准的数据类型。
通过JVM保证数据类型的一致性,也确保了Java的平台无关性。
Java的平台无关性具有深远意义。
首先,它使得编程人员所梦寐以求的事情(开发一次软件在任意平台上运行)变成事实,这将大大加快和促进软件产品的开发。
其次Java的平台无关性正好迎合了“网络计算机”思想。
如果大量常用的应用软件(如字处理软件等)都用Java重新编写,并且放在某个Internet服务器上,那么具有NC的用户将不需要占用大量空间安装软件,他们只需要一个Java解释器,每当需要使用某种应用软件时,下载该软件的字节代码即可,运行结果也可以发回服务器。
目前,已有数家公司开始使用这种新型的计算模式构筑自己的企业信息系统。
③分布式
分布式包括数据分布和操作分布。
数据分布是指数据可以分散在网络的不同主机上,操作分布是指把一个计算分散在不同主机上处理。
Java支持WWW客户机/服务器计算模式,因此,它支持这两种分布性。
对于前者,Java提供了一个叫作URL的对象,利用这个对象,你可以打开并访问具有相同URL地址上的对象,访问方式与访问本地文件系统相同。
对于后者,Java的applet小程序可以从服务器下载到客户端,即部分计算在客户端进行,提高系统执行效率。
Java提供了一整套网络类库,开发人员可以利用类库进行网络程序设计,方便得实现Java的分布式特性。
④可靠性和安全性
Java最初设计目的是应用于电子类消费产品,因此要求较高的可靠性。
Java虽然源于C++,但它消除了许多C++不可靠因素,可以防止许多编程错误。
首先,Java是强类型的语言,要求显式的方法声明,这保证了编译器可以发现方法调用错误,保证程序更加可靠;
其次,Java不支持指针,这杜绝了内存的非法访问;
第三,Java的自动单元收集防止了内存丢失等动态内存分配导致的问题;
第四,Java解释器运行时实施检查,可以发现数组和字符串访问的越界,最后,Java提供了异常处理机制,程序员可以把一组错误代码放在一个地方,这样可以简化错误处理任务便于恢复。
由于Java主要用于网络应用程序开发,因此对安全性有较高的要求。
如果没有安全保证,用户从网络下载程序执行就非常危险。
Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。
当Java字节码进入解释器时,首先必须经过字节码校验器的检查,然后,Java解释器将决定程序中类的内存布局,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破坏。
最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统。
上述几种机制结合起来,使得Java成为安全的编程语言。
⑤多线程
线程是操作系统的一种新概念,它又被称作轻量进程,是比传统进程更小的可并发执行的单位。
C和C++采用单线程体系结构,而Java却提供了多线程支持。
Java在两方面支持多线程。
一方面,Java环境本身就是多线程的。
若干个系统线程运行负责必要的无用单元回收,系统维护等系统级操作;
另一方面,Java语言内置多线程控制,可以大大简化多线程应用程序开发。
Java提供了一个类Thread,由它负责启动运行,终止线程,并可检查线程状态。
Java的线程还包括一组同步原语。
这些原语负责对线程实行并发控制。
利用Java的多线程编程接口,开发人员可以方便得写出支持多线程的应用程序,提高程序执行效率。
必须注意地是,Java的多线程支持在一定程度上受运行时支持平台的限制。
例如,如果操作系统本身不支持多线程,Java的多线程特性可能就表现不出来。
⑵oracle数据库的特点
●无范式要求,可根据实际系统需求构造数据库。
●采用标准的SQL结构化查询语言。
●具有丰富的开发工具,覆盖开发周期的各阶段。
●支持大型数据库,数据类型支持数字、字符、大至4GB的二进制数据,为数据库的面向存储提供数据支持。
●具有第四代语言的开发工具(SQL*formS、SQL*REPORTS、SQL*MENU等)。
●具有字符界面和图形界面,易于开发。
●通过SQL*DBA控制用户权限,提供数据保护功能,监控数据库的运行状态,调整数据缓冲区的大小。
●分布优化查询功能。
●具有数据透明、网络透明,支持异种网络、异构数据库系统。
并行处理采用动态数据分片技术。
●支持客户机/服务器体系结构及混合的体系结构(集中式、分布式、客户机/服务器)。
●实现了两阶段提交、多线索查询手段。
●支持多种系统平台(HPUX、SUNOS、OSF/1、VMS、WINDOWS、WINDOWS/NT、OS/2)。
●数据安全保护措施:
没有读锁,采取快照SNAP方式完全消除