个人通讯录管理系统软件综合实训设计报告.docx

上传人:b****7 文档编号:15390196 上传时间:2023-07-04 格式:DOCX 页数:25 大小:2.71MB
下载 相关 举报
个人通讯录管理系统软件综合实训设计报告.docx_第1页
第1页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第2页
第2页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第3页
第3页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第4页
第4页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第5页
第5页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第6页
第6页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第7页
第7页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第8页
第8页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第9页
第9页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第10页
第10页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第11页
第11页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第12页
第12页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第13页
第13页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第14页
第14页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第15页
第15页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第16页
第16页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第17页
第17页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第18页
第18页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第19页
第19页 / 共25页
个人通讯录管理系统软件综合实训设计报告.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

个人通讯录管理系统软件综合实训设计报告.docx

《个人通讯录管理系统软件综合实训设计报告.docx》由会员分享,可在线阅读,更多相关《个人通讯录管理系统软件综合实训设计报告.docx(25页珍藏版)》请在冰点文库上搜索。

个人通讯录管理系统软件综合实训设计报告.docx

个人通讯录管理系统软件综合实训设计报告

软件综合实训设计报告

题目:

个人通讯录管理系统

的开发与实现 

班级:

      

姓名:

     

学号:

    

指导教师:

     

2015年6月17日

题目:

个人通讯录管理系统的开发与实现

摘要:

通讯录就是当前每个人不可缺少的信息系统,利用vs20013制作个人通讯录管理系统,从根本上改变纸介质基础通讯录难以长久保存、容易丢失的弊端,从而提高信息管理与存储效率。

在对系统进行分析与设计的基础上,创建各种项目组件,若干个功能模块连编成个人通讯录管理系统。

关键字:

通讯录管理系统信息检索敏感词汉字首拼后台管理WPF

1、概述

1、1目的

个人通讯录就是当前每个人不可缺少的信息系统,通讯录、联系本就是每个人不可缺少的工具,目前以纸介质的通讯录最为普遍。

手工的信息管理存在许多弊端,如信息容易丢失、查找费时、存储量有限等。

随着科技的发展与人民生活水平的提高,计算机进入了千家万户。

作为计算机应用的一部分,使用计算机对通讯录进行管理,具有着手工管理所无法比拟的优点,如:

检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高通讯录管理的效率。

因此,开发一套通讯录信息管理软件就是很有必要的,并且意义重大。

从根本上改变纸介质基础通讯录难以长久保存、容易丢失的弊端,从而提高信息管理与存储效率。

1、2背景

随着互联网的爆炸性发展,人们越来越习惯于利用电脑实现所需的服务,电脑已深深影响到人们生活的各个方面,广泛的人际关系成为一个人的重要资源。

另外,传统的纸质通讯录不能满足一部分现代人的需要,而电子通讯录,由于其不受时间与空间的限制同时又具有传统通讯录的大部分功能,能够满足各类用户的常规与特殊需求,处理大量的联系人信息与众多的联系方式,而且其方便快捷,实现技术又比较成熟,受到当代人的喜爱,就是我们开发个人通信管理系统的主要缘由。

 

1、3研究内容

该系统主要分为两部分:

联系人部分与通讯部分。

为了方便用户查找自己想要的联系人信息,要将联系人按照组别进行分类或者按照姓拼音首拼进行分类。

读者可以按照组别进行查找,也可以按照联系人姓拼音首拼进行查找。

本系统还可让用户之间进行通讯交流,同时信息传递过程中会进行敏感词系统自动审查。

管理员会定期审查违章信息,并且进行数据统计以及对公共联系人进行操作,从而就是让用户使用个人管理系统,有更好的体验。

2.需求分析

2、1组织机构操作方式上的可行性

我们团队的成员都就是同一个班级的,相互之间也很熟悉,所以很有利于相互之间的交流与探讨,更好的完成系统设计工作。

因为团队的个人学习水平及擅长的不同,但我们很好地分配了任务。

我们的组长范志俊,平时学习非常刻苦,功底也比较扎实,技术水平也很高,所以由她担任我们的组长,来管理与给我们成员分配任务,管理我们系统的设计工作。

我们团队的其她成员非常善于合作服从管理,也对工作尽职尽责。

我们团队内部各尽其责,竭尽全力,共同完成系统工作。

所以在组织机构操作方式上就是可行的。

2、2基础数据的可行性

