通讯录Java数据库课程设计文档格式.docx

上传人:b****8 文档编号:22741317 上传时间:2023-02-05 格式:DOCX 页数:27 大小:162.89KB
下载 相关 举报
通讯录Java数据库课程设计文档格式.docx_第1页
第1页 / 共27页
通讯录Java数据库课程设计文档格式.docx_第2页
第2页 / 共27页
通讯录Java数据库课程设计文档格式.docx_第3页
第3页 / 共27页
通讯录Java数据库课程设计文档格式.docx_第4页
第4页 / 共27页
通讯录Java数据库课程设计文档格式.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

通讯录Java数据库课程设计文档格式.docx

《通讯录Java数据库课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《通讯录Java数据库课程设计文档格式.docx(27页珍藏版)》请在冰豆网上搜索。

通讯录Java数据库课程设计文档格式.docx

1引言

1.1课题背景

通讯录是人们日常生活中常用到的工具,它以文件方式保存用户录入的数据,并提供查询的功能供用户查询和使用通讯录信息。

随着人类信息技术迅速发展,通讯录经过了传统通讯录,网络通讯录,移动通讯录,内部通讯录,每种通讯录都需要一种通讯录管理系统来管理。

计算机信息管理技术的应用,个人电脑、掌上电脑、移动电话等任何联网设备上录入你的联系人的手机\电话号码、Email、QQ、MSN、通信地址等通讯录信息,更重要的是能建立准确畅通、简便的信息流通渠道,从而方便人们查找联系人和联系人的基本信息。

1.2课程设计目的

通讯录是人们日常生活中经常要用到的通讯管理工具,在现实生活中应用非常广泛,从个人到企业,而尤其是在移动通讯领域通讯录的使用使我们感觉是最大受益者。

通讯录给人们带来很大的方便,通讯录以文件方式保存用户录入的数据,它可以高效的管理用户数据信息并提供用户一些功能,包括数据的录入、修改、删除、查找以及文件的读写等、

通过通讯录数据库系统的设计,熟练掌握VisualC++、SQLServer2000等工具软件,系统地掌握需求分析、数据库设计、编码实现、测试等软件开发的流程,提高自身分析问题、解决问题的能力。

1.3课程设计任务

本课程设计任务是通过开发一个数据库通讯录管理系统,学习数据库系统的设计与开发,采用Java和SQLServer2000等软件为开发工具。

通过对计算机硬件和软件解决方案的论证,对应用领域进行调查分析,参考各种资料和进行数据库系统开发实践。

在指导老师的帮助下,已经基本上成功地实现了设计任务书的要求,使得设计的数据库系统能够实现一般数据库的管理。

2系统结构分析

2.1需求分析

通讯录要求实现最基本的功能,包括新建联系人,查找信息,删除信息,修改信息,退出系统,为此需要首先定义记录项的格式,其基本属性包括姓名、电话、地址、邮箱。

通讯录管理系统的主要包括以下功能:

(1).新建联系人:

操作添加一条新的联系人。

(2).查找信息:

查出一条已经存在的联系人。

(3).删除信息:

删除一个联系人的信息。

(4).修改信息:

修改联系人的基本信息。

2.2功能模块图

1.根据上述的功能,可以设计出系统的总体功能模块,如图2.1所示。

图2.1通讯录管理系统功能模块示意图

2.“新建联系人”功能模块包括姓名、电话、地址、邮箱四个属性,其如图2.2所示。

图2.2新建联系人

3数据库设计

3.1概念结构设计

根据需求分析抽象出信息结构,可得该系统的E-R图。

(1).用户E-R图,如图3.1所示。

图3.1用户E-R图

根据分E-R图和需求分析,可得到总E-R图,如图3.2所示。

3.2总体E-R图

3.2逻辑结构设计

基本信息表Friend用来保存姓名、电话、地址、邮箱信息。

表Friend的结构如表3-1所示。

表3-1表Friend的结构

编号

字段名称

数据结构

说明

1

Name

Char

联系人姓名

2

Tele

联系人电话

3

Adder

联系人地址

4

Mail

联系人邮箱

3.3数据库表的建立

在设计数据库表结构之前,首先要创建一个数据库。

本系统使用的数据库为Friend。

