学生信息管理系统 - 图文

更新时间:2023-12-16 14:49:01 阅读量: 教育文库 文档下载

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

《UML大作业》设计报告

课程名称:《UML大作业》课程设计 设计题目:学生信息管理系统 班级: 0844131 同组人员:谢伊豪王瑛婕张哲 成绩: 评语:

计算机科学与工程学院 2015年12月25日

《软件工程》课程设计报告 - 1-

目录

一、引言 ......................................................................................................................................... 2 1.1 编写目的 ............................................................................................................................. 2 二、总体设计 ................................................................................................................................. 3 2.1 需求分析 ............................................................................................................................. 3 2.2 可行性分析 ......................................................................................................................... 3 三、系统设计 ................................................................................................................................. 5 3.1 设计目标 ............................................................................................................................... 5 3.2 项目规划 ............................................................................................................................... 5 3.3 系统功能模块描述 ............................................................................................................... 6 3.4 功能图 ................................................................................................................................... 7 四、基于UML的学生信息管理系统分析设计 .......................................................................... 9 4.1 UML简介.............................................................................................................................. 9 4.2 定义业务流程 ....................................................................................................................... 9 4.2.1 参与者之间的关系 ........................................................................................................ 9 4.2.2 系统用例图 .................................................................................................................. 10 4.3 类图 ..................................................................................................................................... 10 4.4 分析业务流程 ..................................................................................................................... 14 4.4.1 学生登录查询业务流程活动图 .................................................................................. 14 4.4.2 学生登录查询业务流程时序图 .................................................................................. 15 4.5 教师录入成绩活动图 ......................................................................................................... 15 4.6 添加学生信息活动图 ......................................................................................................... 16 五、程序功能模块描述 ............................................................................................................... 16 5.1 登录模块程序流程图 ......................................................................................................... 16 5.2 添加信息程序流程图 ......................................................................................................... 17 5.3 删除信息程序流程图 ......................................................................................................... 17 5.4 修改信息程序流程图 ......................................................................................................... 18 5.5 查询信息程序流程图 ......................................................................................................... 18 六、程序类设计及数据库设计 ................................................................................................... 19 6.1 程序类设计 ......................................................................................................................... 19 6.2 数据库设计原则 ................................................................................................................. 19 6.3 数据库设计 ......................................................................................................................... 20 6.4 数据流图分析 ..................................................................................................................... 21 6.5 概念结构分析 ..................................................................................................................... 23 七、系统测试 ............................................................................................................................... 24 7.1 测试案例 ............................................................................................................................. 24 7.2 系统测试情况 ..................................................................................................................... 24 八、心得体会 ............................................................................................................................... 26 九、参考文献 ............................................................................................................................... 29 十、程序测试图 ........................................................................................................................... 29 十一、程序主要代码 ................................................................................................................... 32

《软件工程》课程设计报告 - 2-

一、引言

1.1编写目的

学生信息管理系统(Student Information Management System),以下简称SIMS,是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率。随着科学技术的不断提高,计算机科学日渐成熟, 使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。这些优点能够极大地提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。用计算机制作的学生信息管理系统还可以通过功能强大的Internet网及时的向学生的家长传递该生在校的最新成绩,有助于学校与家长的信息互动,为更好地把握学校的教育方针一定的促进作用!因此,开发这样一套管理软件成为很有必要的事情。

《软件工程》课程设计报告 - 3-

二、总体设计

2.1 需求分析

21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,学生信息管理系统软件为学校办公带来了极大的方便。

(一)教育系统学生管理现状分析

学校工作流程分析

学校工作总体规划由教务人员在学生信息管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。

新的学年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本的信息录入,新生入学后由教务人员在学籍系统中完成新学生信息的维护。 (二)学校具体需求分析

学生:对自己各科成绩,选课的查询。

任课老师:输入并维护所教科目的学生成绩,已经更新自己所教课程及所选教材。 教务处: 学校全体成员的信息管理,并对任课老师,班主任等输入的信息进行存

