版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要通讯录管理系统是典型的管理信息系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我们使用MICROSOFT公司的VISUALBASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。关键字:通讯录 管理信息系统 MIS VisualBasicSummaryessbooknagentthesystemisasysteS)oftypicalnagentinfortion,itsdevelnttopririlyincludetheestablishingofbackstagedatabasetoapplytaspectsoftheprocedure'sdevelntsthintenanceandhead.questtoestablishtorisethedataconsistencyththethattheeteisstrong,thedatasafetylikefortheforr.thenrequestforthelatterappliedtheprocedurefunctionisete,easyusageetc.characteristics.Passbyanalysis,andusethenyCtodevelopthetool,andkeuseofitsprovideeverykindoftofacetotheobject'sdevelnttool,andparticularlyisadatandowythisacanconveniencebuttheen'snipulatethedatabase'sintelligencetheobject,andestablishthesystemintheinashorttifirstappliedprototype,then,toearlyprototypethesystemproceedsneed onbehalf,continuouslyrevisethiove,untilfortionthecustrbesatisfiedthofcanlinesysteyd:essbooknagentinfortionsystemSsualsic目 录第一章 绪 论 41.1课题简介 41.2开发的意义 41.3团队构成 5第二章 开发环境及实现技术 62.1开发环境 62.2开发工具简介 6第三章 系统设计 73.1概要设计 73.2详细设计 8第四章 数据库设计 104.1数据库S简介 104.2数据库需求分析 114.3数据库需求分析 11第五章 详细设计 135.1系统登录模块的设计与实现 135.2主界面的设计与实现 175.3单人资料模块的设计与实现 205.4模糊查询模块的设计与实现 235.5全体资料模块的设计与实现 265.6用户注册模块的设计与实现 275.7用户维护模块的设计与实现 285.8备忘提醒模块的设计与实现 30第六章 系统使用说明 336.1使用说明 336.2运行环境 33第七章 设计心得 34参考文献 35第一章 绪 论1.1课题简介通讯录管理系统是每一个用户管理通讯录的不可缺少的一个管理信息系统,它的内容对于用户的管理者来说是至关重要的,所以通讯录管理系统应该能够为每一个用户的管理者提供充足的信息和快捷的查询手段,大大的方便用户合理的管理通讯录。随着科学技术的不断提高,计算机科学日渐成熟,网上通讯工具的迅速发展,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对通讯录进行管理,具有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高通讯录管理的效率,也是用户理财的科学化、正规化管理,与先进科学技术接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情,对于我们即将计算机专业毕业的学员来说,也是一次将计算机应用于现实管理的一次很有意义的实践活动。1.2开发的意义计算机已经成为我们学习和工作的得力助手,使用其可方便的管理通讯录今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域。现在我国的通讯录管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。我作为一个计算机应用专业的毕业生,希望可以在这方面有所贡献。改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我所学的知识编制出一个实用的程序来帮助用户进行财务管理。开发这一系统的好处大约有以下几点:第一、可以存储大量的通讯录信息,安全、高效;第二、只需一档案录入员即可操作系统,节省人力;第三、可以迅速查到所需通讯录信息。为将来用户上网做好准备跟据2003年中国电信的调查报告显示我国的上网人数已达到1870万,互联网已经十分普及,况且现在网上通讯已经出现,本系统为用户将来的上网作了先期工作。1.3团队构成指导教师:****成员:******第二章 开发环境及实现技术2.1开发环境硬件系统:奔腾100以上CPU、64M以上内存、1G以上硬盘、光驱。软件系统:indos9x或更高版本、isualasic6.0中文版、ccess数据库。2.2开发工具简介微软公司的sualsic6.0是应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。Visualsic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统是一个相对较好的选择。cess2000就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检cess的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于el的电子表格,可以使数据库一目了然。另外,Access允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。微软的J数据库引擎提供了与数据库打交道的途径,我们是通过它以及sualsic来访问数据库并对其进行各种操作。Visualsic、Access以及其他微软的软件产品都是通过共用J数据库引擎,从而给用户提供了丰富的数据类型。控件在数据库中的信息与将信息显示给用户看的sualsic程序之间架起了一座桥梁。我们可以设置控件的各个属性,告诉它要调用那个数据库的哪个部分。控件根据数据库中的一个或多个数据表建立一个dynaset-type(动态集合)类型的记录集合。一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。DATA控件还提供了用来浏览不同记录的各种跳转按钮。将控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系。第三章 系统设计3.1概要设计3.1.1概要设计阶段的主要任务①系统分析员审查软件计划、软件需求分析提供的文档,提出最佳推荐方案,用系统流程图,组成系统物理元素清单,成本效益分析,系统的进度计划,供指导教师审定,审定后进入设计。②确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略。③编写概要设计说明书,用户手册,测试计划,选用相关的软件工具来描述软件结构,结构图是经常使用的软件描述工具。选择分解功能与划分模块的设计原则,例如模块划分独立性原则,信息隐蔽原则等。3.1.2概要设计的过程概要设计要先进行系统设计,复审系统计划与需求分析,确定系统具体的实施方案;然后进行结构设计,确定软件结构。3.1.3概要设计的原则①将软件划分成若干独立成分的依据。②如何表示不同的成分内的功能细节和数据结构。③如何统一衡量软件设计的技术质量。3.1.4系统功能分析根据学校的教务人员提供的学生档案管理的信息,预测开发的管理系统的达到的功能如下:1、用户登录2、单人资料管理3、模糊查询4、多人资料浏览5、数据备份6、退出系统根据以上分析,该系统考虑将整个系统分解成如图3-1模块结构图:登录登录主界面主界面单人资料管单人资料管理模糊查询全体资料视图系统维护图3-1模块结构图并且在系统的开发过程中,我尽量注意模块的高内聚、低耦合,使得系统的整体性能提高,并且也有利于投入使用后的系统维护。3.2详细设计3.2.1详细设计的任务详细设计就是要在概要设计的结果的基础上,考虑“怎样实现”这个软件系统,直到对系统中的每个模块给出足够详细的过程性描述。主要任务如下:①为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;②确定每一模块使用的数据结构;③确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。④要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期望输出等内容。3.2.2详细设计的方法程序流程图、N-S图、PAD图、I本系统在开发过程中所采用的详细设计方法为IPO图:1、信息维护模块IPO图:通讯录信息提供相应通讯录信息提供相应的界面供操作人员录入保存到表 2、查询模块IPO图:I P O查询内容的设定提查询内容的设定提供相应的界面供操作人员操作1.显询果2.统示的查结计相关信息3、用户管理模块IPO图:I P O注册用户删除用户修改用户提注册用户删除用户修改用户提供相应的界面供操作人员操作保存表第四章 数据库设计4.1数据库Access简介数据库的概念数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。新建一个数据库创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。1.标识需要的数据;2.收集被标识的字段到表中;3.标识主关键字字段;4.绘制一个简单的数据图表;5.规范数据;6.标识指定字段的信息;7.创建物理表。修改已建的数据库数据库的修改分为:添加、编辑和删除记录。这三种操作均可由sualsic创建的程序来完成,下面的章节将详细描述实现的具体方法。实现数据库之间的联系数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。4.2数据库需求分析根据本人通讯录管理的实际情况,分析得到如下的R图。passdtable表:用用户表name passwordtable3表:编号姓名电话通讯录表联通讯录表手机QQ电子邮件4.3数据库需求分析详细数据库结构如下。passdtable表:table3表:测试用例详见表第五章 详细设计5.1系统登录模块的设计与实现1.流程图开始NN是否正确Y输入登录密码主界面2.界面:界面包括的控件有标签、文本框、组合框、命令按钮等控件。3.实现过程:第一步将所需的控件放到窗体的相应位置;方法:首先在“工具箱”中选中所需的控件图标,然后在表单的恰当位置上单击鼠标并拖动鼠标,即可把由所选取的控件生成的对象添加到窗体上。如下图:标题第二步,选择窗体或控件进行属性设置,如图为“确定”标题位置第三步双击相应的控件,在控件的相应过程中编写代码:如此窗体上“确定”与“取消位置PrivateSubcmdOK_Click()'检查正确的密码Dimpa,pt,pa1,pt1AsStringDimiAsIntegerret.MoveFirstret.Find"name='"&Combo1.Text&"'"pt=ret("password")pa=ptIftxtPassword=paThen'frmSplash.showLoginSucceeded=TrueMe.HidefrmMain.ShowUnloadMeElseMsgBox"无效的密码,请重试!",,"登录"LOGINNO=LOGINNO+1IfLOGINNO>2ThenMsgBox"对不起,您不能使用该系统!",64,"登录失败"UnloadMeUnloadfrmLoginExitSubEndIftxtPassword.SetFocusSendKeys"{Home}+{End}"EndIfEndSubPrivateSubcmdCancel_Click()'设置全局变量为false'不提示失败的登录LoginSucceeded=FalseMe.HideUnloadMeEndSub此程序段中,“IF”语句的作用是判断用户输入的用户名与密码和数据库的是否相同,如果相同,则执行Me.Hide(隐藏当前的窗体)和frmMain.Show(调出系统主界面),如果密码输入错误,则提示:使用户重新输入密码。oad语句的作用是下载窗体。此窗体上控件的主要作用是从用户表中获得用户名,其列表项主要通过窗体加载时获得。程序如下:PrivateSubForm_Load()'固定窗体在屏幕中央left=(Screen.Width-Width)\2top=(Screen.Height-Height)\2OnErrorResumeNextret.MoveFirstDoWhileNotret.EOFCombo1.AddItemret("name")ret.MoveNextLoopret.MoveFirstCombo1.ListIndex=0EndSub其中数据库的连接是通过模块l1.bas实现的,代码如下:DeclareSubRtlMoveMemoryLib"kernel32"(lpvDestAsAny,lpvSourceAsAny,ByValcbCopyAsLong)PublicconAsNewADODB.ConnectionPublicretAsNewADODB.RecordsetDeclareFunctionGetComputerNameLib"kernel32"Alias"GetComputerNameA"(ByVallpBufferAsString,nSizeAsLong)AsLongFunctionsGetComputerName()AsStringDimsBufferAsStringDimlBufSizeAsLongDimlStatusAsLonglBufSize=255sBuffer=String$(lBufSize,"")lStatus=GetComputerName(sBuffer,lBufSize)sGetComputerName=""IflStatus<>0ThensGetComputerName=left(sBuffer,lBufSize)EndIfEndFunctionSubmain()Dimsql1AsStringsql1=App.PathIfright(sql1,1)<>Thensql1=sql1+EndIfsql1="Provider=Microsoft.Jet.OLEDB.3.51;PersistSecurityInfo=False;DataSource="&sql1&serdatabasel.mdb"con.Opensql1sql1="select*frompasswordtable"ret.Opensql1,con,adOpenStatic,adLockOptimisticIfret.RecordCount=0ThenfrmLogin1.ShowElsefrmLogin.ShowEndIfEndSub5.2主界面的设计与实现主界面是用菜单形式和框架表现的,如图:菜单的制作过程如下:首先通过“工具”菜单中的“菜单编辑器”调出菜单编辑器,然后进行菜单的设置,如下图:设设置菜单的快捷键调节调节菜单的级别PrivateSubmnuall_Click()SSTab1.Tab=2EndSubPrivateSubmnuBack_Click()Data1.Recordset.CloseData2.Recordset.CloseUnloadfrmAboutUnloadfrmHelpUnloadfrmLoginUnloadfrmLogin1UnloadfrmTipUnloadfrmMainfrmBack.ShowEndSubPrivateSubmnunote_Click()frmTip.ShowEndSubPrivateSubmnusigle_Click()SSTab1.Tab=0EndSubPrivateSubmnusup_Click()SSTab1.Tab=1EndSubPrivateSubmnuwf_Click()frmwf.ShowEndSub主要是通过Show方法调用相应的窗体及sstab的tab属性调用相应的页框。Sstab的创建方法如下:第一步将所需的控件放到窗体的相应位置;方法:首先在“工具箱”中选中所需的控件图标,然后在表单的恰当位置上单击鼠标并拖动鼠标,即可把由所选取的控件生成的对象添加到窗体上。如下图:第二步,选择窗体或控件进行属性设置,如图为“SSTAB”的属性设置界面:活活动选项卡择卡的个数的设定标题位置5.3单人资料模块的设计与实标题位置1、流程图:开始YY是否继续N增加删除等操作退出2、运行界面:1.实现过程:界面的构造方法同5.2,主要代码如下:的代码如下:ivateSubcick()ta1.cordset.wSub主要通过addnew方法实现记录的增加。的代码如下:ivateSubclete_Click()'如果删除记录集的最后一条记录'记录或记录集中唯一的记录mgStringg="是否确定要删除记录"&$(10)g=gIfgBox(g,17,"删除记录?")1ntSubta1.cordset.leteta1.cordset.xtta2.freshta1.freshSub主要通过delete方法实现记录的删除。的主要代码如下:ivateSubcfresick()'这仅对多用户应用程序才是需要的ta1.freshta2.freshta1.recordset.updateta2.recordset.updategBox"保存成功!",,"提示"Sub的代码如下:ivateSubceviousick()ta1.cordset.eviousIfta1.cordset.ngBox"已到第一条!",,"提示"ta1.cordset.rstIfSub主要通过evious方法实现记录的移动,并通过Ifta1.cordset.n语句判断有没有到文件头,如正确,则通过ta1.cordset.rst语句将指针指向第一条记录。“下一条记录”的实现方法与此相同。另外数据库的连接主要通过data控件实现,连接方法如下:数数据来源实实现与库的相连相连实现实现与表的相连对应的字段5.4模糊查询模块的设计与实现1.流程图:开始YY是否继续N设置查询条件查询退出2.运行界面:3.实现过程:涉及的控件有:单选按钮、标签、命令按钮、文本框。界面的设计过程与5.3模块类似,这边不再重复。下面把此界面的主要代码作一介绍:按钮的代码如下:ivateSubnd1_Click()miIntegerIfxt""nSelectseoptse1sql="select*fromtable3re编号like'"&xt&"'"se2sql="select*fromtable3re姓名like'*"&xt&"*'"se3sql="select*fromtable3re电话like'"&xt&"'"se4sql="select*fromtable3re手机like'"&xt&"'"se5sql="select*fromtable3re like'"&xt&"'"se6sql="select*fromtable3re电子邮件like'*"&xt&"*'"se7sql="select*fromtable3re 联系地址like'*"&xt&"*'"SelectIfIfsql""nta2.cordSource=sqlseta2.cordSource="select*fromtable3orderby编号"Ifta2.freshIfta2.cordset.cordCount=0ni=gBox("没有符合条件的记录哦",y+vbInfortion,"出错啦!")IfSub主要实现思想:先通过变量判断用户选择了哪一种查询方式,然后根据的值执行不同的语句。查询的方法主要是借助于SQL(结构化查询语言)语句来进行查询,并通过ion按钮组判断用户选择的查询方式。然后通过ta2.fresh来进行数据源更新。如果找不到要找数据,则提示"没有符合条件的记录哦"。5.5全体资料模块的设计与实现1.流程图:开始YY是否继续N显示全部记录退出2.运行界面:3.实现过程:界面的设计方法同上,在这不再重复。此界面主要有一个精确查询的应用,如“按姓名”精确查询的代码如下:PrivateSubcmdSearch0_Click()DimstrFindAsStringstrFind=InputBox("请输入要查询的姓名")Data1.Recordset.FindFirst"姓名='"&strFind&"'"IfData1.Recordset.NoMatchThenMsgBox"没有这个名字啊!"ElseDBGrid1.SelBookmarks.AddDBGrid1.BookmarkEndIfEndSub主要通过inputbox让用户输入要查询的姓名。如果通过findfirst查询,如果找不到则提示,如果找到则选中找到的记录。5.6用户注册模块的设计与实现界面如下图:数据库的连接方法同上5.1。“确定”主要代码如下:PrivateSubcmdOK_Click()ErrorResumeNext'检查正确的密码IftxtUserName.Text=""ThenMsgBox"请输入初始用户名",vbInformation+vbOKOnly,"提示"txtUserName.SetFocusExitSubEndIfIftxtPasswordText1ThenMsgBox"密码不正确,请重新输入",vbInformation+vbOKOnly,"提示"txtPassword.SetFocusExitSubEndIfret.MoveLastDimlastAsIntegerlast=Val(ret("id"))Dimpa,pt,pa1,pt1AsStringret.MoveFirstpa=txtPasswordret.AddNewret("id")=last+1ret("name")=txtUserNameret("password")=paret.UpdateMsgBox"用户建立成功",vbInformation+vbOKOnly,"操作成功"EndSub此界面还提供一个重新登录的功能。5.7用户维护模块的设计与实现1.流程图:开始YY是否继续N修改删除帐户退出2.运行界面:3.实现过程:界面的设计方法同上,在这不再重复。主要代码说明如下:ivateSubnd1_Click()IfgBox("确认删除吗?",s"提示")=snta1.cordset.leteta1.cordset.xt实现记录的删除Ifta1.cordset.nta1.cor实现记录的删除IfIfSubivateSubnd2_Click()Ifnd2.ption="修改"n实现记录的修改ta1.cordset实现记录的修改send2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职高诊断评估试题及对应答案
- 2026秋小学花城版音乐三年级上册(新教材)教学计划含教学进度表
- 2026年法学基础理论专项训练题库
- 2026年数据库技术实操考核试卷
- 2026年法律法规常识测试题及答案
- 2026年社区工作者综合能力测试模拟试题
- 2026年河北省建造师法规科目习题集
- 2026年心理测评与心理健康促进习题集
- 2026年苏教版四年级数学上册第7单元统计图表练习
- 2026年电气自动化技术实操训练题
- 九年级化学《碳酸盐的性质》探究式教学设计
- 2026-2030中国农膜行业市场发展分析及前景趋势与投资研究报告
- 2026年高考化学真题完全解读(黑吉辽蒙卷)
- 2026中国远洋渔业船舶智能化改造需求与卫星通信系统标配化
- 种子繁育员操作评估竞赛考核试卷含答案
- 2026年(完整版)国家GCP培训考试题库及参考答案(完整版)
- 2025年广西区直事业单位面试真题(附答案)
- 《工业互联网安全防护技术》教学设计 项目二 工业互联网网络安全
- 第七讲:粒子世界
- 总结假期收获主题班会课件
- 租户腾退协议书模板
评论
0/150
提交评论