大学课程设计说明书课程名称管理信息系统题目通讯录管理系统学院班级学生姓名指导教师日期目录1.需求分析 (3)2.系统分析 (4)2.1.系统的可行性研究 (4)2.2.功能需求分析 (4)3.系统设计 (5)3.1.系统模块设计 (5)3.2.数据库设计 (5)4.系统实施 (7)4.1.开发环境 (7)4.2.建立数据库 (7)4.2.1.数据库创建代码 (7)4.2.2.数据库表创建代码 (8)4.3.程序设计 (10)4.3.1.主程序的设计 (10)4.3.2.登录界面的设计 (12)4.4.系统测试 (19)5.课程设计总结 (25)6.参考文献 (26)1.需求分析随着社会的发展,人际关系变得越来越重要,为了保持良好的人际关系,必须经常与亲戚、朋友、同学、同事保持联系,但是有时候存在着许多的限制条件,比如怎样找到交流对象的各种信息?可能你会想到现实生活中的手机等通讯工具,由于这些工具的单一性,不可能在第一时间找到自己想要的信息资料,因此,为了能够快速查找到联系人的信息,节省查找时间,开发通讯录管理系统。
通讯录管理系统是一个基于SQL数据库储存和JAVA界面模式的个人通讯录管理系统。
它是将自己的联系人的具体信息集中管理,成为一个方便人们使用的小软件。
在开发过程中主要运用Java, SQL Server技术,由于开发工具和数据库之间的良好使用,可以为开发带来方便,使之成为一个可施行的系统。
从而达到开发的目的-----实现对通讯录信息的管理。
通过采用相关技术,以及老师的辅导和同学们的帮助,将系统设计的功能全部实现。
功能包括:用户的登录, 添加联系人信息,修改联系人信息,删除联系人信息,查询联系人信息,可以浏览全部通讯的联系人,并且可以根据数据表的各字段来查询你所要找的联系人等功能。
2.系统分析2.1. 系统的可行性研究目的:可行性研究的目的是用最小的代价在尽可能少的时间内确定问题是否能够解决。
而该系统正式用比较简单的VFP语言来编写的小型的、实用的通讯录信息管理系统,既能很好地完成对用户信息的管理,又比较经济实惠。
本系统采用的是VFP语言,在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上也有很丰富的相关资料,通过参考一些功能模块程序的设计,实现该系统是完全可以的。
本系统的设计是在windows XP中文版环境下,使用Visual开发的。
它是可以运行于windows XP相关平台的数据库开发系统。
Visual不仅可以简化数据库管理,而且应用程序的开发流程更为合理,它使组织数据,定义数据库规则和建立应用程序的工作变得简单易行,利用可视化的设计工具和向导,用户可以快速的创建表单、查询等。
2.2. 功能需求分析本系统主要实现对通讯录信息进行管理,需要实现以下几个方面的管理功能:(1)通讯录管理信息:信息的添加、删除、浏览、修改和查询等操作。
(2)系统维护:包括用户登录,用户修改密码,数据的修改、浏览、添加、删除以及按姓名、联系方式、地址进行查询。
3.系统设计3.1. 系统模块设计图3-1系统模块结构图添加:系统提示用户添加新人员信息,输入到文件中,人员的信息包含姓名(name)、电话号码(phonenum)、类型(type)、电子邮件(email)。
显示:该功能显示所有以保存的人员的姓名、电话号码、类型和电子邮件。
查询:由用户输入要查找的人员姓名、电话号码或者类型,系统将调用查找函数,使用相关文件命令输出所查找人员的相关信息。
删除:由用户输入需要删除人员的姓名,系统调用删除函数将此人所有相关信息删除。
修改:由用户输入需要修改的人员的姓名,系统调用修改函数,用户修改需修改的信息。
保存退出:完成任务,退出系统。
3.2. 数据库设计数据库中包括系统用户表、通讯表各表结构设计如下。
1、系统用户表2、用户表代表了一个用户的个人信息,是不允许随意修改的,所以本系统采用了一定的保密措施,主要是用户的管理,所有的用户信息保存在这个表中,该表被命名为用户表.DBF,其结构表,如表所示。
表系统用户表结构主要是通讯录信息的管理,包括联系方式、地址、电话等。
该表被命名为通讯录.DBF,主要是在建表时利用表设计器对表四要素:字段、类型、长度、小数位相应的设置。
其结构表如表所示。
表通讯录表结构4.系统实施4.1. 开发环境⑴开发条件:硬件:没人一台Intel Pentium4以上的计算机软件:Word、Visio、、Windows XP、SQL Server2000;⑵开发时间:开发的整个过程在三周内完成;⑶经费问题:经费少,适合学生开发的简单系统。
4.2. 建立数据库4.2.1.数据库创建代码create database 通讯录管理系统on primary(name ='通讯录管理系统',Filename='d:\数据库\通讯管理系统.mdf',size=10mb,maxsize=100mb,filegrowth=20%)log on(name='通讯录管理系统',filename='d:\数据库\通讯录管理系统.ldf',size=20mb,maxsize=100mb,filegrowth=20%)4.2.2.数据库表创建代码4.2.2.1. 用户表create table 用户(用户名 char(20) primary key,密码 char(40) not null,)4.2.2.2. 联系人表create table 联系人(编号 char(10) primary key,姓名 char(10),性别 char(4) not null,电话号码 char(10) not null,E_mail char(50),地址 char(30),分组类型 char(10),)4.2.2.3. 分组表create table 同学分组(同学编号 char(10)primary key FOREIGN KEY(同学编号)REFERENCES 联系人(编号),姓名 char(10),)gocreate table 朋友分组(朋友编号 char(10)primary key FOREIGN KEY(朋友编号)REFERENCES 联系人(编号),姓名 char(10),)gocreate table 同事分组(同事编号 char(10)primary key FOREIGN KEY(同事编号)REFERENCES 联系人(编号),姓名 char(10),)4.2.2.4. 视图创建代码gocreate view 朋友asselect 朋友分组.朋友编号,朋友分组.姓名,电话号码,性别,E_mail,分组类型from 朋友分组,联系人where 朋友分组.朋友编号=联系人.编号gocreate view 同学asselect 同学分组.同学编号,同学分组.姓名,电话号码,性别,E_mail,分组类型from 联系人,同学分组where 同学分组.同学编号=联系人.编号gocreate view 所有联系人asselect 联系人.姓名,联系人.电话号码,联系人.性别,联系人.E_mail,分组类型from 联系人go4.2.2.5. 存储过程代码创建create procedure _朋友asselect 朋友分组.朋友编号,朋友分组.姓名,电话号码,性别,E_mail,分组类型from 联系人,朋友分组where 朋友分组.朋友编号=联系人.编号gocreate procedure _同学asselect 同学分组.同学编号,同学分组.姓名,电话号码,性别,E_mail,分组类型from 联系人,同学分组where 同学分组.同学编号=联系人.编号gocreate procedure _所有联系人asselect *from 联系人4.3. 程序设计4.3.1.主程序的设计程序在运行期间要使用部分的变量来传递数据,所有这些变量都要在程序中定义。
在Visual 中新建一个项目文件,以“个人通讯录管理系统”的名称保存。
打开该项目的管理器,在管理器的“代码”选项卡中添加一个名为“MAIN”的代码文件,并在“MAIN”代码文件窗口中添加代码如下:SET TALK OFF &&关闭对话SET ESCAPE OFF &&关闭ESCAPE键SET EXACT ON &&打开完全匹配SET EXCLUSIVE ON &&打开独占SET CONSOLE ON &&将输出结果到发送到主窗口或当前窗口SET DATE TO LONG &&设置长日期SET SCORE OFF &&关闭分值栏SET SAFETY OFF &&关闭安全提示SET STATUS BAR OFF &&关闭系统提示栏SET CENTURY ON &&打开世纪开关SET DELETED ON &&屏闭删除项SET SYSMENU OFF &&关闭系统菜单SET NOTIFY OFF &&关闭提示&&设置系统窗口属性= .F. &&取消最大化按钮= 800 &&设置最大宽度= 600 &&设置最大高度= "个人通讯录管理系统" &&设置窗口标题= '' &&设置窗口背景图片= .T. &&指定表单初次显示时,自动位于主窗口中央public UserName, UserType &&定义全局变量Do &&打开菜单Do FormREAD EVENTSProcedure On QuitCLEAR EVENTSCLOSE ALLQUITEndprocedure4.3.2.登录界面的设计4.3.2.1. 用户登录模块登录界面的作用是为了验证用户的合法性,只有合法的用户才能进入系统,并且要求使用者提供密码。
设计完成的登录界面如图所示。
图登录设计界面在该界面中显示当前的操作时间,该时间为本系统从操作系统中取出的时间,而且不允许操作者进行修改,所以在表单执行时会自动显示该时间,并设置成只读状态。
此外,该登录界面还设置了一些美化操作。
采用动态效果,让“欢迎使用通讯录系统”动起来。
密码错误将不许用户进入系统。
上述功能的代码设计如下:对象cmdOK 过程:ClickIF ALLTRIM == ''MessageBox("请输入用户名")RETURNENDIFIF ALLTRIM == ''MessageBox("请输入密码")RETURNENDIFSELECT 用户表&&查找指定用户名为的记录Locate For Allt(用户名)=Allt Found() == .T. &&如果找到If Allt(密码) == Allt &&比较密码,成功则进入MessageBox("欢迎光临", 64, "提示信息")UserName = 用户名UserType = 用户类型release thisformElse &&比较密码不成功MessageBox("密码不正确", 16, "错误提示")EndifElse &&没有找到指定用户MessageBox("用户名不存在", 16, "错误提示")Endif对象:Timer1 过程:Timerlocal i,j,ki=int(rand()*255)j=int(rand()*255)k=int(rand()*255)4.3.2.2. if 用户注册模块设计完成的注册界面如图所示。