库,对学生的信息进行必要的维护。

(三)通过研究调查,本系统有以下功能:

第一,综合学生信息、学生成绩以及信息查询等信息。 第二,方便用户了解和管理学生的全面动态信息。

第三,良好的界面设计,更人性化的设计理念,使用户拥有更轻松的使用心情。 2.2 可行性分析

目的:可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能解决。 (1)技术可行性分析

在学生管理系统中,我们全面考虑系统开发过程所涉及的所有技术问题,尽可能采用成熟技术,使我们的系统的运行环境更适应大多数的系统。我们着眼于具体的开发环

《软件工程》课程设计报告 - 4-

境和开发人员。在限制条件下,我们项目功能目标能基本达到;利用现有技术,系统的性能目标基本能够达到;对开发人员数量和质量的要求不是太高,并满足开发人员的要求;在规定期限内,我们项目的开发能够完成。

(2)经济可行性分析

采用学生信息管理信息系统可取代原系统的单据手工传递工作,减少人工开支,节省资金,并且可大大提高信息量的取得,缩短信息处理周期,规划教学资源,提高学生信息,及时反馈教学信息的利用率,使教学质量更上一个台阶。

(3)运行环境可行性分析

本系统采用 Windows7作为操作平台。数据库选用SQL server 2008,该数据库管理系统在Windows7 系统上能运行,并提供数据库之间的数据复制功能,可代替现有系统单据数据的手工传递工作,降低出错率,提高数据的可用性。本系统的应用软件开发平台也选用eclipse。

(4)其他可行性分析

本系统操作简单,易于理解,只需通过简单熟悉,上手较快,学校教务管理处的教职员以及相关教师均能进行操作,营运环境要求低。

面对于系统设计还应该以“标准性、安全性、兼容性、高效性、保密性、可维护性”为标准,在着眼于当前实用的基础上,为将来系统的扩展,升级留有余地。软件的开发应能在较长时间内满足学校的发展需要。

通过可行性分析研究,认为系统的开发方案切实可行,可进行开发。

《软件工程》课程设计报告 - 5-

三、系统设计

3.1 设计目标

本系统可以能减少很多不必要的资源,不用象以前那样用冗余的纸张式的管理。大节省了学校能源。并且计算机的存储与快速查询功能大大提高了学籍管理的效率,并且还提高了学籍信息管理的精确度。

方便快速的操作,可减少学籍信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支。为学校增加了财富。

数据库分析

用户需求具体有学籍管理系统提供保存、更新、查询、维护,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。 3.2 项目规划

学生管理系统是各大中专院校不可缺少的一部分,是一个java+SQL数据库开发应用程序,它主要包括用户登录、学生基本信息、宿舍信息、课程信息、成绩信息、班级信息的输入、修改、查询、删除以及教师和管理员登录,系统用户管理等几个页面,因而该系统具有较强的实用性。 系统具有如下用户

(1)教务处管理员:学生信息管理(增添,删除,修改,查询) 课程信息管理(增添,删除,修改,查询) 课程信息管理(查询,显示) 学生成绩管理(修改,查询,显示)

(2)学生登录:个人信息管理(修改,查看) 个人课程管理(选课,查看) 个人成绩管理(查看个人成绩) 个人帐号管理(查看,修改)

(3)教师登录:个人信息管理(修改,查看)

学生选课管理(查看自己所教课程,查看自己所教班级)

《软件工程》课程设计报告 - 6-

学生成绩管理(查看,修改,录入) 个人帐号管理(查看,修改)

(4)系统管理员:用户信息管理(添加,修改,查询,删除) 3.3 系统功能模块描述

信息管理系统论文主要功能:学籍信息管理,班级信息管理,课程信息管理,成绩信息管理,用户信息管理。具体系统功能需求描述如下: (一)学籍信息管理

