主用例示意图
3.2.4 系统子用例识别
联系人信息维护主用例主要包含以下子用例,各子用例描述如下:
(1)增加联系人功能:
该功能主要是针对用户在人际交往中认识新的朋友和伙伴,为了更好的相处及增进友谊,对方留下自己的各种联系方式,包括电话,手机,邮箱,家庭住址等等。
(2)更新联系人功能:
该功能主要是针对用户在于朋友,亲戚的友好相处中,由于对方更换联系方式,并且及时告诉用户信息,用户可以根据对方告知的信息进行更新,方便日后联系。
(3)删除联系人功能:
该功能主要是对联系人信息的删除。该主用例与子用例之间的关系描述如图所示:
Pig.3-5 The main case and son with exemplary intention
图3-5主用例与子用例示意图
3.3 数据库分析
通讯录管理系统是方便大众日常生活的工具,为了迎合大众需求,具体有浏览信息、查询信息、添加和删除信息,及排序等功能。这就要求数据库结构能充分满足各种信息的输入与输出,实现有组织地,动态储存大量关联数据,方便用户访问系统中的数据。
3.3.1 概念结构设计
根据需求分析抽象出信息结构,可得该系统的E-R图。
(1). 用户E-R图
Pig.3-6 The user E-R diagram
图3-6用户E-R图
根据分E-R图和需求分析,可得到总E-R图
Pig.3-7 The overall E-R diagram
图3-7总体E-R图
3.3.2 逻辑结构设计
基本信息表Friend用来保存、电话、家庭住址、邮箱信息。表Friend的结构如表3-1所示。
Table 3-1 Structure for table Friend
表3-1 表Friend的结构
编号 字段名称 数据结构 说明 1 Name Char 联系人 2 Tele Char 联系人电话 3 Adder Char 联系人家庭住址 4 Mail Char 联系人邮箱 5 Sex Char 性别 6 Age int 年龄 3.3.3 数据库表的建立
在设计数据库表结构之前,首先要创建一个数据库。本系统使用的数据库为Friend。
创建表Friend(基本信息表),它的代码如下:
CREATE TABLE Friend
(Name char (20) PRIMARY KEY ,
Tele char(20),
Addr char(30),
Mail char(20)
)
GO
第四章 系统实现
4.1 数据库的实现
数据库连接
package connect_sql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Connects {
private String dbDriver = "com.mysql.jdbc.Driver";
private String url = "jdbc:mysql://localhost/new_db";
private Connection con = null;
public Connects(){
try {
Class.forName(dbDriver).newInstance(); //数据库驱动
try {
con = DriverManager.getConnection(url, "root", "123");
System.out.println("提示:数据库加载成功!"); //加载数据库
} catch (SQLException e) {
e.printStackTrace();
}
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public Connection getConnection(){
return con;
}
}
4.2 系统功能实现
4.2.1 系统登录界面:
4.2.1.1 登录功能:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int i = 0;
flag0 = 1;
UserDao user = new UserDao();
if (user.queryUser(jTextField1.getText().trim(), jPasswordField1
getText().trim())) {
MainFrom fr = new MainFrom();
fr.setVisible(true);
this.dispose();
} else {
i++;
if (i <= 3){
JOptionPane.showMessageDialog(this, "用户名或密码请重新登录!");
jTextField1.setText("");
jPasswordField1.setText("");
}
else
this.dispose();
}
}
4.2.1.2 重置功能(代码):
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
jTextField1.setText("");
jPasswordField1.setText("");
}
4.2.2 系统主界面:
4..2.2.1 浏览联系人信息:
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
View ft = new View();
ft.setVisible(true);
}
4..2.2.2 查询联系人信息:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Search fr = new Search();
fr.setVisible(true);
}
4..2.2.3 添加联系人信息:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
Add ft = new Add();
ft.setVisible(true);
}
4..2.2.4 删除联系人信息:
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
Delete ft = new Delete();
ft.setVisible(true);
}
4..2.2.5 排序联系人信息:
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
Sort ft = new Sort();
ft.setVisible(true);
}
4.3 功能模块的实现
4.3.1 浏览联系人信息功能:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Object title[] = { "编号", "", "性别", "电话", "年龄", "邮政编码", "家庭住址", "QQ" };
String str = (String) jComboBox1_view.getSelectedItem();
String sql = "SELECT * FROM STUINFO";
ResultSet rs1 = choose.dataSelect(sql);
int i = 0;
try {
while (rs1.next()) {
i++;
}
} catch (SQLException e) {
e.printStackTrace();
}
Object data[][] = new Object[i + 1][8];
if (str.equals("全部信息")) {
sql = "SELECT * FROM STUINFO";
} else
sql = "SELECT * FROM STUINFO WHERE QQ='" + str + "'";
ResultSet rs = choose.dataSelect(sql);
int j = 0;
try {
while (rs.next()) {
data[j][0] = rs.getString(1);
data[j][1] = rs.getString(2);
data[j][2] = rs.getString(3);
data[j][3] = rs.getString(4);
data[j][4] = rs.getString(5);
data[j][5] = rs.getString(6);
data[j][6] = rs.getString(7);
data[j][7] = rs.getString(8);
j++;
}
} catch (SQLException e) {
e.printStackTrace();
}
JTable table = new JTable(data, title);
jScrollPane1.setViewportView(table);
jScrollPane1.revalidate();
}
4.3.2 查询联系人信息功能:
private void jButton_Search1ActionPerformed(java.awt.event.ActionEvent evt) {
Object title[] = { "编号", "", "性别", "电话", "邮政编码", "家庭住址", "QQ" };
String str1 = (String) jComboBox_Search1.getSelectedItem();
String str2 = jTextField_Search1.getText();
String sql = null;
if (str1.equals("编号")) {
sql = "SELECT * FROM STUINFO WHERE 编号='" + str2 + "'";
} else if (str1.equals("")) {
sql = "SELECT * FROM STUINFO WHERE ='" + str2 + "'";
} else if (str1.equals("QQ")) {
sql = "SELECT * FROM STUINFO WHERE QQ='" + str2 + "'";
}
ResultSet rs = choose.dataSelect(sql);
Object[][] datas = new Object[50][8];
try {
int j = 0;
while (rs.next()) {
datas[j][0] = rs.getString(1);
datas[j][1] = rs.getString(2);
datas[j][2] = rs.getString(3);
datas[j][3] = rs.getString(4);
datas[j][4] = rs.getString(5);
datas[j][5] = rs.getString(8);
datas[j][6] = rs
上一篇:
java课程设计论文(课程管理系统)
下一篇:
电信运营支持系统的设计与开发毕业论文