【毕业论文】JAVA学生信息管理系统

更新时间:2023-04-18 06:55:02 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

……………(论文)

目录

第1章绪论 (1)

1.1 引言 (1)

1.2 问题的定义 (1)

1.3 系统介绍 (2)

1.3.1系统目标 (2)

1.3.2业务流程图 (3)

第2章可行性研究 (5)

2.1技术可行性 (5)

2.2经济可行性 (5)

2.3操作可行性 (5)

2.4法律可行性 (5)

第3章需求分析 (7)

3.1系统需要解决的主要问题 (7)

3.2系统具备的基本功能 (7)

3.3数据流图 (7)

3.4数据字典 (8)

3.4.1 数据存储 (9)

3.4.2 数据流 (9)

3.4.3 数据处理 (10)

第4章总体设计 (11)

4.1概述 (11)

4.2系统学生子功能划分 (12)

4.3学生子系统功能描述 (13)

4.4数据库概念结构设计 (13)

4.5数据库设计 (15)

4.6安全保密设计 (16)

4.6.1 登陆用户的安全性 (16)

……………(论文)

4.6.2 数据安全性 (16)

第5章详细设计 (17)

5.1概述 (17)

5.2程序流程图 (17)

5.3学生子系统的实施 (18)

第6章测试与维护 (26)

6.1测试的任务及目标 (26)

6.1.1 测试的任务 (26)

6.1.2 测试的目标 (26)

6.2测试方案 (26)

6.2.1 模块测试: (26)

6.2.2 集成测试: (27)

6.2.3 验收测试: (27)

6.2.4 平行运行 (27)

6.3系统维护 (28)

结论 (29)

致谢 (30)

参考文献 (31)

……………………..(论文)

第1章绪论

1.1 引言

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。随着计算机网络技术发展,Web 数据库技术已经成为应用最为广泛的网站架构基础技术在应用系统中,Web提供了与用户进行通信联络的有效手段,利用Web技术,实现Web服务器与数据库系统的连接,完成对数据的处理与查询,用户可以通过操作简单易学的浏览器来查询处理所需要的各种数据。

1.2 问题的定义

学生信息的管理是学校日常工作中的重要组成部分。高校招生规模的逐步扩大和认识制度的改革,在校学生人数将不断增加,而学生管理人员则相对减少。加上我国高等学校基层学生管理工作的头绪多,内容杂,管理细,要求高,传统管理办法已基本不适应新形势的要求。在校生的基本信息的管理,选课及成绩的信息的管理,学生学籍的管理,稍有不慎就会出现错误。同时学生成绩的手工登录与查询,是一项非常繁重而枯燥的劳动,每年课程的变化都需要重新规划,耗费许多人力和物力,而且会因人的情绪烦燥而出现失误。因此在计算机飞速发展的今天,应用数据库技术实现学生信息的管理是可行而必要的工作,实现高校学生信息网上管理,既能够提高工作效率,又可以提高工作水平。

计算机具有运算速度快、精度高、能按照设计逻辑处理问题等特性,在学生信息的录入、统计中如采用一个计算机化的信息系统进行处理,就不会发生信息遗漏或者数据输入不正确的情形。

在学校,而长期以来,学生信息管理都是依赖人工进行的,面对如此众多的学生信息,其工作量可想而知。不仅仅浪费了大量的人力物力,而且由于人工管理存在着大量的不可控因素,造成了信息管理的某些不规范。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高的效率。因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以开发一套学生信息管理系统学生模块为例,谈谈其开发过程和所涉及到的问题及解决方法。

1

……………………..(论文)

1.3 系统介绍

本系统前台采用JSP技术,Jsp是基于Java Servlet以及整个Java体系的Web开发技术,利用这一技术可以建立安全的、跨平台的先进动态网站,这项技术还在不断地被更新和优化。后台数据库是MySQL,两者结合,为Web数据库技术提供了完美的实现体系. 学生信息管理系统就是在这种条件下开发出来的,通过网页的形式,完成学生个人成绩、信息查询及密码修改等功能。

学生信息管理系统是典型的信息管理系统,本系统采用B/S的设计结构,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起资料一致性和完整性强、资料安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。学生信息管理系统是一个学校信息化管理的重要组成部分,不但能实现学生网上成绩查询,同时也为学校管理者提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理学生信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间长了,将产生大量的文件和资料,这对于查找、更新和维护都带来了不少的困难。