个人通讯录管理系统所需的数据、资料等大部分都可以从图书馆相关书籍中获取,同时有些相关数据可以通过教材以及周围的同学、朋友获取,所以在基础数据上就是可行的。

2、3经济上的可行性

我们小组就是以分工形式来进行本次课程设计,保证了项目的开发周期,节约了时间成本,也极大缩短了成员对开发、实现本系统的培训环节。

所以我们的经济成本就是极低的,所以在经济上就是可行的。

2、4技术上的可行性

软件需求:

操作系统Windows

数据库:

SqlSever2008

E_R制图部分:

亿图

配置需求:

计算机(配置要求不高)

因为我们系统界面设计采用C#+WPF语言、VS20013软件实现,并且这些软件所能实现的基本功能所需的知识我们基本都有所了解,所以在技术上就是可行的。

2、6目标分析

个人通信录管理系统通过计算机技术给用户对其通讯录的管理带来便利。

3.数据库外部设计

3、1标识符与状态

数据库软件的名称:

SqlSever2008

数据库的名称为:

DB_PER_ADDRESSLIST

3、2命名约定

3、2、1表命名命名

全部以T_为开头,加上表所存储数据所代表的意义的英文名。

用户登录表:

T_UserLogin

(id,user_name_user_password,type,user_pic,warn_num,delete_tf,register_time)

联系人表:

T_Linkman

(id,first_name,last_name,phone_number,mobile_number,e_mail,group_id,user_id,linkman_pic,first_py,last_py,delete_tf)

公共联系人表:

T_Common_Linkman

(id,linkman_name,tel_number,name_py)

组别表:

T_Group

(id,name,user_id)

好友表:

T_Friend

(id,first_uid,second_uid)

信息表:

T_Message

(id,send_id,receive_id,messgae,subtle,datetime,warn_tf)

敏感词表:

T_Subtle

(id,subtle_name)

汉字首拼字库:

T_Word_PY

(id,hz,py,zm)

3、2、2触发器命名

全部以TRI_为开头,加上对应的表名以及进行的操作类型,二者之间用下划线分割。

公共联系人Insert触发器:

TRI_Name_Py_Set_Insert

联系人Insert触发器:

TRI_Firstname_Lastname_Py_Set_Insert

信息Inset触发器:

TRI_Message_Inset

3、2、3存储过程命名

全部以Pro_作为开头,加上进行操作的所对应的英文名。

敏感词去重:

Pro_Distinct_Subtle

联系人与组别表联合查询:

Pro_Select_Linkman_GroupId

用户违章数:

Pro_User_Warn_Num

所有的数据库命名都就是以具体表的英文词汇组成,这样能够统一数据库表的命名,也能够更好的规范数据库表命名。

3、3设计约定

所有数据库的设计,采用面向对象的设计方法,首先进行对象实体的设计,最后将对象持久化到数据库中,所有的表与表之间的关联,这样能够将整个系统的设计与数据库设计有机的结合起来。

4.数据库结构设计

4、1概念结构设计

概念结构就是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。

也就就是要将概念上的结构转化为数据库系统所支持的实际数据模型。

 

第一种转化就是将实体转化为关系表。

这种转化较简单,需要将实体的属性定义为表的属性即可。

 

第二种转化就是联系的转化。

即将各个实体之间的联系转化为表格之间的关系,如外部键的定义。

 

数据库概念结构设计就是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。

这个阶段不用考虑所采用的数据库管理系统、操作系统类型、机器类型等问题。

这阶段可用的工具很多。

用的最多的就是E-R图(Entity-Relation,实体-关系图),另外还有许多计算机辅助工具(Computer Aided Software Engineering, CASE)可以帮助进行设计。

本系统采用了E-R图的方法进行数据库概念结构设计。

E-R图就是描述数据实体关系的一种直观描述工具。

这种图中有:

 

(1)实体:

用方框表示,方框内为实体的名称。

 

(2)实体的各种属性:

用椭圆表示,椭圆内为属性名称。

使用线段将其与响应的实体连接起来。

     

(3)实体之间的联系:

用菱形表示,菱形内为联系的名称。

 实体与实体之间的联系较多,比较常见的联系有l:

1,l:

N与M:

N这三种。

在上面工作的基础上归纳出人员管理数据库表格的组成之间的联系等等。

该数据库系统具有以下方面的特点:

 

