基于JAVA个人通讯录管理系统开发和设计
1郑州科技学院Java 课程设计报告题 目 Java 通讯录课程设计课 程 名 称 Java 程序设计实用教程 院 部 名 称 信息工程学院 专 业 计算机科学与技术专业 班 级 11计科1班 学 生 姓 名 胡燊 学 号 201115007 指 导 教 师 杜 远 坤 完 成 时 间 2013年12月20日摘要本文介绍了一个简单实用的个人通讯录管理系统java工程,详细描述了本人在编程时候的编程思想和在MyEclipse 中调试运行的步骤,简明扼要地介绍了整个工程的功能和实用方法。
这个个人通讯录管理系统含有添加、删除、查找等基本功能,同时也添加了一些有趣的小功能——支持背景图片的更换。
在程序中完成了与数据库的通信,并同样可以对数据库进行添加、查找、删除等功能。
关键词:个人通讯录管理系统、添加、删除、查找、数据库2目录摘要 (2)1 绪论 (4)1.1 设计目的 (4)1.2 设计内容 (4)2 程序要求 (4)3 算法分析 (5)3.1 程序总体设计思想 (5)3.2 程序设计总体框图 (5)3.3 程序详细设计 (6)4 调试过程 (8)5 体会 (16)6 参考文献 (17)附录(源程序) (18)31 绪论1.1 设计目的本课程设计是java语言学习中很重要的实践性环节之一,是在学习完java课程后进行的一次全面的综合练习旨在巩固和加深我们对java语言的基本知识的理解和掌握,掌握java语言编程和程序调试的基本技能,利用java语言进行基本的软件设计,掌握书写程序设计说明文档的能力,提高运用java语言解决实际问题的能力。
1.2 设计内容在设计一个完整的系统中,我从系统的管理员登录界面开始做,另外依据相关要求,对系统增加了数据库支持(Microsoft Access做的数据库),还有对数据库里的数据进行增加、删除、显示所有记录、查询记录、导出备份数据库文件。
另外为了界面美观,增加了系统主界面背景界面图片的支持。
为了保证数据库的安全,在系统中设立了管理员权限,即只有被允许的用户才可以进入该系统。
2 程序要求设计一个通讯录管理软件,要求如下:增加记录、删除记录、显示所有记录、查询记录、文件备份、退出。
通讯录记录信息包括:姓名,电话,email等。
(1)通讯录的每一条信息包括姓名,单位,电话!(可用数组或数据库);(2)输入功能:可以一次完成若干条信息的输入;(3)显示功能:完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够自动分屏显示);(4)查找功能:完成按姓名查找通讯信息;(5)删除功能:完成按姓名删除通讯信息;(6)应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!43 算法分析3.1 程序总体设计思想个人通讯录件的功能模块有:(1)提供登陆界面,方便用户进入,满足需求;(2)添加:可以添加通讯录记录,依次输入姓名、性别、出生日期、移动电话、固定电话、MSN/QQ、公司地址、E-Mail地址、家庭住址、组别、备注后,会提示是否继续添加;(3)显示:可以以表格形式输出所有通讯录里的记录;(4)查询:可以用姓名查询;(5)修改:输入欲修改的那个人的名字后,再依次输入姓名、性别、出生日期、移动电话、固定电话、MSN/QQ、公司地址、E-Mail地址、家庭住址、组别、备注即可完成修改;(6)删除:可以直接删除多余的通讯录记录;(7)帮助:可以在帮助里面修改用户密码;(8)导出数据库:可以将数据库以文本txt格式导出。
程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。
3.2 程序设计总体框图个人通讯录管理系统设计的总体框图如图3-1:5图3-1 个人通讯录管理系统设计的总体框图3.3 程序详细设计该程序共有18个类,也分别创建了18个java源程序文件,以下按照文件名字母排序先后解释(在设计软件MyEclipse工程排序也是如此),另外在此只是简要介绍相关源程序所实现的功能,程序截图参见调试,源程序参见附录:Demonstrationaction.java文件做的是功能表中“编辑—查找全部”的功能,使用此项功能的时候,在点击“显示查询结果”后,让界面显示出全部数据库中的内容;点击“退出全部查询”的时候退出该功能。
Demonstrationframe.java文件做的就是“编辑—查找全部”的界面,上面有标题、文6字显示框和两个控制按钮——“显示查询结果”和“退出全部查询”。
Dlframe.java文件做的是“编辑—删除”的界面,有一个文字输入框(提供按名字来删除),和两个控制按钮——“删除”和“放弃”。
Dlframeaction.java文件做的是“编辑—删除”的相关功能,当输入名字之后会进行查找删除,若在数据库中含有当前名字的数据则删除该条数据并显示“删除成功”,否则显示“未找到该项”。
点击“放弃”即退出删除功能。
Fdframe.java文件做的是“编辑—查询”的界面,提供按名字搜索,有一个文字输入框,和两个控制按钮——“查询”和“撤销”。
Fdframeaction.java文件做的是“编辑—查询”的相关功能,输入需要查询的姓名之后,如若在数据库中有符合的数据后,则显示查询结果,并弹窗显示“查询结束”;如若没有对应的数据,则弹窗显示“没有记录”。
点击“撤销”则退出查询功能。
Fdkeep.java文件做的是“文件—导出数据库”的界面,有一个文字输入框提供输入导出的数据库的完整路径,两个控制按钮——“save”和“give up”。
Fdkeepaction.java文件做的是“文件—导出数据库”的相关功能,输入了完整路径之后,会启动Microsoft Office Access导出数据库;如若路径错误,则会弹窗显示“路径错误!”。
点击“give up”后则退出界面。
Frameaction.java文件做的是主界面的相关功能选择。
主界面有三个大选项,文件、编辑和帮助。
其中文件包括导入数据库和退出,编辑包括删除、添加、按姓名查找和查找全部,帮助则是修改管理员密码。
Image.java文件是使主界面支持背景图片的切换,使用的是工程文件夹Images下的U.jpg。
支持任意大小的图片。
Loginframe.java文件做的是主界面的登录界面。
即在程序以java Application运行后需要进行用户登录的界面,提供用户名和密码的文本输入框和两个控制按钮——“certain”和“cancel”。
LoginIn.java文件做的是登录界面的相关功能,对输入的用户名与密码和数据库进行匹配,如若正确则弹窗显示“登录成功”,否则弹窗显示“用户名或密码错误”。
Myaddress.java文件做的是定义了一个公共类Myaddress,并定义了主函数是调用这个Myaddress的公共类。
Panelframe.java文件做的是“编辑—添加”的界面,提供给用户向数据库添加新数据,有对于姓名、性别、出生日期、移动电话、固定电话、MSN/QQ、公司地址、E-Mail 地址、家庭住址、组别、备注等信息录入的文本输入框。
以及最后的两个控制按钮——7“保存”和“取消”。
Panelframeaction.java文件做的是“编辑—添加”的相关功能。
在界面中输入相关信息后,点击保存则系统向数据库存入信息,点击取消则将信息丢弃。
同时还确保信息的相关性,例如控制了出生日期是使用了日期控件的使用等等。
Revisionmovement.java文件做的是“帮助—修改密码”的相关功能。
首先验证用户输入的原始密码是否正确,然后接受用户输入的6位以上的新密码,存入数据库并修改密码信息。
Revisionpassword.java文件做的是“帮助—修改密码”的界面。
界面包括两个旧密码和新密码的文本输入框,和两个控制按钮——“保存”和“取消”。
Year.java文件做的是在出生日期里面的日期控件,对平年闰年的区分,然后对各个月不同日期做了相关定义。
4 调试过程调试是一耳光程序员最基本的技能,其重要性甚至超过学习一门语言。
不会调试的程序员就意味着他即使会一门语言,却不能编写出任何好的软件。
这是当初我最开始接触C语言的时候让我感受很深的一句话,我当时很不能理解如果调试真的这么重要,为什么在我们的课本里面却找不到相关的内容,甚至一些相当经典的教材里面也没有对其进行大篇幅的介绍。
直到自己开始写了一些大一点的程序,才发现有时候自己最初设计程序在一些细节上的新颖想法是那么的可笑,带来的只是无穷无尽的错误和威胁。
程序编写完成就应该调试自己所完成的程序,以减少程序中的bug。
以下是我的程序调试以及运行过程截图。
说明:本程序的运行环境是MyEclipse 6.5,经验证在Eclipse中运行会产生错误“Column not Found”,但是最开始我是在MyEclipse中完成的程序,我也就没有去就针对Eclipse进行更改,Linux的环境虚拟机我没有安装,所以不知道在虚拟机Linux下是否能够正常运行。
打开MyEclipse 6.5软件,导入Workspace,如图4-1:8图4-1 编程环境截图右键点击工程,选择“Run as—Java Application”,成功运行,出现用户登录界面,输入用户名“wj”,密码“123”,如图4-2:图4-2 个人通讯录登入界面点击“certain”,登录成功,点击确定,进入个人通讯录管理系统,如图4-3:9图4-3 个人通讯录管理系统主界面点击左上角的“文件—导出数据库”,如图4-4:图4-4 导出数据库输入完整路径之后点击“save”就可以以文本格式保存数据库,例如我们就按照提示输入路径,则数据库的备份文件如图4-5:10图4-5 保存的数据库文件点击“文件—退出”则退出了个人通讯录管理系统。
接下来是对数据库进行添加、编辑、查找、删除等功能。
故先看看数据库的原文件。
注:本数据库是由Microsoft Office Access 2007创建,如若计算机里面没有Access,编译环境会对Access驱动的设置报错!数据库如图4-6:图4-6 原始数据库选择“编辑—添加”对数据库进行添加操作。
输入如下信息,如图4-7:图4-7 信息添加界面点击“保存”将新加的信息加入数据库,系统会告知“添加成功”。
如图4-8:图 4-8 系统信息添加界面重新查看数据库,可以发现新添加的信息已经加入了数据库。
如图4-9:图4-9 添加信息后的数据库部分截图由上面操作可以知道,添加功能正常。
选择“编辑—删除”,按照提示输入删除的用户名,如图4-10,就假设我们删除刚才添加的信息:图4-10 删除记录点击“删除”后,则系统会提示“删除成功”,如图4-11:图4-11 删除成功重新查看数据库,发现刚才添加的信息已经被成功删除,如图4-12:图4-12 成功删除后的数据库通过以上的删除操作可以知道,系统的删除功能也是可以正常运行的。
Java通讯录管理系统设计报告
Java通讯录管理系统设计报告1. 引言随着社会发展和信息技术的进步,通讯录在人们的日常生活和工作中变得越来越重要。
Java通讯录管理系统是一种用于管理个人和组织联系信息的软件系统。
本篇文档将详细介绍Java通讯录管理系统的设计和实现。
2. 功能需求Java通讯录管理系统具有以下功能需求: - 添加联系人:用户可以添加新的联系人,包括姓名、电话号码、电子邮件等相关信息。
- 删除联系人:用户可以删除已存在的联系人。
- 编辑联系人:用户可以修改已存在联系人的信息。
- 搜索联系人:用户可以根据姓名、电话号码或其他关键字搜索联系人。
- 显示联系人列表:用户可以查看所有联系人的列表,并按照姓名或其他方式进行排序。
- 导入/导出联系人:用户可以将联系人导入/导出到文件中,以实现数据的备份和共享。
3. 系统设计3.1 技术栈选择Java通讯录管理系统采用Java语言进行开发,使用Java的面向对象特性来实现系统的各个功能模块。
系统使用MySQL数据库来存储联系人的信息。
3.2 系统架构Java通讯录管理系统采用三层架构,分为表示层、业务逻辑层和数据访问层。
•表示层:负责与用户的交互,包括图形界面和用户输入输出的处理。
•业务逻辑层:负责处理用户的请求,对联系人信息进行增加、删除、编辑、搜索等操作,并调用数据访问层进行数据的读写。
•数据访问层:负责与数据库交互,进行联系人信息的读写操作。
3.3 类设计在Java通讯录管理系统中,主要涉及以下类的设计: - Contact类:表示一个联系人,包含姓名、电话号码、电子邮件等属性。
- ContactDAO接口:定义对联系人的增删改查等操作。
- ContactDAOImpl类:实现ContactDAO接口,负责与数据库进行交互。
- ContactService类:负责处理业务逻辑,调用ContactDAOImpl 类进行联系人信息的操作。
- ContactConsole类:表示层的用户界面,处理用户输入输出和展示联系人信息。
java课程设计(通讯录管理系统)
掌握Java语言基础
理解面向对象编程思 想
掌握数据库操作技术
提高团队协作和沟通 能力
完成一个实用的通讯 录管理系统
联系人管理:添加、删除、修改、查询联系人信息 联系人分组:创建、删除、修改、查询联系人分组 联系人搜索:根据姓名、电话、邮箱等信息进行搜索 联系人导出:将联系人信息导出为Excel、CSV等格式的文件 联系人导入:从Excel、CSV等格式的文件中导入联系人信息 系统设置:修改系统语言、主题、字体等设置
数据库类型:MySQL
数据库表结构:用户表、 联系人表、分组表等
主键和外键:用户ID、联 系人ID、分组ID等
数据库操作:增删改查等 基本操作
数据库优化:索引、缓存、 分表等优化措施
数据库安全:用户权限管 理、数据加密等安全措施
界面布局:简洁 明了,易于操作
色彩搭配:协调 统一,易于阅读
功能模块:联系 人管理、分组管 理、搜索功能等
汇报人:
添加标题
添加标题
查询方式:支持模糊查询和精确查 询
查询优化:使用索引提高查询效率
功能描述:删除指定联系人信 息
实现方法:调用数据库删除接 口
操作步骤:选择联系人,点击 删除按钮,确认删除
注意事项:确保删除操作不会 影响其他数据完整性
添加联系人:输入姓名、电话、邮箱等信 息
修改联系人:修改姓名、电话、邮箱等信 息
删除联系人:删除指定联系人
查询联系人:根据姓名、电话、邮箱等信 息进行查询
导出联系人:将联系人信息导出为Excel 或CSV文件
导入联系人:将Excel或CSV文件中的联系 人信息导入到系统中
修改模块界面:提供用户友 好的界面,方便用户操作
JAVA课程设计--个人通讯录管理系统
JAVA课程设计课题:个人通讯录管理系统课程名称:java课程设计院系:计算机科学与技术学院班级:09计本组员:组员:组员:组员:指导教师:一、个人通讯录管理系统概述1、需求分析通讯录在当今的日常生活工作中的应用是十分普及的。
每个人都有可能拥有大量的通讯录资料信息,当前大家一般都用手工来记录所有的通讯录信息。
随着时代的进步,人们的联系信息,联系方式变得复杂而多样化,通讯录信息的大量增加,导致管理这些信息资料就成了问题。
直接操作来查找,添加,修改,删除这些信息,由于数据繁多,工作量十分巨大,查找,编辑都十分困难,而且极易出错,容易造成资料的混乱或者丢失。
在各种手机,商务通内设的电话簿尽管携带方便却又存在“记录量少,界面小,浏览不方便,记录数据信息不全面”的缺点。
有些人利用Excel 或Word编制通讯录,虽然数据比较全面,信息比较充分,可是查找极其不便,维护起来也麻烦。
所以运用数据库技术,在计算机中建立一个通讯录资料管理系统十分必要。
使通讯录资料管理工作规范化,系统化,程序化,避免资料管理中的混乱,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改通讯录的情况。
2、系统总体规划1.2.1 系统功能简介个人通讯录系统。
在明确了系统目标与数据库结构的前提下,设计出该系统的主要功能:系统登录、数据输入与修改、数据的删除、联系人和群组管理等。
主要功能包括:(1)可以登录和注册用户;(2)可以显示已有联系人和分组的基本信息。
(3)用户可以对自己已有的联系人和分组进行维护;如:删除和修改。
(4)用户可以随意添加自己的联系人和分组;1.2.2 系统功能模块规划系统的整体功能模块框架如图1.1所示:图1.1 系统整体模块框架图整个系统分为权限管理、群组管理、联系人管理3个子模块,各模块具体实现在下面陈述。
系统登录子模块框架如图1.2所示:图1.2 权限管理模块框架图该子模块中用户在运用这个通讯录系统前要注册成为该系统的用户,每次打开通讯薄前都需要登录系统,以保证用户通讯信息安全性。
基于JAVA的学生通讯录管理系统设计和实现[文献综述]
基于JAVA的学生通讯录管理系统设计和实现[文献综述]毕业论文文献综述信息与计算科学基于JAVA的学生通讯录管理系统设计和实现一、前言部分Java是由Sun公司于1995年5月推出的Java程序设计语言和Java平台的总称。
它具有简洁、安全、面向对象、动态、体系结构中立、可移植、分布式、平台无关性等多个优点,被广泛地运用到计算机、便携式计算机、电视、电话、手机和其他大量设备上。
Java 的前景被广泛地看好,并有许多相关机构和人员在解决其运行速度等瑕疵[1]。
二、主题部分一、Java简介Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。
用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet 计算。
从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet[2]。
(一)平台架构Java平台由Java虚拟机(Java Virtual Machine)和Java应用编程接口(Application Programming Interface、简称API)构成。
Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。
在硬件或操作系统平台上安装一个Java 平台之后,Java应用程序就可运行。
现在Java平台已经嵌入了几乎所有的操作系统。
这样Java程序可以只编译一次,就可以在各种系统中运行。
Java分为JavaSE,JavaEE,JavaME三个体系[3]。
Java SE允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序,它包含了支持Java Web服务开发的类,并为Java Platform,Enterprise Edition (Java EE)提供基础。
Java EE 帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java 应用程序,它是在Java SE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(SOA)和Web 2。
通讯录管理系统的设计与实现毕业论文设计
通讯录管理系统的设计与实现毕业论⽂设计通讯录管理系统的设计与实现摘要现今社会随着通讯以及交通的发展,⼈与⼈之间的联系越来越多,越来越紧密,这就迫切要求我们把所有⼈的联系⽅式统⼀的管理起来,从⽽使⼈们联系更⽅便,更加促进⼈与⼈之间的关系往友好⽅向发展。
在计算机还未普及之前通讯管理都是由联系⼈采⽤名⽚,笔录⼿⼯记帐的⽅式来操作的.现在的通讯录管理普遍都是采⽤计算机作为⼯具,通讯录管理程序来帮助⼈们进⾏更有效的通讯录信息管理。
本⽂就介绍基于Visual C++ 6.0版本开发的“个⼈通讯录管理系统”,其开发主要包括后台数据库的建⽴和维护以及前端应⽤程序的开发两个⽅⾯;对于前者要求建⽴起数据⼀致性和完整性强及安全性好的库;⽽对于后者则要求应⽤程序功能完备,易使⽤等特点。
本⽂对通讯录提出了⾃⼰的构想和设计,并在这样的基础上,构建实现了该通讯录。
关键词:通讯录;数据库;系统设计;Address Book Management System Design And ImplementationAbstractModern society with the development of the communications and transportation, the connections between people more and more, more and more closely, it is urgent for us to put all of the contact way of the unified management, which make people contact more convenient, more promote the development of the relationship of the people friendly direction.Before the computer has not yet universal communication m anagement are business CARDS, to be used by the contact record of manual accounti ng way to operate. Now the address book management is the use of computers as to ols generally, address book management program to help people more effectively addr ess book information management.Is introduced in this paper, based on Visual c + + 6.0 development of "personal address book management system", its development mai nly includes the establishment and maintenance of database and front-end application development two aspects.For the former requirement to establish data consistency and integrality and security of library;For the latter requires the application program functi on complete, easy to use, etc.In this paper, the address book puts forward his own id ea and design, and on the basis of this, the building this address book.Key words:the address book, Database; System design;⽬录摘要 (1)Abstract (2)1 绪论 (1)1.1 课题研究背景 (1)1.2 课题研究现状 (1)1.3 主要研究⼯作和章节安排 (1)1.3.1 主要开发内容 (1)1.3.2 项⽬开发要求 (1)1.3.3 章节安排 (2)2 论⽂中使⽤的相关技术 (3)2.1 开发语⾔介绍 (3)2.1.1 Qt介绍 (3)2.1.2 Qt信号槽机制简介 (3)2.2 开发环境 (5)2.2.1 VisioStudio2008简介 (5)2.2.2 VC2008与Qt4.7的开发环境搭建 (6)2.3 Qt 数据库⽀持 (6)2.3.1 Qt数据库介绍 (6)2.3.2 SQlite数据库介绍 (7)3 需求分析 (8)3.1 需求分析 (8)3.1.1 基本功能需求 (8)3.1.2 系统⽤例分析 (8)4 系统设计 (10)4.1 系统模块关系与划分 (10)4.1.1 数据库设计 (10)5 系统的实现 (12)5.1 系统编码规范 (12)5.1.1 类型的命名 (12)5.1.2 ⽅法和属性的命名 (12)5.1.3 变量和常数 (13)5.2 系统模块功能设计 (13)5.2.1 数据库模块功能设计 (13) 5.2.2 登录模块功能设计 (14)5.2.3 主界⾯设计 (14)5.3 数据库模块设计与实现 (14) 5.3.1 数据库模块设计 (14)5.3.2 数据库模块实现 (15)5.4 登录模块设计与实现 (17)5.4.1 登录模块设计 (17)5.4.2 登录模块实现 (18)5.5 主界⾯模块设计与实现 (19) 5.5.1 主界⾯模块模块设计 (19) 5.5.2 主界⾯模块模块实现 (19) 5.5.3 详细信息模块实现 (20)5.5.4 添加联系⼈信息模块实现 (21) 5.5.5 ⽤户密码修改模块实现 (22) 5.5.6 联系⼈搜索模块实现 (23) 5.5.7 背景颜⾊修改实现 (25)5.5.8 备份 (26)5.5.9 导⼊ (28)6 系统测试 (30)6.1 简介 (30)6.2 编写⽬的 (30)6.2.1 项⽬背景 (31)6.2.2 系统简介 (31)6.3 测试概要 (31)6.3.1 测试⽤例设计 (31)6.3.2 测试环境与配置 (31)6.3.3 测试⽅法(和⼯具) (31)6.4 测试结果及缺陷分析 (31)7 系统运⾏ (32)7.1 登陆界⾯ (32)7.2 系统主界⾯ (32)7.3 通讯录备份和导⼊ (32)7.4 ⽤户管理 (34)7.5 背景修改 (34)7.6 搜索 (35)7.7 添加 (35)7.8 删除 (36)7.9 修改 (37)7.10 详细信息 (37)总结 (38)参考⽂献 (39)致谢 (40)1绪论1.1课题研究背景随着移动通信与Internet向移动终端的普及,现代通讯技术的迅猛发展,⼈们之间的联系越来越便捷,这也使得同时与许多⼈保持联系成为可能,这也使得同时与许多⼈保持联系成为可能,⽽单纯依靠⼈脑已经很难记住所有⼈的联系⽅式。
通讯录管理系统毕业设计(两篇)2024
引言概述:通讯录管理系统是一种用于管理联系人信息的软件,它能够为用户提供便捷的联系人管理和信息查询功能。
本文将继续介绍通讯录管理系统的设计和实现,重点关注系统的用户界面设计、数据存储与管理、通讯录的分类与搜索功能、用户权限管理以及通讯录系统的扩展与升级。
正文内容:1.用户界面设计1.1设计原则:用户友好性、易用性和美观性原则1.2主界面设计:主界面布局、功能模块展示、导航设计1.3交互设计:交互方式、操作流程、反馈机制1.4响应式设计:适配多种设备和屏幕分辨率2.数据存储与管理2.1数据库设计:确定实体和属性、建立表结构、定义关系2.2数据库连接:连接数据库、读写操作、异常处理2.3数据备份与恢复:数据备份策略、备份文件管理、数据恢复机制2.4数据安全性:权限控制、数据加密、数据完整性3.通讯录的分类与搜索功能3.1通讯录分类:基本分类和用户自定义分类3.2联系人添加与编辑:输入验证、字段定义、数据关联3.3联系人查询:关键字查询、条件过滤、多条件组合查询3.4联系人导入导出:支持多种数据格式、数据匹配与转换、导入导出策略3.5通讯录分享与同步:用户权限设置、跨设备同步、冲突解决4.用户权限管理4.1用户注册与登录:用户信息获取、身份验证、登录状态管理4.2用户权限分配:管理员与普通用户权限区分、权限控制细化4.3用户信息管理:个人信息修改、密码重置、账号注销4.4安全性保护:登录失败锁定、密码加密、会话管理5.通讯录系统的扩展与升级5.1模块化设计:可插拔式功能模块、模块间接口定义5.2扩展性设计:支持插件开发、动态加载与卸载5.3性能优化:数据索引优化、查询优化、缓存机制5.4系统升级:版本管理、更新提示、升级策略总结:通过上述的详细阐述,我们可以看到,通讯录管理系统涵盖了用户界面设计、数据存储与管理、通讯录的分类与搜索功能、用户权限管理以及通讯录系统的扩展与升级等多个关键领域。
在该系统的设计过程中,我们需要重点关注用户友好性、数据安全性和系统的可扩展性。
java课程教学设计(通讯录管理方案系统)
合肥学院计算机科学与技术系课程设计报告2013~2014 学年第二学期课程面向对象课程设计课程设计名称通讯录程序学生姓名XXX学号专业班级XXXXX指导教师 XXX20 年月目录一、设计题目 (1)二、设计要求 (1)三、总体设计 (1)3.1 系统功能框架 (1)3.2 系统功能说明 (3)四、详细设计 (3)1 .数据结构设计 (3)2 .系统模块设计 (10)五、运行结果 (13)一.设计题目随着社会的进步与发展,通讯越来越密切。
希望能通过对java 课程设计的学习和掌握来编写一个通讯录管理系统。
二.设计要求(1)只能使用Java 语言,采用面向对象方法进行设计,要求源程序要有适当的注释,使程序容易阅读。
2)程序必须与数据库进行通信3)系统必须是图形用户界面的形式并连接数据库三. 总体设计3.1系统总体功能框架图3.2系统功能说明1)具有新用户注册功能。
2)具有注册用户登录功能。
3)具有数据的录入功能。
4)具有数据查询功能,可以实现查询全部信息和按条件执行查询5)具有按条件删除数据功能。
6)具有统计功能4. 详细设计4.1 数据结构设计( java 程序设计)// 登录系统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;}}// 增加记录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(Stringmessage) { 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;}}// 删除记录package com.ibm.etp.addressbook.action;import java.util.ArrayList;import com.ibm.etp.addressbook.pojo.Record; importcom.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>(); publicArrayList<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(Stringmessage) { 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;}}}// 修改记录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(Stringphone) { this.phone = phone;}public StringgetEmail() { returnemail;}public void setEmail(Stringemail) { this.email = email;} public String getBirthday() { return birthday;}public void setBirthday(Stringbirthday) { this.birthday =birthday;} public String getSex() { return sex;}public void setSex(Stringsex) { this.sex = sex;}public String execute() throwsException { UpdateService us=newUpdateService();if(us.setRecord(this)!=null) returnSUCCESS;else{ return ERROR;}}}// 查找记录行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; importcom.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(Stringfield) { this.field = field;}public String getInput() {return input;}public void setInput(Stringinput) { this.input = input;}public int getSize() {return size;}public void setSize(intsize) { 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;4.2系统模块设计图1-1 登陆功能展示图LoginAction 类,封装的信息由密码和账户名,以及登录失败时抛出的异常方法。
通讯录管理系统课程设计报告
通讯录管理系统课程设计报告一、引言通讯录管理系统是一种用于存储和管理联系人信息的应用程序,它可以帮助用户方便地记录和查找各种联系人信息。
在本课程设计报告中,我们将讨论通讯录管理系统的设计和实现过程,以及系统的功能特点和操作流程。
二、需求分析通讯录管理系统需要具备以下基本功能: 1. 添加联系人信息:用户可以输入姓名、电话号码、电子邮件地址等信息来添加新的联系人。
2. 查找联系人信息:用户可以通过姓名或电话号码等关键词来查找已添加的联系人信息。
3. 修改联系人信息:用户可以对已有联系人信息进行修改和更新。
4. 删除联系人信息:用户可以选择删除不需要的联系人信息。
5. 显示所有联系人信息:系统可以按照一定的格式将所有联系人信息展示给用户。
三、系统设计1. 数据结构为了存储联系人信息,我们可以使用一个包含姓名、电话号码、电子邮件地址等字段的结构体来表示每个联系人。
可以使用链表或数组来组织所有联系人信息。
2. 模块设计通讯录管理系统可以划分为以下几个模块: - 添加联系人模块:实现添加新联系人信息的功能。
- 查找联系人模块:实现根据关键词查找联系人信息的功能。
- 修改联系人模块:实现对已有联系人信息进行修改和更新的功能。
- 删除联系人模块:实现删除不需要的联系人信息的功能。
- 显示联系人模块:实现将所有联系人信息按照一定格式展示给用户的功能。
3. 用户界面设计用户界面应该简洁明了,包括各个功能的按钮或选项,以及输入框和显示信息的区域。
用户应该能够方便地进行各种操作和查看联系人信息。
四、系统实现1. 数据存储可以使用文件来存储联系人信息,也可以使用数据库来进行数据持久化。
2. 界面实现可以使用图形界面或命令行界面来实现用户交互功能,不同的界面设计会影响用户体验。
3. 功能实现根据需求分析中的功能,实现各个模块的功能代码,确保系统可以正确地完成相关操作。
五、功能测试在系统实现完毕后,需要进行功能测试,确保系统的各个功能都能正常运行,并且符合需求。
java程序设计需求分析
课设题目:个人通讯录管理程序需求分析:
随着科技的进步和信息产业的飞速发展,通讯录成为了现代生活中一个重要的工具。
在“时间就是金钱”的今天,人们需要更加方便快捷的实现对自己通讯录的管理,来提高工作生活的效率。
本通讯录管理系统利用计算机对通讯录进行统一管理,正满足了人们普遍的需求。
一、功能需求分析
本通讯录包括用户登陆、添加记录、删除记录、显示所有记录、修改记录、查询记录、备份记录、退出等功能,通
2
3
4
5
6
7
通过点击备份按钮,系统将自动的把用户的所有记录信息打包备份。
8、退出
当用户不在对通讯录进行操作的时候,可以通过点击退出按钮退出系统。
二、性能需求分析
1. 数据精确度
查询时应保证查全率,所有相应域包含查询关键字的记录都应能查到。
来源于网络
2. 时间特性
一般操作的响应时间应在1~2秒内。
3、适应性
满足个人使用的需求(记录量控制在1000项内)。
三、目标对象需求分析
本系统主要为有计算机的用户设计,特别是为应对工作族大量的社会关系而设计。
来源于网络。
java通讯录课程设计报告
课程设计报告:Java通讯录一、引言本次课程设计是关于Java通讯录的开发,旨在让我们更深入地理解Java编程语言在现实生活中的应用。
通讯录是一种常见的应用程序,它可以帮助我们管理联系人信息,方便我们与朋友和家人保持联系。
二、需求分析本次课程设计的目标是根据用户需求,设计并实现一个功能齐全的Java通讯录应用程序。
具体需求如下:用户可以添加联系人信息,包括姓名、电话号码、电子邮件地址等。
用户可以删除联系人信息。
用户可以编辑联系人信息。
用户可以按姓名、电话号码或电子邮件地址搜索联系人信息。
用户可以查看所有联系人信息。
三、设计数据库设计为了存储联系人信息,我们选择使用Java内置的ArrayList类作为数据库。
ArrayList是一个动态数组,可以根据需要自动增长。
我们将使用ArrayList的add()方法添加联系人信息,使用get()方法获取联系人信息,使用remove()方法删除联系人信息。
界面设计我们使用Java Swing库来创建用户界面。
界面包括以下组件:JLabel:显示提示信息和标题。
JTextField:用于输入和编辑联系人信息。
JButton:用于触发添加、删除、编辑和搜索等操作。
JTable:用于显示所有联系人信息。
JComboBox:用于选择搜索条件。
四、实现添加联系人信息当用户点击“添加”按钮时,程序会创建一个新的联系人对象,并将用户输入的信息设置到该对象中。
然后,程序将该对象添加到ArrayList中。
删除联系人信息当用户选择要删除的联系人并点击“删除”按钮时,程序会从ArrayList中删除该联系人对象。
编辑联系人信息当用户选择要编辑的联系人并点击“编辑”按钮时,程序会将该联系人的信息显示在文本框中,以便用户进行修改。
修改完成后,程序会将修改后的信息保存到ArrayList中。
搜索联系人信息当用户选择搜索条件并输入搜索关键字时,程序会在ArrayList 中查找符合条件的联系人对象,并将其显示在表格中。
