java课程设计任务书2.docx
- 文档编号:5363025
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:22
- 大小:359.19KB
java课程设计任务书2.docx
《java课程设计任务书2.docx》由会员分享,可在线阅读,更多相关《java课程设计任务书2.docx(22页珍藏版)》请在冰豆网上搜索。
java课程设计任务书2
课程设计(论文)任务书
学 院专 业班
一、课程设计(论文)题目 学籍管理系统
二、课程设计(论文)工作自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.7
6)课程设计进度安排
1.准备阶段(4学时):
选择设计题目、了解设计目的要求、查阅相关资料
2.程序模块设计分析阶段(4学时):
程序总体设计、详细设计
3.代码编写调试阶段(8学时):
程序模块代码编写、调试、测试
4.撰写论文阶段(4学时):
总结课程设计任务和设计内容,撰写课程设计论文
学生签名:
2010年12月20日
课程设计(论文)评审意见
(1)学习态度(10分):
优( )、良( )、中( )、一般( )、差( );
(2)系统设计(20分):
优()、良( )、中( )、一般( )、差( );
(3)编程调试(20分):
优( )、良( )、中( )、一般( )、差( );
(4)回答问题(20分):
优( )、良( )、中( )、一般( )、差( );
(5)论文撰写(30分):
优( )、良( )、中( )、一般( )、差( );
评阅人:
职称:
讲师
2010年12月25日
摘要
随着我国教育体制改革的深入进行,教育系统得到了前所未有的发展。
学生管理正在逐步迈向管理信息现代化。
但是我国的学生管理信息化水平还处在初级阶段,主要表现在对学生的交费管理、学生的档案管理还是采用原有的人工管理方式。
学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
由于大学生类别和专业的设置的多样化,大学生的学籍管理历来是非常繁琐和复杂的的工作。
面对庞大的信息量,这时的人工管理几乎无法实现,在这种情况下用数据库进行管理变的尤为必要,这可以发挥计算机的优势,就需要有学生信息管理系统来提高学生管理工作的效率.通过这样的系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量和减少人为的错误。
本学生学籍管理系统的开发与运行环境如下:
开发环境:
WindowsXP
数据库管理系统:
Access2007
运行环境:
WindowsXP
目 录
一、课程设计任务及要求1
1.课设题目1
2.设计任务1
3.设计要求1
4.扩展功能1
二、需求分析2
1.功能需求分析2
三、设计思路4
1.工作原理4
2.功能规划4
四、详细设计5
1.系统设计5
2.数据库设计6
3.界面设计7
4.系统实现8
五、运行调试与分析讨论13
1.运行调试13
2.分析讨论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,可根据情况使用其他数据库(如SQLServer),客户端基本不做修改,仅有的少量修改也只在数据访问层。
客户端与服务端在物理上可以运行在一台机器上,也可以分别运行在不同机器上。
2)系统功能模块、主要类以及其相关方法
系统功能模块如下图4-2所示:
图4-2系统功能模块图
主要类以及其相关方法:
表4-1主要类以及其相关方法表
MyFrame
Panelfaceplate(Panelf)定义面板
voidkeyin(Strings)录入信息
voidmodify(Strings)修改信息
voidall_inquiry(Strings)查询全部学生信息
voidinquiry(Strings)按学号查询学生信息
voiddelete(Strings)删除信息
voidwindowClosing(WindowEvente)关闭窗口
voidInprompt(Strings)录入提示窗口
voidask(Strings)所找学号不存在时的提示窗口
voidNuprompt(Strings)所找学号存在时的提示窗口
voidactionPerformed(ActionEvente)对按钮监听的具体实现
2.数据库设计
数据库设计主要是根据分析和概要设计中发现的对象和类,确定哪些对象需要持久保存,然后将对象属性及对象间关系转化成关系表。
通过对题目要求的分析,将学号、姓名、性别、专业、年级、出生的信息保存在数据表student表中,表的具体格式如下:
表4-2student表的具体格式表
名称
学号
姓名
性别
专业
年级
生日
数据类型
STRING
STRING
STRING
STRING
STRING
STRING
以下是数据student表创建的主要代码:
Stringurl="jdbc:
odbc:
mystudent";
Stringsql="createtablestudent"+"(学号STRING,"+"姓名STRING,"+"性别STRING,"+"专业STRING,"+"年级STRING,"+"生日STRING)";
3.界面设计
界面设计主要是根据功能要求构建界面,界面中的每个元素均应有其作用,以支持功能的实现,界面设计还要考虑到界面风格的一致、符合一般window应用GUI的规范。
设计应简洁实用,避免在细节上(如字体、颜色)耗费时间。
图4-3学籍管理系统窗体图图4-4录入学生信息窗体图
图4-5修改学生信息窗体图图4-6查询学生信息窗体图
图4-7删除学生信息窗体图
4.系统实现
1)数据库访问:
对数据库的基本操作是:
增、删、改、查,数据库连接的建立、关闭,对student表的插入、修改、查询、删除数据,其中的难点是访问数据库的异常处理和参数化SQL,现举例如下:
、获取数据库连接与关闭的代码:
Stringurl="jdbc:
odbc:
mystudent";//mystudent为数据源名称
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载驱动类型
}
catch(java.lang.ClassNotFoundExceptione){
System.err.println(e.getMessage());
}
try{
Connectioncon=DriverManager.getConnection(url,"",null);
System.out.println("Connectionsucceed!
");
con.close();
}
catch(SQLExceptionex){
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="女";
Stringurl="jdbc:
odbc:
mystudent";
try{
Connectioncon=DriverManager.getConnection(url,"",null);
Statementstmt=con.createStatement();
Stringsql="INSERTINTOstudent(学号,姓名,性别,专业,年级,生日)VALUES('"+nu+"','"+na+"','"+sex+"','"
+sp+"','"+gr+"','"+bi+"')";
stmt.executeUpdate(sql);Inprompt("提示信息");
System.out.println("学生信息录入成功");
stmt.close();con.close();
}
catch(SQLExceptionex){
System.out.println(ex.getMessage());
}
、修改代码
先判断输入的学生学号student是否存在,若存在继续操作,不存在时弹出提示信息窗口。
Stringnum=number.getText();
Stringurl="jdbc:
odbc:
mystudent";
try{
Connectioncon=DriverManager.getConnection(url,"",null);
Statementstmt=con.createStatement();
Stringsql="SELECT*FROMstudentwhere学号='"+num+"'";
ResultSetrs=stmt.executeQuery(sql);intcount=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("该学生不存在");
}
else
bu4.setEnabled(true);
stmt.close();
con.close();
}
catch(SQLExceptionex){
System.out.println(ex.getMessage());
}
2)主窗体的设计
通过构造函数创建一个窗体,在其创建一个空菜单条m,并创建菜单项(菜单选项)加到m中,在菜单项上添加菜单子项(录入学生信息、修改学生信息、查询学生信息、删除学生信息、退出)并对它们注册给动作事件接口。
MyFrame(Strings){
super(s);
MenuBarm=newMenuBar();//菜单栏对象
Menufi=newMenu("菜单选项");//菜单对象
MenuItem[]file=
{
newMenuItem("录入学生基本信息",
newMenuShortcut(KeyEvent.VK_A)),//快捷键为ctrl+A
newMenuItem("修改学生基本信息",
newMenuShortcut(KeyEvent.VK_S)),//快捷键为ctrl+S
newMenuItem("查询学生基本信息",
newMenuShortcut(KeyEvent.VK_D)),//快捷键为ctrl+D
newMenuItem("删除学生基本信息",n
ewMenuShortcut(KeyEvent.VK_F)),//快捷键为ctrl+F
newMenuItem("退出")
};
setMenuBar(m);m.add(fi);
for(inti=0;i fi.add(file[i]); } file[0].addActionListener(this); file[1].addActionListener(this); file[2].addActionListener(this); file[3].addActionListener(this); file[4].addActionListener(this); setSize(500,500);setVisible(true); addWindowListener(newcloseWin()); } 3)主要面板的设计 通过对各个窗体的分析,发现其姓名、性别、专业、年级、出生在窗体中的分布都有共同之处,因此可以定义一个面板将这些内容规划好,在定义录入、修改、查询、删除等方法时可以直接调用该面板,可以节省许多代码与运行的速度。 publicPanelfaceplate(Panelf)//定义面板 { 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);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 任务书