结构合理,对一个人员建立多条记录。

所建立的数据冗余度小,独立性强。

建档、修改、查询、统计快速而准确。

 

保密性好、可靠性好。

个人通讯录管理系统中要有登陆,登陆就是管理系统中密不可分的部分,因此要创建一用户登录实体,用来保存登陆用户的详细信息。

用户登录实体属性图如图4-1所示。

图4-1  用户登录实体属性图

联系人就是个人通讯录管理系统重要组成部分之一,这里创建了一个联系人信息实体,用来存储联系人的详细信息。

联系人信息实体E-R图如图4、2所示。

图4-2 联系人信息实体属性图

公共联系人就是个人通讯录管理系统重要组成部分之一,这里创建了一个公共联系人实体,用来存储公共联系人的详细信息。

公共联系人实体E-R图如图4、3所示。

图4-3公共联系人信息实体属性图

组别就是个人通讯录管理系统重要组成部分之一,这里创建了一个组别信息实体,用来存储联系人组别的详细信息。

组别信息实体E-R图如图4、4所示。

图4-4组别信息实体属性图

好友就是个人通讯录管理系统通信模块重要组成部分之一,这里创建了一个好友信息实体,用来存储用户好友的详细信息。

好友信息实体E-R图如图4、5所示。

图4-5好友信息实体属性图

个人通讯录管理系统通信模块需要有信息记录,这里创建了一个通信信息实体,用来存储用户之间通信信息的详细信息。

通信信息实体E-R图如图4、6所示。

图4-6通信信息实体属性图

个人通讯录管理系统通信模块需要有敏感词过滤,这里创建了一个敏感词实体,用来存储敏感词的详细信息。

敏感词实体E-R图如图4、7所示。

图4-7通信信息实体属性图

个人通讯录管理系统联系人模块为了查找方便,我们设置了拼音首字母查找的功能,这里创建了一个汉子拼音字库实体,用来存储汉字对应的拼音的详细信息。

汉字拼音字库实体E-R图如图4、8所示。

图4-8汉子拼音字库实体属性图

实体-联系图

4、2逻辑结构设计

4、2、1用户登录表(T_UserLogin)

Id

id

autoincrement

int

PK

非空

user_name

用户名

varchar(50)

非空

user_password

密码

varchar(50)

非空

type

用户类型

int

非空

user_pic

用户头像

varchar(50)

warn_num

违章信息数

int

0

delete_tf

就是否删除

int

0

register_time

注册时间

datetime

(getdate())

4、2、2联系表(T_Linkman)

Id

id

autoincrement

int

PK

非空

first_name

varchar(4)

非空

last_name

varchar(8)

非空

phone_number

宅电

varchar(20)

mobile_number

手机

int

e_mail

邮箱

varchar(50)

group_id

组id

int

FK

0

user_id

所属用户id

int

FK

非空

linkman_pic

联系人头像

varchar(50)

first_py

姓首拼

varchar(5)

last_py

名首拼

varchar(5)

delete_tf

就是否删除

Int

0

4、2、3公共联系表(T_Common_Linkman)

Id

id

autoincrement

int

PK

非空

linkman_name

联系人名

varchar(50)

非空

tel_number

varchar(20)

非空

name_py

宅电

varchar(10)

4、2、4好友表(T_Friend)

Id

id

autoincrement

int

PK

非空

first_uid

当期用户id

int

FK

非空

second_uid

好友id

int

FK

非空

4、2、5组别表(T_Group)

Id

id

autoincrement

int

PK

非空

name

组别名

varchar(20)

非空

user_id

所属用户id

int

FK

非空

4、2、6信息表(T_Message)

Id

id

autoincrement

int

PK

非空

send_id

发信人id

int

FK

非空

receive_id

接信人id

int

FK

非空

messgae

信息

varchar(max)

非空

datetime

发信时间

datetime

(getdate())

subtle

邮箱

varchar(50)

warn_tf

就是否违章

smallint

0

4、2、7组别表(T_Subtle)

Id

id

autoincrement

int

PK

非空

subtle_name

敏感词名

varchar(50)

非空

4、2、8汉字首拼表(T_Word_PY)

Id

id

autoincrement

int

PK

非空

hz

汉字

varchar

(2)

非空

py

拼音

varchar(10)

非空

zm

字母

varchar

(2)

非空

4、3物理结构设计

