ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:262.89KB ,
资源ID:811053      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-811053.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(通讯录管理Word格式文档下载.docx)为本站会员(聆听****声音)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

通讯录管理Word格式文档下载.docx

1、基本数据量要求:(1) 用户数不少于3人(采用数据库预置用户名和登录密码方式初始化);(2) 平均每个用户的通信录记录数不少于10条(至少有一个用户的通信录记录数不少于20条)。开发平台与技术要求:(1) 数据库采用SQL-Server或MySQL;(2) 采用HTML/JavaScript/JSP; (3) 可选用Ajax/Struts2/Hibernate。2.1 总体设计在明确了系统与数据库结构的前提下,设计该系统主要功能:系统登录,数据的输入与修改,数据的删除,联系人和群管理等。主要功能包括: (1)用户登录及退出登录;(2)登录用户编辑个人通信录(增、删、改);(3)登录用户查询通信

2、录(输入姓名或姓名的单字拼音首字母查询)。分流程示意图1.系统登录: 2.2数据库设计(1)表1 普通用户数据表列名数据类型长度是否为空usernamevarchar50否password(2)记录信息数据表,如表2表2 记录信息数据表名类型是否空idintnametelphoneqqemailcategoryworkaaress2.3详细设计 LoginAction类,封装的信息由密码和账户名,以及登录失败时抛出的异常方法。String execute()函数继承了Exception类,如果登录密码不匹配,则会抛出异常,提示Error登录失败。在登录模块中有管理员用户和普通用户,管理员可以对

3、系统中的信息添加,修改,删除等功能,普通用户只进行查找操.用户添加: LoginAction类继承ActionSuporrt类,封装有name,sex,birthday,email,tel属性,封装有成员函数set_name(),set_sex(),set_birthday(),set_email(),set_tel()用来添加各个属性值,提示操作失败信息用String execute()函数抛出异常。用询查询:FindAction类继承ActionSuporrt类的属性及方法,setInput()方法将输入的信息传递给FindAction类内的相应属性,getInput()方法用于返回输入值

4、,封装的成员函数包括getlist()用于返回查询到的元组列表。图5显示可以通过姓名,性别,出生日期,email地址对联系人进行查询。用户修改: ModAction类继承ActionListenerde同名方法,完成MyFirstFrame中类的所有方法进行修改直到成功,并且将修改后的信息通过ModAction String()导入数据库。用户删除: DeleAction类继承ActionSuporrt类,get_name()方法用于得到所要删除的信息的主码。封装的数据成员包括name,封装有isSuccess()函数,用于判断删除成功与否。删除模块中,用户可以根据某一关键字或多个关键字进行删

5、除,删除信息后会自动提示。用户导出: 根据ActionlistenrWindows窗口提示,联系人已经成功导出。其结构体经初始化后已经完成,导出的数据将成功存入数据库中,此时数据库可以随时进行查询等一切可行性操作。3. 测试报告通过这次课程设计我加深了对于java语言应用与实践之间的连接,能更好的使用java语言!在老师及同学们的引导下配合下,我完成了题目。只有通过合作,才能更高效率的完成任务。实践非常的重要。很多东西在理论层面是行的通的,但到实际中就行不通了。所以要多实践,在不断的修改调试过程中巩固知识。程序设计基本符合了我预期的要求,运行效果良好,无明显的大的bug。在完成作业的过程中,我

6、遇到了不少困难,其中有的是经过自己苦思冥想想出来的,也有的是询问比较厉害的同学得以解决的,还剩下的一些疑难问题当然就是求助网络了。譬如说照片上传管理预览功能的实现,以及最小化到系统托盘的功能实现等。其实不光是在网络上查询解决问题的方法,我也从网络上得到了不少编程的灵感和好的思想。比如说我的程序中并没有运用网络编程,基本是一个单机版的程序,这其中基本上没有能够应用到多线程的地方。但是经过我在网络上的查询,有人建议我可以在相片加载预览时候运用多线程,从而提高速度。于是我就这样做了,从而使我的程序更完善了。善于利用网络,对于我们的学习是大有裨益的。4. 结论通过两周的努力,我顺利的完成了通讯录系统的

7、开发。基于基本设计要求,我查阅了相关自资料,进行了需求分析,概要设计,详细设计,编码,调试运行等软件开发步骤 。无论在理论上还是在实践上都有较大幅度的提高,独立分析问题解决问题和他人交流的能力明显提高。 通过这次课程设设计,我对JAVA语言有了基本的认识。JAVA 是完全面向对象的语言,使用方便,界面友好,编译较难,能极大的节约运行时间,提高响应速度。其次软件工程的思想有了深入了解:完善需求,最大的满足客户需求,充分做好风险分析。为了保证项目的速度,定期对项目进行评估工作。本次项目随小,我却悟出了个简单的道理:学习就像软件开发,拿到一本书后看看,提出自己未知的问题,进而分析问题,解决问题。 通

8、过课程设计,我深刻的认识到在当今激烈的社会竞争中只有学到本领才能有立足之地,同时也感到软件开发的辛苦。首先要有耐心,要忍着密密麻麻的代码,无数遍的修改,无数遍的调试,但是当你调试成功时,你会感受到努力的幸福。5. 源程序1package tongxun;public class UseSystem /* * param args */public static void main(String args) new MySystem().validate();2package tongxun;import java.awt.*;import java.awt.event.*;import jav