1.3.1 系统目标

如今,计算机的价格已经十分低廉,性能却有了长足的进步。计算机已经成为我们学习和工作的得力助手。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:

首先,计算机可以代替人工进行许多繁杂的劳动;

其次,计算机可以节省许多资源;

第三,计算机可以大大的提高人们的工作效率;

第四,计算机可以使敏感文档更加安全,等等。

现在我国的学校中学生信息的管理水平大多还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。

采用计算机来实现学生信息管理系统归纳起来,好处大约有以下几点:

1.可以存储历届的学生信息,安全、高效;

2.只需一到二名信息录入员即可操作系统,节省大量人力;

3.可以迅速查到所需信息。

2

……………………..(论文)

3

4. 为将来学校上网做好准备。

学校学生可以在任何一个角落查询自己的成绩信息,不受时间、地点限制。

根据要求,本系统模块具体实现如下的功能:

1. 实现学生网上成绩查询的功能。学生可以在网上查询自已每门课的成绩信息。

2. 实现对学生个人信息查询的功能。学生可以在网上查询自已的个人信息。

3. 实现对学生课表查询的功能。学生可以在网上查询自已的课表信息。

4. 实现对学生用户密码修改的功能。学生可以在网上修改自己的用户密码。

1.3.2 业务流程图

业务流程描述:用业务流程图描述现系统各项业务处理过程,并结合业务流程图详细准确地说明业务处理过程中数据的收集、输入、传递、存储、加工的方法、算法、输出的数量及形式等。

现行系统的业务流程图是分析和描述现行系统业务的重要工具之一。其主要作用是:描述现行系统的业务情况以便于与管理人员交流,它是系统设计的前提和保证。业务流程图使用的符号:

称 实体 输入/输出的报表 处 理 业务流向 文档 存储

图1-1系统业务流程图

学生 成绩查询 成绩信息 个人信息查询 个人信息 课程查询 课程信息

……………………..(论文)

第2章可行性研究

可行性研究的目的是用最小的代价,在尽可能短时间内确定问题是否能够解决,它的目的不是解决问题,而是确定问题是否值得去解决,可行性从以下四个方面来考虑:

2.1 技术可行性

“学生信息管理系统”学生模块是由网络和网页实现的。所以本系统使用JSP开发技术,应用界面友好且功能强大的由MX MyECplise软件,服务器端脚本用JA V A脚本来编写,客户端脚本也用JA V A来编写,数据库使用MySQL 数据库,服务器是TOMCAT 。在大学的学习中,已经学过这JA V A.,C#,C++几种语言,并且多次参加实训开发项目,有一定的实地开发经验。且热爱计算机科学,又刻苦钻研的精神,经过大学四年的学习,这些课程已基本熟练掌握,该模块是在学校开发,遇到问题可以与同学一起研究,再加上指导老师的指导。因此在技术上能够适应本系统的开发。

2.2 经济可行性

系统的经济可行性指的是对组织的经济状况和投资能力进行分析,对系统建设、运行和维护费用进行估算,对系统建成后可能取得的社会及经济效益进行估计。

本模块简单易开发,且开发需要资金少,系统开发运行后,可以实现学生信息管理的计算机化,节省了人力、物力,将人从繁重的工作业务中解脱出来,减少了信息管理中无意的错误,节省了大量的时间,管理效率也大幅度提高,因此,在经济上是可行的。所带来的效益远远大于系统软件的开发成本。在经济上完全可行

2.3 操作可行性

本系统直观易懂,使用非常方便,学生可以直接上手,只要经过简单的培训,操作本系统没有太大的问题。

2.4 法律可行性

本系统开发不会侵犯他人、集体或国家利益,不存在侵权等问题,不违反国家法律,

5

……………………..(论文)

因此具有法律可行性。

综上所述,从技术上、经济上、法律上、可操作性上都是可行的,而且要求不高,所以该系统的开发是可行的

6

……………………..(论文)

7

第3章 需求分析

3.1 系统需要解决的主要问题

本系统要实现学生信息的网络化的查询与管理。能够实现学生在网上成绩查询的功能,使学生不分时间、地点,只要能上网即可以查询自己的成绩,并能够保存自己的几年的成绩,对自己的成绩信息一目了然。

3.2 系统具备的基本功能

