Java通讯录管理系统课程设计报告0001.docx
- 文档编号:28738804
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:17
- 大小:432.99KB
Java通讯录管理系统课程设计报告0001.docx
《Java通讯录管理系统课程设计报告0001.docx》由会员分享,可在线阅读,更多相关《Java通讯录管理系统课程设计报告0001.docx(17页珍藏版)》请在冰豆网上搜索。
Java通讯录管理系统课程设计报告0001
课程设计报告
(本科)
课程:
面向对象分析程序设计
学号:
姓名:
班级:
教师:
时间:
计算机科学与技术系
设计名称:
通讯录管理系统设计内容、目的与要求:
—~设计内容和目的:
随着社会的发展,~人际关系变得越来越重要,为了保持良好的人际关系,必须经常与亲戚、朋友、同学、同事和其他一些人保持联系,因此,为了能够快速查找到联系人的信息,节省查找时间,可以创建一个通讯录管理系统。
基本要求:
有电话录入,修改,增加,删除,按姓名查询,按电话号码查询,按部门查询,按部门显示,显示所有电话号码信息,打印等功能。
计划与进度安排:
5月
5月
5月
5月
5月
6月
4日一5月10日写需求分析,开会讨论需要实验的功能以及如何实现。
11日一5月16日概要设计,分组把得到的系统扩展用例图转换为和。
17日一5月22日详细设计,详细设计每个模块实现算法,所需的局部结构。
23日一5月28日根据每人分工编写每人负责的代码。
29日一6月2日整合大家代码,并做debug。
3日一6月6日最后的测试、除错、修改细节以及文档编写。
设计过程、步骤(可加页):
通讯录管理系统给用户提供了一个在__Windows操作系统上运行的通讯录管理平台,用户可以对同学、同事、亲戚、朋友进行在电话号码、姓名以及简介等方面的添加、删除、修改等管理操作。
同时系统还可以判断登录用户,根据用户的不同,其拥有的数据库也不同。
通讯录管理系统软件是为用户提供一个保存联系人及信息管理进行辅助的应用软件、功能描述如下。
1.用户登陆:
进入界面后用户可以选择自己的账户进行登陆。
2.添加联系人:
用户根据提示输入联系人的姓名、简介。
可一次性输入多
个联系人的相关信息。
系统将联系人的信息存储在数据库的文件中,以便进行管理、查找和备份。
3.
用以查看联系人的信息以及联系人的电话号码。
用以删除联系人的信息以及联系人的电话号码。
提示用户输入要进行修改操作的联系人的信息,如果在文
查询联系人:
4.删除联系人:
5.修改联系人:
件中有该联系人存在,则将该电话号码所对应的姓名、电话号码、简介以及得票数所对应文件中加以修改。
由系统提示是否继续进行修改操作,让用户可多次进行修改操作。
需求分析
需求分析阶段的主要任务是确定目标系统的功能,设计应用程序的第一个步骤就是根据用户的需求规划系统的功能。
作为应用程序的第一要求,也是最主要的要求就是满足用户的需求。
如果连这一点都做不到,即使系统的功能再强大、界面再美观,也是一个失败的项目,因为它没有应用价值。
因此实用性是衡量软件的第一标准。
而系统功能的规划是软件实用性的核心。
下面是通讯录管理系统的功能规划。
1.系统登录模块
包括登录系统和退出应用程序2个功能,其功能结构如图1所示。
图1系统登录窗体功能结构图
2.家人信息模块
包括添加家人信息、修改家人信息、删除家人信息和查询家人信息4个功能,其功能结构如图2所示。
图2家人信息管理模块功能结构图
3.朋友信息模块
包括添加朋友信息、修改朋友信息、删除朋友信息和查询朋友信息4个功能,其功能结构如图3所示。
4个功能,
图
4.同学信息模块包括添加同学信息、其功能结构如图4所示。
4个功能,
5.同事信息模块包括添加同事信息、其功能结构如图5所示。
查询同事信息模块
删除同事信息模块
修改同事信息模块
添加同事信息模块
6.其他信息模块
包括添加其他人信息、修改其他人信息、删除其他人信息和查询其他人信息4个功能,其功能结构如图6所示。
根据上述功能规划,可以对各功能模块设计功能结构图。
系统结构设计
1.总体设计
?
?
本系统的总体思想基于面向对象的程序设计。
着重实现管理系统的增、删、改、查等典型的管理功能。
因此,系统的设计方法是面向对象设计方法,开发手段是JAVA语言,在eclipse环境下开发。
2.系统模块结构图
依据需求分析结果,通讯录管理系统可以分为以下模块:
系统流程描述:
图8系统流程图
设计数据库
在通讯录管理系统中,我们采用MySQL作为后台数据库,存储系统信息。
对于用户信息和联系人信息我们要存储起来,这样可以方便以后的使用,因此我
们需要创建一个数据库,这里我们创建了一个名为“db_addresslis”的数据库,
创建完数据库,接下来就可以创建所需要的表了,本系统需要两个数据表,一个用于存储用户信息,另一个用户存储联系人信息:
(1)根据系统的需要,只有合法用户才能进入系统,为此我们设计了存放用户信息的表tb_user,tb_user表的结构如表所示。
表1tb_user表的结构
~usma™ ©psMwad乙7AnOAR[2D]>_JBIMAA? (2)根据系统的需要,还要能够快速操作联系人的信息,如添加联系人信息、修改联系人信息、删除联系人信息和查找联系人信息,为此我们设计了存放联系人信息的表tb_messagetb_message表的结构如表所示。 表2tb_message表的结构 结果与分析(可以加页): 随着社会的发展,人际关系变得越来越重要,为了保持良好的人际关系,必须经常与亲戚、朋友、同学、同事和其他一些人保持联系,因此,为了能够快速查找到联系人的信息,节省查找时间,创建了一个通讯录管理系统,在该系统中为了防止信息被他人窃取,可以通过密码进行验证,只有通过密码验证才能进入系统。 通讯录管理系统主窗体界面如图9所示。 图9通讯录管理系统主窗体 由于整个系统分为家人、朋友、同学、同事和其他5类,并且这5类信息的操作过程是一样的,所以下面主要以家人信息进行介绍。 10所示。 1.系统运行后,首先进入系统登录模块,效果如图 通凤泰《理泰统 TCMQXUNLUGUAMUXITQ'MG 密I 图10系统登录窗体 2•在图10所示的系统登录模块中可以通过输入正确的用户“myz”和密码 “123”,单击“登录”按钮进入通讯录管理系统的主窗体界面,通讯录管理系统的主窗体界面如图11所示,可以通过菜单和工具栏进入相应的模块。 4f2~ Tel 图11通讯录管理系统主窗体 3•在通讯录管理系统的主窗体中,单击“家人”/“添加信息”菜单项,可以打开添加家人信息模块,如图12所示,在该界面中可以输入家人的联系信息,然后单击“保存”按钮,保存此次输入的家人联系信息。 添加家人侑息界面 扌3= 顽申恥 你丐码 VStftM : S*■ 讯阿I ・■ 迫.V iiit 图12添加家人信息模块 4•在通讯录管理系统的主窗体中,单击“家人”/“修改信息”菜单项,可以打开修改家人信息模块,如图13所示,在该界面中可以修改家人的联系信息,方法是首先在下面的表格中选择要修改的家人信息,然后在编辑组件中输入要修改的内容,单击“修改”按钮,保存此次信息的修改。 修改家人信息界面 111Ifc-r •★a*. vp«« 图13修改家人信息模块 5•在通讯录管理系统的主窗体中,单击“家人”/“删除信息”菜单项,可以打开删除家人信息模块,如图14所示,从表格中选择要删除的家人信息,然后单击“删除”按钮,即可删除所选择的家人联系信息。 IESffIfl-^ 删除家人信息界而 t机£^°»叮二gwri fSSt「仁丄■: d;』上魁訂I战L P・l"耳1口二肾: £: "一三阳弓阳2(Jffif! ^51: iT! : .昭€4i工站某色ItQh< 诧列戸曲「」三运■]讣订? SM"J讷d 图14删除家人信息模块 6•在通讯录管理系统的主窗体中,单击“家人”/“查询信息”菜单项,可 以打开查询家人信息模块,如图15所示,在该界面中默认在表格中显示所有家人的联系信息,也可以从“查询条件: ”标签右侧的组合框中选择查询字段,然后在右侧的文本框中输入对应的查询内容,单击“查询”按钮,即可查询出指定条件的家人联系信息。 杳询家人信息界面 止总=谕扎劈定査稱*fl.: K启单竝Mi创1■雷®・ »4tUifaPACRI・■ iR尺崗M腆舌壬札旨e 1勺迁匹_密¥轨.怛乂賢: ■niiTHiL預-逐1"吐mi■百戈兰 「巧"■肝HR1讦g(? ! 三卜乱如HL: : 匕 険■何阴订|祜=尸 "11 图15查询家人信息模块 设计体会与建议: 本次Java课程设计我们这组做的课题是设计通讯录管理系统,刚开始拿到题目我们组员都不知如何下手,经过小组成员一起查找资料,并且开会讨论,我们确定了设计的设计目标以及具体实现方式,包括如何将Java的思想运用到实 际系统的详细设计之中。 ? 实验过程中,首先要将系统要实现的功能分为几大模块,然后每个组员分别完成,在此过程中使我们加深了对Java的理解,以及如何进行团队工作的划分,学会发现各组员的长处并将其发挥出来。 通过努力实验,进一步培养我们利用Java语言进行编程和调试程序的能力,同时使我们能够学会用Java语言编写较 复杂具有实际意义和算法复杂度较小的程序。 与此同时熟练掌握Java语言的编 辑,编译,调试程序,并将算法转变为程序实现。 正确理解各种数据结构的逻辑特性和存储表示和基本操作的算法实现。 掌握算法的时间分析和空间分析的技术。 针对问题的特点选择合适的数据结构,设计实用高效的算法,提高大家的算法设计的能力和动手实验的技能,同时在这次的实验中,培养了我们独立思考、动手操作的能力,在各种其它能力上也都有了提高。 在实验中,我们学会了很多学习的方法。 而这是日后最实用的。 要面对社会的挑战,只有不断的学习、实践,再学习、再实践。 这对于我的将来也有很大的帮助。 以后,不管有多苦,我想我都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。 就像中国提倡的艰苦奋斗一样,我都可以在实验结束之后变的更加成熟,会面对需要面对的事情,以及学会遇到问题,不急不慌,慢慢解决它。 附录(部分源代码): package; importclassBackgroundPanelextendsJPaneletVisible(true); } dd(gbPanel); reateImage()); publicLoginFrame(){super();setResizable(false);setTitle("系统登录");setDefaultCloseOperation;setBounds(260,140,355,237);URLurl="/image/");etImage(); etVisible(true); }catch(Throwablee){returnnull; }} /** *Returnsanimagestoredinthefileatthespecifiedpathrelativetothespecifiedclass *@paramclazzClassTheclassrelativetowhichtofindtheimage *@parampathStringThepathtotheimagefile *@returnImageTheimagestoredinthefileatthespecifiedpath */ publicstaticImagegetImage(Class >clazz,Stringpath){Stringkey=()+'|'+path; Imageimage=(key); if(image==null){ getImage(new if(()>0)&&(0)=='/')){StringnewPath=(1,());image=BufferedInputStream().getResourceAsStream(newPath))); }else{image=getImage(path)); } (key,image); } returnimage; } /** *Returnsanimagestoredinthefileatthespecifiedpath *@parampathStringThepathtotheimagefile *@returnImageTheimagestoredinthefileatthespecifiedpath*/ publicstaticImagegetImage(Stringpath){ returngetImage("default",path);terator();();){Stringkey=(); if(! (section+'|')) continue; Imageimage=(key); (); (); publicstaticImageIcongetIcon(Class >clazz,Stringpath){; importclassDAO{repareStatement("selectpasswordfromtb_userwhereusername=? "); (1,user);repareStatement("insertintotb_message(name,sex,birthday,nation,phone,handset,qq,email,address,postalcode,sort,memo)values(? ? ? ? ? ? ? ? ? ? ? ? )"); (1,());repareStatement("select*fromtb_messagewhere" +fieldName+"='"+value+"'andsort='" +mtype+"'"); ResultSetrs=();etColumnCount();col++){ if(col==1){ (col))); }elseif(col==4){(col));etTime()).toString().substring(0,10);repareStatement("select*fromtb_messagewhereID=? "); (1,id);etColumnCount();col++){ if(col==1){(col))); }elseif(col==4){(col));etTime()).toString().substring(0,10);repareStatement("select*fromtb_messagewheresort=? "); (1,mtype);etColumnCount();col++){ if(col==1){(col))); }elseif(col==4){(col));etTime()).toString().substring(0,10);//(dateString); }else{ (col)); } } (row);//将记录向量添加到数据向量 (); (); ();//关闭连接 returnvector;//返回数据向量 }catch(Exceptionex){(null,"查询失败! \n"+());returnnull;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 通讯录 管理 系统 课程设计 报告 0001