当前位置:文档之家› 通讯录课程设计 Java

通讯录课程设计 Java

攀枝花学院课程设计题目:通讯录院(系):数学与计算机学院年级专业: 12网络工程*名:**学号: ************ 指导教师:***二〇一三年十二月三十日攀枝花学院教务处制攀枝花学院本科学生课程设计任务书注:任务书由指导教师填写。

摘要通讯工具在平常百姓家中已经是非常常见。

用Java语言开发这个强大通讯录以实现我们对大量的人员的通信信息予以记录。

以便我们使用方便。

我们可以往这个通信录系统中添加数据,也可以对记录进行修改,删除。

这样大大提高了我们的通信管理效率。

随着人们生活水平的提高,通讯工具在平常百姓家中已经是非常常见。

要记住所有的联系方式似乎有些困难,所以我们希望设计一个通讯录系统,记录所有的联系方式,并且能方便的查找,增加和删除,方便大家记录联系人。

当前计算机软件技术和网络技术正飞速发展,软件系统日趋大型化、复杂化,软件对于一个计算机系统是至关重要的。

因此社会对软件开发者提出了比以往更高的要求,相应的系统要求也有了很大的提高。

本系统用C++作为程序语言,设计出的系统功能强大,操作方便灵活。

关键词:通讯录;java; 数据;查询;-Ⅰ-目录摘要 (Ⅰ)1需求分析 (6)1.1需求来源 (6)1.2设计目的 (6)1.3设计要求 (6)2 功能需求描述 (6)3 总体设计 (6)3.1 功能介绍 (7)3.2 系统模块结构 (7)3.3 系统总设计流程图 (7)4 概要设计 (8)4.1登录功能界面 (8)4.2添加功能界面 (9)4.3删除功能界面 (9)4.4查询功能界面 (10)4.5统计功能界面 (10)5程序与分析 (11)5.1登陆系统 (11)5.2增加纪录 (13)5.3 删除记录 (14)5.4修改记录 (15)5.5查找记录 (17)致谢 (18)参考文献 (19)1 需求分析1.1需求来源随着人们生活水平的提高,通讯工具在平常百姓家中已经是非常常见。

要记住所有的联系方式似乎有些困难,所以我们希望设计一个通讯录系统,记录所有的联系方式,并且能方便的查找,增加和删除,方便大家记录联系人。

1.2设计目的本课程设计是java语言学习中很重要的实践性环节之一,是在学习完java 课程后进行的一次全面的综合练习旨在巩固和加深我们对java语言的基本知识的理解和掌握,掌握java语言编程和程序调试的基本技能,利用java语言进行基本的软件设计,掌握书写程序设计说明文档的能力,提高运用java语言解决实际问题的能力。

通过课程设计,提高我们理论联系实际解决实际问题的能力;也使提高对基于面向对象的理论,在进行系统设计过程中的诸多具体问题有感性的认识和深入的理解。

1.3设计要求(1)能够建立、修改和删除联系人。

(2)能够按多种方式进行查询。

(3)可以使用数据库,或者使用文件进行数据持久化。

(4)界面友好,易于操作。

2 功能需求描述随着人们生活水平的提高,通讯工具在平常百姓家中已经是非常常见。

有些家庭人员众多,有的家庭成员甚至有好几个联系方式,在这种情况下,要记住所有的联系方式似乎有些困难,所以我们希望设计一个家庭通讯录,记录所有家庭成员的联系方式,并且能方便的查找,增加和删除。

3 总体设计3.1 功能介绍(1)具有新用户注册功能。

(2)具有注册用户登录功能。

(3)具有数据的录入功能。

(4)具有数据查询功能,可以实现查询全部信息和按条件执行查询。

(5)具有按条件删除数据功能。

(6)具有统计功能3.2系统模块结构图3-2-13.3系统总设计流程图图3-3-13.4数据库表的设计(1)普通用户数据表的设计,如表1列名数据类型长度是否为空username(keyvarchar 20 否)password char 10 是(2)记录信息数据表,如表2列名数据类型长度是否为空name(key) varchar 20 否sex char 20 是birthday datatime 8 是Email char 20 是tel char 8 否4 模块设计4.1登录功能界面图4-1-1图4-1-1LoginAction类,封装的信息由密码和账户名,以及登录失败时抛出的异常方法。

String execute()函数继承了Exception类,如果登录密码不匹配,则会抛出异常,提示Error登录失败。

在登录模块中有管理员用户和普通用户,管理员可以对系统中的信息添加,修改,删除等功能,普通用户只进行查找操作。

4.2 添加功能界面图4-2-1LoginAction类继承ActionSuporrt类,封装有name,sex,birthday,email,tel属性,封装有成员函数set_name(),set_sex(),set_birthday(),set_email(),set_tel()用来添加各个属性值,提示操作失败信息用String execute()函数抛出异常。

4.3删除功能界面图4-3-1DeleAction类继承ActionSuporrt类,get_name()方法用于得到所要删除的信息的主码。

封装的数据成员包括name,封装有isSuccess()函数,用于判断删除成功与否。

删除模块中,用户可以根据某一关键字或多个关键字进行删除,删除信息后会自动提示。

4.4查询功能界面图4-4-1FindAction类继承ActionSuporrt类的属性及方法,setInput()方法将输入的信息传递给FindAction类内的相应属性,getInput()方法用于返回输入值,封装的成员函数包括getlist()用于返回查询到的元组列表。

