Java面向对象程序的设计课程设计报告.doc
《Java面向对象程序的设计课程设计报告.doc》由会员分享,可在线阅读,更多相关《Java面向对象程序的设计课程设计报告.doc(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、WORDI/452016-20172016-2017 学年第学年第 2 2 学期经济管理学院实践教学学期经济管理学院实践教学成成 绩绩 评评 定定 表表实践教学项目面向对象程序设计专业信息管理与信息系统学生班级学号评语成绩WORDII/45课程实践任务书学院经济管理学院专业信息管理与信息系统学号15040602150406021504060222课程名称面向对象程序设计设计题目学生信息管理系统程序设计日期WORDIII/45设计要求与任务:设计要求与任务:使用任意一款 JAVA 开发工具开发一个实用的应用系统,如记事本、计算器、绘图软件、JSP 或者 MIS。可以采取 B/S 或者 C/S 模
2、式。此次设计的具体要求还包括:(1)根据课程设计时间选择适当规模大小的设计题目,分小组进行设计。(2)小组组长为组员分配任务,根据合理的安排,按照软件开发的流程与方法,踏实地开展课程设计活动。(3)课程设计包括开发编码和撰写相关文档。最后提交详细的课程设计报告。(4)开发出可上机运行的 JAVA 应用,并上机测试。工作计划与进度安排:工作计划与进度安排:第 1-3 天:布置任务、分组、粗略调查、选题、可行性研究、系统规划。第 4-6 天:深入调研、系统分析、建立数据逻辑模型、系统设计、建立数据物理模型第 7-9 天:系统实施、程序设计、系统调试。第 9-10 天:应用测试、整理资料、撰写报告、
3、准备验收指导教师(签字):年月日专业负责人(签字):年月日学院院长(签字):年月日WORDIV/45WORDI/45摘要摘要信息技术的快速发展的同时也带来了社会各个行业的发展。它的发展已经深入到社会的各个角落。作为社会发展的前沿技术,各行各业只要对其合理的进行运用,必将会带来巨大的便捷。成功的运用信息技术将为各类学校学生信息管理带来无限便利。作为计算机应用的一部分,使用学生信息管理系统对学生档案进行管理,有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、性好、寿命长、成本低等,提高学生档案管理的效率。本文介绍了系统开发的全过程。该系统以 Windows 为操作平台,Ja
4、va 为开发语言,Access 为数据库,Eclipse 为开发工具,使用 JDBC 技术进行连接,实现了在可视化的基础上,利用数据库进行后台管理。系统由学生和老师基本信息添加、学生和老师基本信息查询、学生和老师基本信息删除、学生和老师基本信息修改与退出系统等功能模块组成,基本功能较全面。用户界面友好、清晰、操作简便,易学易用;系统可读性好,易于维护、更新,安全性较好。采用传统下拉菜单功能选择,方便、快捷、一目了然,并且在一个窗体中进行操作,可视化强。采用链入数据库进行存储,可动态进行查看、操作,这样的系统可修改性较强。关键字:面向对象;Eclipse;JDBC目录目录1 前言.11.1 课题
5、简介.11.2 设计目的.12 需求分析 2WORDII/452.1 业务需求分析.22.2 功能需求分析.22.2.1 学生信息.22.2.2 教师信息.22.2.3 成绩管理.33 数据库设计 53.1 Java 连接数据库.53.1.1 关系数据库概述.53.1.2 通过 JDBC 访问数据库.53.2 数据库与基本表设计.54 系统设计与实施 94.1Eclipse Java Neon 3.94.2 结构设计.94.3 文件组织结构.104.4 登录模块.104.4.1 设计构想.104.4.2 实现登录模块.11WORDIII/454.5 学生信息模块.144.5.1 设计构想.14
6、4.5.2 实现学生信息模块主界面.144.5.3 添加信息.164.5.4 删除信息.194.5.5 修改信息.214.5.6 基本信息查询.244.5.7 成绩查询.284.5.8 退出系统.314.6 教师信息模块.32结束语 37参考文献 37附录 A38WORD1/451 1 前言前言1.11.1 课题简介课题简介学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。近几年来,国家政策的调整,我国高等院校大规模扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。其包含的数据量大,涉与的人员面广,而且需
7、要与时更新,故较为复杂,难以单纯地依靠人工管理,而且传统的人工管理方式既不易于规化,管理效率也不高。目前我国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,中、小学对学生档案的管理更是落后,这样的管理机制严重浪费人力和物力,已经不能适应时代发展的要求。计算机应用的普与已进入人类社会生活的各个领域,并发挥着越来越重要的作用。这种传统的手工管理模式必然被以计算机为物质基础的信息管理方法所取代。作为计算机应用的一部分,使用学生信息管理系统对学生档案进行管理,有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、性好、寿命长、成本低等。这些优点能够极提高学生档案管理
8、的效率,也是学校向科学化、正规化管理发展的必要条件。1.21.2 设计目的设计目的对学生信息管理系统,目的是为了对学校的学生信息管理工作进行系统的管理,以提高工作效率。通过程序设计,开发出学生信息管理系统代替相应的手工管理。学生信息管理系统可为用户提供充足的信息和快捷的查询手段,不但可以实现教师、学生的信息录入、修改与删除,而且可以实现学生成绩的信息录入、修改与删除,同时可以对所有的信息进行查询,实现学校的规化管理。WORD2/452 2 需求分析需求分析2.12.1 业务需求分析业务需求分析开发一个系统前,首先应该对该系统要实现的功能进行整体的分析和规划,确保在开发过程中不会出现重大缺陷和漏
9、洞。因此,在软件开发的过程中应严格按照软件工程的流程进行系统的分析与设计。该系统是学生管理系统,应以学生信息为中心,组织相关程序结构。通过分析可知,学生信息管理系统的主要业务应有:学生基本信息管理、教师基本信息管理、学生成绩管理、用户管理等。2.22.2 功能需求分析功能需求分析通过业务需求分析可知,该系统主要有三类用户:学生,教师和系统管理员。因此,该系统的功能可分为学生信息管理、教师信息管理和成绩管理,具体有以下几个方面:(1)学生:可以对每个学生的信息进行添加、修改、删除和查询。(2)成绩:可以对每个学生所学科目的成绩进行添加、删除、修改和查询。(3)教师:可以对每个教师的信息进行添加、
10、删除、修改和查询。2.2.12.2.1 学生信息学生信息学生信息主要存储了学生的基本情况,包括学号、性别、所在班级、所在学院等信息。一个学号可唯一确定一名学生。学生信息集中进行管理,方便进行相关基本信息的查询、修改、删除等活动,大大简化了手续。2.2.22.2.2 教师信息教师信息教师信息主要存储了教师的基本情况,包括教师编号、性别、职称、所在学院等信息。一个教师编号可唯一确定一名教师。教师信息集中进行管理,方便WORD3/45进行查询、修改、删除和人事变动等活动,大大简化了手续。2.2.32.2.3 成绩管理成绩管理成绩管理的对象是学生所学科目的相应成绩,对成绩进行集中管理,方便了学生查询成
11、绩、教师添加、查询和修改成绩,加快了查询速度,提高了准确率,大大简化了手续。WORD4/45图 2-1 学生信息管理系统功能模块图WORD5/453 3 数据库设计数据库设计3.13.1 JavaJava 连接数据库连接数据库3.1.13.1.1 关系数据库概述关系数据库概述关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,用二维表格形式来表述实体与实体之间关系。有 3 种完整性约束:实体完整性、参照完整性和用户自定义完整性,其中实体完整性和参照完整性是关系数据库中必不可少的完整性条件,分别表述为主属性不为空和一表或多表之间具有某种对应关系、相互
12、制约。3.1.23.1.2 通过通过 JDBCJDBC 访问数据库访问数据库JDBC 由 Java 编程语言编写的类和接口组成,是实现 Java 与各种数据库连接的关键,提供了将 Java 与数据库连接起来的程序接口,使用户可以以 SQL 的形式编写访问请求,然后传给数据库,其结果再由这一接口返回,从而实现对数据库中数据操作的目的。3.23.2 数据库与基本表设计数据库与基本表设计由于该系统数据量不大,采用了 Access 作为数据库,所建的系统数据库名为“student1”。通过需求分析、概念设计与逻辑设计,可知该系统数据库应涉与到以下基本表:班级表、学生表、教师表,具体结构如下:(1)班级
13、表(班级编号,班级名称,所属学院,班级人数)该表用于保存班级信息,其数据字典如表 3-1 所示:WORD6/45表 3-1 班级表数据字典字段名称数据类型说明班级编号varchar(20)主键班级名称varchar(20)所属学院varchar(20)班级人数int(2)学生表(学号,性别,出生日期,班级编号)该表用于存储学生的基本信息,其数据字典如表 3-2 所示:表 3-2 学生表数据字典字段名称数据类型说明学号varchar(20)主键varchar(20)性别varchar(20)属性域为“男”,“女”出生日期data班级编号varchar(20)外键,参照班级表中班级编号WORD7/
14、45(3)教师表(教师编号,性别,职称,所属学院,出生日期)该表用于存储教师的基本信息,其数据字典如表 3-3 所示:表 3-3 教师表数据字典字段名称数据类型说明教师编号varchar(20)主键varchar(20)性别varchar(20)属性域为“男”,“女”出生日期data职称varchar(20)所属学院varchar(20)(4)课程表(课程号,课程名,学分)该表用于存储学生可学课程的基本信息,其数据字典如表 3-4 所示:表 3-4 课程表数据字典字段名称数据类型说明课程号varchar(20)主键课程名varchar(20)学分intWORD8/45(5)成绩表(学号,课程号
15、,成绩,教师编号)该表用于存储学生可学课程的成绩情况,其数据字典如表 3-5 所示:表 3-5 课程表数据字典字段名称数据类型说明学号varchar(20)外键,参照学生表中学号课程号varchar(20)外键,参照课程表中课程编号成绩int教师编号varchar(20)外键,参照教师表中教师编号WORD9/454 4 系统设计与实施系统设计与实施4.14.1EclipseEclipse JavaJava NeonNeon 3 3出于稳定性与便利性的考量,本设计选用了 Eclipse Java Neon 3 作为程序的开发环境,Eclipse 是著名的跨平台的自由集成开发环境(IDE),最初由
16、 OTI和 IBM 两家公司的 IDE 产品开发组创建,它本身只是一个框架平台,但是众多插件的支持使得 Eclipse 拥有其他功能相对固定的 IDE 软件很难具有的灵活性。使用时可清楚的发现错误,并能根据相应规则进行修改,大大简化了程序检查工作。由于 package explorer 的存在,使得随时查找文件变得十分方便。同时又提供有很便利的数据库连接方式。Eclipse Java Neon 3 具有以下四大优点:(1)从编写、查错、编译、帮助等等各方面为 Java 语言贴身定做。(2)可无限扩展的强大插件功能。(3)众多公司、厂商、组织支持。(4)开放,自由,免费。4.24.2 结构设计结
17、构设计该系统用于对学生的基本信息与学生的成绩进行管理,主要包括添加、修改和删除学生与教师基本信息,录入、修改和删除学生的成绩,查询学生和教师的基本信息,为了方便,全部操作均在界面中完成。由此,将该系统结构设计为登录模块、学生模块、教师模块,对应于学生与教师这两类主要用户。由于涉与界面设计,因此调用了 java.awt.*、java.awt.event.*、javax.swing.*、java.util.*、javax.swing.event.*、java.sql.*等包。WORD10/454.34.3 文件组织结构文件组织结构学生信息管理系统中使用的根目录文件夹是“nnn”,其文件组织结构图如
18、图 4-1 所示:图 4-1 项目文件组织结构图4.44.4 登录模块登录模块登录模块使进入学生信息管理系统的第一个界面,相当于一个的主页。4.4.14.4.1 设计构想设计构想该系统是学生信息管理系统,用户为三类:学生、教师和系统管理员,可在相应的权限围查询和更新系统数据。因此,不同的用户在登录时需有不同的角色选项,此外,还应有各自的用户名和密码。WORD11/454.4.24.4.2 实现登录模块实现登录模块(1)要生成一个界面,可应用 AWT 知识。设置其名字为学生信息管理系统;设置布局管理器为(null)布局管理器,这样方便往其中放组件;设置窗口大小和位置,还要设置窗口可见性。(2)生
19、成界面后,接下来就需要实现每个功能,在设计构想中提到的第一个功能就是要对操作对象的身份进行选择,这里要用下拉列表的形式进行选择,也可以用单选按钮来完成这个功能。在这项功能中,首先要选择身份,所以要定义一个 JLabel 来说明,定义完 JLabel 后,就需要定义一个 JComoBox,也就是下拉列表框。(3)输入用户名和密码。需要用两个 JLabel 来指明需要输入用户名和密码。输入用户名需要定义一个 JTextField,也就是单文本框。同时输入文本,但输入密码和输入用户名是不一样的,它需要定义成 JPasswordField,它的输出结果为“*”这样的形式。(4)创建两个按钮,一个是登录
20、按钮,另一个是取消登录按钮,用来输入的用户名和密码与选择的身份进行提交。当然要对登录按钮事件进行事件监听,首先要验证用户名和密码是否正确并对上,然后根据选择的身份来选择需要进入那个界面,其代码如下:publicclasspublicclass Info_Manage extendsextends Frame implementsimplements ActionListenerJLabel JLUserName=newnew JLabel(用户名);JLabel JLPaw=newnew JLabel(密码);JLabel JLP=newnew JLabel(角色);JTextField JT
21、UserName=newnew JTextField();JPasswordField JPsw=newnew JPasswordField();JTextField jt=newnew JTextField(10);String str=学生,教师,管理者;JComboBox JCB=newnew JComboBox(str);WORD12/45utton 1=newnew utton(登录);utton 2=newnew utton(取消);publicpublic Info_Manage()thisthis.setTitle(学生信息管理系统);thisthis.setLayout(nu
22、llnull);JLUserName.setBounds(100,40,100,20);thisthis.add(JLUserName);JTUserName.setBounds(200,40,100,20);thisthis.add(JTUserName);JLPaw.setBounds(100,100,100,20);thisthis.add(JLPaw);JPsw.setBounds(200,100,80,20);thisthis.add(JPsw);JCB.setBounds(200,150,100,20);thisthis.add(JCB);JLP.setBounds(100,150
23、,100,20);thisthis.add(JLP);1.setBounds(100,200,60,20);thisthis.add(1);1.addActionListener(thisthis);2.setBounds(200,200,60,20);thisthis.add(2);2.addActionListener(thisthis);thisthis.setVisible(truetrue);thisthis.setBounds(10,10,400,250);WORD13/45addWindowListener(newnew WindowAdapter()publicvoidpubl
24、icvoid windowClosing(WindowEvent e)System.exit(0););JCB.addActionListener(newnew ActionListener()publicvoidpublicvoid actionPerformed(ActionEvent e)intinth=JCB.getSelectedIndex();ifif(h=0)student_manage sm=newnew student_manage();elseifelseif(h=1)teacher_manage tm=newnew teacher_manage(););publicvoi
25、dpublicvoid actionPerformed(ActionEvent e)ifif(e.getSource()=1)String name=JTUserName.getText();String password=newnew String(JPsw.getPassword();ifif(name!=nullnull&(name.equals(1)&(password!=nullnull&(password.equals(1)newnew student_manage();elseelseWORD14/45其运行结果如图 4-2 所示:图 4-2 Info_Manage.java 的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 面向 对象 程序 设计 课程设计 报告
限制150内