每年的大量新生入学,老生毕业都需要处理大量的信息管理系统论文。通过这一模块,可以实现学生基本情况的添加、删除、更新。还能查询各个学生的情况,姓名、家庭电话、家庭住址、学号等各个消息。 (二)班级信息管理

实现班级的添加、删除、更新。查询班级的所在系别,辅导员等。 (三)课程信息管理

在传统模式下利用人工进行学生信息管理系统论文,存在着较多缺点,如:效率底,保密性差,时间一长将产生大量文件和数据,更不便于查找,更新,维护等。诸如这些情况,学校管理者对学生信息管理系统论文带来很大困难,严重影响教育工作者的工作效率。

每个学期都会增加一些新的科目,通过本模块可以轻松的添加以及更新课程。可以根据学期条件或者班级条件的选择,也可根据课程名、课程号或者班级的选择,并对值的输入,可以看到数据集中显示符合条件的课程数据信息,而且可以根据教工的修改要求进行数据的添加、删除、修改的操作。

该项管理对课程的属性进行了具体化的分类,比如可以分辨是考试科还是考察课,而且根据条件的选择大大得提高了对各学期课程数据的记录操作,很大得帮助了教工们工作效率的提高。 (四)成绩信息管理

本模块实现了成绩的输入、删除、更新。还能查询到平均成绩以及单科最高最低成绩以及个人成绩。把成绩统计这个繁琐的工作简单化,为学生成绩的管理方面提高工作效率。

(五)用户信息管理

因为本信息管理系统论文是供多人一起使用的,必须对某一些人进行限制。于是设

《软件工程》课程设计报告 - 7-

置了管理员,非管理员只能进行查询操作,不能进行更改。 3.4 功能图

1. 系统功能图

学生管理系统学学学生生生登注基课成录册本程绩信信信息息息2.登录模块功能

登录系教务学教统处生师管管登登理录录员理登员录登录 3.学生基本信息功能图

学生基本信息添修删查加改除询基基基基本本本本信信信信息息息息

学学生生宿班舍级信信息息 《软件工程》课程设计报告 - 8-

4.学生成绩信息功能图

学生成绩信息添加成绩信息修改成绩信息删除成绩信息查询成绩信息 5.学生课程信息功能图

学生课程信息查询学生课程信息6. 学生宿舍信息功能图

修改学生课程信息

学生宿舍信息添加宿舍信息修改宿舍信息删除宿舍信息查询宿舍信息

《软件工程》课程设计报告 - 9-

7. 学生班级信息功能图

学生班级信息添加班级信息修改班级信息删除班级信息查询班级信息 四、基于UML的学生信息管理系统分析设计

4.1 UML简介

UML是一种功能强大的、面向对象的可视化系统分析的建模语言,它采用一整套成熟的建模技术,广泛地适用于各个应用领域。它的各个模型可以帮助开发人员更好地理解业务流程,建立更可靠、更完善的系统模型。从而使用户和开发人员对问题的描述达到相同的理解,以减少语义差异,保障分析的正确性.所以,我们小组人员对我们的系统进行了深度的剖析,对我们的系统做了用例分析,顺序图,状态图、活动图、类图,让后来的开发人员能更好的认识了解我们的系统,也是为了,能够对我们的系统的后期维护带来便利。 4.2 定义业务流程

该系统有三个执行者,管理者、学生和教师。管理员可以对学生信息,班级信息进行操作(添加,修改,删除),学生可以查询信息,查询课程,查询成绩,选课,教师可以录入成绩,对学生的成绩进行管理。 4.2.1 参与者之间的关系

《软件工程》课程设计报告 - 20-

就需要根据目标进行收集相关的数据,然后分析与表达这些数据;通过和用户进行充分的交流,了解他们平时是如何操作数据库的,以及对当前信息的要求,进而设计出满足用户需要的字段信息,并根据设计的字段信息进行收集数据。

2、概念设计

