基于java的学生信息管理系统设计与实现_第1页
基于java的学生信息管理系统设计与实现_第2页
基于java的学生信息管理系统设计与实现_第3页
基于java的学生信息管理系统设计与实现_第4页
基于java的学生信息管理系统设计与实现_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于 java 的学生信息管理系统设计与实现基于 java 的学生信息管理系统设计与实现摘要:利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。本设计就是一个为实现信息化管理而开发的信息管理系统,能够进行信息存储、查询、修改等能功。该系统由六个模块构成,包括学生管理系统的主界面模块、学生信息管理模块、课程信息管理模块、成绩信息管理模块、信息查询模块和数据库操作模块。通过这些模块的有机结合,能方便的对学生信息进行综合管理,从而实现了信息化管理的目的。由于本人的能力有限,设计过程中难免有不足之处,设计中的存在问题本人将在日后进一步修改,以便让程序的设计更加完善。 关键词:oracle; 异常处理;关系模型目录1 引 言 .11.1 背景及意义 .11.2 实验技术选择 .11.3 课题实现技术的简要说明 .51.4 可行性分析 .62 系统需求分析 .63 学生信息管理系统设计 .73.1 数据模型分析与设计 .83.2 结构设计与结构功能图 .103.2.1 结构设计 .103.2.2 功能结构图 .104 系统实现 .125 系统调试与测试 .175.1 系统功能测试 .175.2 系统调试常见错误 .176 实验小结 .19参考文献 .191 引 言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 方式完全消除了分布读写冲突。自动检测死锁和冲突并解决。 数据安全级别为 C2 级(最高级) 。 数据库内模支持多字节码制,支持多种语言文字编码。具有面向制造系统的管理信息系统和财务系统应用系统。综上所述,选择 java 作为开发语言,oracle 作为数据库开发工具是个不错的选择。java 语言的面向对象、平台无关、分布式、多线程、可靠和安全等特性,使得开发出来的项目具有健壮性、可维护性、可移植性等特点。Oracle 是目前最具权威的数据库产品,它具有的兼容性、可移植性、可联结性、高生产率和开放性的特点,使它成为当今众多的程序开发人员首选的数据库开发工具。所以本课题选择 java 和 oracle 作为开发技术是为今后开发更复杂的项目打下基础,以免到时候遇到相关的技术问题而不知所措。1.3 课题实现技术的简要说明 本课题主要运用了 java 图形编程和 oracle 数据库的操作。Java 图形编程给用户提供了一个直观、易于与用户进行交互的图形界面。在图形编程中,运用了大量的 java.swing 包中的类,之所以选择 swing 包中的类而不选 java.awt包中的类,主要是 swing 包中的类能给用户提供更好的观感。oracle 数据库的操作这部分内容分成三部分来实现:首先,编写对数据库操作的类,包括:连接数据库、执行 sql 语句、关闭数据库连接等。其次,编写一个用于对学生信息进行数据库操作的类,包括:学生信息的增加、修改、删除和查询等。最后,编写一个用于对课程相关信息进行数据库操作的类,包括:对课程信息的增加、修改、删除、查询等等。通过结合图形编程和数据库编程,从而基本上实现了学生信息管理的基本功能,由于本人技术上的不足,难免有些地方需要改进,这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论