对于给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程为物理设计。

数据库的物理结构主要指数据库的存储记录格式、存储记录安排与存储方法,这些都依赖于所使用的系统。

在网状模型与层次模型系统中,这一部分内容较复杂,因为它们就是用指针表示记录的联系。

关系模型系统比较简单一些,仅包含索引机制、空间大小、块的大小等内容。

在设计物理结构时,应先确定数据库的物理结构,然后对物理结构进行评价。

评价的重点就是时间与空间的效率。

数据的存储决定了数据库占用多少空间,数据的处理决定了操作时间的效率。

物理结构设计应尽量减少存储空间的占用,也应尽量减少操作次数,做到相应时间越快越好。

如果评价结果满足原设计要求,则转向物理实施。

否则,就要重新修改或重新设计物理结构,有时甚至要回到逻辑设计阶段修改数据模型。

物理设计完成之后,就应该得到详细的磁盘分配方案、存储方案、各种基表的详细信息等。

根据这些信息就可以上机建立数据库。

数据库存储物理地址:

C:

\ProgramFiles\MicrosoftSQLServer\MSSQL10_50、MSSQLSERVER\MSSQL\DATA

5、数据库实施

对数据库的物理设计初步评价完后,就可以开始建立数据库了。

数据库实施主要包括:

用DDL定义数据库结构,组织数据入库,编制与调试应用程序,数据库试运行。

所谓使用DDL定义数据库结构,就就是使用DBMS的建库命令建立相应的用户数据库结构。

组织数据库入库就就是将装载在其她介质上的数据输入到数据库中去。

为了完成相应的操作与检索,需要编制很多程序,形成一个程序系统来使用该数据库,这部分就是程序设计的任务。

一切就绪之后,就可以试运行数据库了。

6.软件功能设计

6、1用户功能

用户可以通过注册,然后登录的方式进入个人通信录管理系统首页,首页设立如下功能链接。

6、1、1个人通讯录管理

增加联系人信息:

增加姓名,宅电,手机号,邮箱,下拉列表选择分组

删除联系人信息:

删除联系人会存入回收站

修改联系人信息:

修改姓名,宅电,手机号,邮箱,下拉列表修改分组

通讯录导出至Excel

6、1、2公共通讯录查瞧

可以查瞧公共通讯录中的电话名称与电话号码

6、1、3通讯

通信信息记录查瞧:

通过当前用户id查询信息表,获取通信记录

信息通信:

好友之间的信息发送

发送信息模块就是通过本通讯录的好友功能,发送消息给自己的好友,本模块不使用网络通信,也并不用外接的发送短信的接口,只就是将信息与收信息人的id存入数据库,并且也通过id查询自己已收到的信息,并且动态显示在界面上。

由于如果这么设计的化,考虑到不能实时显示的问题,若采取循环判断这种方法考虑到会占用大量系统资源,所以暂时增加了刷新按键,可以用户手动刷新,我们小组慢慢讨论解决这个问题,现在做的不就是特别的完美。

6、1、4回收站

批量删除:

可以使用多选框选择多项,从而达到批量删除联系人的效果,使用delete直接删除

批量还原:

可以使用多选框选择多项,从而达到批量还原联系人的效果,通过修改联系人表中的delete_tf字段实现效果。

回收箱模块主要意图就是防止用户操作失误,一时大意将联系人删除,从此无法恢复,本模块就是将用户操作删除联系人后,将该联系人表的isdel字段设为1,先进行数据软删除,使用户在前台瞧不到该联系人,但此信息依然存在于数据库之中,回收箱里显示的就就是已经被软删除的联系人,若用户还想恢复可点击恢复按钮,那么将把联系人表isdel字段设为0,可重新显示在用户界面上。

回收箱还做了清空回收箱,批量删除与还原的功能,操作方便快捷。

6、1、5好友

增加好友:

通过现有的用户表中,获取其她用户id,从而达到加好友的效果。

删除好友:

直接从好友表中,删除符合条件的数据

6、1、6联系人检索

组别检索:

每个联系人都有组别id,通过对联系人进行组别判断就能获得想要的数据结果

联系人姓首拼检索:

每个联系人都有对应的姓首拼与名首拼,可以通过对于想要条件的判断,从而得到想要的数据

直接查找电话号码或者姓名:

通过模糊查询的sql语句,从而可以的到想要的数据。

