通讯录管理系统的设计与实现精选文档

合集下载

(完整word版)通讯录管理系统的设计和实现

(完整word版)通讯录管理系统的设计和实现

南通大学二○一一~二○一二学年第一学期计算机科学与技术学院课程设计报告书课程名称:数据结构课程设计班级:计101学号:1013022015姓名:徐鹏指导教师:顾颀二○一二年一月设计题目:通讯录管理系统的设计与实现1. 需求分析1.1 描述要求编程解决的问题,给出程序要达到的具体要求1.1.1基本要求①设计通讯录数据的逻辑结构和物理结构②通讯录至少包括下列数据信息:姓名、电话、单位等。

③完成图示基本功能。

④软件易用,操作简单。

⑤根据自己使用通讯录的体会,扩充其他功能,如按姓名查找、按号码查找、按序号删除等。

⑥设计足够多的测试用例。

1.1.2较高要求①数据输入有效性的检验:如姓名不能为空、号码中不能有非法字符等。

②提供分组管理的相关功能,如:分组显示、加入组、组创建、组查询等。

③可视化的界面设计。

1.2 测试案例设计,包括以下两方面案例:1.2.1 合理的输入,给出的合理的输出输入:1 张三12345678 计101 2-102输出:输入成功!1.2.2 不合理的输入,给出的输出输入:2 李四12**5678 计101 2-102输出:电话号码中出现非法输入请重新输入:2. 概要设计2.1 功能划分与定义,功能结构图基本功能模块如下图所示:输入:记录的输入。

显示:通讯录显示。

查找:按指定的方式,输入关键字,查找指定记录。

插入:实现记录的添加或在指定位置插入新纪录。

删除:提供指定记录的删除功能。

保存:将内存中正在被操作的通讯录以文件形式保存到磁盘。

读入:保存的逆操作,将存在磁盘里的通讯录文件读取到内存中。

排序:按指定关键字对通讯录进行排序。

修改:提供修改某条记录的功能。

移动:移动记录在通讯录中的存储位置,使其被查找或显示时的位序前移或后移。

退出:结束程序运行。

