java课程设计论文.docx
《java课程设计论文.docx》由会员分享,可在线阅读,更多相关《java课程设计论文.docx(37页珍藏版)》请在冰豆网上搜索。
![java课程设计论文.docx](https://file1.bdocx.com/fileroot1/2023-6/27/a88a14d1-49c1-4c54-b9e4-68f943c6bfb2/a88a14d1-49c1-4c54-b9e4-68f943c6bfb21.gif)
java课程设计论文
摘 要
系统主要功能包括:
实现添加联系人的姓名和手机号码家庭电话号码和办公号码,并且连接进数据库,将信息储存进数据库文件中去,添加成功弹出添加成功的对话框,对话框中的信息可以重置。
。
消息对话框负责显示消息,调用其静态方法显示警告信息。
要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。
添加姓名,手机号码,家庭电话,办公电话等信息到数据库中,同样需要连接SQLSERVER2000数据库,用户的图形界面要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。
修改姓名,手机号码,家庭电话,办公电话等信息到数据库中,同样需要连接SQLSERVER2000数据库,用户的图形界面要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。
对已经存储的信息进行查询,而客户的具体需求多样,为了给客户营造更多的便利,可以将软件的查询细分为按整体进行查询模糊查询和精确查询和整体查询,模糊查询允许用户用较为模糊的查询条件,比如信息的姓来进行查询。
实现了满足用户需求的多样化。
对已经存储的信息进行查询,而客户的具体需求多样,为了给客户营造更多的便利,可以将软件的查询细分为按整体进行查询模糊查询和精确查询和整体查询,整体查询允许用户用整体的查询条件,比如信息的姓来进行查询。
实现了满足用户需求的多样化。
本论文内容主要是运用软件工程的知识,先进行系统需求分析,之后是系统概要设计,详细设计,并且详细介绍了各个功能模块的具体实现和数据库的设计。
关键字:
Java语言,SQLSERVER2000,JVM,添加,删除,查询和排序
第一章系统开发环境
1.1开发工具
1Java语言的发展
Java语言的第一次出现时在1995。
Java是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。
从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Javaapplet。
另一方面,Java技术也不断更新。
Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。
在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。
现在Java平台已经嵌入了几乎所有的操作系统。
这样Java程序可以只编译一次,就可以在各种系统中运行。
Java分为三个体系JavaSE,JavaEE,JavaME。
2Java语言的特色
●Java语言是简单的。
Java没有算符过载、标题文件、预处理、指针运算、结构、联合、多维数组、模板及隐式类型变换。
如果你知道一点C、C或Pascal,你很快就会驾驭Java。
●Java语言面向对象的。
正如任何面向对象的语言一样,Java代码也按类组织。
每个类定义一组规定对象行为的方法。
一个类可以继承另一个类的行为。
在类的根层次上,通常是类对象。
●Java语言是体系结构中立的。
Java语言对每种计算机都一样。
比如,简单的类型都是不变的:
整数总是32位,长整数总是64位。
3Java语言的主要特性
●在Java的情况下,编程人员不必为内存管理操心。
Java系统有一个叫做“无用单元收集器”的内置程序,它扫描内存,并自动释放那些不再使用的内存块。
●Java程序没有指针,而且象这样的字节代码程序强在类型上,所以在执行之前它可能验证Java程序。
被验证的Java程序得以保证不突破Java语言的任何限制,而且可以安全地执行。
Java字节代码验证被Web浏览器用来确保小程序不含病毒。
●Java比典型的脚本语言大为有效,但它比C慢20倍。
这对大多数应用是可接受的。
1.2应用环境
硬件环境
CPU主频在500MHZ以上,内存在128M以上
运行环境
os(系统):
windowsxp(32bit_sp2)或unix
environment(编程环境):
J2SE
数据库:
Sqlserser2000
第二章系统需求分析
2.1需求分析
电话管理系统主要功能包括:
实现添加联系人的姓名和手机号码家庭电话号码和办公号码,并且连接进数据库,将信息储存进数据库文件中去,添加成功弹出添加成功的对话框,对话框中的信息可以重置。
。
消息对话框负责显示消息,调用其静态方法显示警告信息。
要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。
添加姓名,手机号码,家庭电话,办公电话等信息到数据库中,同样需要连接SQLSERVER2000数据库,用户的图形界面要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。
修改姓名,手机号码,家庭电话,办公电话等信息到数据库中,同样需要连接SQLSERVER2000数据库,用户的图形界面要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。
对已经存储的信息进行查询,而客户的具体需求多样,为了给客户营造更多的便利,可以将软件的查询细分为按整体进行查询模糊查询和精确查询和整体查询,模糊查询允许用户用较为模糊的查询条件,比如信息的姓来进行查询。
实现了满足用户需求的多样化。
对已经存储的信息进行查询,而客户的具体需求多样,为了给客户营造更多的便利,可以将软件的查询细分为按整体进行查询模糊查询和精确查询和整体查询,整体查询允许用户用整体的查询条件,比如信息的姓来进行查询。
实现了满足用户需求的多样化。
2.2可行性分析
●技术可行性
根据系统功能、性能及实现系统的各项约束条件,现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。
同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发。
●经济可行性
估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。
并且,分析系统开发是否会对其它产品或利润带来一定影响。
●运行可行性
新系统的研制和开发是充分得考虑用户对系统的易于管理,管理者方便查询设备信息效率。
从而能完全满足使用者的要求。
第三章系统概要设计
3.1设计目标
手机的信息管理无外乎添加联系人的姓名和手机号码,家庭电话号码和办公号码,删除相对应的信息,对已经存储的信息进行查询,而客户的具体需求多样,为了给客户营造更多的便利,可以将软件的查询细分为按整体进行查询,模糊查询和精确查询。
3.2数据文件设计
经过对系统的具体分析,为满足系统的需要,设计如下的数据信息:
●为了统一处理数据,需要设计数据库文件,新建一个表用来存储数据,处理JSP页面提交的各种对数据库的操作。
●利用sqlserver2000建立一个数据库,在此数据库下建立一个diaoyou1的表,设立一个主键是必须的,姓名,手机号码,家庭电话,办公电话,设置各字段的数据类型。
3.3系统权限划分
本系统只要使用者通过启动程序就可以使用,无需身份验证。
3.4系统功能模块
该系统共有五个主要模块:
1、添加号码
2、修改信息
3、查询信息,按整体查询
4、查询信息,按模糊查询
5、查询信息,按姓名查询
图3-1系统功能模块图
图3-2系统功能模块图
第四章系统详细设计
4.1数据文件的建立
表4-1数据文件表的规定
姓名
字符串
手机号码
字符串
家庭电话
字符串
办公电话
字符串
4.2对数据文件的访问
建立一个sqlserver的数据库,数据库名字为student。
在这个数据库里面新建一个名为car的表,数据源名称为sun,首先建立jdbc-odbc之间的桥接,再建立odbc与数据源之间的连接。
JavaBean生成的字节码文件建立Bean对象,JSP提交的数据经过Bean对象中的SQL的语句,传送至数据库中,从而产生对数据库的操作。
每一个功能对应着一个JavaBean模块。
实现了一个对数据库的操作。
4.3程序设计
实现添加联系人的姓名和手机号码家庭电话号码和办公号码,并且连接进数据库,将信息储存进数据库文件中去,添加成功弹出添加成功的对话框,对话框中的信息可以重置。
。
消息对话框负责显示消息,调用其静态方法显示警告信息。
要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。
添加姓名,手机号码,家庭电话,办公电话等信息到数据库中,同样需要连接SQLSERVER2000数据库,用户的图形界面要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。
修改姓名,手机号码,家庭电话,办公电话等信息到数据库中,同样需要连接SQLSERVER2000数据库,用户的图形界面要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。
对已经存储的信息进行查询,而客户的具体需求多样,为了给客户营造更多的便利,可以将软件的查询细分为按整体进行查询模糊查询和精确查询和整体查询,模糊查询允许用户用较为模糊的查询条件,比如信息的姓来进行查询。
实现了满足用户需求的多样化。
对已经存储的信息进行查询,而客户的具体需求多样,为了给客户营造更多的便利,可以将软件的查询细分为按整体进行查询模糊查询和精确查询和整体查询,整体查询允许用户用整体的查询条件,比如信息的姓来进行查询。
实现了满足用户需求的多样化。
4.4流程图
图4-4-1系统流程图
4.5各功能界面截图
运行JAVA程序中的manager文件,显示系统的主界面,如图三所示,主界面有进入其他子功能的按钮,选择相应的按钮便可进入相应的功能。
图1系统主界面
添加号码功能如图2所示,根据提示输入要添加的信息,点击确定,将弹出提示框,确认是否添加。
图2添加信息时的界面
图3修改信息时的界面
修改号码功能如图3所示,首先输入要修改的人姓名点击开始修改在下面的文本框现实当前数据库内所存该人的信息,同时录入修改键变化为可点击在文本框内输入要修改的号码,点击录入修改系统将新信息录如数据库点击精确查询按钮将弹出查询对话框。
图4精确查询时的界面
图5整体查询界面
图6模糊查询界面
整体查询如5所示将显示数据库中所存的所有号码信息。
模糊查询如图6所示,在文本框中填写姓名的一个字便可查询所有姓名中含有这个字的电话信息并显示在文本域内。
第五章系统测试
5.1测试的意义
系统测试是管理信息系统的开发周期中的一个十分重要环节。
尽管在系统开发周期的各个阶段均采取了严格的技术审查,但依然难免会留下错误,如果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时要纠正错误将会付出更大的代价。
5.2联合测试
为了提高测试工作的质量,在测试过程中,注意了以下几点:
1.测试工作由程序员之外的其他人员来进行,这样会获得更好的测试效果。
2.不仅要选择合理的输入数据作为测试用例,还要选用不合理的输入数据作为测试用例。
3.除了检查程序是否做了应该做的工作之外,还检查程序是否做了它不因该做的事情。
5.3测试内容
1.软件的正常运行、关闭及退出时保存记录的提示(默认为是)。
2.登录界面友好,可操作性及安全性能较好,能对不同管理级别者进行限制,以保证数据库的安全。
3.数据文件的可维护性好,数据的录入、删除及更改均能顺利完成,并能实现动态更新。
4.数据查询便捷,能对各种不同的查询条件进行搜索,以找到最合适的答案。
5.溢出、越界均能进行非法提示,以警告用户正确使用。
对用户的非正常操作方式也提出警告。
6.类型填写错误时,系统能够报错。
7.对操作系统的兼容性良好,可移植性完好。
5.4测试结果
系统的测试采用黑盒测试的方法,经过反复测试,系统完成后运行添加、修改、查询、报表等功能均正常。
第六章系统的维护和发展
根据系统目的确定突出什么内容,以及充实和更新内容的技术手段和形式。
1、坚持自己的特色。
2、集中最多的信息。
在自己的领域里,一定要最大限度地集中所有相关信息,采用各种办法搜集和展示系统丰富的内容。
3、保持技术的先进。
只要条件允许,一定要有技术力量对系统进行技术改造和提高。
4、掌握用户的需求。
用户需求是放在第一位考虑的问题。
其中,参与是用户最重要的需求。
系统是否满足用户的需求,其参与程度是一个主要标志。
附录
importjava.sql.*;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.io.*;
importjava.util.*;
publicclassfindextendsJDialogimplementsActionListener{
JTextField姓名,手机号码,家庭电话,办公电话;
JButton查询,删除;
publicfind(JFramef){
super(f,"查询对话框",false);
姓名=newJTextField(15);
查询=newJButton("查询");
删除=newJButton("删除");
查询.addActionListener(this);
删除.addActionListener(this);
姓名=newJTextField(15);
手机号码=newJTextField(15);
手机号码.setEditable(false);
家庭电话=newJTextField(15);
家庭电话.setEditable(false);
办公电话=newJTextField(15);
办公电话.setEditable(false);
Boxbox1=Box.createHorizontalBox();
box1.add(newJLabel("输入要查询的姓名:
",JLabel.CENTER));
box1.add(姓名);
box1.add(查询);
Boxbox3=Box.createHorizontalBox();
box3.add(newJLabel("手机号码:
",JLabel.CENTER));
box3.add(手机号码);
Boxbox4=Box.createHorizontalBox();
box4.add(newJLabel("家庭电话:
",JLabel.CENTER));
box4.add(家庭电话);
Boxbox5=Box.createHorizontalBox();
box5.add(newJLabel("办公电话:
",JLabel.CENTER));
box5.add(办公电话);
Boxbox6=Box.createHorizontalBox();
box6.add(删除);
BoxboxH=Box.createVerticalBox();
boxH.add(box1);
boxH.add(box3);
boxH.add(box4);
boxH.add(box5);
boxH.add(box6);
boxH.add(Box.createVerticalGlue());
JPanelpCenter=newJPanel();
pCenter.add(boxH);
Containercon=getContentPane();
con.add(pCenter,BorderLayout.CENTER);
con.validate();
setVisible(false);
setBounds(100,200,360,270);
addWindowListener(newWindowAdapter()
{publicvoidwindowClosing(WindowEvente)
{
setVisible(false);
}
});
}
publicvoidactionPerformed(ActionEvente)
{
Stringname="";
Stringurl="jdbc:
odbc:
Database";
Strings1="";
Strings2="";
Strings3="";
Strings4="";
if(e.getSource()==查询)
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(java.lang.ClassNotFoundExceptioneee){}
name=姓名.getText();
Stringsql="select*fromdatawhere姓名='"+name+"'";
if(name!
=""){
try{
Connectioncon=DriverManager.getConnection(url,"",null);
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery(sql);
while(rs.next()){
s1=rs.getString("姓名");
s2=rs.getString("手机号码");
s3=rs.getString("家庭电话");
s4=rs.getString("办公电话");
}
stmt.close();
con.close();
}catch(SQLExceptionex){System.out.println(ex.getMessage());}
if(s1!
=null){
姓名.setText(s1);
手机号码.setText(s2);
家庭电话.setText(s3);
办公电话.setText(s4);
}
}
}
if(e.getSource()==删除){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(java.lang.ClassNotFoundExceptioneee){}
name=姓名.getText();
Stringsql="deletefromnumberwhere姓名='"+name+"'";
try{
Connectioncon=DriverManager.getConnection(url,"",null);
Statementstmt=con.createStatement();
stmt.executeUpdate(sql);
stmt.close();
con.close();
}catch(SQLExceptioneex){System.out.println(eex.getMessage());}
姓名.setText(null);
手机号码.setText(null);
家庭电话.setText(null);
办公电话.setText(null);
}
}
}
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.io.*;
importjava.util.Hashtable;
publicclassmanagerextendsJFrameimplementsActionListener{
tianjia号码添加=null;
update号码修改=null;
find精确查询=null;
ztcx整体查询=null;
mhcx模糊查询=null;
about关于=null;
JButton添加,修改,精确查询1,整体查询1,模糊查询1,bbbb;
Containercon=null;
CardLayoutcard=null;
JLabellabel=null;
JPanelpCenter;
JPanelaa,bb;
publicmanager(){
JPanelaa=newJPanel();
JPanelbb=newJPanel();
aa.setLayout(newFlowLayout(FlowLayout.LEFT,10,10));
添加=newJButton("添加号码");
修改=newJButton("修改号码");
精确查询1=newJButton("精确查询");
整体查询1=newJButton("整体查询");
模糊查询1=newJButton("模糊查询");
bbbb=newJButton("关于");
aa.add(添加);
aa.add(修改);
aa.add(精确查询1);
aa.add(整体查询1);
aa.add(模糊查询1);
bb.add(bbbb);
label=newJLabel("欢迎使用电话号码管理系统",JLabel.CENTER);
label.setFont(newFont("TimesRoman",Font.BOLD,24));
label.setForeground(Color.red);
添加.addActionListener(this);
修改.addActionListener(this);
精确查询1.addActionListener(this);
整体查询1.addActionListener(this);
模糊查询1.addActionListener(this);
bbbb.addActionListener(this);
card=newCardLayout();
con=getContentPane();
pCenter=newJPanel();
pCenter.setLayout(card);
号码添加=newtianjia();
号码修改=newupdate();
精确查询=newfind(this);
整体查询=newztcx();
模糊查询=newmhcx();
关于=newabout(this);
pCenter.add("欢迎语界面",label);
pCenter.add("录入界面",号码添加);
pCenter.add("修改界面",号码修改);
pCenter.add("整体查询界面",整体查询);
pCenter.add("模糊查询界面",模糊查询);
con.add(aa,BorderLayout.NORTH);
con.add(bb,BorderLayout.SOUTH);
con.add(pCenter,BorderLayout.CENTER);
con.validate();
addWindowListener(newWindowAdapter()
{publicvoidwindowClo