“学生信息管理系统”学生模块的开发主要包括应用程序系统和后台数据库,应用程序系统要求界面友好,功能完备,易使用等特点。而后台数据库的数据要具有一致性、完整性、安全性。

学生操作前台——操作方便.

前台作为与学生直接交互的界面,在考虑功能的同时,也考虑了操作的简洁和方便性,目的是让大多数不在懂电脑操作的客户,也能轻松的享受计算机给他们带来的便利。前台系统主要学生成绩和个人信息的查询功能,学生可以查询自己的成绩和个人信息。

3.3 数据流图

数据流图(DFD ):

数据流图简称DFD 图,数据流图有四种成分:源点或终点、处理、数据存储表和数据流。图中没有任何具体的物理元素,只是描述信息在系统中的流动和处理情况,即使不是专业的计算机技术人员也容易理解,是极好的理解工具。它能精确的描述系统的逻辑模型,描述数据在MIS 中有输入经过存储、加工处理最后输出的全过程,是设计者和用户交流的很好的工具。 图 形 符 号

名 称 符 号 说 明

实体

记述系统之外的数据提供或数据获得组织机构或个人,框内为实体名称

……………………..(论文)

8

处理

记述某种业务的手工或计算机处理

其中,PM 区记述处理标号 C 区记述处理名称

数据存储 记述与处理有关的数据存储,DN 区记述存储的标号,S 区记述存储数据的名称

数据流

记述数据流的流动方向,FM 记述数据流的名称

以下为本系统的数据流图

图 3-1学生信息管理系统TOP 数据流图

图 3-2学生操作子系统一级细化(二)

3.4 数据字典

数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集

DN S

P0

学生信息管理系统

学生 学生

学生操作信息

学生操作结果

管理员 管理员

管理员操作信息 管理员操作结果

教学管理员 教学管理员 教学管理员操作 管理员操作结果

教师

教师

教师操作信息

教师操作结果

成绩信息表

F1学生信息

F3成绩信息 D3 P4

学生操作子

系统 学生信息表 D1

……………………..(论文)

9 合。数据字典的作用是在软件的分析和设计过程中提供关于数据的描述信息[1]。一般说来,数据字典应该由下列四类元素构成:数据元素,数据流,数据存储和数据处理。

3.4.1 数据存储

数据存储是数据结构停留或保存的地方。也是数据流的来源和去向之一,可以是手工文档或手工凭单,也可以是计算及文档。一般而言,应包括如下内容:{数据存储名,说明,编号,输入的数据流,输出的数据流,组成(数据结构),数据量,存取频度,存取方式}。

3.4.2 数据流

数据流是数据结构在系统内传输的路径。对数据流的描述通常包括如下内容:{数

据流名,说明,编号,数据流来源,数据流去向,组成(数据结构)}。

名字:学生信息表 描述:记录学生的基本信息。 编号:D1 组成:学号,姓名,生别,班级,籍贯,密码 编号:F1 名字:学生信息 描述:工作人员操作的学生基本信息 名字:课程信息表 描述:记录学校开设的课程信息。 编号:D2 组成:课程编号,课程名,课程说明 名字:学生成绩信息表 描述:记录学生的成绩信息。 编号:D3 组成:学生学号,学生姓名,课程,成绩

编号:F2 名字:课程信息 描述:工作人员操作的课程的信息 编号:F3

名字:成绩信息

描述:工作人员向系统输入的学生成绩

信息

……………………..(论文)

10

3.4.3 数据处理

处理过程的具体处理逻辑通常在详细设计过程中用判定表或判定树来描述。在数据字典中,只无原则描述处理过程的说明性信息,通常包括以下内容:{处理过程名,说明,输入数据流,输出数据流,处理}[1]。

编号:P0 名字:学生信息管理系统 描述:整个管理系统 输入/输出:D1,D2,D3,D4,D5 编号:P1 名字:学生操作子系统 描述:学生对本系统的操作 输入/输出:D1,D3

……………………..(论文)

第4章总体设计

4.1 概述

本阶段设计的基本目标是解决系统如何实现问题,也叫做概要设计,本阶段主要任务是划分出系统的物理元素及设计软件的结构,完成软件定义时期的任务之后就应该对系统进行总体设计,即根据系统分析产生的分析结果来确定这个系统由哪些系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用。

