还剩25页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
信息科学与技术学院《软件工程》课程设计题目名称班级学生信息管理系统学生姓名汪亚超王生辉杨思学号200708191320070819512007081994专业信息管理与信息系统班级07级
(1)班07级
(2)班07级
(3)班指导教师戴建国职称讲师完成日期2010年6月19号目录TOC\o1-3\h\z\u第一章简介
11.1简介
11.2课题开发技术选择
11.3课题实现技术的简要说明
21.4可行性分析3第二章需求分析
42.1客户需求分析
42.
1.1用户的特点
42.2功能需求分析
52.
2.1系统用例图
52.
2.2系统类图
62.3系统的性能需求
72.4运行需求
82.5其他需求8第三章系统分析与设计
93.1数据模型分析与设计
9103.2结构设计与结构功能图
113.
2.1结构设计
113.
2.2功能结构图
113.
2.2系统操作流程图
133.3数据库的实施和维护
133.
3.1数据库的实施
133.
3.2数据库的测试运行14第四章系统运行
154.1系统运行
154.2系统调试与维护
194.
2.1测试的定义及目的
194.
2.2系统功能测试
194.
2.3系统实施发布
204.
2.4系统调试常见错误20第五章开发总结与分工
215.1开发总结
215.2参考文献21附录22第一章简介
1.1简介随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长面对庞大的信息量需要有班级学生管理系统来提高学生管理工作的效率通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量,方便老师和班委对本班学生相关信息的管理利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好要科学地实现信息化管理,开发一个适合班级的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的本系统就是针对便于班级学生信息管理的问题而设计的一个管理系统,实现学生信息关系的系统化、规范化和自动化
1.2课题开发技术选择本课题设计主要运用的技术有两个java项目开发和Access对数据库的操作这里主要介绍本课题为什么选用这两个开发技术⑴首先了解一下Java语言特点Java是一种跨平台,适合于分布式计算环境的面向对象编程语言具体来说,它具有如下特性简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等由于Java主要用于网络应用程序开发,因此对安全性有较高的要求如果没有安全保证,用户从网络下载程序执行就非常危险Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏当Java字节码进入解释器时,首先必须经过字节码校验器的检查,然后,Java解释器将决定程序中类的内存布局,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破坏最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统上述几种机制结合起来,使得Java成为安全的编程语言⑵Access数据库的特点
①存储方式单一 Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件中,便于用户的操作和管理
②面向对象 Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中
③界面友好、易操作Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便
④集成环境、处理多种数据信息 Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行
⑤Access支持ODBC(开发数据库互连,OpenDataBaseConnectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等综上所述,选择java作为开发语言,Access作为数据库开发工具是个不错的选择java语言的面向对象、平台无关、分布式、多线程、可靠和安全等特性,使得开发出来的项目具有健壮性、可维护性、可移植性等特点所以本系统选择java和Access作为开发技术是为今后开发更复杂的项目打下基础,以免到时候遇到相关的技术问题而不知所措
1.3课题实现技术的简要说明本课题主要运用了java图形编程和Access数据库的操作Java图形编程给用户提供了一个直观、易于与用户进行交互的图形界面在图形编程中,运用了大量的java.swing包中的类,较少使用java.awt包中的类,主要是swing包中的类能给用户提供更好的观感Access数据库的操作这部分内容分成三部分来实现首先,编写对数据库操作的类,包括连接数据库、执行sql语句、等其次,编写一个用于对学生信息进行数据库操作的类,包括学生信息的增加、修改、删除和查询等最后,编写一个用于对学生成绩相关信息进行数据库操作的类,包括对学生成绩信息的修改、查询等等通过结合图形编程和数据库编程,从而基本上实现了学生信息管理的基本功能,由于本人技术上的不足,难免有些地方需要改进,这些存在的问题都将成为本人前进的动力,并在日后更加完善本系统的设计
1.4可行性分析⑴技术可行性系统的性质为管理软件,因而数据库的设计与操纵是系统设计的核心这里从两方面分析技术上的可行性首先,对于java编程部分,java课已经开过,本人基本上掌握了对java编程上技巧加上平时运用了大部分时间来对图形编程的学习因此在课题设计中,对java图形编程方面的问题有一定了解其次,对于数据库的有关知识,本人运用了大量的时间对相关书籍的阅读以及上机实验,基本上掌握了运用Access数据库技术,具备一定的系统分析与设计能力,熟悉数据库的设计与操纵;因而该系统的实现在技术上是可行的⑵人员可行性本人对该课程设计有足够的技术上的准备,但在时间上也不够充裕所以在进行该课程设计中,需要人员分工,详细设计较好的完成了该项目的开发工作所有,在人员可行性方面是可行的第二章需求分析
2.1客户需求分析随着学校向全国及至世界范围的持续扩张,学生人数的增加,对于学生的信息管理也越来越复杂,要求也越来越高,因此需要一个全面、详细的信息管理系统,以便完成对学生信息的管理无纸化的环境是技术时代的一个梦想,也是许多学校和公司越来越意识到的一个真实世界以前是由学生档案和公告栏来提供各种信息及通告新的变化,而现在这个繁杂的工作已被网站和内部计算机网络所取代使得学生信息的管理更方便、安全过去广大学生进行信息提交的主要方式是基于文件、表格等纸介质的手工处理,学生信息管理部门信息处理工作量大,容易出错,且管理方面因人而异然而班级学生管理系统应该覆盖各个所需功能,使班委和教师在信息系统的辅助下进行工作,提高管理的整体水平使得学生信息管理更方便班级学生信息管理系统,可以用集中的数据库将与人力资源管理相关的信息全面、有机地联系起来,有效地减少了信息更新和查找中的重复劳动,保证了信息的相容性,从而大大地提高了工作效率在采用和实施学生信息管理系统之后,就会将依赖于人的过程改为依赖于计算机系统的过程班级管理人员只要获取了相应的权限,就可以随时进入系统,直接查阅相应的信息采用和实施班级学生信息管理系统不仅仅是为了提高工作效率应该看到,在实施班级学生信息管理系统后,经过整合的、较为全面、准确、一致和相容的信息不仅可以让学院领导对本学院学生资源的现状有一个比较全面和准确的认识,同时也可以方便学校领导人在决策时参考本需求规格说明书是学生宿舍管理系统的需求规格说明书,他定义了系统的功能、性能及系统业务处理的基本模型,其主要目的是
①使用户在分析阶段初步判断目标软件能否满足其原来的需求;
②作为设计人员进行设计的基本出发点以及最后系统验收的标准
2.
1.1用户的特点⑴用户都是本科以上文化,对计算机有一定的了解,能进行基本的网络设置和计算机操作⑵用户每周使用系统一次⑶用户对原有的信息管理方法非常熟悉,要求新系统尽可能提供操作者熟悉的界面
2.2功能需求分析本课题根据班级学生信息管理综合分析,出于方便管理考虑,将学生信息管理系统的功能总结起来,共需要实现以下几个方面功能
①管理学生信息管理所有学生的基本信息,对学生信息的操作包括添加、修改、删除等;可以根据各种条件查询出需要的信息,比如修改,可以通过学生学号查询出学生的基本信息,然后通过对需要修改项进行修改并保存修改后的结果存入数据库的学生表中
②管理课程信息管理所有课程的基本信息,包括对课程信息的添加、修改、删除等操作;可以根据各种条件查询出需要的信息,并对相应的信息进行操作比如修改和删除,可以通过学生的学号查询出学生的相应课程信息,对相应的课程进行修改、删除操作
③管理成绩信息根据学生的学号进行记录,登记所学课程的成绩;可以根据学号查询出成绩
④管理用户信息可以对系统用户的密码进行修改
2.
2.1系统用例图系统分为学生界面和教师界面,不同用户对系统有不同的操作功能,学生可对学生信息、学生成绩、课程进行查询和添加等功能,教师具有对学生信息、学生成绩、课程进行查询、添加、修改、删除等功能图
2.1班级信息管理系统用例图
2.
2.2系统类图班级学生管理系统共有20个类组成,其中StuLogin进行系统登陆,选择用户类型,其中包含运行整个程序的主类MainStuMain使系统的主界面,为用户提供各种信息服务StuInfo、CourseInfo、GradeInfo、StuSearchsum为用户提供信息管理、成绩管理、课程管理、信息查询等功能图
2.2班级信息管理系统类图
2.3系统的性能需求系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑本系统运行环境为局域网环境,在运算时对系统整体性能要求不高,要求网络环境提供一个局域网络环境即可软件系统环境Java虚拟机,Access数据库硬件系统环境C
600、64MB(RAM)、500MB(HD)系统运行时对数据的保密性要求不高对一般的数据不要求进行加密此外,对其它软件几乎没有依赖性,程序健壮性较好
2.4运行需求硬件条件586CPU、32MRAM、
3.2G硬盘以上的PC机软件条件Windows98及以上操作系统
2.5其他需求本系统有较好的可维护性、可靠性、可理解性、效率易于用户理解和操作可维护性包括了可读性、可修改性、可测试性、等含义可靠性通常包括正确性和健壮性开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(经费、时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足第三章系统分析与设计
3.1数据模型分析与设计数据库模型描述了在数据库中结构化和操纵数据的方法,模型的结构部分规定了数据如何被描述(例如树、表等);模型的操纵部分规定了数据的添加、删除、显示、维护、打印、查找、选择、排序和更新等操作数据库模型的分类分层模型、关系模型、网络模型和对象模型本课题的关系数据模型的数据结构可分为三个表来表示学生信息表(Student)、成绩信息表(Grade)、用户信息表(User);图
3.1学生信息E-R图;图
3.1学生信息E-R图;图
3.2课程信息E-R图;图
3.3学生成绩E-R图;如下图这三个E-R对应的表分别是学生信息表用于记录学生的基本信息,表3-1;成绩信息表用于记录学生成绩信息,表3-2;用户信息表用于记录登陆信息,表3-3表3-1学生信息表(Student)名称字段名称数据类型主键非空学号SnumberNumber10YesYes学生姓名SnameVarchar2NoYes性别SsexChar2NoNo班级SclassVarchar2NoNo学院ScollegeVarchar2NoNo表3-2成绩信息表(Grade)名称字段名称数据类型主键非空学号SnumberNumber10YesYes姓名SnameVarchar2NoYes班级SclassVarchar2NoNo语文YuwenVarchar2NoNo数学ShuxueVarChar1NoNo表3-3用户信息表(User)名称字段名称数据类型主键非空IdNumber
(10)NoNo用户名User_idNumber
(10)YesYes密码User_pswNumber10NoNo表3-3学生课程表(SC)名称字段名称数据类型主键非空学号SnumChar10YesYes课程编号CnumChar4YesYes成绩GradeNumber41NoNo
3.2结构设计与结构功能图
3.
2.1结构设计根据对系统进行需求分析,本系统将分为4个模块●学生管理管理学生基本信息,包括个人信息的添加、修改、删除以及选课信息的添加●课程管理管理课程的基本信息,包括课程信息的添加、修改和删除●成绩管理管理学生的成绩信息,包括成绩的登记与修改●信息查询查询已经登记的信息,包括学生的基本信息、课程的基本信息与成绩信息
3.
2.2功能结构图班级学生管理系统功能结构如图
3.4所示
3.
2.2系统操作流程图班级学生管理系统数据流程如图
3.5所示
3.3数据库的实施和维护完成数据库的物理设计之后,设计人员就要将数据库逻辑设计和物理设计结果严格描述出来,再经过调试产生目标模式然后就可以组织数据入库了,这就是数据库实施阶段
3.
3.1数据库的实施数据库的实施主要是根据逻辑结构设计和物理结构设计的结果,在计算机系统上建立实际的数据库结构、导入数据并进行程序的调试它相当于软件工程中的代码编写和程序调试的阶段学生基本信息表(主要记录学生的基本信息)用户基本信息表(主要描述使用者的一些信息)成绩信息表(主要描述学生成绩的基本信息)
3.
3.2数据库的测试运行数据库试运行合格后,数据库开发工作就基本完成,即可投入正式运行了但是,由于应用环境在不断变化,数据库运行过程中物理存储也会不断变化,对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高在数据库运行阶段,数据库日常维护工作是系统管理员的重要职责其内容主要包括以下部分
一、备份系统数据系统数据的备份与恢复机制保证了在系统失败时重新获取数据的可能性因此定期备份数据库是一项十分重要的日常维护工作
①备份数据库每一个数据库都应在创建之后卸出,从而提供一个装入基点在此之后按排定的时间周期表卸出比如每周五卸出数据库对一般数据库系统卸出数据库周期建议为每周一次
二、万一系统失败时恢复数据库系统如果用户数据库存储的设备失效,从而数据库被破坏或不可存取,通过装入最新的数据库备份可以恢复数据库第四章系统运行
4.1系统运行该系统由6个模块构成,包括登录模块、班级学生管理系统主界面模块、学生信息管理模块、课程信息管理模块、成绩信息管理模块和信息查询模块下面分别加以叙述1登录模块班级学生管理系统登录模块包含DengluJieMian.java文件它是系统调用主界面的运行类,主要使用swing包,如图
4.1所示图
4.1学生管理系统登陆界面
①学生管理系统主界面模块学生管理系统主界面模块包含StuMain.java文件StuMain是学生管理系统的主运行类,其中有运行整个程序的main方法,该文件生成了StuMain类的一个实例,从而生成了学生管理系统的界面,如图
4.2所示StuMain类继承自JFrame类,实现了ActionListener接口,他有一个不带参数的构造方法StuMain用来生成StuMain的实例StuMain类将所有功能集中到菜单栏中,并通过调用其他模块来实现学生管理系统的各个功能图
4.2学生管理系统主界面
②学生信息管理模块学生信息管理模块主要由StuInfo.java、AddStuInfo.java、EdiStuInfo.java、DelStuInfo.java、SelectCourse.java和StuInfoSearchSnum.java共计6个文件组成,其构成关系如图
4.3所示学生信息管理模块的6个文件组成了主界面中的“学生管理”菜单的内容,其中包括增加、修改、删除和学生选课功能,如图
4.4所示图
4.4学生信息管理模块的运行界面
③课程信息管理模块课程信息管理模块主要由CourseInfo.java、AddCourseInfo.java、EditCourseInfo.java、DelCourseInfo.java、CourseInfoSearchCnum.java这5个文件组成,其构成关系如图
4.5所示课程信息管理模块中的5个类文件组成了主界面中“课程管理”菜单的内容,其中包括增加、修改和删除功能,如图
4.6所示图
4.6课程信息管理模块运行界面
④成绩信息管理模块成绩信息管理模块主要由GradeInfo.java、AddGradeInfo.java、EditGradeInfo.java这3个文件组成,其构成关系如图
4.7所示成绩信息管理模块中的3个类文件组成了主界面中的“成绩管理”菜单的内容,其中包括增加和修改功能,如图
4.8所示图
4.8成绩信息管理模块的运行界面
⑤信息查询模块信息查询模块主要包括学生查询、课程查询和成绩查询3个部分信息查询的运行主截面如图
4.9所示图
4.9学生信息查询模块的运行界面学生查询由StuSearchSnum.java、StuSearchSsex.java、StuSearchScollege.java、StuSearchSmajor.java和ResultStudent.java这6个文件组成,主要实现功能包括按学号查询、按学生姓名查询、按性别查询、按学院查询与按专业查询
4.2系统调试与维护
4.
2.1测试的定义及目的软件测试就是在软件投入运行之前,对软件需求分析、设计规格说明和编码的最终复审,是保证软件质量的关键步骤如果要给软件测试下定义,可以这样讲,软件测试是为了发现错误而执行程序的过程测试的目的是以最少的时间和人力找出软件中潜在的各种错误和缺陷,并对其进行修改和补充
4.
2.2系统功能测试功能测试主要是测试程序模块是否实现了设计中所要求的功能功能测试中需要注意的有1查询功能中,实体有多个属性,本系统实现按单一查询条件进行查询,这里要注意的多个查询条件之间的关系还有一些常识性的问题,比如按学号查询2录入功能中,需要注意的是前台设置的数值长度是否大于后台数值长度,以及前台和后台的数据结构是否相符,很多时候录入功能无法实现是由于这些原因还有就是必须录入的字段的设置时候有误3测试修改功能中需要注意的是单击修改按钮后,一般会出现提示信息,确定是否修改成功通常情况下,我们单击查询按钮查看信息是否被修改了,而忽略了单击修改按钮后程序的反应这时有可能的是没有修改
4.
2.3系统实施发布班级学生管理系统是一个暂时可以交付用户使用的工程在编码结束以后,本人进行了如下测试界面测试、功能测试、需求测试、性能测试通过这几项的测试,基本可以保证系统的正常运行班级管理信息系统实施发布发布应用程序,首先需要确保安装了Sun公司的SDK,本系统使用JAVA编译要求确保设置好环境变量并把把Access数据库驱动程序连接到相应目录下,也就是将要部署的应用程序放到此目录下
4.
2.4系统调试常见错误
1.NullPointerException异常一般是对一个为NULL值的变量进行操作引起的为避免这种异常,最好在对变量操作之前检查,看它是否为NULL值
2.SQLException异常一般是由于SQL语句不正确引起的为避免这种异常,最好在使用SQL语句的程序中捕获此SQL异常
3.NumberFormatException异常这是由于数字的格式错误而出现的例外为了避免出现此类错误,一般必须保证数据格式输入正确第五章开发总结与分工
5.1开发总结经过这次课题的设计并实现,尽管会遇到很多难题,但是让我更加受益的是在这次课题中得到的经验、心得和锻炼我发现开发项目的过程其实就是个不断的解决问题的过程,从中也感觉到项目开发的快乐,一个人永远有学不玩的知识,就算是项目开发中的知识点都学了,但在实际的开发过程中仍然会遇到不少问题,遇到问题时要做到两点一个是“查”,一个是“问”不懂的地方就得要自己找答案,可以从书本、网络中查找解决的答案;再一个就是问周边的同学比如,在本科课题的编写代码部分,本人就参考了《21天学通JAVA》,从中得到了图形编程的很多有用的方法这次课程的设计给我以前所学的知识做了一个总结,为我深入学习编程做了铺垫在本课题中存在的不足之处是在所难免的,本人将在日后加于改进为了完成好这次课程设计,我们三个人组成一个小团队,经过认真选题和充分准备,终于完成了这次设计在本次设计中具体分工如下其中,系统需求分析和功能模块、数据库逻辑设计由三人共同参与完成汪亚超搜集、查阅资料,用Java开发工具开发系统,修改文档王生辉收集、查阅资料,用Access进行数据库设计,修改文档杨思查阅、收集、整理资料,编写文档
5.2参考文献Java2实用教程(第三版)耿祥义张跃平编著21天学通Java庞永庆庞丽娟等编著附录1)系统登录模块publicstaticvoidmainStringargs[]{newDengLuJieMian;}publicvoidactionPerformedActionEvente{ife.getSource==JB1//处理登录事件{Stringname=JTUserName.getText;Stringpassword=newStringJPsw.getPassword;Stringbox=StringJC.getSelectedItem;try{Class.forNamesun.jdbc.odbc.JdbcOdbcDriver;//加载驱动程序Connectioncot=DriverManager.getConnectionjdbc:odbc:student1;//打开数据库连接,student1为数据源名称Statementstm=cot.createStatement;//提交查询ResultSetrs=stm.executeQueryselect*fromuserwhereuser_id=+name+anduser_psw=+password+;//取得查询结果ifrs.next//判断结果是否存在{ifbox.equals老师{newTeacherJieMian;}elseifbox.equals学生{newStudentJieMian;}}else{JOptionPane.showMessageDialognull用户名或密码错误!;}}catchExceptionee{}评语说明
1、全文最多分三级标题,第一级标题黑体三号(加粗),第二级标题黑体小三(不加粗),第三级标题黑体四号(不加粗)第一级标题居中对齐,
二、三级标题靠左对齐(具体看第二章示例)
2、正文宋体小四,行间距固定值18磅
3、从正文开始出现页码,封面和目录不能有页码
4、每一章单独另起一页开始
5、所有图、表必须有序号和名字,序号和名字采用5号字,图的序号和名字在图的正下方,表的序号和名字在表的正上方假设第二章第二幅图,实例如下图2-2系统用例图
6、第四章介绍系统运行的部分示例,第五章说明开发过程的心得与分工情况
7、双面打印A3骑马装
8、附录可以打印部分源码,不用全部打印
9、评语放在最后,由指导教师学生姓名学号学院班级性别图
3.1学生信息E-R图成绩学号课程班级姓名图
3.2学生成绩表E-R图用户用户名密码图
3.3用户信息表E-R图班级学生管理系统学生管理课程管理成绩管理信息查询添加学生信息增加成绩删除学生信息学生查询增加课程课程查询修改学生信息修改成绩修改课程删除课程学生选课成绩查询按姓名查询按学号查询按性别查询按专业查询按学院查询按课程名称查询查询所有科目成绩按授课老师查询图
3.4学生管理系统功能结构图学生界面教师界面信息管理成绩管理课程管理信息查询开始用户登录读取用户类型型退出数据库访问数据库用户管理图
3.5数据流程图学生信息超类StuInfo.java增加学生信息AddStuInfo.java修改学生信息EdiStuInfo.java删除学生信息DelStuInfo.java学生选课SelectCourse.java按学号查询StuInfoSearchSnum.java按学号查询StuInfoSearchSnum.java图
4.3学生信息管理模块功能结构图课程信息超类CourseInfo.java增加课程信息AddCourseInfo.java修改课程信息EditCourseInfo.java删除课程信息DelCourseInfo.java按课程号查询CourseInfoSearchCnum.java按课程好查询CourseInfoSearchCnum.java图
4.5课程信息管理模块功能结构图成绩管理超类GradeInfo.java增加成绩信息AddGradeInfo.java修改成绩信息EditGradeInfo.java图
4.7成绩信息管理模块功能结构图。