数据库的概念模型,根据用户的应用要求,绘制出以反映每个角色的需要,包括确定的实体,属性和联系的类型。而局部结构的概念,也被称为局部E-R模型,全局概念结构也被称为全局E-R模型,以及其对E-R图的图形表示[35]。然后优化初步E-R图,消除冗余和可能发生的冲突,这个阶段是整个数据库设计的关键,概念模型是对用户需求的客观反映,不涉及一个特定的计算机软件和硬件环境。

3、建立数据模型

完成上述工作后,就可以创建一个数据库模型了,这是第三阶段数据库的设计过程。我们使用实体关系(E-R)的办法来处理数据库的设计概念,概念模型是进入一个特定的数据模型E-R图。现在常用的是关系数据模型,我们通常称为关系数据模型图,它是实体,实体属性和实体之间建立关系模式的联系。

4、数据库实施与维护

完成的数据模型后是数据库的实施和维护,包括字段的定义,以确定的类型和使用的领域和数据库管理系统或数据库语言的选择来创建数据库结构,输入数据和运行,使数据库的实现是一个完整的数据库设计过程。后期的重点是数据库的日后维修,包括完善的备份,数据库的安全和完整性的调整,以提高数据库的性能等。数据库系统开发在管理信息系统的设计中占据中心地位。[36]

6.3数据库设计

在数据库student中共有6张数据表:s(学生信息表)、c(课程信息表)、sc(选课信息表)、unpw(用户信息表)、jstable(教师教课信息表)、tc(教师信息表)下面定义每张表的字段名称和数据类型。

s(学生信息表) 字段名称 sno sn sa ss sd

数据类型 char (10) char (20) int char (10) char (10) 描述 学号,关键字 姓名 年龄 性别 院系 《软件工程》课程设计报告 - 21-

c(课程信息表) 字段名称 cno cn pcno 字段名称 sno cno g 字段名称 tno cno kcxf xs 字段名称 tno tn zc sex 字段名称 un pw qx 数据类型 char (10) char (30) char (10) sc(选课信息表) 数据类型 char (10) char (10) int 数据类型 char (10) char (10) int int 描述 学号,关键字 课程号,关键字 成绩 描述 教师号 课程号 课程学分 学时 描述 课程号,关键字 课程名 先行课程号 jstable(教师教课信息表) tc(教师信息表) 数据类型 char (10) char (5) char (5) char (2) unpw(用户信息表) 数据类型 char (10) char (10) int 描述 用户名,关键字 密码 角色 描述 教师号 教师名 职称 性别 6.4数据流图分析

教务处管理员返回更新结果更新信息学生信息管理系统返回教师基本信息和所查询信息学生学生信息教师信息教师返回学生基本信息和学生查询信息

图一顶层数据流

《软件工程》课程设计报告

修改- 22-

管理员信息教师信息查询管理员修改修改学生信息录入教师成绩信息学生查询课程教授班级信息

图二第二层数据流图

学生信息成绩信息学生查询课程班级信息

图三学生信息数据流图

查询教师信息录入成绩信息教授教师课程

图四教师信息数据流图

《软件工程》课程设计报告 - 23-

6.5概念结构分析 1. 局部E-R图设计方法

1.属性必须是不可分的数据项。

2.属性不能与其他实体具有联系,联系只能发生在实体之间。

2. E-R图

(1). 总体E-R图

学分教师号课程号教师名职称课程名学时教师m教授n课程性别学生名学号教授n学生性别年龄n选修系别学生成绩m取得学分m

(2). 学生课程信息局部E-R图

课程号学生名学号学分学时课程m选修n学生年龄系别性别课程名学生成绩取得学分

(3). 教师课程信息局部E-R图

教师号课程号教师名职称学分教师m教授n课程课程名学时性别

《软件工程》课程设计报告 - 24-

七、系统测试

在本系统开发中,由于是作者个人自主开发的信息管理系统,所以采用的测试方法,是当前较为流行的黑盒测试方法进行测试。