创建表Friend(基本信息表),它的代码如下:

CREATETABLEFriend

(Namechar(20)PRIMARYKEY,

Telechar(20),

Addrchar(30),

Mailchar(20)

GO

4系统实现

4.1数据库的连接

在该系统中数据库的连接使用mysql-connector-java-5.1.6-bin驱动。

将该驱动通过eclipse添加到工程“通讯录管理系统”中,如图4.1。

然后通过控制语句实现与数据库的连通。

图4.1找到的数据库连接驱动mysql-connector-java-5.1.6-bin

5功能测试

该程序实现了通讯录管理系统应有的功能,即新建联系人、快速查找、删除信息、修改信息、退出系统管理。

5.1登陆界面

程序运行出现登陆界面,要求用户输入用户名和密码,当用户名和密码均正确时才能进入系统,如图5.1所示。

图5.1登陆界面

5.2主界面

用户登陆系统以后,将出现主界面,用户可以选择要执行的操作,如图5.2所示。

图5.2主界面

5.3各功能模块的实现

新建联系人功能的实现操作,界面如图5.3所示。

图5.3新建联系人界面

快速查找功能实现操作,界面如图所示。

图5.4查找信息功能界面

图5.5查找显示界面

删除信息功能实现操作,界面如图所示。

图5.6删除信息功能界面

修改信息功能实现操作,界面如图所示。

图5.7修改信息功能界面

6系统技术实现

6.1SQLServer2000

运用SQLServer2000建立一个数据库,以Windows身份验证模式要求SQLServer2000的连接,实现用户登陆需要输入密码才能进入本通讯管理系统,保护用户信息安全。

作为它的数据库查询和编程语言。

T-SQL是结构化查询语言SQL的一种,支持标准SQLServer为公共的管理功能提供了预定义的服务器和数据库角色,可以很容易为某一特定用户授予一组选择好的许可权限。

SQLServer可以在不同的操作平台上运行,支持多种不同的网络协议。

7结束语

经过这些天的努力,本次课程设计终于完成了。

通过这次课程设计,使我对数据库这门课程有了更深入的理解,数据库是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。

在本次课程设计中,我明白了理论与实际应用相结合的重要性,并提高了自己组织数据及编写程序的能力,培养了基本的、良好的程序设计技能。

这次课程设计同样提高了我的综合运用所学知识的能力。

并对SQLSERVER2000有了更深入的了解。

由于我的经验和知识的不足,在程序中还存在很多缺陷。

经过这次课程设计,我的知识得到了很大提高,经验也更加丰富。

今后我会更多的学习编程技巧,不断的提高

编程能力。

致谢

在这次数据库的课程设计中,曾遇到过不少问题,单靠我个人的努力,很难按时完成该课程设计。

在此,我衷心感谢我的指导老师——颜宏文。

颜宏文老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我获益非浅。

另外,还要感谢学校领导、辅导员、各位同学对我们的关怀、帮助,为我们提供了良好的设计环境以及各方面的支持。

参考文献

[1]杨磊,陈凌云.EclipseWeb开发.北京:

人民邮电出版社,2006

[2]王珊,萨师煊.数据库系统概论(第四版).北京:

高等教育出版社.2006

[3]Y.DanielLiang,万波,郑海红,潘蓉,李娜.Java语言程序设计基础篇.北京:

机械工业出版社,2008

附录部分程序代码

packagedf;

importjavax.swing.JFrame;

importjava.awt.GridLayout;

publicclassShowGridLayoutextendsJFrame{

publicShowGridLayout(){

setLayout(newGridLayout(5,1,20,20));

//add(newJLabel("

姓名"

));

//add(newJTextField(5));

电话"

//add(newJTextField(5));

//add(newJLabel("

地址"

邮箱"

}

publicstaticvoidmain(String[]args){

ShowGridLayoutframe=newShowGridLayout();

frame.setTitle("

通讯录数据库系统"

);

frame.setLocation(500,200);

frame.setSize(320,270);

frame.setVisible(true);

}

}

importjavax.swing.JLabel;

importjavax.swing.JOptionPane;

importjavax.swing.JTextField;

importjava.awt.FlowLayout;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjavax.swing.*;

