java课程设计-学籍管理系统.doc_第1页
java课程设计-学籍管理系统.doc_第2页
java课程设计-学籍管理系统.doc_第3页
java课程设计-学籍管理系统.doc_第4页
java课程设计-学籍管理系统.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计报告课程设计(论文)任务书 学院 专业 班一、课程设计(论文)题目 学籍管理系统 二、课程设计(论文)工作自 2010 年 12 月 20 日起至 2010 年 12 月 24 日止。三、课程设计(论文) 地点: 软 件 学 院 实 训 中 心 四、课程设计(论文)内容要求:1本课程设计的目的(1)掌握java语言的程序设计方法; (2)理论联系实际,进一步提高学生的软件开发技术;(3)培养学生分析、解决问题的能力;(4)提高学生实践论文撰写能力。2课程设计的任务及要求1)课程设计任务:设计基于数据库的学籍管理系统设计要求:(1)录入学生基本信息的功能;(2)删除学生基本信息的功能;(3)查询学生基本信息的功能;(4)删除学生基本信息的功能。2)创新要求:(1)增加查询全部学生信息的功能;(2)增加提示信息窗口的功能。3)课程设计论文编写要求(1)课程设计任务及要求(2)设计思路-工作原理、功能规划(3)详细设计-数据分析、算法思路、类设计、功能实现(含程序流程图、主要代码及注释)、界面等。(4)运行调试与分析讨论-给出运行屏幕截图,分析运行结果,有何改进想法等。(5)设计体会与小结-设计遇到的问题及解决办法,通过设计学到了哪些新知识,巩固了哪些知识,有哪些提高。(6)参考文献(必须按标准格式列出,可参考教材后面的参考文献格式)(7)报告按规定排版打印,要求装订平整,否则要求返工;(8)课设报告的装订顺序如下:封面-任务书-中文摘要-目录-正文-附录(代码及相关图片)(9)严禁抄袭,如有发现,按不及格处理。4)课程设计评分标准: (1)学习态度:10分;(2)系统设计:20分;(3)编程调试:20分;(4)回答问题:20分;(5)论文撰写:30分。5)参考文献:(1)丁振凡. java语言实用教程(第2版)m. 北京邮电大学出版社. 2008.1 (2)丁振凡. java语言实用教程实验指导(第2版)m. 北京邮电大学出版社. 2008.1(3)杨树林等. java语言最新实用案例教程(第2版)m. 清华大学出版社. 2010.76)课程设计进度安排1准备阶段(4学时):选择设计题目、了解设计目的要求、查阅相关资料2程序模块设计分析阶段(4学时):程序总体设计、详细设计3代码编写调试阶段(8学时):程序模块代码编写、调试、测试4撰写论文阶段(4学时):总结课程设计任务和设计内容,撰写课程设计论文学生签名: 2010 年 12 月 20 日课程设计(论文)评审意见(1)学习态度(10分):优()、良()、中()、一般()、差(); (2)系统设计(20分):优( )、良()、中()、一般()、差(); (3)编程调试(20分):优()、良()、中()、一般()、差();(4)回答问题(20分):优()、良()、中()、一般()、差();(5)论文撰写(30分):优()、良()、中()、一般()、差(); 评阅人: 职称: 讲师 2010 年 12 月 25 日摘 要随着我国教育体制改革的深入进行,教育系统得到了前所未有的发展。学生管理正在逐步迈向管理信息现代化。但是我国的学生管理信息化水平还处在初级阶段,主要表现在对学生的交费管理、学生的档案管理还是采用原有的人工管理方式。学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。由于大学生类别和专业的设置的多样化,大学生的学籍管理历来是非常繁琐和复杂的的工作。面对庞大的信息量, 这时的人工管理几乎无法实现,在这种情况下用数据库进行管理变的尤为必要,这可以发挥计算机的优势,就需要有学生信息管理系统来提高学生管理工作的效率.通过这样的系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量和减少人为的错误。本学生学籍管理系统的开发与运行环境如下:开发环境:windows xp数据库管理系统:access 2007运行环境:windows xp目录一课程设计任务及要求11.课设题目12.设计任务13.设计要求14.扩展功能1二需求分析21.功能需求分析2三设计思路41.工作原理42.功能规划4四详细设计51.系统设计52.数据库设计63.界面设计74.系统实现8五运行调试与分析讨论131.运行调试132.分析讨论17六设计体会与小结19七参考文献20一课程设计任务及要求1. 课设题目课设题目:学籍管理系统2. 设计任务完成设计基于数据库的学籍管理系统,通过java图形界面的设计,使用户可以加入学生的基本信息,并可对加入的信息进行修改、查询和删除,设计gui界面使操作更加方便、清晰、条理化、自动化。在上机实践的同时,去培养自己的实际分析问题、编程和动手能力,提高自己的综合素质。激发自己的学习兴趣,正确理解和接受需要重点掌握的知识点,使自己更加进一步了解java的各个方面的知识。3. 设计要求 主窗体的设计(学籍管理系统窗体) 录入学生基本信息的(录入学生信息窗体) 修改学生基本信息的功能(修改学生信息窗体) 查询学生基本信息的功能(按学号查询学生信息窗体) 删除学生基本信息的功能(删除学生信息窗体) 菜单设计 事件响应的处理 access数据库的连接,创建数据表,在表中插入信息,并对其修改,查询以及删除表中信息的具体实现4. 扩展功能在主窗体中的菜单选项中,增加一个退出的菜单子项,使退出窗体更加地人性化、方便快捷。在查询窗体中增加查询全部学生信息按钮,当按下时,显示出一个包含所有学生学生基本信息的窗体。当按下录入、修改、查询、删除等按钮时,显示出来一个提示信息窗口,询问用户是否继续进行操作等。 二需求分析1. 功能需求分析本系统是设计基于数据库的学生信息管理,系统进行数据库设计首先必须准确了解也分析用户需求(包括数据和处理)。目的是为学籍管理数据库系统的设计打下牢牢的基础,是数据库开发的重要文件依据,主要为数据库设计人员使用,是用户和系统分析员的项目依据文件。系统分析的主要任务是从用户角度出发,用户是指系统管理员。而系统的主要功能是:建立一个主窗体,带有录入、修改、查询、删除学生信息的功能,并成功的连接数据库,将录入的信息保存在所建的表中,通过所建表的访问,对其内容进行修改,查询,删除。主要的功能描述如下:1) 学籍管理系统窗体 建立一个“菜单选项”的菜单项,通过对其菜单子项的访问,分别进入录入学生信息、修改学生信息、查询学生信息、删除学生信息窗口体。 对菜单子项“退出”进行注册监听,使其实现关闭窗口的功能。 在窗体上添加一个名叫“欢迎使用学生信息管理系统的标签,使其显示在正中间,并把窗体的背景色设为浅灰色,前景色设为红色。2) 录入学生信息窗体 在窗体的面板中设置学号、姓名、性别、专业、年级、出生标签以及其相对应的输入文本框。 在面板中添加录入、重置按钮。按下录入按钮时,能够把输入的信息添加到数据表中;按下重置按钮时,将文本框中的信息全部清空,回到初使状态。3) 修改学生信息窗体 在窗体的面板中设置输入要修改信息的学号、(新)姓名、(新)性别、(新)专业、(新)年级、(新)出生标签以及其相对应的输入文本框。 在面板中添加修改、录入修改、重置按钮。当提交的学号存在时,按下修改按钮,录入修改变成可执行状态;按下录入修改按钮时,能够把输入的信息添加到数据表中;按下重置按钮时,将文本框中的信息全部清空,回到初使状态。4) 查询学生信息窗体 在窗体的面板中设置请输入要查询的学号、姓名、性别、专业、年级、出生标签以及其相对应的输入文本框。 在面板中添加查询、查询全部学生信息按钮。当提交的学号存在时,按下查询按钮,在各个文本框中将显示该学号相应的信息;当按下查询全部学生信息按钮时,在另一个新建窗口中将显示数据表中所有学生的信息。5) 删除学生信息窗体 在窗体的面板中设置输入要删除的学号、姓名、性别、专业、年级、出生标签以及其相对应的输入文本框。 在面板中添加删除按钮。当提交的学号存在时,按下删除按钮,将删除数据表中该学号学生的相关信息。6) 数据库的相关操作 编写的程序能够成功的与access数据库相连。 分析各窗体中标签的具体位置,合理的建立一个新的数据表。 能够对数据表进行插入、修改、查询、删除等操作。 三设计思路1. 工作原理通过对gui界面的设计,菜单子项、按钮的注册与监听,文本框(获取数据gettext()、输入数据settext()、设置是否可编辑setenabled()),单选按钮(获取按钮的标识getstate()、设置按钮的状态setstate()),数据库的连接,数据表的建立以及其相关操作(插入信息、修改信息、查询信息、删除信息)等原理,使学籍管理系统能够具体的实现其各种功能。2. 功能规划 将所编的程序连接到access数据库,并创建student数据表,可以对该表进行插入、修改、查询、删除操作。 学籍管理系统窗体当作用户刚运行程序时的界面,用户通过窗体可以访问到录入、修改、删除学生信息窗体。 用户能够在录入学生信息窗体中录入学生信息,并保存在所建的student表中,当按下录入按钮时,设置一个对话框询问用户是否继续操作。 用户能够在修改学生信息窗体中修改学生信息,并将新输入的内容替代student表中的内容。当按下修改按钮时,若输入的学号不存在时,弹出一个对话框提示用户该学号学生不存在,并询问用户是否继续操作;当所输入的学号存在时,将录入修改按钮设为可用状态;按下录入修改按钮时,提示用户学生信息修改成功,并弹出一个对话框询问用户是否继续操作。 用户能够在查询学生信息窗体中查询自己所需要的信息。当按下查询按钮时,若输入的学号不存在时,弹出一个对话框提示用户该学号学生不存在,并询问用户是否继续操作,如果存在时,将在本文框中显示出该学号学生的信息;当按下查询全部学生信息按钮时,弹出一个窗体显示student表中所有学生的信息。 用户能够在删除学生信息窗体中删除学生信息。当按下删除按钮时,若输入的学号不存在时,弹出一个对话框提示用户该学号学生不存在,并询问用户是否继续操作,如果存在时,将在删除该学号学生的信息,并显示在本文框中,同时询问用户是否继续操作。四详细设计1. 系统设计1) 系统体系结构设计一般要确定系统的体系结构,主要模块,系统运行环境(如操作系统、数据库),开发平台及语言。本系统主要运行在windows系列平台上,数据库使用access,使用eclipse开发系统。系统体系结构如下图4-1所示:图形界面( awt)数据访问( jdbc )数据库( access)客户端服务端图4-1 系统体系结构图图形界面层(采用java的awt设计)负责与用户交互,数据访问层主要根据业务逻辑层的请求通过jdbc/sql存取数据库。数据库使用access,可根据情况使用其他数据库(如sql server),客户端基本不做修改,仅有的少量修改也只在数据访问层。客户端与服务端在物理上可以运行在一台机器上,也可以分别运行在不同机器上。2) 系统功能模块、主要类以及其相关方法系统功能模块如下图4-2所示:学籍管理系统录入学生信息修改学生信息查询学生信息退出删除学生信息录入重置修改录入修改重置查询查询全部信息删除图4-2 系统功能模块图主要类以及其相关方法:表4-1主要类以及其相关方法表myframepanel faceplate(panel f) 定义面板void keyin(string s) 录入信息void modify(string s) 修改信息void all_inquiry(string s) 查询全部学生信息void inquiry(string s) 按学号查询学生信息void delete(string s) 删除信息void windowclosing(windowevent e) 关闭窗口void inprompt(string s) 录入提示窗口void ask(string s) 所找学号不存在时的提示窗口void nuprompt(string s) 所找学号存在时的提示窗口 void actionperformed(actionevent e) 对按钮监听的具体实现 2. 数据库设计数据库设计主要是根据分析和概要设计中发现的对象和类,确定哪些对象需要持久保存,然后将对象属性及对象间关系转化成关系表。通过对题目要求的分析,将学号、姓名、性别、专业、年级、出生的信息保存在数据表student表中,表的具体格式如下:表4-2 student表的具体格式表名称学号姓名性别专业年级生日数据类型stringstringstringstringstringstring以下是数据student表创建的主要代码:string url=jdbc:odbc:mystudent;string sql=create table student+(学号 string,+姓名 string,+性别 string,+专业 string,+年级 string,+生日 string);3. 界面设计 界面设计主要是根据功能要求构建界面,界面中的每个元素均应有其作用,以支持功能的实现,界面设计还要考虑到界面风格的一致、符合一般window应用gui的规范。设计应简洁实用,避免在细节上(如字体、颜色)耗费时间。 图4-3 学籍管理系统窗体图 图4-4录入学生信息窗体图 图4-5 修改学生信息窗体图 图4-6 查询学生信息窗体图 图4-7 删除学生信息窗体图4. 系统实现1) 数据库访问:对数据库的基本操作是:增、删、改、查,数据库连接的建立、关闭,对student表的插入、修改、查询、删除数据,其中的难点是访问数据库的异常处理和参数化sql,现举例如下: 、获取数据库连接与关闭的代码:string url=jdbc:odbc:mystudent; /mystudent为数据源名称tryclass.forname(sun.jdbc.odbc.jdbcodbcdriver); /加载驱动类型catch (java.lang.classnotfoundexception e)system.err.println(e.getmessage();tryconnection con=drivermanager.getconnection(url,null);system.out.println(connection succeed!);con.close();catch (sqlexception ex)system.out.println(message:+ex.getmessage();该代码针对jdbcodbcdriver驱动,odbc源名为mystudent,没有进行口令验证。、插入代码从录入学生信息的窗体中输入信息,获得文本框中的数据,保存在student表中。nu=number.gettext(); /获取学号na=name.gettext(); /获取姓名sex=; /定义性别sp=speciality.gettext(); /获取专业gr=grade.gettext(); /获取年级bi=birthday.gettext(); /获取生日if(cg1.getstate() sex=男;if(cg2.getstate() sex=女;string url=jdbc:odbc:mystudent;tryconnection con=drivermanager.getconnection(url,null);statement stmt=con.createstatement();string sql=insert into student(学号,姓名,性别,专业,年级,生日) values(+nu+,+na+,+sex+,+sp+,+gr+,+bi+);stmt.executeupdate(sql);inprompt(提示信息);system.out.println(学生信息录入成功);stmt.close();con.close();catch (sqlexception ex) system.out.println(ex.getmessage();、修改代码先判断输入的学生学号student是否存在,若存在继续操作,不存在时弹出提示信息窗口。string num=number.gettext();string url=jdbc:odbc:mystudent;tryconnection con=drivermanager.getconnection(url,null);statement stmt=con.createstatement();string sql=select *from student where 学号=+num+;resultset rs=stmt.executequery(sql);int count=0;while(rs.next() nu=rs.getstring(学号);na=rs.getstring(姓名); sex=rs.getstring(性别);sp=rs.getstring(专业); gr=rs.getstring(年级); bi=rs.getstring(生日); +count; if(count=0) ask(提示信息);system.out.println(该学生不存在);elsebu4.setenabled(true);stmt.close();con.close();catch (sqlexception ex)system.out.println(ex.getmessage();2) 主窗体的设计通过构造函数创建一个窗体,在其创建一个空菜单条m,并创建菜单项(菜单选项)加到m中,在菜单项上添加菜单子项(录入学生信息、修改学生信息、查询学生信息、删除学生信息、退出)并对它们注册给动作事件接口。myframe(string s)super(s);menubar m=new menubar(); /菜单栏对象menu fi=new menu(菜单选项); /菜单对象 menuitem file=new menuitem(录入学生基本信息,new menushortcut(keyevent.vk_a), /快捷键为 ctrl+anew menuitem(修改学生基本信息,new menushortcut(keyevent.vk_s), /快捷键为 ctrl+snew menuitem(查询学生基本信息,new menushortcut(keyevent.vk_d), /快捷键为 ctrl+dnew menuitem(删除学生基本信息,new menushortcut(keyevent.vk_f), /快捷键为 ctrl+fnew menuitem(退出);setmenubar(m); m.add(fi);for(int i=0;ifile.length;i+)fi.add(filei);file0.addactionlistener(this);file1.addactionlistener(this);file2.addactionlistener(this);file3.addactionlistener(this);file4.addactionlistener(this); setsize(500,500); setvisible(true);addwindowlistener(new closewin();3) 主要面板的设计通过对各个窗体的分析,发现其姓名、性别、专业、年级、出生在窗体中的分布都有共同之处,因此可以定义一个面板将这些内容规划好,在定义录入、修改、查询、删除等方法时可以直接调用该面板,可以节省许多代码与运行的速度。public panel faceplate(panel f) /定义面板f.setsize(500,500);f.setvisible(true);f.setlayout(null);f.setbackground(color.lightgray);la2.setlocation(70,120);la2.setsize(50,30);f.add(la2);name.setlocation(130,120);name.setsize(280,30);f.add(name);la3.setlocation(130,160);la3.setsize(50,30);f.add(la3);cg2.setlocation(240,160);cg2.setsize(40,30);f.add(cg2);la5.setlocation(70,200);la5.setsize(50,30);f.add(la5);speciality.setlocation(130,200);speciality.setsize(280,30);f.add(speciality);la4.setlocation(70,240);la4.setsize(50,30);f.add(la4);grade.setlocation(130,240);grade.setsize(280,30);f.add(grade);la6.setlocation(70,280);la6.setsize(50,30);f.add(la6);birthday.setlocation(130,280);birthday.setsize(280,30);f.add(birthday);return f;调用该面板的方法如下:st=new myframe(s);f=new panel();st.add(faceplate(f);五运行调试与分析讨论1. 运行调试首先通过createstudent.java创建一个新的空数据表student图5-1 student表创建成功提示信息图打开主程序student.java进行学生信息的录入、修改、查询、删除。当按下录入学生基本信息菜单子项时,弹出如图5-2所示界面(已输入数据):图5-2 录入学生信息图若点下button是时,将关闭提示信息窗口,并将文本框中的信息清空;若下button退出时,将关闭提示信息窗口和录入学生信息窗口,并将文本框中的信息清空(防止进入其他窗口时,文本框中的数据不为空)。为使结果更加清晰化,减少截图所占的页面,还分别录入了以下学生的信息,如下表5-1所示:表5-1 已录入的学生信息表学号姓名性别专业年级生日2刘柳男软件工程20081990/3/243何璐女软件工程+电商20101991/2/64李云男软件工程+信息20091990/8/10学生信息显示在student表中如下图5-3所示:图5-3 student表的已有信息图当按下修改学生基本信息菜单子项时,弹出如下图5-4所示界面(已经输入数据):图5-4 修改学生信息图已修改的学生信息如下图5-5所示(将学号3的年级信息由2010改为2009):图5-5 student表中的信息图当按下查询学生基本信息菜单子项时,弹出如下图5-6所示界面(已经输入数据):图5-6 查询学生信息图当按下查询按钮时,若存在该学号学生,就出现如上所示界面,若不丰硕该学号学生时,则出现如下图5-7所示界面:图5-7 查询的学生信息不存在图若按下查询全部学生信息按钮时,则出现如下图5-8所示界面:图5-8 查询学生信息图当按下删除学生基本信息菜单子项时,弹出如下图5-8所示界面(已经输入数据):图5-9 删除学生信息图操作成功后,student表中的数据如下图5-9所示:图5-10 student表中已有信息图2. 分析讨论由运行调试中的结果可以看出,该程序在按下录入、修改、录入修改、查询、删除按钮时,都有人性化的弹出一个窗体,询问用户是否继续操作,或提示用户您所找的信息不存在等,在这点上,还是有很大的创新。并且以类似表格的形式将student表中的所有信息,将学生信息展现的更加具体,清晰。当然,如果具体操作可以发现,其中也有许多值得改进的地方。1) 在用户运行程序时,用户不需要验证帐号与密码就可以进去,这时信息的安全性不够高,因此可以在用户刚进入系统时,弹

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论