java课程设计任务书2文档格式.docx

上传人:b****6 文档编号:18344873 上传时间:2022-12-15 格式:DOCX 页数:22 大小:359.19KB
下载 相关 举报
java课程设计任务书2文档格式.docx_第1页
第1页 / 共22页
java课程设计任务书2文档格式.docx_第2页
第2页 / 共22页
java课程设计任务书2文档格式.docx_第3页
第3页 / 共22页
java课程设计任务书2文档格式.docx_第4页
第4页 / 共22页
java课程设计任务书2文档格式.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

java课程设计任务书2文档格式.docx

《java课程设计任务书2文档格式.docx》由会员分享,可在线阅读,更多相关《java课程设计任务书2文档格式.docx(22页珍藏版)》请在冰豆网上搜索。

java课程设计任务书2文档格式.docx

(2)系统设计:

20分;

(3)编程调试:

(4)回答问题:

(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

运行环境:

目 录

一、课程设计任务及要求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

以下是数据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,现举例如下:

、获取数据库连接与关闭的代码:

//mystudent为数据源名称

try{

Class.forName("

sun.jdbc.odbc.JdbcOdbcDriver"

);

//加载驱动类型

}

catch(java.lang.ClassNotFoundExceptione){

System.err.println(e.getMessage());

}

Connectioncon=DriverManager.getConnection(url,"

"

null);

System.out.println("

Connectionsucceed!

con.close();

catch(SQLExceptionex){

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="

try{

Connectioncon=DriverManager.getConnection(url,"

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();

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("

该学生不存在"

else

bu4.setEnabled(true);

con.close();

catch(SQLExceptionex){

2)主窗体的设计

通过构造函数创建一个窗体,在其创建一个空菜单条m,并创建菜单项(菜单选项)加到m中,在菜单项上添加菜单子项(录入学生信息、修改学生信息、查询学生信息、删除学生信息、退出)并对它们注册给动作事件接口。

MyFrame(Strings){

super(s);

MenuBarm=newMenuBar();

//菜单栏对象

Menufi=newMenu("

菜单选项"

//菜单对象

MenuItem[]file=

{

newMenuItem("

录入学生基本信息"

newMenuShortcut(KeyEvent.VK_A)),//快捷键为ctrl+A

修改学生基本信息"

newMenuShortcut(KeyEvent.VK_S)),//快捷键为ctrl+S

查询学生基本信息"

newMenuShortcut(KeyEvent.VK_D)),//快捷键为ctrl+D

删除学生基本信息"

n

ewMenuShortcut(KeyEvent.VK_F)),//快捷键为ctrl+F

退出"

};

setMenuBar(m);

m.add(fi);

for(inti=0;

i<

file.length;

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模板 > 动物植物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1