模块化的依据是:把复杂问题分解成许多容易解决的小问题。原来的问题也就变得容易解决。模块化设计是把大型软件按照一定的原则划分成一个较小的相对功能独立又相关联的模块。每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。完成指定的功能,满足问题的要求。采用模块化原理的优点在于可以使软件结构清晰,容易测试和调试。从而提高软件的可靠性,可修改性。有助于软件开发的组织管理。一个大型软件可分别编写不同的模块。模块化理论的几个重要概念如下:

(1)抽象

抽象就是抽象出事物的本质特性而暂时不考虑它们的细节。处理复杂系统唯一有效的方法是用层次的方式构造和分析它。一个复杂的动态系统首先可以用一些高级的抽象概念构造和理解,这些高级概念又可以用一些较低级的理解,直到最低层次的具体元素。

(2)信息隐蔽和局部化

信息隐蔽是指在设计和确定模块时,应使得一个模块内包含的信息对于不需要这些信息的模块来说,是不能访问。

局部化是指把一些关系密切的软件元素物理的放得彼此靠近。局部化有助于实现信息隐蔽。

信息隐蔽原理和局部化有助于在测试期间以及软件维护期间修改软件。因为绝大多数数据和过程对于软件的其它部分而言是隐蔽的,从而由疏忽引入的错误就很少可能传播到软件的其它部分。

(3)逐步求精的模块化概念

11

……………………..(论文)

12

逐步求精和模块化的抽象是密切相关的。软件结构每一层中模块表示对软件抽象层次的次细化。用自顶向下,逐步求精的方法由抽象到具体的方式分配控制,简化了软件设计和实施,提高了软件的可理解性和可测试性,并使得软件更容易维护。

(4) 模块独立性

模块的划分要使模块间尽可能的相互独立,独立模块较易维护。度量模块的独立程度有两个标准:内聚和耦合。耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数。

在软件的设计中应追求尽可能松散的耦合。内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展,理想内聚的模块只做一件事情。在设计时应力求做到高内聚。

4.2 系统学生子功能划分

经过对系统的需求分析,学生子系统比较简单,主要完成学生网上课程成绩及个人信息查询的功能及密码修改的功能。学生以学号及密码的身份进行登录,系统功能结构如图:

图4-1 学生子系统模块图

学生子系统

学生成绩和个人信息查询 学生密码修改

……………………..(论文)

13

4.3 学生子系统功能描述

1. 学生信息查询模块

本模块完成学生成绩个人信息和选修课程的查询功能,进入本模块,学生可以查询自己课程到期末时所得的成绩的信息,个人基本信息及已经选修的课程。基本信息由系统教师或管理员在后台录入,学生只能查询自己的所需的信息。 2. 学生密码修改模块

学生的基本信息是由管理员从后台添加的,每个学生的基本信息添加后,系统会自动生成一个密码,所有同学的密码初使值是相同的,学生使用初使密码登录后,为保证自己信息的安全性,用户可以修改自己密码。 3. 课程管理模块

课程管理模块完成学校开设的课程的管理功能,包括课程的添加,课程的删除,课程的修改及课程的查询。

图4-2 课程信息管理模块

4.4 数据库概念结构设计

在系统设计的开始,我首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用“实体联系模型”(ER 模型)来描述数据库的结构与语义,以对

课程管理模块

课程添加

课程删除

课程修改 课程查询

……………………..(论文)

14

现实世界进行第一次抽象。ER 模型直接从现实世界抽象出实体类型及实体间联系,然后用ER 图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。但ER 模型只能说明实体间语义的联系,不能进一步说明详细的数据结构,它只是数据库设计的第一步。

E-R 图是直观表示概念模型的工具,它有三个基本成分:

矩形框,表示实体类型(考虑问题的对象)。

菱形框,表示联系类型(实体间的联系)。

椭圆形框,表示实体的属性。

根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。本系统包括的实体有学生实体,教师实体,课程实体,班级实体等。 各实体属性图如下所示:

图4-3学生实体属性图

图4-4 课程实体属性图

学 生

姓名 性别 学号 籍贯 密码 课程 课程名 说明 课程号

……………………..(论文)

4.5 数据库设计

本系统采用的数据库管理系统是MySQL。MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL 是MySQL AB的注册商标。

MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。

MySQL是一个数据库管理系统