图5显示可以通过姓名,性别,出生日期,email地址对联系人进行查询。

4.5统计功能界面图4-5-1点击文件“编辑—查找全部”,则会弹出一个空白的查找结果界面,这是因为在程序设计中默认的是不显示所得的信息然后点击“显示查询结果”,即可显示出全部查询结果。

如图:图4-5-25程序与分析5.1登陆系统package com.ibm.etp.addressbook.action;import java.util.HashMap;import java.util.List;import er;import com.ibm.etp.addressbook.service.LoginService;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport {private static final long serialVersionUID = 1L;public String username;public String password;private String message;@Overridepublic String execute() throws Exception {HashMap<Object, Object> result = new HashMap<Object, Object>();List<User> list = null;System.out.println(username);if(username == null || username.trim().length() == 0) { result.put("success", false);result.put("msg", "ername.empty");} else if(password == null || password.trim().length() == 0) { result.put("success", false);result.put("msg", "login.password.empty");} else {LoginService ls = new LoginService();list = ls.checkLogin(username);}if(list == null) {result.put("success", false);result.put("msg", "er.not.exist");} else if(list.get(0).getPassword().equals(password)) { result.put("success", true);result.put("msg", "login.success");} else {result.put("success", false);result.put("msg", "error.password.wrong");}if((Boolean) result.get("success")) {message = (String) result.get("msg");return "success";} else {message = (String) result.get("msg");return "error";}}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public void setUsername(String username) {ername = username;}public void setPassword(String password) {this.password = password;}public String getUsername() {return username;}public String getPassword() {return password;}}5.2增加纪录package com.ibm.etp.addressbook.action;import java.util.HashMap;import java.util.List;import er;import com.ibm.etp.addressbook.service.LoginService;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport {private static final long serialVersionUID = 1L;public String username;public String password;private String message;public String execute() throws Exception {HashMap<Object, Object> result = new HashMap<Object, Object>();List<User> list = null;System.out.println(username);if(username == null || username.trim().length() == 0) {result.put("success", false);result.put("msg", "ername.empty");} else if(password == null || password.trim().length() == 0) { result.put("success", false);result.put("msg", "login.password.empty");} else {LoginService ls = new LoginService();list = ls.checkLogin(username);}if(list == null) {result.put("success", false);result.put("msg", "er.not.exist");} else if(list.get(0).getPassword().equals(password)) {result.put("success", true);result.put("msg", "login.success");} else {result.put("success", false);result.put("msg", "error.password.wrong");}if((Boolean) result.get("success")) {message = (String) result.get("msg");return "success";} else {message = (String) result.get("msg");return "error";}}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public void setUsername(String username) {ername = username;}public void setPassword(String password) {this.password = password;}public String getUsername() {return username;}public String getPassword() {return password;}}5.3删除记录package com.ibm.etp.addressbook.action;import java.util.ArrayList;import com.ibm.etp.addressbook.pojo.Record;import com.ibm.etp.addressbook.service.DeleService; import com.opensymphony.xwork2.ActionSupport;public class DeleAction extends ActionSupport { private int id[];public String message;private boolean success=true;public boolean isSuccess() {return success;}private ArrayList<Record> list= new ArrayList<Record>();public ArrayList<Record> getList() {return list;}public int getId(int i){return id[i];}public int[] getId() {return id;}public void setId(int[] id) {this.id = id;}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public String execute() throws Exception {DeleService ds=new DeleService();list=ds.removeRecord(this);try {success=true;return SUCCESS;}catch (Exception e) {success=false;return ERROR;}}}5.4修改记录package com.ibm.etp.addressbook.action;import com.ibm.etp.addressbook.service.UpdateService;import com.opensymphony.xwork2.ActionSupport;public class UpdateAction extends ActionSupport { private int id;private String name;private String phone;private String email;private String birthday;private String sex;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) { = name;}public String getPhone() {return phone;}public void setPhone(String phone) { this.phone = phone;}public String getEmail() {return email;}public void setEmail(String email) { this.email = email;}public String getBirthday() {return birthday;}public void setBirthday(String birthday) { this.birthday = birthday;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String execute() throws Exception { UpdateService us=new UpdateService();if(us.setRecord(this)!=null)return SUCCESS;else{return ERROR;}}}5.5查找记录package com.ibm.etp.addressbook.action;import java.sql.SQLException;import java.util.List;import com.ibm.etp.addressbook.pojo.Record;import com.ibm.etp.addressbook.service.FindService; import com.opensymphony.xwork2.ActionSupport; public class FindAction extends ActionSupport { private String field;private String input;private int size;private String sort;private List<Record> list ;private boolean success=true;public boolean isSuccess() {return success;}public List<Record> getList() {return list;}public void setList(List<Record> list) {this.list = list;}public String getField() {return field;}public void setField(String field) {this.field = field;}public String getInput() {return input;}public void setInput(String input) {this.input = input;}public int getSize() {return size;}public void setSize(int size) {this.size = size;}public String getSort() {return sort;}public void setSort(String sort) {this.sort = sort;}public String execute() throws Exception { FindAction fb = new FindAction();fb.setField(field);fb.setInput(input);fb.setSize(size);fb.setSort(sort);FindService fs = new FindService();try {list = fs.find(fb);success=true;return SUCCESS;} catch (SQLException e) {e.printStackTrace();success=false;return ERROR;致谢通过这次课程设计,我们不仅深入学习了整个课题,并且有很多收获和体会。

相关主题