黑盒测试方法也称之为功能测试,它主要是通过测试每个功能是否都能正常使用来实现测试的方法。在测试中,主要是把程序看作一个不能打开的密封的黑盒子,在完全不用考虑程序内部结构和内部特性的情况下,对程序的各个接口进行测试,该测试方法只检查程序功能是否是按照需求规格说明书的规定能正常进行使用,系统是否能适当地接收输入用户输入的数据而产生正确的输出结果[42]。由于黑盒测试主要着眼于程序外部结构测试,不需要考虑系统内部的逻辑结构,主要用于对软件界面和软件功能实现测试。

由于黑盒测试是以用户信息的输入的角度进行考虑,从用户输入的数据与系统输出的数据进行对应关系出发进行测试的[43]。很明显,当系统的外部特性本身有问题或在定义规格说明的时候有误,则用黑盒测试方法是发现不了系统的问题的。 7.1 测试案例

为了能更好的保证教务信息管理系统的操作性及安全性,在系统测试阶段,主要选取了以下案例进行分模块测试。

1)首先需要测试的模块是系统的登录,这个模块包括了管理员、教师以及学生的登录情况。

2)检查登录情况后,核对需求分析中的功能需求,对实现的功能是否和初期定义的功能完全一致。

3)测试管理员端的所有功能是否和预期定义的一致。该案例主要是测试学生管理的功能、教师管理的功能、部门管理的功能、科目管理的功能、成绩管理的功能以及管理员管理的功能。

4)测试系统管理模块的功能,是否实现了对学生访问端和教师访问端的权限进行控制。

5)教师访问登录,对应课程、教学班级及成绩登记操作的测试。 6)学生访问登录,查询对应考试成绩以及个人信息维护的测试。 7.2 系统测试情况

由于个人的经验和时间、用户的局限性,只是对系统的功能进行了基本的测试。测试结果如表所示:

《软件工程》课程设计报告 - 25-

本章节从软件的测试方法入手,先行介绍了当前较为实用的软件测试方法—黑盒测试,然后进一步阐述了本次教务系统开发所采用的测试方法,及测试中碰到的问题和解决的情况,由于个人开发经验及水平有限,还有些问题,还有待继续努力,后续解决。

测试计划 序号 1 测试模块 各个角色登录模块测试 登录模块测试 测试情况 符合 结果 通过 基本通过 基本通过 通过 基本通过 通过 基本通过 通过 通过 存在的主要问题 解决情况 2 基本符合 3 4 5 6 7 8 9

管理员端学生详细信息操作测试 学生批量信息添加 部门信息管理 教师信息管理 科目信息管理 管理员管理模块 考试结果管理 基本符合 符合 基本符合 符合 基本符合 符合 符合 在选择教师的角色登录,如果系统中未指定已解决 教师所授课程,出现登录报错 只能实现针对学号的详细查询,模糊查询只能未解决 导出一个学生信息 在专业、班级信息管理对重要关键字中,因信息太多后,显进行排序 得凌乱,难以查找某个已解决 详细的信息 只能实现单个教师,单个课程、单个班级指定,未解决 未能实现批量指定 《软件工程》课程设计报告 - 26-

八、心得体会

1. 谢伊豪心得体会

通过这次课程设计,我锻炼了自己的动手能力,巩固了对面向对象程序设计概念的理解和JAVA的运用,进一步掌握JAVA开发应用程序的基本方法,学习了对数据库的基本操作,能够对SQL的表做基本处理,提高了自己综合运用所学知识的能力。

深刻认识到了基本知识的重要性。现在很有必要加强基本语法知识的学习了。软件工程思想应用性很强,只有老师的讲解不行,只看书也不行,只有自己动手去设计才会发现自己的不足,只是看书本根本了解不到软件工程的精髓,只有真正去做是才能知道自己的理解程度。从而让我懂得了理论和实践相结合起来是很重要的只有理论只是是远远不够的,只有把所学的理论知识和实践相结合起来,从实战中得出结论,才能真正的理解,从而提高自己的实际动手能力和独立思考能力以及逻辑思维能力。并且对以前学的JAVA图形用户界面,JAVA数据库JDBC的运用内部匿名类等知识有了更深的了解与应用。提高了学习计算机的兴趣,增强了信心。在本次课程设计中,我遇到了很多的困难,这些困难搞得我焦头烂额,几度试图放弃,但最终坚持着,把困难克服掉了。每当克服一个困难,都非常的兴奋,这些都是自己努力的结果。现在,我有信心面对接下来的挑战,在不断的实践中锻炼自己,提高自己!

