通讯录管理系统--java课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《面向对象程序设计》

课程设计报告

题目:通讯录管理系统软件设计与实现

院(系):信息科学与工程学院

专业班级:计算机科学与技术1201班

学生姓名:程伟

学号:20121183011

指导教师:吴奕

20 14 年 12 月 29 日至20 15 年 1 月 9 日

华中科技大学武昌分校制

面向对象程序设计课程设计任务书

目录

1需求与总体设计 (1)

1.1需求分析 (1)

1.2本系统总体功能 (1)

1.3系统流程图 (2)

1.4本系统E-R图 (5)

2详细设计 (8)

2.1用户登录模块功能 (8)

2.2用户提示功能实现 (8)

2.3帐户修改功能实现 (8)

2.4主窗体功能 (8)

2.5文件读取与新增模块功能 (9)

3编码实现 (9)

3.1用户登录模块代码 (9)

3.2登陆按钮触发事件代码 (11)

3.3主窗体代码 (12)

3.4新增与文件读取模块代码 (19)

4系统测试 (30)

总结 (33)

1需求与总体设计

1.1需求分析

随着社会的发展,现代人的交际圈越来越大,接触的人也越来越多。面对着没完没了的通讯记录,过去的老式人为存储已远远满足不了需求,如果想查询,则需一个一个的翻阅,却怎么都找不到自己的需要的号码。所设计的通讯录系统正是在这种需求之下应运而生的,通讯录管理系统是一个非常通用的管理系统。很多地方都需要拥有自己的通讯录管理系统,以便对自己的同学、同事、朋友等信息资料的管理及使用。所以在这两周的实训中,,通讯录作为一种实用行的工具,有着不可估量的市场前景。

1.2本系统总体功能模块图

1.3系统流程图

系统数据流程图

1.4本系统的E-R图

普通用户实体E-R图

普通用户实体E-R图

记录信息实体E-R图

记录信息实体E-R图多图之间的E-R图

多图之间的E-R图

数据库表的设计

普通用户数据表

记录信息数据表

记录信息数据表

2详细设计

2系统功能实现

2.1用户登录模块功能

登陆界面是进入系统的基础也是程序最先开始的部分,而且在界面的搭配及程序的安全性上要有保证,第一个出现的界面要给人清爽的感觉,给用户一个好心情来操作。本模块用的图形界面类swing来做主要的支撑,其中对按钮和文本框的设计按通用的样式给出,这是为了便于用户理解和上手考虑。

在安全性和易用性考虑上,通讯录也属于隐私范畴,必需要有保密措施,而欢迎界面又有太大的影响易用性,在易用性方面,该界面充份发挥了作用。输入用户名和密码后点击登陆即可。初始用户名和密码分别为admin和123456。

2.2用户提示功能实现

为了适时提醒用户,有必要设计提示框界面。提示框界面主要用于提示用户操作错误或下一步应该怎么做。因此用Jframe提供的类及接口能很快的建立起一个简洁明了的提示框。由于提示框可在很多的地方用到,因此有必要在提示框上的Jlabel标签做空项,图中的Jlabel1标签本来是空的,现在为了要显示他的存在而加的。

当调用该提示框的时候,将提示信息作为实参写入调用该提示框的方法中。达到一个程序多处用。

该提示框的大部分代码与登陆界面的代码原理及方法用法相同,不多做说明。

2.3帐户修改功能实现

该模块采用在界面上依然用Jframe。在数据的输入输出上,用数据流的方式将数据快速输出到文件或调入内存中。在用户数量上控制在1个人,因为本程序以个人为中心,所以在用户上只能有1个用户,但可以修改用户名和密码。将用户数据存储在“CONFIG/ADMIN.DAT”中。该模块增加了重置及对密码的校验功能。

2.4主窗体功能

主窗体作为GUI主界面,其功能是提供用户交互,实现通讯录功能。该界面采用可视化设计,在这里我主要做的是将界面组件的交互事件与实现逻辑功能的类连接起来,并在相关的事件处理程序中调用管理通讯录的一些方法。在该模块设计中主要是对窗体中显示出来的按钮进行设计,使各个按钮能够完成相应的功能,还包括了用户信息、登录时间、浏览等功能的实现。

时间显示功能,当用户登录到系统中时,便可看到系统中当前显示的时间信息。此

时间的显示代码是用线程实现的。首先定义了timeinfo为字符字段用来存放时间的信息,然后定义Run方法用来启动线程,其中包括对时、分、秒的获得。最后用

txttime.setText(timeInfo)语句格式化输出系统当前的时间。

面板定义,本人在系统界面中加入了面板,把不同的按钮功能放入了不同的区域中加以区分,让用户的操作易懂使用更方便。

激活按钮,当用户按动每个按钮时必要经过此功能的调用,主窗体中还包括了,对各类的调用,显示等功能,其代码在下面有详细介绍。

2.5文件读取与新增模块功能

该模块的主要功能为:为用户提供一个输入新号码的渠道,由于随着时间的增加,面对不同的需求,联系号码是必不可少的联系方式,老式电话簿已被淘汰,所以当用户想将新号码添加到电话本中时,可以选择主页面下的新增功能。这样就大大的提高了电话本功能的可扩展性,为用户在使用时提供方便。

在此模块内,用户如果想使用此功能,只需直接点击添加按钮,这时会进入新增记录的界面,让用户输入想添加的电话信息,系统会自动为该记录编号,当输入相应的信息后,点击保存按钮,会出现“保存成功”的字样。

若记录文件不存在,则需初始化记录文件。初始化后方可输入记录。

其中主要成员变量包括:lstUsers、fileName定义的各个成员变量;主要方法包括:save(User user)为构造方法,保存用户输入的记录信息;与intRecord()为接口方法,处理记录文件不存在时产生异常的事件。

3编码实现

相关文档
最新文档