一个数据库是一个结构化的数据集合。它可以是从一个简单的销售表到一个美术馆、或者一个社团网络的庞大的信息集合。如果要添加、访问和处理存储在一个计算机数据库中的数据,你就需要一个像MySQL这样的数据库管理系统。从计算机可以很好的处理大量的数据以来,数据库管理系统就在计算机处理中和独立应用程序或其他部分应用程序一样扮演着一个重要的角色。

MySQL是一个关系数据库管理系统

关系数据库把数据存放在分立的表格中,这比把所有数据存放在一个大仓库中要好得多,这样做将增加你的速度和灵活性。“MySQL”中的SQL代表“Structured Query Language”(结构化查询语言)。SQL是用于访问数据库的最通用的标准语言,它是由ANSI/ISO定义的SQL标准。SQL标准发展自1986年以来,已经存在多个版本:SQL-86,SQL-92,SQL:1999,SQL:2003,其中SQL:2003是该标准的当前版本。

MySQL是开源的

开源意味着任何人都可以使用和修改该软件,任何人都可以从Internet上下载和使用MySQL而不需要支付任何费用。如果你愿意,你可以研究其源代码,并根据你的需要修改它。MySQL使用GPL(GNU General Public License,通用公共许可),在hpt://b691743ffc4ffe473268ab1e/licenses中定义了你在不同的场合对软件可以或不可以做什么。如果你觉得GPL不爽或者想把MySQL的源代码集成到一个商业应用中去,你可以向MySQL AB 购买一个商业许可版本。

MySQL服务器是一个快的、可靠的和易于使用的数据库服务器

如果这是你正在寻找的,你可以试一试。MySQL服务器还包含了一个由用户紧密合作开发

15

……………………..(论文)

的实用特性集。你可以在MySQL AB的b691743ffc4ffe473268ab1e/it-resources/benchmarks/上找到MySQL服务器和其他数据库管理系统的性能比较。

MySQL服务器原本就是开发比已存在的数据库更快的用于处理大的数据库的解决方案,并且已经成功用于高苛刻生产环境多年。尽管MySQL仍在开发中,但它已经提供一个丰富和极其有用的功能集。它的连接性、速度和安全性使MySQL非常适合访问在Internet上的数据库。

MySQL服务器工作在客户/服务器或嵌入系统中

MySQL数据库服务器是一个客户/服务器系统,它由多线程SQL服务器组成,支持不同的后端、多个不同的客户程序和库、管理工具和广泛的应用程序接口(APIs)。

MySQL也可以是一个嵌入的多线程库,你可以把它连接到你的应用中而得到一个小、快且易于管理的产品。

4.6 安全保密设计

4.6.1 登陆用户的安全性

系统设计了登陆界面,每个合法用户有一个密码,该密码由用户自行维护,从而实现对用户的身份验证。

4.6.2 数据安全性

客户端层和数据库层隔离,客户端无法接触本质的数据库,无法进行非法的修改和破坏,使得数据库得到有效安全的保护。

16

……………………..(论文)

17

第5章 详细设计

5.1 概述

详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计的处理过程应该尽可能简明易懂。

5.2 程序流程图

程序流程图又称为程序框图,它是历史悠久使用最广泛的描述软件设计的方法。 学生子系统的程序流程图:

图 5-1学生子系统的程序流程图

开始 存在? 显示查询界面 结束

N Y 输入学生学号学生成绩查询 学生密码修改

……………………..(论文)

18

5.3 学生子系统的实施

学生子系统是以学号及学生密码的身份进行登录,学生可以查询到自己的各科成绩的信息,可以对自己的登录密码进行更改,学生登录界面的设计如图5-18所示:

图5-2 学生登录子系统

图5-3 学生登录子系统

图5-4 查询成绩界面

……………………..(论文)

19

图5-5 查询个人信息界面

图5-6 修改密码界面

图5-7 选报课程界面

部分代码:

(1) 选修科目:

<%@page language="java" contentType="text ml; charset=GBK"%> <%@page import="java.sql.*,com.stuman.service.*"%>

选报课程

……………………..(论文)

<%

String stuid = (String)session.getAttribute("stuid");

%>

您可以选报的课程为

课程号

课程名

预修课

系别

班级号

教室号

上课时间

教师

选择

<%

ListCourseForStu courlist = new ListCourseForStu();

courlist.list(request, out, stuid);

%>

20

本文来源:https://www.bwwdw.com/article/jwqq.html

Top