经过将近两个星期的设计和开发,系统基本开发完毕。在本次课程设计中困难遇到不少,比如数据库的连接,SQL语言的书写格式,全局参数的传递等。由于设计时间较短,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观,功能不够完善等多方面问题。在这次系统开发的过程中,我深深体会到了做一个系统,首先进行需求分析的重要性,了解了一个系统的制作,从功能分析到功能模块分析、与其他系统的关系,再到数据库设计、数据库结构实现及各功能模块的创建都需要从整体上考虑设计。这些都有待以后进一步改进。

回顾起此次软件工程课程设计,我感慨颇多,学到了很多的东西。同时不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。经过此次的软件工程课程设计我对软件设计体系以及设计流程有了更深一步的体会,不再是仅限于对于书本上的理解。增强了我的逻辑思维能力,以及考虑事情的全面性,此次课程设计让我收获颇多。

《软件工程》课程设计报告 - 27-

2. 王瑛婕心得体会

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于学生信息管理系统,其程序是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对系统的结构很熟悉。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。其次,这次课程设计让我充分认识到团队合作的重要性,只有分工协作才能保证整个项目的有条不絮。另外在课程设计的过程中,当我们碰到不明白的问题时,指导老师总是耐心的讲解,给我们的设计以极大的帮助,使我们获益匪浅。因此非常感谢老师的教导。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名软件工程专业的学生,这次课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己对于这门课懂得并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮助和讲解下,自己开始主动学习并逐步从基础慢慢开始弄懂它。

我认为这个收获应该说是相当大的。一开始我们找来了课题,做到后来发现很多程序都是不完整的,设计这种东西最后还是要靠自己动脑筋。然后我们大家一起齐心协力,从平时做的实验﹑老师上课的举例﹑书本上的知识以及老师的辅导下终于完成了。应该说这是通过我们小组成员的共同努力和动脑完成的,虽然内容并不是很复杂,但是我们觉得设计的过程相当重要,学到了很多,收获了很多。我觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。小组人员的配合﹑相处,以及自身的动脑和努力,都是以后工作中需要的。

所以我认为这次的课程设计意义很深,和其他同学的共同学习﹑配合﹑努力的过程也很愉快,另外还要感谢老师的耐心辅导。

《软件工程》课程设计报告 - 28-

3.张哲心得体会

通过此次课程设计,使我更加扎实的掌握了有关Java方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!

课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。通过这次课程设计,我掌握了软件工程原理。我认为,在这学期的实验中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束后变的更加成熟,会面对需要面对的事情。

回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。

《软件工程》课程设计报告 - 29-

九、参考文献

[1] 何宗耀 吴孝丽. 数据库原来及其应用. 中国矿业大学出版社, 2014. [2] 王珊 萨师煊 数据库系统概论. 高等教育出版社, 2010. [3] 张海帆 牟永敏 软件工程导论(第六版).清华大学出版社,2013. [4] 麻志毅 面向对象分析与设计(第二版).机械工业出版社,2015. [5] 袁绍欣 JAVA面向对象程序设计(第二版).清华大学出版社,2012.

十、程序测试图

1.登陆界面

《软件工程》课程设计报告 - 30-

《软件工程》课程设计报告 - 31-

2.添加学生信息

3.修改学生信息

4.删除学生信息

《软件工程》课程设计报告 - 32-

十一、程序主要代码

1.登录信息判断

