个人通讯录管理系统.docx
《个人通讯录管理系统.docx》由会员分享,可在线阅读,更多相关《个人通讯录管理系统.docx(72页珍藏版)》请在冰豆网上搜索。
个人通讯录管理系统
系统名称:
个人通信录管理系统
摘要:
随着社会的进步,广泛的人际关系成为一个人的重要资源,同时也成为一个人能否事业获得成功的因素。
由于每个人都拥有大量的联系人,众多的联系方式,所以我们针对此开发了“个人通信录管理系统”。
本课程设计---个人通信录管理系统主要实现对联系人以及其联系方式的添加、删除、修改以及查询,使用户对自己所认识的人们的信息进行规整,扫除多而繁琐的联系信息,从而更系统地、方便地管理自己的日常通信。
关键字:
个人通信录管理、方便
Abstract:
Withthedevelopmentofsociety,extensiveinterpersonalrelationshipsisnotonlybecominganimportantresourcetopeople,butalsobecomingafactorforthesuccessofaperson.Aseveryonehasagreatdealofcontact,alargenumberofcontacts,sowehavedevelopedit"PersonalCommunicationsManagementSystem".Thesystem---PersonalCommunicationsManagementSystemisdesignedformainrealizationoncontactsandtheircontactinformationadded,deleted,modified,sothatuserscangetpeople'sinformationstructuredwithvoidingmuchmorecomplicatedcontactinformation,andbemoresystematicandeasilymanageyourdailycommunication.
Keywords:
personalcommunicationsmanagement、convenience
目录
一、概述5
(一)开发背景5
(二)开发工具5
二、系统需求分析报告5
(一)组织机构操作方式上的可行性5
(二)基础数据的可用性6
(三)经济上的可行性6
(四)技术上的可行性6
(五)目标分析7
三、项目开发计划7
(一)项目开发组织机构的设置和人员的安排7
(二)项目开发的进度7
(三)项目开发经费的概算8
(四)项目所需的硬件和软件资源等9
四、系统分析报告9
(一)业务流程图9
(二)数据流程图10
1.个人通信录管理系统的DFD图10
2.主要模块流程图:
11
(三)功能分析图:
12
(四)数据字典及数据加工处理的描述13
1.数据项条目:
13
2.数据结构条目:
14
3.数据流条目:
15
4.数据处理条目:
16
5.数据存储条目:
17
(五)管理信息系统流程设计图(新系统模型)17
五、系统设计报告18
(一)功能结构设计18
(二)新系统信息处理流程设计19
(三)输出设计20
(四)代码设计22
(五)程序设计说明书30
六、系统实现部分32
(一)程序框图(程序流程图)32
(二)模拟运行数据33
(三)测试用例33
(四)系统使用说明书34
七、工作总结36
八、附录(核心模块源代码)37
九、参考文献51
概述
(1)开发背景
随着社会的进步,广泛的人际关系成为一个人的重要资源,同时也成为一个人能否事业获得成功的因素。
一切事物都在迅速发展,尤其是互联网的发展,大家的交际范围不断扩展,交流方式也越来越多,像电话、E-mail、QQ、MSN等等,所以人们要记住的信息也随之更多。
处理大量的联系人信息和众多的联系方式,是我们开发个人通信管理系统的主要缘由。
本管理系统主要实现对联系人以及其联系方式的添加、删除、修改以及查询,便于用户对自己所联系人们的信息进行规整,避免混淆不同联系人的信息,从而更系统地、方便地管理自己的日常通信。
(2)开发工具
硬件要求:
四台计算机
软件要求:
Eclipse、MicrosoftOfficeAccess2003
系统需求分析报告
(1)组织机构操作方式上的可行性
我们团队的成员不仅是同一个班的,而且是一个宿舍的,相互之间也很熟悉,所以很有利于相互之间的交流和探讨,更好的完成系统设计工作。
因为我们四个人学习水平及擅长的不同,我们很好的分配了任务。
我们的组长李钰娇,平时学习非常刻苦,功底也比较扎实,更经常担任学校及班级干部。
所以由她来担任我们的组长,来管理和给我们成员分配任务,管理我们系统的设计工作。
我们团队的其他成员非常善于合作服从管理,也对工作尽职尽责。
我们团队内部各尽其责,竭尽全力,共同完成系统工作。
所以在组织机构操作方式上是可行的。
(2)基础数据的可用性
个人通讯录管理系统所需的数据、资料等大部分都可以从图书馆获取,同时有些相关数据可以通过周围同学、朋友、同事、亲戚们获取,所以在基础数据上是可行的。
(3)经济上的可行性
我们小组是以分工形式来进行本次课程设计,保证了项目的开发周期,节约了时间成本,也极大缩短了成员对开发、实现本系统的培训环节。
所以我们的经济成本是极低的。
这无疑在经济上是可行的。
个人通信录管理系统减少了用户整理信息的时间,并且可大大提高信息量的取得,缩短信息处理周期,提高了工作效率。
(4)技术上的可行性
软件需求:
操作系统为WindowsXP;数据库采用MicrosoftOfficeAccess,画图部分选择的是MicrosoftOfficeVisio
硬件需求:
四台计算机,配置要求不用太高。
因为我们系统界面设计采用Java语言、Eclipse软件实现,并且这些软件所能实现的基本功能所需的知识我们基本都有所了解,所以在技术上是可行的。
(5)目标分析
个人通信录管理系统通过计算机技术给用户对其通讯录的管理带来便利。
本系统除了通讯录中联系人的管理外,还设置了联系人的组别,以组分类,方便用户区别,便于联系。
项目开发计划
通过前期调查、资料整理、分析,同时根据成员时间安排,制定一个项目开发计划。
计划的内容包括:
(一)项目开发组织机构的设置和人员的安排
我们根据个人通讯录管理系统所设置的模块:
联系人信息的增、删、改模块、查找(通过姓名)模块、查看联系人信息模块,这四个模块进行了分工:
李钰娇
联系人信息的增、删、改模块,数据库
张洁
查找(通过姓名)模块
戴佳龄
查看联系人信息模块(同学、朋友的信息)
刘荣
查看联系人信息模块(同事、亲戚的信息)
(二)项目开发的进度
我们从以下几方面我们来考虑项目的开发进度:
第一步,对于系统需求和项目目标比较熟的了解,制定出较粗的进度计划,等到需求阶段或设计阶段结束,在作出进一步细化的进度计划。
第二步,从系统的功能来分析系统的规模。
从文档数量与质量的要求,使用的开发工具、新技术、多少复用、沟通的方便程度、客户方的情况、需要遵守的标准规范等等来考虑项目规模。
完成一个系统,在一定的时间内一个人的智力和体力是承受不了的。
第三步,从我们项目团队成员构成、项目任务复杂程度、项目干系人的复杂程度、需求调研的难易程度,多项目情况下资源保障的情况来考虑我们项目的复杂程度。
第四步,计划项目完成时期。
我们在规定时间内要完成一个系统的创建,合理安排进度,多增加人选会增加沟通的成本;加班加点来完成,如果处理不好会造成情绪上的问题,也可能会因为过于忙碌而无法顾及质量,造成质量的下滑。
第五步,项目成员的能力。
这些包括项目成员的管理能力,分析能力、设计能力、程序编码能力、测试能力。
鉴于以上方面,我们制定出如下的开发进度:
确定项目设计题目——做出粗略的项目进度计划——需求分析——制定较详细的项目开发计划——系统分析——系统设计——系统实施——系统调试——系统验收
(三)项目开发经费的概算
由于我们的资料、数据等相关资源大部分都是从图书馆获取,软硬件相关要求均可以从老师那里获取,基本上无经费可言,只是有人力的耗费。
(四)项目所需的硬件和软件资源等
硬件:
四台计算机
软件:
Eclipse、MicrosoftOfficeAccess2003
系统分析报告
(一)业务流程图
(二)数据流程图
1.个人通信录管理系统的DFD图
2.主要模块流程图:
1)查找模块流程图:
2)删除/修改联系人信息模块的流程图:
3)增加联系人信息模块流程图:
(三)功能分析图:
系统功能分为四个模块,分别是新增名片功能模块、修改名片功能模块、删除名片功能模块、查找功能模块和查看功能名片。
详细功能有:
增加、删除、修改联系人信息;分类查看联系人信息;可以按姓名查找联系人。
系统功能模块图:
(四)数据字典及数据加工处理的描述
1.数据项条目:
名称:
姓名
编号:
1-01
简述:
所有联系人的唯一识别编码,必填
长度:
8位
类型:
字符
名称:
出生日期
编号:
1-02
简述:
所有联系人包含的一项基本信息,选填
长度:
8位
类型:
日期
名称:
电话
编号:
1-03
简述:
所有联系人包含的一项基本信息,选填
长度:
11位
类型:
数字
名称:
E-mail
编号:
1-04
简述:
所有联系人包含的一项基本信息,选填
长度:
30位
类型:
文本
名称:
学校
编号:
1-05
简述:
同学中包含的一项基本信息,选填
长度:
20位
类型:
字符
名称:
单位
编号:
1-06
简述:
同事中包含的一项基本信息,选填
长度:
20位
类型:
文本
名称:
认识地点
编号:
1-07
简述:
朋友中包含的一项基本信息,选填
长度:
50位
类型:
文本
名称:
称呼
编号:
1-08
简述:
亲戚中包含的一项基本信息,选填
长度:
8位
类型:
文本
2.数据结构条目:
数据结构编号:
2-01
数据结构名称:
联系人类别
简述:
联系人地类别信息
数据结构组成:
同学、同事、朋友、亲戚
数据结构编号:
2-02
数据结构名称:
同学基本信息表
简述:
所有同学的基本信息
数据结构组成:
学校、姓名、出生日期
、电话、E-mail
数据结构编号:
2-03
数据结构名称:
同事基本信息表
简述:
所有同事的基本信息
数据结构组成:
单位、姓名、出生日期
、电话、E-mail
数据结构编号:
2-04
数据结构名称:
朋友基本信息表
简述:
所有朋友的基本信息
数据结构组成:
认识地点、姓名、出生日期
、电话、E-mail
数据结构编号:
2-05
数据结构名称:
亲戚基本信息表
简述:
所有亲戚的基本信息
数据结构组成:
称呼、姓名、出生日期
、电话、E-mail
3.数据流条目:
数据流名称:
同学基本信息表
编号:
3-01
简述:
同学的基本信息
数据流来源:
系统管理者
数据流去向:
同学的基本信息管理
数据流组成:
学校、姓名、出生日期
、电话、E-mail
数据流量:
不定时
数据流名称:
同事基本信息表
编号:
3-02
简述:
同事的基本信息
数据流来源:
系统管理者
数据流去向:
同事的基本信息管理
数据流组成:
单位、姓名、出生日期
、电话、E-mail
数据流量:
不定时
数据流名称:
朋友基本信息表
编号:
3-03
简述:
朋友的基本信息
数据流来源:
系统管理者
数据流去向:
朋友的基本信息管理
数据流组成:
认识地点、姓名、出生日期
、电话、E-mail
数据流量:
不定时
数据流名称:
亲戚基本信息表
编号:
3-04
简述:
亲戚的基本信息
数据流来源:
系统管理者
数据流去向:
亲戚的基本信息管理
数据流组成:
称呼、姓名、出生日期
、电话、E-mail
数据流量:
不定时
4.数据处理条目:
数据处理名称:
同学基本信息处理
数据处理编号:
4-01
简述:
录入同学的基本信息对其进行处理
输入数据流:
同学的基本信息,包括各项数据项
处理:
整理同学基本信息,对相应数据进行填写、修改、删除等操作
输出数据流:
写入同学基本信息存储的文件
数据处理名称:
同事基本信息处理
数据处理编号:
4-02
简述:
录入同事的基本信息对其进行处理
输入数据流:
同事的基本信息,包括各项数据项
处理:
整理同事基本信息,对相应数据进行填写、修改、删除等操作
输出数据流:
写入同事基本信息存储的文件
数据处理名称:
朋友基本信息处理
数据处理编号:
4-03
简述:
录入朋友的基本信息对其进行处理
输入数据流:
朋友的基本信息,包括各项数据项
处理:
整理朋友基本信息,对相应数据进行填写、修改、删除等操作
输出数据流:
写入朋友基本信息存储的文件
数据处理名称:
亲戚基本信息处理
数据处理编号:
4-04
简述:
录入亲戚的基本信息对其进行处理
输入数据流:
亲戚的基本信息,包括各项数据项
处理:
整理亲戚基本信息,对相应数据进行填写、修改、删除等操作
输出数据流:
写入亲戚基本信息存储的文件
5.数据存储条目:
数据存储名称:
同学基本信息文档
同学基本信息编号:
5-01
简述:
存储同学的基本信息
相关处理:
同学基本信息表的修改
数据存储名称:
同事基本信息文档
同学基本信息编号:
5-02
简述:
存储同事的基本信息
相关处理:
同事基本信息表的修改
数据存储名称:
朋友基本信息文档
同学基本信息编号:
5-03
简述:
存储朋友的基本信息
相关处理:
朋友基本信息表的修改
(五)管理信息系统流程设计图(新系统模型)
根据自顶向下逐层分解的原则绘出系统详细流程设计图:
系统设计报告
(一)功能结构设计
本系统要达到的具体功能有:
1.联系人的通讯信息管理:
学校、单位、姓名、出生日期、电话、邮箱、称呼、认识地点等。
2.基本信息管理:
对所有联系人所在的单位、学校等进行增加、修改、删除,并能按姓名查询联系人信息。
3.联系人类别管理:
以与自己的关系作为分类方式,类别分为同学、朋友、同事、亲戚。
4.信息查看,按类别统计每一类联系人的情况,以列表的形式表现。
(二)新系统信息处理流程设计
1.实体同学的E-R图
2.实体同事的E-R图
3.实体朋友的E-R图
4.实体亲戚的E-R图
(三)输出设计
1.系统主界面
第一个出现在用户面前的是系统主界面。
我们的系统主界面设计的简单大方,没有太多花哨的东西,但特别的使用,给人简约清新的感觉。
方便人们快速的查询修改等联系方式。
下面是我们系统的主界面:
2.增加名片
从系统主界面可以看到欢迎使用几个字。
点击走上角的项目,将看到下面的结果:
如上图所示,可以看到,这个系统包括新增名片、修改名片、删除名片、查找(姓名)、庆生、查看功能。
其中,新增名片中有新增联系人同学、同事、朋友、亲戚等。
如果要增加联系人方式,比如增加同学信息,则点击同学,将看到下面页面:
如图示可以看到增加同学的信息有学校、姓名、出生日期、电话、E-mail。
输入自己要加入的同学信息,点击添加就成功的加入了一个同学的信息了。
3.查找
若是想查询个人通信管理系统中某一个联系人的基本信息,可点击左上角项目下的查找。
如果输入姓名后查找,将显示下面页面:
如上图可以看到个人通信管理信息系统中某个联系人的基本信息了。
其他的功能如增加或是删除、查找、修改联系人,以及查看与上面的方法相似,就不一一列举了。
(四)代码设计
1.系统主界面
packageWork.UI;
importjava.awt.CardLayout;
importjava.awt.Color;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JMenu;
importjavax.swing.JMenuBar;
importjavax.swing.JMenuItem;
importjavax.swing.JPanel;
importWork.UI.SelectByName;
importWork.UI.AllSchoolmateInfo;
importWork.UI.AllWorkmateInfo;
importWork.UI.AllFriendInfo;
importWork.UI.AllRelativeInfo;
publicclassMyWindowextendsJFrameimplementsActionListener{
privatestaticfinallongserialVersionUID=1L;
JMenuBarmb;
JMenumu1,mu2,mu3,mu4,mu5,mu6,mu7,mu8,mu9;
JMenuItemitem1,item2,item3,item4,item5,item6,item7,item8,item9,
item0,item11,item22,item33,item44,item55,item66,item77,
item88,item99,item000,item00;
JPanelpanel,panel1;
Addmypanel1,mypanel2,mypanel3,mypanel4;
Editmypanel5,mypanel6,mypanel7,mypanel8;
Deletemypanel9,mypanel10,mypanel11,mypanel12;
SelectByNamemypanela;
AllSchoolmateInfomypanelb;
AllWorkmateInfomypanelc;
AllFriendInfomypaneld;
AllRelativeInfomypanele;
CardLayoutcard;
Colorcolor;
publicMyWindow(Strings){
super(s);
mb=newJMenuBar();
mu1=newJMenu("项目");
mu2=newJMenu("新增名片");
item1=newJMenuItem("同学");
item2=newJMenuItem("同事");
item3=newJMenuItem("朋友");
item4=newJMenuItem("亲戚");
mu2.add(item1);
mu2.add(item2);
mu2.add(item3);
mu2.add(item4);
mu1.add(mu2);
mu3=newJMenu("修改名片");
item5=newJMenuItem("同学");
item6=newJMenuItem("同事");
item7=newJMenuItem("朋友");
item8=newJMenuItem("亲戚");
mu3.add(item5);
mu3.add(item6);
mu3.add(item7);
mu3.add(item8);
mu1.add(mu3);
mu4=newJMenu("删除名片");
item11=newJMenuItem("同学");
item22=newJMenuItem("同事");
item33=newJMenuItem("朋友");
item44=newJMenuItem("亲戚");
mu4.add(item11);
mu4.add(item22);
mu4.add(item33);
mu4.add(item44);
mu1.add(mu4);
item9=newJMenuItem("查找(姓名)");
mu1.add(item9);
mu6=newJMenu("查看");
item55=newJMenuItem("同学");
item66=newJMenuItem("同事");
item77=newJMenuItem("朋友");
item88=newJMenuItem("亲戚");
mu6.add(item55);
mu6.add(item66);
mu6.add(item77);
mu6.add(item88);
mu1.add(mu6);
mb.add(mu1);
card=newCardLayout();
panel=newJPanel();
panel1=newJPanel();
JLabell=newJLabel("欢迎使用");
panel1.setBackground(Color.white);
panel1.add(l);
panel.setLayout(card);
panel.add("",panel1);
mypanela=newSelectByName();
mypanelb=newAllSchoolmateInfo();
mypanelc=newAllWorkmateInfo();
mypaneld=newAllFriendInfo();
mypanele=newAllRelativeInfo();
mypanel1=newMypanel1();
mypanel2=newMypanel2();
mypanel3=newMypanel3();
mypanel4=newMypanel4();
mypanel5=newMypanel5();
mypanel6=newMypanel6();
mypanel7=newMypanel7();
mypanel8=newMypanel8();
mypanel9=newMypanel9();
mypanel10=newMypanel10();
mypanel11=newMypanel11();
mypanel12=newMypanel12();
panel.add