publicclassShowFlowLayoutextendsJFrame{

staticConnectioncon=null;

publicShowFlowLayout(){

setLayout(newFlowLayout(FlowLayout.LEFT,15,25));

finalShowFlowLayoutframe=newShowFlowLayout();

JLabeljlbl欢迎使用通讯录数据库系统=newJLabel("

欢迎使用通讯录数据库系统"

frame.add(jlbl欢迎使用通讯录数据库系统);

JLabeljlbl用户名=newJLabel("

用户名"

frame.add(jlbl用户名);

finalJTextFieldjtf用户名=newJTextField(16);

frame.add(jtf用户名);

JLabeljlbl密码=newJLabel("

密码"

frame.add(jlbl密码);

finalJTextFieldjtf密码=newJTextField(16);

frame.add(jtf密码);

JButtonjbt登录=newJButton("

登录"

frame.add(jbt登录);

JButtonjbt退出=newJButton("

退出"

frame.add(jbt退出);

frame.setSize(270,250);

jbt登录.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

if(jtf用户名.getText().equals("

***"

)&

&

jtf密码.getText().equals("

123456"

))

{

frame.dispose();

newThreeButtons();

}

elseJOptionPane.showMessageDialog(null,"

用户名或密码错!

"

});

jbt退出.addActionListener(newActionListener(){

System.exit(0);

}});

try{

Class.forName("

com.mysql.jdbc.Driver"

System.out.println("

驱动加载成功"

Stringurl="

jdbc:

mysql:

//localhost:

3306/通讯录"

;

StringuserName="

root"

StringpassWord="

131495"

con=DriverManager.getConnection(url,userName,passWord);

连接数据库成功"

}catch(Exceptione){

e.printStackTrace();

}

importjava.awt.*;

importjava.sql.SQLException;

publicclasschaxunextendsJFrameimplementsActionListener{

JTextFieldjtf请输入你要查找人的姓名=newJTextField(20);

publicchaxun(){

setTitle("

setLocation(500,200);

setSize(270,250);

setVisible(true);

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

setLayout(newGridLayout(3,1));

JPanelp1=newJPanel();

JPanelp2=newJPanel();

JPanelp3=newJPanel();

JLabeljlbl请输入你要查找人的姓名=newJLabel("

请输入你要查找人的姓名"

p1.add(jlbl请输入你要查找人的姓名);

p2.add(jtf请输入你要查找人的姓名);

JButtonjbt确定=newJButton("

确定"

p3.add(jbt确定);

add(p1);

add(p2);

add(p3);

jbt确定.addActionListener(this);

publicvoidactionPerformed(ActionEvente){

PreparedStatementpstmt;

ResultSetrs;

try{

pstmt=ShowFlowLayout.con

.prepareStatement("

select*fromfriendwherename=?

pstmt.setString(1,jtf请输入你要查找人的姓名.getText());

rs=pstmt.executeQuery();

if(rs.next())

JOptionPane.showMessageDialog(null,"

姓名"

+rs.getString

(1)+"

\n电话"

+rs.getString

(2)+"

\n地址"

+rs.getString(3)+"

\n邮箱"

+rs.getString(4));

elseJOptionPane.showMessageDialog(null,"

无此联系人!

}catch(SQLExceptione1){

e1.printStackTrace();

}

publicclassThreeButtonsextendsJFrame{

JButtonjbt快速查找=newJButton("

快速查找"

JButtonjbt新建联系人=newJButton("

新建联系人"

JButtonjbt删除信息=newJButton("

删除信息"

JButtonjbt修改信息=newJButton("

修改信息"

JButtonjbt退出系统=newJButton("

退出系统"

ThreeButtons(){

setSize(300,370);

setLayout(newGridLayout(5,1));

add(jbt快速查找);

add(jbt新建联系人);

add(jbt删除信息);

add(jbt修改信息);

add(jbt退出系统);

jbt快速查找.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

newchaxun();

jbt新建联系人.addActionListener(newActionListener(){

newTestSwingCommonFeatures();

jbt删除信息.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente)

newshanchu();

jbt修改信息.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente)(

newxiugai();

jbt退出系统.addActionListener(newActionListener(){

System.exit(0);

importjavax.swing.JButton;

impor

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 化学

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

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