publicvoid actionPerformed(ActionEvent e) {

Object source = e.getSource(); String un = null; String pw = null;

boolean success = false;// 用于判断是否登录成功 if (source == btnLogin) {

if (txtUser.getText().equals(\) || txtPwd.getText().equals(\)) JOptionPane.showMessageDialog(null, \登录名和密码不能为空!\); } else {

this.connDB(); try {

rs = stmt.executeQuery(\ }

if (!success) {

+ qxian);

while (rs.next()) {

un = rs.getString(\).trim(); pw = rs.getString(\).trim(); if (txtUser.getText().equals(un)) { }

if (txtPwd.getText().equals(pw)) { }

actionCode = OK;

this.setVisible(false); if (qxian == 0) {

new ManagerFrane();// 进入管理员界面 }

if (qxian == 1) {

new StudentFrame();// 进入学生界面 }

if(qxian==2){

new teacherFrame();//进入教师界面 }

if(qxian==3){

new Xtgly();//进入系统管理员界面 }

success = true; break;

JOptionPane.showMessageDialog(null, \密码错误!\); txtPwd.setText(\); success = true;

{// 判断是否输入了用户名和密码

} else {

《软件工程》课程设计报告 - 33-

}

}

}

}

JOptionPane.showMessageDialog(null, \登录名错误!\); //txtUser.setText(\ txtPwd.setText(\);

} catch (SQLException e1) { }

e1.printStackTrace();

} elseif (source == btncz) {

txtUser.setText(\); txtPwd.setText(\); this.dispose(); new ZC(); System.exit(0);

} elseif(source==btnCancel){

}elseif (source == btnCance2) {

2.连接和关闭数据库

publicvoid connDB() { // 连接数据库 try {

}

}

Class.forName(\); e.printStackTrace();

} catch (ClassNotFoundException e) {

try { }

con = DriverManager.getConnection(

\, \, \);

stmt = con.createStatement(); e.printStackTrace();

} catch (SQLException e) {

publicvoid closeDB() // 关闭连接 { }

try { }

stmt.close(); con.close();

e.printStackTrace();

} catch (SQLException e) {

《软件工程》课程设计报告 - 34-

3.添加学生信息

publicvoid insertst() { // 插入记录 String xh = null;

if (this.getTitle() == \增加\) {// 如果是增加记录,对应的用户表中也增加一条记

try {

stmt.executeUpdate(\ + xh + \

+ xh + \ + 1 + \);

String xm = null; int nl = 0;

xh = tsno.getText(); xm = tsname.getText(); try { }

nl = Integer.parseInt((String) tsage.getText());

if (this.getTitle() == \修改\) {// 如果是修改记录,先删除再增加 try { }

String str = \ + xh + \ + xm + \ + nl

+ \ + xb + \ + yx + \; }

this.connDB();

intrs1 = stmt.executeUpdate(\

+ xh + \);

} catch (SQLException e) {

e.printStackTrace();

this.connDB();// 连接数据库 try { }

JOptionPane.showMessageDialog(null, \年龄必须是整数!\); tsage.setText(\); isNewsm = false;

stmt.executeUpdate(str);

JOptionPane.showMessageDialog(null, this.getTitle() + \成功!\,

\提示\, JOptionPane.INFORMATION_MESSAGE, new ImageIcon( \));

this.setVisible(false);

JOptionPane.showMessageDialog(null, \学号已存在!\);

tsno.setText(\);

} catch (SQLException e) {

} catch (NumberFormatException e) {// 判断年龄是否为数字

} catch (NullPointerException e) { } catch (SQLException e) {

《软件工程》课程设计报告 - 35-

}

}

}

// e.printStackTrace();

publicvoid actionPerformed(ActionEvent e) { }

publicvoid itemStateChanged(ItemEvent e) { // 下拉框的监听 if (e.getStateChange() == ItemEvent.SELECTED) { }

}

JComboBox jcb = (JComboBox) e.getSource(); if ((jcb.getSelectedItem() == \男\) }

|| (jcb.getSelectedItem() == \女\)) { xb = (String) jcb.getSelectedItem(); yx = (String) jcb.getSelectedItem();

if (e.getActionCommand() == \确定 \) { this.insertst(); }

if (e.getActionCommand() == \取消 \) { this.setVisible(false); }

new SM().display(); if (isNewsm) { }

isNewsm = true;

new SM().display();

} else {

4.修改和删除学生信息

publicvoid delete() {// 删除某个学生的基本信息

String xh = null;

String xm = null; intnl = 0;

String xb = null; String yx = null; int row = -1;

row = sTable.getSelectedRow();

if (row == -1) {// 判断要删除的信息是否被选中

JOptionPane.showMessageDialog(null, \请选择要删除的记录!\); } else {

if (!bstd) {// 判断选择的是不是查询后的结果

《软件工程》课程设计报告 - 36-

}

int j1 = 0; try { }

inti1 = 0; try { } try { }

intrs1 = stmt.executeUpdate(\

+ mxh + \); + \);

stmt.executeUpdate(\ + mxh JOptionPane.showMessageDialog(null, \记录删除成功!\); this.dispose(); new SM().display(); e.printStackTrace();

intrs1 = stmt.executeUpdate(\ + xh + \); // 删除数据库中当前被选中的记录

stmt.executeUpdate(\ + xh + JOptionPane.showMessageDialog(null, \记录删除成功!\); this.dispose(); new SM().display(); e.printStackTrace();

rs = stmt.executeQuery(\);

while (rs.next() && j1 <= row) {// 找出当前被选中的记录在数据库 }

e.printStackTrace();

xh = rs.getString(\); xm = rs.getString(\); nl = rs.getInt(\); xb = rs.getString(\); yx = rs.getString(\); j1++;

中的对应

}

}

} catch (SQLException e) {

\);// 删除对应的用户表中的记录

} catch (SQLException e) {

} else {

} catch (SQLException e) {

publicvoid update() {// 修改某个学生的基本信息 String xh = null;

《软件工程》课程设计报告 - 37-

String xm = null; int nl = 0; String xb = null; String yx = null; int row = -1;

row = sTable.getSelectedRow(); if (row == -1) {

JOptionPane.showMessageDialog(null, \请选择要修改的记录!\); } else { }

int j1 = 0; try { }

SAdd sadd = new SAdd(xb, yx); sadd.setTitle(\修改\); sadd.tsno.setText(xh); sadd.tsname.setText(xm); sadd.tsage.setText(\ + nl); sadd.tsno.setEnabled(false); this.dispose();

if (!bstd) {// 判断选择的是不是查询后的结果 rs = stmt.executeQuery(\); } else { }

while (rs.next() && j1 <= row) {// 找出当前被选中的记录在数据库中的 }

e.printStackTrace();

xh = rs.getString(\); xm = rs.getString(\); nl = rs.getInt(\); xb = rs.getString(\); yx = rs.getString(\); j1++;

rs = stmt.executeQuery(\ + mxh

+ \);

对应

}

} catch (SQLException e) {

publicvoid select() {// 显示某个查询的结果

mxh = sst.xh;

playerInfo = new Object[1][5];

String[] columnNames = { \学号\, \姓名\, \年龄\, \性别\, \院系\ }; try {

rs = stmt.executeQuery(\ + mxh + \);

《软件工程》课程设计报告 - 38-

}

}

while (rs.next()) { }

e.printStackTrace();

playerInfo[0][0] = rs.getString(\); playerInfo[0][1] = rs.getString(\); playerInfo[0][2] = rs.getInt(\); playerInfo[0][3] = rs.getString(\); playerInfo[0][4] = rs.getString(\);

} catch (SQLException e) {

if (playerInfo[0][1] == null) { }

this.dispose();

JOptionPane.showMessageDialog(null, \学号不存在!\); new SM().display();

sTable = new JTable(playerInfo, columnNames);// 创建网格 p1.add(sTable);

scroll = new JScrollPane(sTable); this.add(scroll);

} else {

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

Top