搜索联系人功能模块就是通过用户输入联系人姓名或者手机号或者字母来查询联系人信息。

这里用了数据库模糊查询,将用户输入的用Like关键字进行查询,使得搜索更快捷,操作更方面,用户体验更好,功能更加实用,本次查询还考虑到了如果查询数量巨大,会用到多页显示的问题,本系统也应用了数据库查询分页的技术来解决此问题。

6、2管理员

管理员直接通过登录的方式进入个人通信录后台管理系统首页,首页设立如下功能链接。

用户可以使用的功能有:

6、2、1敏感词管理

删除:

删除导入数据中不符合条件的数据

修改:

修改导入的数据中不符合条件的数据

从Text中导入数据

6、2、2公共通讯录管理

增加公共通讯录:

增加名称,电话号码

删除公共通讯录:

删除不符合条件的数据

修改公共通讯录:

修改名称,电话号码,拼音首拼

6、2、3信息统计

今日注册用户数:

通过注册时间筛选统计,用户表中delet_tf为0的所有用户数

累计注册用户数:

统计用户表中,delet_tf为0的所有用户数

今日通讯信息数:

通过发信时间筛选统计,信息表中warn_tf为0的所有信息数

累计通讯信息数:

统计信息表中warn_tf为0的所有信息数

违章信息数:

统计信息表中warn_tf为1的所有信息数

6、2、4信息管理

用户管理:

删除违章信息数超过一定量的用户

违章信息审查:

人为审查违章信息

汉字首拼字库查瞧:

对于汉字首拼字库进行管理

7.界面设计

登录界面

通过Tab可以切换输入的文本框,同时也可以对管理员与用户身份的切换,对于输入框有非空判断处理。

注册界面

注册时会验证用户名就是否存在,以免用户名重复,同时也有非空判断

用户登录首界面

添加联系人界面

回收箱界面

后台管理主界面

管理员登录后,进入的页面,可以查瞧近3天注册的用户信息,同时也可以查瞧已注册用户数,查瞧通信信息数,查瞧当天通讯详细信息,以及违章信息详细信息。

管理员可以通过功能选择,跳转到相应的管理功能页面。

公共联系人管理主页面

通过左侧的功能导航栏与首页的功能选择按钮都可以进入该界面,进行对于公共联系人的添加、修改、删除。

后台公共联系人添加主页面

后台公共联系人修改主页面

后台公共联系人删除主页面

后台用户管理管理页面

管理员可以通过勾选多选框从而实现对于用户的删除操作

8.结束语

功能设计并不就是很完善,还有许多地方需要进行修改改进,时间有限就是因素之一,其次就是因为对于技术开发仍然有些不足。

需求分析,以前没有做过类似的,所以在开发过程中,产生了一个重大错误,也可以说不算错误,只能说当初思考功能结构的时候,没有将问题思考清楚,产生了一定的纰漏,最后通过添加好用功能模块,实现通信功能。

数据库,我们组所有人都就是第一次接触触发器,虽然没有写多少个触发器,但就是为了实现敏感词过滤,绞尽脑汁,最后实现想要的效果,虽然还存在一定几率的失败,最后只能通过人为审查弥补这个缺点。

不过可以通过分词技术处理后,能真正的实现这个功能模块,这个还需要学习学习,这可能会成为我们假期学习计划之一吧。

存储过程,我们组有些人以前写过几次,但就是大部分人也都就是第一次接触,所以发现数据库不仅仅只有增删改查,那只就是冰山一角,所以激励我们好好学习数据库。

文档,第一次写这类型的文档,虽然有模板,还就是很迷茫,通过我们组互相之间的沟通交流,基本完成文档。

逐步了解了数据库逻辑结构,数据结构,物理结构的书写内容,逐步了解,需求分析该如何书写。

几千行的文档,写完后,瞬间油然而生一种自豪感,对于毕业设计那一万字感觉到,不就是太难,对以后的毕业设计更有信心完成了。

一个开发小组不需要很多人,只要大家各司其职,一个很大的管理系统,被细化为多个小部分,这种分而治之的思想,就是的一个大问题,变成若干小问题而已,原本困难的事也变得简单了。

每个人把自己写的功能模块拼接在一起,一个大的个人通讯录管理系统就完成了。

9、参考文献

[1]王小科,王军,赵会东,C#项目开发案例全程实录(第2版)北京:

清华大学出版社,2011

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2