2.2 给出数据的逻辑设计、抽象的数据类型描述(1)数据域描述通讯录的相关信息,每个人的基本信息含有多个属性,其中包括姓名、电话、单位等,为此可根据人员信息建立结构体,类型定义如下:struct Datatype{int id; //编号char name[10]; //姓名char phone[12]; //电话char class[10]; //单位};3. 详细设计3.1 数据的存储设计根据通讯录的设计要求,可使用单链表实现该通讯系统的功能,链表节点只含一个数据域和一个指针,线性表的链式存储结构如下:struct Node{Datatype data; //数据域,存放表元素Node *next; //指针域,指向下一个结点};3.2 界面设计,包括菜单、数据输入输出格式等主菜单:查找联系人子菜单:显示通讯录子菜单:1-添加联系人1-按序号查找1-按序号显示2-查找联系人2-按姓名查找2-按姓名显示3-修改联系人3-按号码查找3-按号码显示4-删除联系人5-移动联系人6-显示通讯录7-退出数据输入格式:请输入联系人的相关信息编号:1姓名:张三电话:1300000001单位:计102住址:2-102数据输出格式:编号姓名电话单位住址1 张三130000001 计102 2-1023.2 各功能的算法描述,可采用伪码、流程图、N-S图等方式读入函数int Read( ),将存在磁盘中的文件读到内存中。

通讯录管理系统设计说明书

通讯录管理系统设计说明书

通讯录管理系统设计说明书通讯录管理系统设计说明书1.引言1.1 编写目的通讯录管理系统设计说明书的编写目的是为了介绍该系统的功能、设计原理和实现方法,以便开发人员可以根据此文档进行系统开发和实施。

1.2 项目背景随着信息技术的快速发展,人们的通讯方式也发生了巨大变化。

传统的纸质通讯录已经无法满足人们的需求,因此需要开发一个通讯录管理系统。

这个系统能够方便地存储和管理联系人的信息,提供快速搜索和多种导出方式,以满足不同用户的需求。

1.3 参考资料- 系统功能需求文档- 系统设计文档2.系统概述2.1 系统目标通讯录管理系统的目标是实现一个简单易用且功能强大的通讯录管理工具。

它提供了添加、编辑、查找和删除联系人的功能,同时还支持导入、导出和备份通讯录数据。

2.2 主要功能模块- 用户管理模块:负责用户的注册、登录和权限控制。

- 联系人管理模块:负责联系人信息的添加、编辑、查找和删除。

- 分组管理模块:负责联系人的分组和管理。

- 导入导出模块:支持导入和导出通讯录数据的多种格式,如CSV、Excel等。

- 备份恢复模块:支持通讯录数据的备份和恢复操作。

3.系统详细设计3.1 数据库设计- 用户表(UserTable):存储用户的登录信息和权限。

- 联系人表(ContactTable):存储联系人的详细信息。

- 分组表(GroupTable):存储联系人的分组信息。

- 操作日志表(LogTable):记录系统的操作日志。

3.2 功能模块设计3.2.1 用户管理模块- 注册功能:用户可以输入用户名、密码和其他必要信息进行注册。

- 登录功能:用户可以输入用户名和密码进行登录。

- 权限控制:系统根据用户的权限进行相应的操作限制。

3.2.2 联系人管理模块- 添加联系人:用户可以输入联系人的姓名、方式号码、电子邮箱等信息进行添加。

- 编辑联系人:用户可以修改已有联系人的信息。

- 查找联系人:用户可以输入关键字进行联系人的模糊查询。

通讯录管理系统的设计与实现

通讯录管理系统的设计与实现

数据结构实验报告实验名称:通讯录管理系统的设计与实现试验时间:2011.1.13班级:姓名学号:指导老师:1.问题描述:通讯录是用来记录,查询联系人通讯信息的工具。

电子通讯录已成为手机,电子词典等电子设备中不可缺少的工具软件。

设计一个能够,满足这种需求的软件。

基本功能模块:输入,显示,查找,插入,删除,保存,读入,排序,修改,移动,退出。

2.设计要求:(1)基本要求1.设计通讯录数据的逻辑结构和物理结构。

2.通讯录至少包含下列数据信息:姓名,电话,地址等。

3.完成图示基本功能。

4.软件易用,操作简单。

5.根据自己使用通讯录的体会,扩充其他功能,如按姓名查找,按学号查找,按序号查找等。

(2)较高要求1.数据输入有效性检验:如姓名不能为空,号码中不能有非法字符等。

2.提供分组管理的相关功能,如:分组显示,加入组,组创建,组查询等。

3.可视化的界面设计。

3.测试案例:请输入您的选择(0--6): 1分别输入编号,姓名,性别,电话,地址(输入0 结束通信录的建立): 编号:01姓名:张三电话:152****1919地址:2-222编号:0请输入您的选择(0--6): 2编号:01姓名:张三电话:152****1919地址:2-222是否继续添加?(Y/N):N请输入您的选择(0--6): 3请选择查询的方式(1 编号,2 姓名):1 请输入编号:01编号:01姓名:张三电话:152****1919地址:2-222请问是否继续查询?(Y/N):N请输入您的选择(0--6): 4输入删除编号:01删除学生信息如下:编号:01姓名:张三电话:152****1919地址:2-222请输入您的选择(0--6): 5通讯录的全部信息如下:*****编号*****姓名*****性别*****电话*****地址*****学生总人数为:1请输入您的选择(0--6):6 记录已保存!请输入您的选择(0--6):0 结束!!!4.数据结构设计:数据域描述通讯录的相关信息,根据每个学生的基本信息含有多个属性,其中包括序号,姓名,性别,电话,地址等,为此可根据学生信息建立结构体,类型定义如下:typedef struct{ char num; //学号char name; //姓名char sex; //性别char phone; //电话char addr; //地址}DataType;根据通讯录的设计要求,可用单向链表实现该通讯录系统的功能。

软件技术毕业设计(论文)通讯录管理系统的设计与实现

软件技术毕业设计(论文)通讯录管理系统的设计与实现

开封大学KAIFENG UNIVERSITY毕业论文通讯录管理系统的设计与实现姓名:xxxx院系:软件技术学院专业:软件技术班级:09级软件四班指导教师:x x x目录论文摘要 (3)前言 (4)一、管理信息系统的开发 (4)(二)MIS系统开发过程 (5)二、可行性研究及需求分析 (6)(一)可行性研究 (6)(二)需求分析 (7)三、通讯录管理系统的概要设计 (7)(一)通讯录管理系统用例图 (8)(二)通讯录管理信息系统概要设计 (8)(三)通讯录管理信息系统的功能模块说明 (9)四、通讯录管理系统的界面设计 (9)(一)概念设计 (9)(二)数据库逻辑结构设计 (11)五、通讯录管理系统的详细设计 (14)(一)开发工具的选择 (14)(二)编码规范 (14)(三)系统模块的详细设计 (15)六、系统测试 (27)七、系统的运行 (28)(一)硬件约束 (28)(二)系统运行环境 (28)结束语 (29)参考文献 (29)论文摘要通讯录管理系统是方便同学间交流、联系而设计的一个系统。

它主要分为两大部分,一个是同学录管理系统,一个是同学之间交流的区域。

该系统由三个要素组成,分别是:管理员、好友和其他成员,他们之间相互联系,形成了一个有机的整体。

为提高用户对该系统的满意,必须正确处理他们之间的关系。

本系统总体上分为三大界面:登陆界面、注册页面和管理页面。

具体是新用户在登陆界面有个注册帐号连接,输入无误后可进入注册页面,注册完后用户可以加入自己的好友,用户还可以自己注册个人信息。

通讯录管理系统是一个专门针对储存用户联系方式以及一些简单个人信息的实用管理系统,它方便了用户对众多同学、朋友、同事等个人信息的储存和快速查阅的功能,大大减少了查找过程的时间。

【关键词】VS .NET 2008 数据库数据库组件E-R图前言通讯录管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,一方面要求建立起数据一致性和完整性强、数据安全性好的库另一方面则要求应用程序功能完备,易使用等特点。

通讯录管理系统实现与设计

通讯录管理系统实现与设计

武汉理工大学毕业设计(论文)通讯录管理系统实现与设计学院(系):专业班级:学生姓名:指导教师:目录第一章绪论 (2)1.1课题简介 (2)1.2开发的意义 (2)1.3团队构成 (3)第二章开发环境及实现技术 (4)2.1开发环境 (4)2.2开发工具简介 (4)第三章系统设计 (6)3.1概要设计 (6)3.2详细设计 (7)第四章数据库设计 (9)4.1数据库A CCESS简介 (9)4.2数据库需求分析 (10)4.3数据库需求分析 (10)第五章详细设计 (12)5.1系统登录模块的设计与实现 (12)5.2主界面的设计与实现 (16)5.3单人资料模块的设计与实现 (19)5.4模糊查询模块的设计与实现 (22)5.5全体资料模块的设计与实现 (25)5.6用户注册模块的设计与实现 (26)5.7用户维护模块的设计与实现 (28)5.8备忘提醒模块的设计与实现 (29)第六章系统使用说明 (33)6.1使用说明 (33)6.2运行环境 (33)第七章设计心得 (34)参考文献 (35)第一章绪论1.1课题简介通讯录管理系统是每一个用户管理通讯录的不可缺少的一个管理信息系统,它的内容对于用户的管理者来说是至关重要的,所以通讯录管理系统应该能够为每一个用户的管理者提供充足的信息和快捷的查询手段,大大的方便用户合理的管理通讯录。

随着科学技术的不断提高,计算机科学日渐成熟,网上通讯工具的迅速发展,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对通讯录进行管理,具有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高通讯录管理的效率,也是用户理财的科学化、正规化管理,与先进科学技术接轨的重要条件。

因此,开发这样一套管理软件成为很有必要的事情,对于我们即将计算机专业毕业的学员来说,也是一次将计算机应用于现实管理的一次很有意义的实践活动。

通讯录管理系统的设计与实现毕业论文设计

通讯录管理系统的设计与实现毕业论文设计

通讯录管理系统的设计与实现毕业论⽂设计通讯录管理系统的设计与实现摘要现今社会随着通讯以及交通的发展,⼈与⼈之间的联系越来越多,越来越紧密,这就迫切要求我们把所有⼈的联系⽅式统⼀的管理起来,从⽽使⼈们联系更⽅便,更加促进⼈与⼈之间的关系往友好⽅向发展。

在计算机还未普及之前通讯管理都是由联系⼈采⽤名⽚,笔录⼿⼯记帐的⽅式来操作的.现在的通讯录管理普遍都是采⽤计算机作为⼯具,通讯录管理程序来帮助⼈们进⾏更有效的通讯录信息管理。

本⽂就介绍基于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向移动终端的普及,现代通讯技术的迅猛发展,⼈们之间的联系越来越便捷,这也使得同时与许多⼈保持联系成为可能,这也使得同时与许多⼈保持联系成为可能,⽽单纯依靠⼈脑已经很难记住所有⼈的联系⽅式。

通讯录管理系统的设计与实现

通讯录管理系统的设计与实现

通讯录管理系统的设计与实现一、内容和要求(1)完成通信录信息的管理,包括添加、修改、删除、查询功能。

尽量丰富联系人的各项信息。

(2)能够根据联系的信息单独或分类查询。

(3)联系人的生日提醒功能。

(4)数据存储功能可以使用文件的块读写操作完成,也可以使用SQLite数据库(要学习如何用C/C++连接SQLite数据库)二、需求分析(1)添加:在系统中添加新成员,并保存在文件“通讯录.txt”中;(2)修改:读入要修改成员的姓名,按照提示进行修改;(3)删除:读入要删除成员的姓名,将进行删除;(4)保存:将所有成员数据保存在文件“通讯录.txt”中;(5)查找:读入要查找成员的姓名,查找成员将显示在屏幕上;三、实现代码#include<iostream>#include<string>#include<fstream>#include<string.h>int iusing namespace std;static int count=0;class telephone{char name[20]; //姓名char number[17]; //电话号码char birthday[18]; //生日int year,month,day,hour,minute,age;public:telephone(char *na,char *nu,int y,int m,int d,int h,int mi,int a);telephone(){};// ~telephone();char *getname(); //获得姓名char *getnumber(); //获得电话号码int getyear(); //获得年份int getmonth(); //获得月份int getday(); //获得日int gethour(); //获得小时int getminute(); //获得分钟int getage(); //获得年龄void display(); //输出信息void input(); //添加信息void insert(); //插入信息void Delete(); //删除信息void change(); //改变信息static int getcount();};//int telephone::count=0;telephone::telephone(char *na,char *nu,int y,int m,int d,int h,int mi,int a){strcpy(name,na);strcpy(number,nu);year=y;month=m;day=d;hour=h;minute=mi;age=a;// count++;}char *telephone::getname() //获得姓名{}char *telephone::getnumber() //获得电话号码{return number;}int telephone::getyear() //获得年份{return year;}int telephone::getmonth() //获得月份{return month;}int telephone::getday() //获得日{return day;}int telephone::gethour() //获得小时{}int telephone::getminute() //获得分钟{return minute;}int telephone::getage() //获得年龄{return age;}void telephone::display() //输出信息{cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"号码:"<<number<<endl;cout<<"生日:"<<hour<<":"<<minute<<" "<<year<<"-"<<month<<"-"<<day<<endl;}void telephone::input() //输入信息{char na[20];cout<<"输入姓名:";cin>>na;strcpy(name,na);cout<<"输入年龄:";cin>>age;cout<<"输入电话号码:";cin>>number;cout<<"输入生日(按时、分、年、月、日的顺序):";cin>>hour>>minute>>year>>month>>day;count++;}void telephone::insert () //插入信息{if(!age)input();}void telephone::Delete () //删除信息{strcpy(name,(this+1)->name);strcpy(number,(this+1)->number);hour=(this+1)->hour;minute=(this+1)->minute;year=(this+1)->year;month=(this+1)->month;day=(this+1)->day;age=(this+1)->age;count--;}void telephone::change() //改变信息{cout<<"please input again!"<<endl;input();}int telephone::getcount(){return count;}const int N=20;void menu();void createfile(char *a,telephone *array);void outputtel(telephone *array);void inputtel(telephone *array);int searchtel(telephone *array,char *na);bool inserttel(telephone *array);bool Deletetel(telephone *array,char *na);int main(){telephone array[N];int choice; //读入选项do{menu();cout<<"please input your choice:";cin>>choice;if(choice>=0 && choice<=6)switch(choice){case 1:inputtel(array); break;case 2:cout<<"input the name searched"<<endl;char na[20];cin>>na;int i;i=searchtel(array,na);if(i==N)cout<<"无此人!\n";elsearray[i].display();break;case 3:outputtel(array);break;case 4:if(inserttel(array))cout<<"成功插入一条记录!"<<endl;elsecout<<"插入失败!"<<endl;break;case 5:cout<<"input the name deleted:"<<endl;char na1[20];cin>>na1;// system("cls");if(Deletetel(array,na1))cout<<"成功删除一条记录!"<<endl;elsecout<<"删除失败!"<<endl;break;case 6:cout<<"input the name changed:"<<endl;cin>>na;i=searchtel(array,na);if(i==N)cout<<"没有此联系人,改变失败"<<endl;elsecout<<"被改变联系人的信息为:"<<endl;array[i].display ();cout<<"改变后的信息为:"<<endl;array[i].Delete ();array[i].change ();break;default:break;}}while(choice);createfile("通讯录.txt",array);return 0;}void menu() //定义菜单函数{cout<<"*********1.添加联系人*********"<<endl;cout<<"*********2.查询联系人信息*********"<<endl;cout<<"*********3.浏览联系人信息*********"<<endl;cout<<"*********4.插入联系人*********"<<endl;cout<<"*********5.删除联系人*********"<<endl;cout<<"*********6.改变联系人信息*********"<<endl;cout<<"*********0.退出*********"<<endl;}void createfile(char *a,telephone *array){ofstream outf(a);if(!outf){cout<<"can't open the file\n";return;}for(int i=0;i<count;i++){outf<<"姓名:";outf<<" "<<array[i].getname ()<<endl;outf<<"电话:";outf<<" "<<array[i].getnumber ()<<endl;outf<<"年龄:";outf<<" "<<array[i].getage ()<<endl;outf<<"生日:";outf<<" "<<array[i].gethour ()<<array[i].getminute();outf<<array[i].getyear ()<<"-"<<array[i].getmonth ()<<"-"<<array[i].getday ()<<endl;}outf.close ();}void outputtel(telephone *array) //输出对象信息{cout<<"学生总数="<<count<<endl;for(int i=0;i<count;i++)array[i].display();}int searchtel(telephone *array,char *na) //按姓名查找{int i,j=N;for(i=0;i<N;i++)if(strcmp(array[i].getname(),na)==0){j=i;break;}return j;}void inputtel(telephone *array) //输入对象元素{char ch;int i=0;do{if(telephone::getcount()==N)cout<<"人数已满,无法继续录入!"<<endl;if(!array[i].getage())array[i++].input();array[count].input();cout<<"继续输入吗?(Y or N)"<<endl;cin>>ch;}while(ch=='Y');}bool inserttel(telephone *array) //根据年龄插入{if(telephone::getcount()==N)cout<<"人数已满,无法插入!"<<endl;return false;}// else// for(int j=0;j<N;j++)// {// if(array[j].getage())// {// cout<<"无法插入!";// return false;// }// }for(int i=0;array[i].getage() ;i++);array[i].insert();return true;}bool Deletetel(telephone *array,char *na) //按姓名删除{if(telephone::getcount()==0)cout<<"没有记录,无法删除!"<<endl;return false;}int i=searchtel(array,na);if(i==N){cout<<"查无此人,无法删除!"<<endl;return false;}array[i].Delete();return true;}。

通讯录管理系统毕业设计(两篇)2024

通讯录管理系统毕业设计(两篇)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系统升级:版本管理、更新提示、升级策略总结:通过上述的详细阐述,我们可以看到,通讯录管理系统涵盖了用户界面设计、数据存储与管理、通讯录的分类与搜索功能、用户权限管理以及通讯录系统的扩展与升级等多个关键领域。

在该系统的设计过程中,我们需要重点关注用户友好性、数据安全性和系统的可扩展性。

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

通讯录管理系统的设计与实现精选文档
TTMS system office room 【TTMS16H-TTMS2A-TTMS8Q8-
大连民族大学
计算机科学与工程学院实验报告
实验题目:1. 学生信息管理系统的设计与实现
2. 暴力算法在旅行商问题中的应用
课程名称:信息系统开发案例
实验类型:□演示性□验证性□操作性□设计性综合性
专业:软件工程班级:144
学生姓名:赵耀学号:30
实验日期:2017年3月6日—4月27日
实验地点:金石滩校区I303机房
实验学时:24学时实验成绩:
指导教师:赵戈
通讯录管理系统的设计与实现
摘要
本项目用C++语言开发了一个简单的通讯录管理系统,该系统能对联系人
信息进行“增删改查”。

系统的UI设计基于Windows系统自带的控制台。

测试结
果表明该通讯录管理系统可以稳定正确运行,具有较高的可靠性。

关键词:通讯录管理系统;C++语言;Windows 控制台
目录
1.选题的背景和意义
当今时代,计算机已经成为人们生活中不可或缺的一部分,它打破了地域时间限制,改变了人们的工作和生活方式。

人们之间的联系越来越便捷,这就使得要经常与很多人保持着联系,而单纯依靠人脑已经很难记住所有人的联系方式还有其各做附加信息。

通讯录系统能方便用户的需求,满足用户迅速、准确的查找修改或者删除联系人信息,把各个联系人信息以文件保存。

本文介绍了c++编写简易通讯录管理:系统的分析,功能模块的设计,系统的流程图及运行界面。

此系统的主要管理的信息由:联系人的姓名、性别、电话号码,加深对c++语言程序设计的理解,提高算法设计的能力,锻炼编程的能力。

用c 语言编程一个通讯录管理系统软件,要求能实现通讯录管理系统中的增加信息,删除信息,显示通讯里的所有信息,按名字查询信息,保存通讯录,退出系统。

2.需求分析
用例图
通讯录管理系统的用例图如下图所示:
图用例图
用例文本
表输入联系人的用例文本用例编号001
用例名称输入联系人
用例描述首次输入联系人的姓名,电话号码,地址参与者用户
前置条件无
后置条件联系人信息记录存入内存
主事件流 1.系统显示输入前的通讯录人员表
2.用户输入联系人姓名
3.用户输入联系人电话
4.用户输入联系人地址
5.教师输入学生的英语成绩
6.系统显示输入后的通讯录人员表
扩展事件流无
表查询联系人的用例文本
表显示联系人的用例文本
3.总体设计
通讯录管理系统功能模块图
图通讯录管理系统的功能模块图
主控main函数执行流程图
图主控main函数的执行流程
执行流程图的解释说明
下面通过一个成绩输入的例子来进一步说明上述程序流程图:
Step 1:程序启动时显示系统主菜单,用户通过输入数字选择菜单项:
Step 2: 如果用户输入数字“1”,手动添加联系人信息或者文件导入
Step 3: 返回主界面后用户输入数字“4”,则显示所有人联系人信息
存储结构设计
本项目利用文本文件作为主要的外存存储结构,内存所用的数据结构是哈希表。

1.联系人信息结构体
struct node
{
string name;
string num;
string add;
char sign;
int count;
};
结构node 将用于存放联系人的基本信息,它将作为哈希表的数据域,其中各个字段的含义如下所示:
string name;保存姓名
string num;保存号码
string add;保存地址
char sign;哈希表标记
int count;联系人数量
4.详细设计
3程序运行结果
图给出了程序刚启动时的主菜单界面,用户通过输入1-9间的数字来选择菜单操作。

图程序启动时的主菜单界面
1.总结和展望
毋容置疑这次设计的程序是有很多不足的地方的,缺点还是很多。

当电话号码重复时依然可以存储,只可以用姓名进行查找,等其他问题,发现自己欠缺的东西还是不少,要学习更多只是来完善自己,充实自己。

附录
程序源代码:
主函数代码
旅行商问题暴力算法的设计与实现
1.问题简介
旅行商问题(TravelingSalesmanProblem,TSP)又译为旅行推销员问题、货郎担问题,简称为,是最基本的路线问题,该问题是在寻求单一旅行者由起点出发,通过所有给定的需求点之后,最后再的最小路径成本。

最早的旅行商问题的数学规划是由Dantzig (1959)等人提出。

2.算法介绍
数学建模
例如:给定4个地点{a,b,c,d}及其各地点之间的路程,找出其最短路径
模型示意图
算法思想
首先是在图为完全图的前提下,构造各地点间的图的结构,采用邻接数组的形式,将各个城市间的距离存储于图的数组中,用一个函数递归寻找从同一个顶点出发的各个地点的所有路径,再求出各个路径的路程,并与相应的路径输出,对路程数组进行冒泡排序后,经比较找出最短路径并输出。

算法流程图
3实验目的
通过程序找到最短路径和最短距离。

计算所有走法的个数,记录走过的地点,循环循环求各种路线的路程,变换路线顺序,求对应路线的路程,输出按该路线结果,比较并选择最优路线,输出最短距离和路径。

5实验代码
6实验结果
7.总结与展望
旅行商问题是生活中比较常见的问题,有效的方法可以节省人力物力。

通过暴力算法解决该问题,需要的时间比较长,应该在日后的学习中寻找更加高效快捷的方法。

相关文档
最新文档