1、1摘 要随着 21 世纪的到来, 人们更深刻的感受到了计算机在生活和工作中的作用越来越重要,越来越多的职业需要具有计算机的应用技能。掌握计算机是职业的需要,社会的需要,更是事业发展的需要。今天,计算机技术不但广泛地应用在办公自动化中,还全面渗透到各行各业。所有与计算机相关的职业都要求工作者有很强的计算机操作技能,做到运用自如,熟练而且深入的掌握软件的应用。随着计算机技术的飞速发展,今后,计算机作为一种崭新的生产力,将在信息社会即新技术革命中发挥越来越重要的作用,并进一步推动人类社会更快的向前发展。而信息资源已成为各个部门的重要财富和资源。建立一个满足各级部门信息处理要求的行之有效的处理系统也成
2、为一个企业或组织生存和发展的重要条件。本系统是由 Java 开发工具编写的。由 Microsoft Access 作为后台数据库进行管理维护。本文主要讲述了利用 Java 来开发一套学生信息管理系统的设计方法。该系统采用多个模块,实现了学生成绩、基本信息的录入、修改、和查询等功能。关键词: 学生信息 Java 数据库2目 录摘要.1第一章 绪论. 3 1.1 选题的背景及意义.3 1.2 本系统主要功能模块.3第二章 学生信息管理系统分析.4 2.1 系统的可行性调查. .4 2.2 系统的需求分析.42.2.1 学生信息管理系统的功能要求.42.2.2 学生信息管理系统的性能需求.42.2.
3、3 学生信息管理系统的数据需求.5第三章 Java 简介.73.1 Java 起源.7 3.2 Java 的某些特点.7 3.3 Java 与中间件.83.4 Java 的弱点. . .8 第四章 Access 数据库.94.1 Access 概述.94.2 Access 的使用.94.2.1 新数据库文件的创建.94.2.2 数据库文件的打开及数据库对象.10第五章 系统的实现.115.1 总体设计.115.2 数据库数据结构设计.125.3 Java 程序实现.135.4 各功能模块和流程图.165.4.1 各功能模块.165.4.2 流程图.17结束语. .18参考文献. .183第 一
4、 章 绪 论1. 1 选题的背景及意义学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、
5、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 1.2 本系统主要功能模块本系统的主要任务就是负责对学生信息管理。主要用户为老师和学生,其中,学生可对自己的信息进行查询,老师则可对学生的信息和成绩进行添加和修改、删除。系统提供友好界面,操作简单。为实现这些功能,系统一个包含如下几个基本模块:1. 用户登陆模块。用户可以选择自己的登陆身份。2. 添加信息模块。教师可以实现对学生信息的添加。3. 修改信息模块。教师可以实现对学生信息的修改。4. 查询信息模块。学生只可以在此界面进行操作。5.
6、删除信息模块。教师可以实现对学生信息的删除。4第 二 章 学 生 信 息 管 理 系 统 分 析21 系统的可行性调查可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解。 建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化。 经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。本报告经审核后,交软件负责人审查。可行性分析包括两部分内容:分析建立新的管理信息系统的必要性
7、和可能性。分析建立信息系统的必要性时要注意用户提出的理由是否充分和合理;分析建立信息系统的可能性主要包括经济可行性、技术可行性和社会可行性。经济可行性研究的目的是使新系统能达到以最小的开发成本取得最佳的经济效益。需要作投资估算,对开发中所需人员、硬软件支持以及其它费用进行估算,并对系统投入使用后带来的经济效益进行估计。技术可行性研究就是弄清现有技术条件能否顺利完成开发工作,硬软件配置能否满足开发的需要等等。社会可行性研究是指新系统在投入使用后,对社会可能带来的影响进行分析。 2.2 系统的需求分析2.2.1 学生信息管理系统的功能要求 学生信息管理系统的总目标是:在计算机网络,数据库和先进的开
8、发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的学生信息管理系统,实现学校教师和学生共同使用的一个信息管理系统,为教师对学生信息的添加、修改、删除、查询和学生查询自己信息提供方便。52.2.2 学生信息管理系统的性能需求学生信息管理系统主要提供信息查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己有关的各科成绩,教师可以通过该系统对学生的信息进行添加、删除、修改和查询。为了保证系统能够长期、安全、稳定、可靠、高效的运行,学生信息管理系统应该满足以下的性能需求:1系统处理的准确性和及时性系统处理的准确性和及时性是系统的
9、必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足各使用者对信息处理的需求。由于信息查询系统的查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,而学生的信息的准确性很大程度上决定了学生信息管理系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性。2系统的开放性和系统的可扩充性学生信息管理系统在开发过程中,应该充分考虑以后的可扩充性。例如科目的改变和学生基本信息的改变,学生查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系
10、统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。3系统的易用性和易维护性学生信息管理系统是直接面对使用人员的,而使用人员往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。学生信息管理系统中涉及到的数据是学生的重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。4系统的标准性系统
11、在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。例如在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准。如规范的数据库操纵界面、作为业界标准的 TCP/IP 网络协议及 ISO9002 标准所要求的质量规范等;同时,在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性。5系统的响应速度学生信息管理系统系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。62.2.3 学生
12、信息管理系统的数据需求学生信息管理系统的数据需求包括如下几点:1.数据录入和处理的准确性和实时性数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。数据的输入来源是手工输入。手工输入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培训。在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。2. 数据的一致性与完整性由于系统的数据是共享的,对于不同的教师,学生的信息是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去
13、向,并且要求对数据库的数据完整性进行严格的约束。对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。3. 数据的共享与独立性整个学生信息管理系统的数据是共享的。然而,从系统开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。这样,也能提供系统的强壮性。7第 三 章 Java 简 介3.1 Java 起源起源于 80 年代的中末期,当时西方有一种很时髦的产品:Active TV,Java 就是 Sun 公司为这种产品开发的一种语言,其目标是在小型嵌入式系统上运行。但是由于动态图像压缩
14、标准 MPEG 却始终未能出台,因而这个时期的Java 也就中途夭折了。到了 1990 年,Sun 公司副总裁 James Gosling 再次提出Java 的设计,其目标是希望仿效 C 和 C+那样设计出一种更简单、更有效、更容易使用的跨多种计算机平台(硬件、操作系统等),可移植的通用语言。到了 90 年代中期,互联网迅速崛起,短短几年得到了巨速的发展,成千上万的计算机,其中有个人的、企业的、政府的,公司加入到了互联网上,致使互联网深入到了生活、社会、经济、政治、军事的每一个角落,因此急需开发一种跨平台软件开发工具,这给 Java 得到了一个极好的发展机遇,1995 年 Sun 公司首次推出
15、 Java 语言。短短的几年中 Java 得到了极大的发展,成立互联网开发和应用发展的一个重要工具。3.2 Java 的某些特点1通用性:指的是跨平台、跨网络、跨语种和跨时间。跨平台:指的是 Java 与计算机平台(硬件、操作系统)无关。跨网络:指的是 Java 与网络平台无关,可以穿越多种常用的网络类型(平台)。它的结构确切地说是 B/S 模型(浏览器/服务器模型,亦称 Web 模型)。B/S 模型是一种三层结构的模型:客户端/应用服务器(Web 服务器)/数据库服务器。跨语种:指的是 Java 的应用软件不存在语言本地化问题,它本身带有语言机制。它主要是通过所谓“国际语言管理”(Inter
16、national Language Management)模块实现的。跨时间:技术更新和保护投资的方案、产品升级容易,只需编写一个新的模块,替换老模块即可。2可移植性:Java 的源代码是可移植的,而且对现有的几乎所有操作系统无须修改便能运行,还具有多线程同步、与平台无关的用户接口、内置联网8功能、对象会打印功能、出错处理、内存管理等功能。CPU 可移植性和虚拟操作系统。3支持分布式环境:1) 分布式对象支持:类似于微软的 OLE(对象的链接和嵌入 Object Linking and Embedding)。支持面向对象的“继承”特性。2) 分布式计算环境支持:通过不断扩充的 Java 网络类
17、库支持分布式计算环境。Java 提供一个 URL(统一资源定位器)对象,用以打开并访问网上对象。其方式几乎与访问文件系统几乎完全相同。Java 的客户机/服务器模式把运算从服务器分散到客户端。以提高系统执行效率,增加动态可扩充性。Java 虚拟机(JVM):这是一种软 CPU,是 Java 环境最重要的组件,它是仿照一种小巧高效的 CPU 设计的,Java 的编译器就是把 Java 的源代码编译成 VM 可执行的伪标代码,而伪目标代码转换成实际的硬件调用。3.3 Java 与中间件Java 的客户端,一般都做的很“瘦”,因此必须通过中间件才能与后台数据库相连接,由中间件来完成主要的处理操作,问
18、题是中间件在什么平台上运行,是 UNIX 还是 NT?网络内有不同子网,子网间也有中间件连接(运行在网点上)。因此比较合适的办法是在 Java 上建立中间件,来解决跨平台问题。3.4 Java 的弱点1 跨平台速度慢。因为需要处理诸如中间件 JVM 等以及网络网关的连接。这是以增加网络系统开销来换取跨平台的功能,为提高速度,需要 Java 的未用总线来支持(至少三线)。2 全开放性,造成易于攻击。自身一定的抗病毒能力,但最易受 ActiveX 的攻击。3 以松散耦合构架的应用程序结构,仍然是牺牲网络系统性能(开销)来换取应用程序以整体、完整的连续性。4 以互联网为环境的应用程序、总体而言,安全
19、性是值得质疑的。5 用 Java 开发的小程序性能要比大程序性能优秀得多。9第 四 章 Access 数 据 库4.1 Access 概 述Access 是 Office 系列软件中用来专门管理数据库的应用软件。所谓数据库是指经过组织的、关于特定主题或对象的信息集合。数据库管理系统分为两类:文件管理系统和关系型管理系统。Access 应用程序就是一种功能强大且使用方便的关系型数据库管理系统,一般也称关系型数据库管理软件。它可运行于各种 Microsoft Windows 系统环境中,由于它继承了 Windows 的特性,不仅易于使用,而且界面友好,如今在世界各地广泛流行。它并不需要数据库管理者
20、具有专业的程序设计水平,任何非专业的用户都可以用它来创建功能强大的数据库管理系统。本章将专门介绍 Access 2002(下面简称为 Access)的基本功能及其常用的操作,主要内容包括创建和使用数据表,建立和使用查询、窗体,以及数据表与其他数据文件之间的转换等流行的桌面数据库管理系统之一。数据库技术是计算机软件的一个重要分支,它产生于 20 世纪 60 年代,最早是由 IBM 公司推出的 IMS 数据库系统。数据库技术从开始到现在大致经历了三个阶段,分别是:人工管理阶段、文件管理阶段和数据库管理阶段。Access 使用标准的 SQL(Structured Query Language,结构化
21、查询语言)作为它的数据库语言,从而提供了强大的数据处理能力和通用性,使其成为一个功能强大而且易于使用的桌面关系型数据库管理系统和应用程序生成器。一个 Access 数据库中可以包含表、查询、窗体、报表、宏、模块以及数据访问页。不同于传统的桌面数据库(dbase、 FoxPro、Paradox), Access 数据库使用单一的*.mdb 文件管理所有的信息,这种针对数据库集成的最优化文件结构不仅包括数据本身,也包括了它的支持对象。4.2 Access 的使用4.2.1 新数据库文件的创建Access 中创建和处理的文件是数据库文件,其扩展名为 .mdb。与Microsoft Office 中其
22、他的应用程序(Word、Excel 等)不同的是,Access 启动后,并不自动创建一个空的文件,然后让用户输入数据,再保存。在 Access中,需要用户自己来创建一个新的数据库文件。单击任务窗格中的“新建空数据库”项,Access 会马上弹出一个对话框让用户给出要新建的数据库的文件名。这也是和 Office 中其他的软件不同的。输入文件名后,Access 打开一个新窗口。 在该窗口的标题栏中显示了新建数据库文件的名称,窗口工作区的左窗格10中列出了数据库可包含的主要对象类型,右窗格中列出的是创建当前对象的向导和具体的对象名称。另外,还可以在任务窗格中单击“根据模板新建” ,使用数据库向导来创
23、建新的数据库。4.2.2 数据库文件的打开及数据库对象Access 可打开的文件类型包括 Excel 电子表格、Dbase 数据库、文本文件、Paradox 数据库、Web 页以及 Access 自己生成的 mdb 文件。在任务窗格的“打开文件”项下,可以选择曾经使用过的文件直接打开,也可以使用菜单【文件】【打开】或常用工具栏的打开按钮 ,在“打开对话框”中选择文件来打开。在一个 Access 窗口中,同一时刻只能打开一个 Access 数据库,当打开或新建一个数据库时,会自动关闭原来打开的数据库。如果需要打开多个数据库,则要启动多个 Access 窗口。Access 具有全环绕数据库文件结构
24、,可以在一个 mdb 文件中包含数据对象(表、索引、查询)和应用对象(窗体、报表、宏、VBA 代码模块) 。在一个打开的 Access 数据库窗口中,分组显示了数据库包含的对象,其类型包括表、查询、窗体、报表、页、宏、模块等。一个 Access 数据库可以包含多达 32768 个对象(表、查询、报表等的组合) ,下面对这些对象作一简要介绍。表:存储数据的容器,是关系数据库系统的基础。表以行列格式存储数据项,这一点和电子表格有些类似。表中的单个信息单元(列)称为字段,在表的顶部可以看到这些字段名;表的一行中所有数据字段的集合,称为记录。用户可以从其他的应用系统(如 dBASE、FoxPro、Pa
25、radox) 、客户服务器数据库(如 SQL Server)以及电子表格(如 Excel 工作表和 Lotus1-2-3)中导入表。Access 可以同时打开 1024 个表。通常我们可以直接选择表然后再创建表,并对表格做一些设计或向表中添加内容即可。查询:显示从多个表(最多为 16 个)中选取的数据。通过使用查询,用户可以指定如何表示数据,选择构成查询的表,并可以从所选表中提取出最多255 个特定的字段。用户可以通过指定要查询数据的条件来决定显示的数据项。窗体:窗体是数据库和用户的一个联系界面,用于显示包含在表或查询结果中的数据,或操作数据库中的数据。窗体中可以包含图片、图形、声音、视频等多
26、种对象,也可以包含 VBA 代码来提供事件处理。子窗体是包含于主窗体中的窗体,主要是用来简化用户的操作。报表:用友好和实用的形式来打印表和查询结果数据。报表中可以加入图形来美化打印效果。Access 的报表处理能力比起其他关系数据库管理系统来(包括那些为小型机和大型机设计的应用管理系统在内) ,其报表的处理能力显得更为灵活方便。报表中同样也可以添加 VBA 代码来实现一定的功能。宏:宏主要是用于执行特殊的操作和响应用户激发的事件,如单击命令按钮操作等。现在宏已经过时了,Access 2002 之所以支持宏,是为了能够与早期的 Access 版本所创建的数据库应用系统保持兼容。Microsoft 建议在Access 应用系统中采用 VBA 代码来进行事件的处理,这一原则在 Office 系列中均适用。模块:在模块中使用 VBA 代码的目的主要有两个:一是创建在窗体、报表