9、a.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.*;import javax.swing.*;public class MySystem extends JFrame implements ActionListener, ItemListener UserService uService = new UserService();User u = new User();Choice choice = new Choice();

10、JTextField t1 = new JTextField(15);JButton b1 = new JButton(查询);java.awt.List list = new java.awt.List(6, true);JButton b2 = new JButton(增加JButton b3 = new JButton(删除JButton b4 = new JButton(修改JButton b5 = new JButton(导出Container con = getContentPane();java.util.List uList = new ArrayList();/ static

11、 Vector uv = new Vector(100);int flag = 0;MySystem() super(通讯录管理程序setSize(400, 400);con.setLayout(new BorderLayout();choice.add(姓名类别手机号码查询全部记录qqPanel p1 = new Panel();/ Panel p2=new Panel();Panel p3 = new Panel();p1.setBackground(Color.red);p1.setSize(300, 10);/ p2.setBackground(Color.cyan);/ p2.set

12、Size(380, 300);p3.setBackground(Color.yellow);list.setSize(300, 300);p1.add(choice);p1.add(t1);p1.add(b1);p3.add(b2);p3.add(b4);p3.add(b3);p3.add(b5);con.add(North, p1);Center, list);South, p3);setVisible(true);validate();addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e)

13、 setVisible(false);System.exit(0););b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);list.addItemListener(this);public void actionPerformed(ActionEvent e) if (e.getSource() = b2) / 通过产生外部窗体,来实现添加功能final JFrame newf

14、 = new JFrame(添加联系人newf.setSize(400, 400);newf.setVisible(false);newf.setLayout(new GridLayout(10, 2);JLabel jb1 = new JLabel(联系人姓名:final JTextField jtf1 = new JTextField(15);Panel pp1 = new Panel();pp1.add(jb1);pp1.add(jtf1);newf.getContentPane().add(pp1);JLabel jb2 = new JLabel(联系人电话:final JTextFi

15、eld jtf2 = new JTextField(15);Panel pp2 = new Panel();pp2.add(jb2);pp2.add(jtf2);newf.getContentPane().add(pp2);JLabel jb3 = new JLabel(固 定 电 话:final JTextField jtf3 = new JTextField(15);Panel pp3 = new Panel();pp3.add(jb3);pp3.add(jtf3);newf.getContentPane().add(pp3);JLabel jb4 = new JLabel(联系人QQ :

16、final JTextField jtf4 = new JTextField(15);Panel pp4 = new Panel();pp4.add(jb4);pp4.add(jtf4);newf.getContentPane().add(pp4);JLabel jb7 = new JLabel(联系人email:final JTextField jtf7 = new JTextField(15);Panel pp7 = new Panel();pp7.add(jb7);pp7.add(jtf7);newf.getContentPane().add(pp7);JLabel jb8 = new

17、JLabel(联系类别 :final JTextField jtf8 = new JTextField(15);Panel pp8 = new Panel();pp8.add(jb8);pp8.add(jtf8);newf.getContentPane().add(pp8);JLabel jb5 = new JLabel(联系人工作:final JTextField jtf5 = new JTextField(15);Panel pp5 = new Panel();pp5.add(jb5);pp5.add(jtf5);newf.getContentPane().add(pp5);JLabel

18、jb6 = new JLabel(现居住地地址:final JTextField jtf6 = new JTextField(15);Panel pp6 = new Panel();pp6.add(jb6);pp6.add(jtf6);newf.getContentPane().add(pp6);JButton bb1 = new JButton(提交JButton bb2 = new JButton(关闭Panel pp9 = new Panel();pp9.add(bb1);pp9.add(bb2);newf.getContentPane().add(pp9);/ JTextArea jt

19、a=new JTextArea();Panel pp10=new/ Panel();pp10.add(jta);newf.getContentPane().add();bb1.addMouseListener(new MouseAdapter() public void mouseClicked(MouseEvent ee) User u = new User();u.setName(jtf1.getText();u.setTel(jtf2.getText();u.setPhone(jtf3.getText();u.setQq(jtf4.getText();u.setWork(jtf5.get

20、Text();u.setAddress(jtf6.getText();u.setEmail(jtf7.getText();u.setCategory(jtf8.getText();if (uService.add(u) JOptionPane.showMessageDialog(null, 添加成功! else添加失败!);bb2.addMouseListener(new MouseAdapter() newf.setVisible(true);newf.setVisible(true);if (b1 = e.getSource() / 通过调用select();实现模糊查询list.remo

21、veAll();select();if (b3 = e.getSource() / 通过获得联系人在list中的索引号,来实现对联系人的删除if (flag = 0) JOptionPane.showMessageDialog(null, 不能删除该行!u = uList.get(flag - 1);if (uService.delById(u.getId() 删除成功!uList.remove(flag - 1);list.removeAll();list.add(编号 + 电话for (User u1 : uList) list.add(u1.getId() + : + u1.getNam

22、e()+ + u1.getTel(); else删除失败!if (b4 = e.getSource() / 通过获得联系人在list中的索引号,同弹出一个外部窗体其中/ 有联系人的信息,用户可以修改.并在将其存入数据库不能修改首行!return;final JTextField jtf1 = new JTextField(u.getName(), 15);final JTextField jtf2 = new JTextField(u.getTel(), 15);final JTextField jtf3 = new JTextField(u.getPhone(), 15);final JTextField jtf4 = new JTextField(u.getQq(), 15);

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2