通讯录管理系统的设计与实现毕业论文设计.doc
《通讯录管理系统的设计与实现毕业论文设计.doc》由会员分享,可在线阅读,更多相关《通讯录管理系统的设计与实现毕业论文设计.doc(56页珍藏版)》请在三一办公上搜索。
1、通讯录管理系统的设计与实现摘要现今社会随着通讯以及交通的发展,人与人之间的联系越来越多,越来越紧密,这就迫切要求我们把所有人的联系方式统一的管理起来,从而使人们联系更方便,更加促进人与人之间的关系往友好方向发展。在计算机还未普及之前通讯管理都是由联系人采用名片,笔录手工记帐的方式来操作的.现在的通讯录管理普遍都是采用计算机作为工具,通讯录管理程序来帮助人们进行更有效的通讯录信息管理。本文就介绍基于Visual C+ 6.0版本开发的“个人通讯录管理系统”,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面;对于前者要求建立起数据一致性和完整性强及安全性好的库;而对于后者则要求应
2、用程序功能完备,易使用等特点。本文对通讯录提出了自己的构想和设计,并在这样的基础上,构建实现了该通讯录。 关键词:通讯录;数据库;系统设计; Address Book Management System Design And ImplementationAbstract Modern society with the development of the communications and transportation, the connections between people more and more, more and more closely, it is urgent for
3、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 management are business CARDS, to be used by the contact re
4、cord of manual accounting way to operate. Now the address book management is the use of computers as tools generally, address book management program to help people more effectively address book information management.Is introduced in this paper, based on Visual c + + 6.0 development of personal add
5、ress book management system, its development mainly 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 progra
6、m function complete, easy to use, etc.In this paper, the address book puts forward his own idea and design, and on the basis of this, the building this address book. Key words: the address book, Database; System design;目 录摘要1Abstract21 绪论11.1 课题研究背景11.2 课题研究现状11.3 主要研究工作和章节安排11.3.1 主要开发内容11.3.2 项目开发
7、要求11.3.3 章节安排22 论文中使用的相关技术32.1 开发语言介绍32.1.1 Qt介绍32.1.2 Qt信号槽机制简介32.2 开发环境52.2.1 VisioStudio2008简介52.2.2 VC2008与Qt4.7的开发环境搭建62.3 Qt 数据库支持62.3.1 Qt数据库介绍62.3.2 SQlite数据库介绍73 需求分析83.1 需求分析83.1.1 基本功能需求83.1.2 系统用例分析84 系统设计104.1 系统模块关系与划分104.1.1 数据库设计105 系统的实现125.1 系统编码规范125.1.1 类型的命名125.1.2 方法和属性的命名125.1
8、.3 变量和常数135.2 系统模块功能设计135.2.1 数据库模块功能设计135.2.2 登录模块功能设计145.2.3 主界面设计145.3 数据库模块设计与实现145.3.1 数据库模块设计145.3.2 数据库模块实现155.4 登录模块设计与实现175.4.1 登录模块设计175.4.2 登录模块实现185.5 主界面模块设计与实现195.5.1 主界面模块模块设计195.5.2 主界面模块模块实现195.5.3 详细信息模块实现205.5.4 添加联系人信息模块实现215.5.5 用户密码修改模块实现225.5.6 联系人搜索模块实现235.5.7 背景颜色修改实现255.5.8
9、 备份265.5.9 导入286 系统测试306.1 简介306.2 编写目的306.2.1 项目背景316.2.2 系统简介316.3 测试概要316.3.1 测试用例设计316.3.2 测试环境与配置316.3.3 测试方法(和工具)316.4 测试结果及缺陷分析317 系统运行327.1 登陆界面327.2 系统主界面327.3 通讯录备份和导入327.4 用户管理347.5 背景修改347.6 搜索357.7 添加357.8 删除367.9 修改377.10 详细信息37总 结38参考文献39致 谢401 绪论 1.1 课题研究背景 随着移动通信与Internet向移动终端的普及,现代
10、通讯技术的迅猛发展,人们之间的联系越来越便捷,这也使得同时与许多人保持联系成为可能,这也使得同时与许多人保持联系成为可能,而单纯依靠人脑已经很难记住所有人的联系方式。对于存储电话号码到手机上的方式,比较方便,随时随地可以联系,不过只能通过电话联系,没有记录其他的联系方式,如果手机丢了可能就谁也联系不上了;对于记录电话等信息到本子上的方式,第一也可能丢失本子,第二是查找起来比较困难,需要人工查找,而且更新时不容易,需要涂改以前记录的信息,第三格式比较死板,不利于跟随用户的需求扩展;对于用名片夹存放名片的形式也是查找起来不方便,有丢失的危险;对于记录到WORD文档或打印出来的,也是扩展性不强,查找
11、起来不方便。因此,以软件形式实现的通讯录成为了许多人保持联系方式的首选。本通讯录将极有普通通讯录的主要功能,它可以对联系人进行分组,并可以添加或删除组,也可以添加或删除联系人,或者对已经保存的联系人信息进行修改,查询功能也是必不可少的。 1.2 课题研究现状 通讯录管理系统是每一个用户管理通讯录的不可缺少的一个管理信息系统,它的内容对于用户的管理者来说是至关重要的,所以通讯录管理系统应该能够为每一个用户的管理者提供充足的信息和快捷的查询手段,大大的方便用户合理的管理通讯录。 随着科学技术的不断提高,计算机科学日渐成熟,网上通讯工具的迅速发展,其强大的功能已为人们深刻认识,它已进入人类社会的各个
12、领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对通讯录进行管理,具有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高通讯录管理的效率,也是用户理财的科学化、正规化管理,与先进科学技术接轨的重要条件。 因此,开发这样一套管理程序成为很有必要的事情,对于我们即将计算机专业毕业的学员来说,也是一次将计算机应用于现实管理的一次很有意义的实践活动。 1.3 主要研究工作和章节安排1.3.1 主要开发内容本系统主要是面向用户的分为控制模块,管理模块,其它模块三部分组成。控制模块用于对通讯录进行增删改查的管理以及备
13、份和导入,管理模块主要是针对用户的创建、密码修改进行操作,其它模块有背景颜色的设置。整个系统由本人一人完成,包括系统的需求分析、总体设计、各个模块的设计、数据库的设计以及系统的整合和运行测试等等。1.3.2 项目开发要求 1)项目开发要规范统一,模块划分、代码编写等均按照命名规范文档;2)程序执行速度快,数据安全。系统要具有良好的可扩展性;3)用户界面简单明了,操作简单实用;1.3.3 章节安排首先要做的是主界面,先把主界面的布局调整好,功能按钮都添加上,之后做登陆模块,然后对登陆模块进行测试,然后做控制模块的内容,先做添加,之后是删除,查找,和查看。接着做管理模块,用来管理用户和用户密码。最
14、后做其他模块,比如改界面颜色。2 论文中使用的相关技术 2.1 开发语言介绍2.1.1 Qt介绍Qt是一个1991年由奇趣科技开发的跨平台C+图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,易于扩展,允许组件编程。2008年,奇趣科技被诺基亚公司收购,QT也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。优良的跨平台特性:Qt支持下列操作系统: Microsoft Windows 95/98
15、, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。面向对象:Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。丰富的 API:Qt包括多达 250 个以上的 C+ 类,还提供基于模板的 collections,
16、serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理功能。支持 2D/3D 图形渲染,支持 OpenGL,丰富的XML 支持。在发布 Qt 4.6 的同时,作为 Qt 开发跨平台 IDE 的Qt Creator也发布了更新版本。Qt Creator 1.3 和 Qt 4.6共同构成的 Qt SDK,包含了开发跨平台应用程序所需的全部功能。Qt Creator是一个用于Qt开发的轻量级跨平台集成开发环境。Qt Creator可带来两大关键益处:提供首个专为支持跨平台开发而设计的集成开发环境
17、 (IDE),并确保首次接触Qt框架的开发人员能迅速上手和操作。即使不开发Qt应用程序,Qt Creator也是一个简单易用且功能强大的IDE。1Qt Creator包含了一套用于创建和测试基于Qt应用程序的高效工具,包括:一个高级的C+代码编辑器 上下文感知帮助系统 可视化调试器 源代码管理 项目和构建管理工具Qt Creator在LGPL2.1版本授权下有效,并且接受代码贡献。Qt LinguistQt Linguist被称为Qt语言家。它的主要任务只是读取翻译文件、为翻译人员提供友好的翻译界面,它是用于界面国际化的重要工具。Linguist工具从4.5开始可以支持Gettext的PO文件
18、格式。2.1.2 Qt信号槽机制简介信号和槽是一种高级接口,应用于对象之间的通信,它是QT的核心特性,也是QT区别于其它工具包的重要地方。信号和槽是QT自行定义的一种通信机制,它独立于标准的C/C+语言,因此要正确的处理信号和槽,必须借助一个称为moc(Meta Object Compiler)的QT工具,该工具是一个C+预处理程序,它为高层次的事件处理自动生成所需要的附加代码。在我们所熟知的很多GUI工具包中,窗口小部件(widget)都有一个回调函数用于响应它们能触发的每个动作,这个回调函数通常是一个指向某个函数的指针。但是,在QT中信号和槽取代了这些凌乱的函数指针,使得我们编写这些通信程
19、序更为简洁明了。 信号和槽能携带任意数量和任意类型的参数,他们是类型完全安全的,不会像回调函数那样产生core dumps。所有从QObject或其子类(例如Qwidget)派生的类都能够包含信号和槽。当对象改变其状态时,信号就由该对象发射(emit)出去,这就是对象所要做的全部事情,它不知道另一端是谁在接收这个信号。这就是真正的信息封装,它确保对象被当作一个真正的软件组件来使用。槽用于接收信号,但它们是普通的对象成员函数。一个槽并不知道是否有任何信号与自己相连接。而且,对象并不了解具体的通信机制。我们可以将很多信号与单个的槽进行连接,也可以将单个的信号与很多的槽进行连接,甚至于将一个信号与另
20、外一个信号相连接也是可能的,这时无论第一个信号什么时候发射系统都将立刻发射第二个信号。总之,信号与槽构造了一个强大的部件编程机制。(1)信号当某个信号对其客户或所有者发生的内部状态发生改变,信号被一个对象发射。只有定义过这个信号的类及其派生类能够发射这个信号。当一个信号被发射时,与其相关联的槽将被立刻执行,就象一个正常的函数调用一样。信号-槽机制完全独立于任何GUI事件循环。只有当所有的槽返回以后发射函数(emit)才返回。 如果存在多个槽与某个信号相关联,那么,当这个信号被发射时,这些槽将会一个接一个地 执行,但是它们执行的顺序将会是随机的、不确定的,我们不能人为地指定哪个先执行、哪个后执行
21、。信号的声明是在头文件中进行的,QT的signals关键字指出进入了信号声明区,随后即可 声明自己的信号。例如,下面定义了三个信号:signals: void mySignal();void mySignal(int x); void mySignalParam(int x,int y);在上面的定义中,signals是QT的关键字,而非C/C+的。接下来的一行void mySignal() 定义了信号mySignal,这个信号没有携带参数;接下来的一行void mySignal(int x)定义 了重名信号mySignal,但是它携带一个整形参数,这有点类似于C+中的虚函数。从形式上 讲信号
22、的声明与普通的C+函数是一样的,但是信号却没有函数体定义,另外,信号的返回 类型都是void,不要指望能从信号返回什么有用信息。信号由moc自动产生,它们不应该在.cpp文件中实现。(2)槽槽是普通的C+成员函数,可以被正常调用,它们唯一的特殊性就是很多信号可以与其相关联。当与其关联的信号被发射时,这个槽就会被调用。槽可以有参数,但槽的参数不能有缺省值。既然槽是普通的成员函数,因此与其它的函数一样,它们也有存取权限。槽的存取权限决定了谁能够与其相关联。同普通的C+成员函数一样,槽函数也分为三种类型,即public slots、private slots和protected slots:publ
23、ic slots:在这个区内声明的槽意味着任何对象都可将信号与之相连接。这对于组件编程非常有用,你可以创建彼此互不了解的对象,将它们的信号与槽进行连接以便信息能够正确的传递。protected slots:在这个区内声明的槽意味着当前类及其子类可以将信号与之相连接。这适用于那些槽,它们是类实现的一部分,但是其界面接口却面向外部。private slots:在这个区内声明的槽意味着只有类自己可以将信号与之相连接。这适用于联系非常紧密的类。槽也能够声明为虚函数,这也是非常有用的。槽的声明也是在头文件中进行的。例如,下面声明了三个槽:public slots:void mySlot();void m
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通讯录 管理 系统 设计 实现 毕业论文
链接地址:https://www.31ppt.com/p-3994478.html