名片管理系统 毕业论文设计 biy

上传人:仙*** 文档编号:28584470 上传时间:2021-09-01 格式:DOC 页数:29 大小:1.73MB
返回 下载 相关 举报
名片管理系统 毕业论文设计 biy_第1页
第1页 / 共29页
名片管理系统 毕业论文设计 biy_第2页
第2页 / 共29页
名片管理系统 毕业论文设计 biy_第3页
第3页 / 共29页
点击查看更多>>
资源描述
题目: 学生姓名: 学号: 系 别: 专业: 入学时间: 年月导师姓名: 职称/学位: 毕业论文(设计)提交时间:二年题目: 名片管理系统的设计与实现 学生姓名: 学号: 系 别: 计算机科学与电子技术系 专 业: 计算机科学与技术 入学时间: 年 月导师姓名: 职称/学位:副教授/硕士名片管理系统摘 要随着商务通的出现,虽然实现了可构造查询条件的名片电子化管理,但价格昂贵,难以在广大客户中进行全面普及。因此开发一个既可以存储信息,又可以进行更新、查询等功能,同时价格又能为广大消费者接受的多功能名片通讯录就显得十分必要。本文基于Java开发环境开发了名片管理系统。本系统可实现用户对名片的管理。此系统除了最基本的用户管理模块之外,还包括查询,浏览,维护,打印报表等功能模块。这些模块可以实现对名片信息,公司信息和关系类型的信息的管理。功能包括查询名片信息,浏览名片信息,添加、修改、删除名片和公司信息,打印名片报表,联系记录报表和备忘录报表。本系统具有操作简单、功能较强、界面美观等优点,可以提高用户的办公效率,降低出错率。由于时间和技术水平有限的缘故,本系统只提供了一些基本功能的展示,不能展示系统的全部功能,还需要进一步实现更完善的功能。关键词:名片管理系统;windows;Java;数据库;Card management systemAbstractWith the emergence of GUIDEC, we achieve the electronic management of business cards, while it is difficult to become universal among customers because of the price is high. Therefore it is necessary to develop a system thatcan not only store information but also have the functions such as update, query, and so on, meanwhile its price could be accepted by the most of the customers. The development of this card management system is based on the technology of Visual FoxPro. The system could realize the management of the name cards, including the basic management module; it also includes query, browse, maintenance, printing statements, and other functional modules. These modules can realize the management of card information, company information, and relationship type; which includes query of card information, browse of card information, adding, modifying, deleting business card and company information, print of report forms, like business cards, relation record, and memo. With the advantages of simple operation, powerful function, this system can improve the efficiency ofoffice work and reduce the risk of errors. For the limitation of time and level of technical, thesystem has only provided some basic functions, so it could not displayed all features of the system andneeds to realize the more perfect.Key Words: card management system; java; database目录1.引 言11.1研究背景、目的11.2研究理论、方法12.系统可行性研究22.1经济22.2操作22.3技术23.系统需求分析23.1 系统模式23.2数据库设计44.系统的总体设计54.1系统介绍54.2系统各模块功能介绍64.2.1登录64.2.2查询64.2.3添加64.2.4删除64.2.5修改65.系统的详细设计65.1登陆模块65.2密码修改模块75.3查询模块85.4修改模块85.5添加模块95.6删除模块106.系统测试106.1测试的重要性和目的106.1.1测试的重要性106.1.2测试的目的116.2测试的主要内容116.2.1单元测试116.2.2集成测试126.2.3确认测试126.2.4系统测试12结束语13附录 A14用户登录模块的代码14附录 B16密码修改模块代码16附录 C17查询模块代码17附录D18修改模块代码18附录 E19增加模块代码19附录 F21删除模块代码21主要参考文献22致谢231. 引 言1.1 研究背景、目的随着市场经济的发展和人们生活水平的提高,随着科学技术的发展,计算机领域不断取得新的研究成果。计算机在代替和延伸脑力劳动方面发挥越来越重要的作用,不仅在工业方面而且在日常生活中也越来越离不开计算机。人们已经不满足于上网浏览网页,而是想通过网络来实现现实生活中需要处理的事情。伴随着人们社会活动和人际交往的日益频繁,人们手中出现了名目繁多的名片夹、通讯录等对交友或者客户进行管理的工具。但传统的名片存储的信息不多,却占据了很大空间,同时,这些手动管理方式又不易存放,容易丢失,难以备份等弊端。另外时间一长,纸质名片等会产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。而计算机科学技术的日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对各项信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高管理的效率。鉴于以上背景,本名片管理系统便应运而生。借助计算机技术的强大功能,旨在为人们设计一种操作便捷、简单、功能全面的名片管理系统,更加有效的对各类通讯信息进行管理。1.2 研究理论、方法名片管理系统以软件生命周期设计方法为指导意义,即把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。通常,软件生存周期包括可行性分析与开发项计划、需求分析、设计(概要设计和详细设计)、编码、测试、维护等活动,可以将这些活动以适当的方式分配到不同的阶段去完成。名片系统采用常规的数据库管理方法,根据名片信息管理的特点对对数据库操作,比如对数据的增加、删除、修改等,操作工具为Microsoft office access 2007。名片系统采用java语言。众所周知,java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。2. 系统可行性研究2.1 经济支出:硬件PC机软件Windows 7 Oracle 10g效益: 有效管理通讯信息,提高人们工作生活效率。2.2 操作本软件的用户对象是信息管理的工作人员,由于本软件要设计成有好的界面,写出详细的使用说明,用户只需懂得简单的计算机操作知识,就能自由应用本软件,所以从以上几个方面的分析来看,开发本软件是完全可行的。2.3 技术 名片管理系统采用java语言,常规的数据库管理方法,即java+access/SQLsever/oracle3. 系统需求分析需求分析就是描述系统的需求,通过定义系统的关键域 建立模型。分析的根本目的是在开发者和提供需求的人之间建立一种理解和沟通的机制,因此,系统的需求分析应该是开发人员和用户或者客户一起完成的。开发软件之前必须充分了解用户的需求才能开发出好用的软件。在着手工作之前,先充分了解委托人和最终使用该软件的用户的需求,这样才可能避免在软件开发过程中进行一而再,再而三的改动,增加成倍工作量。3.1 系统模式输入:新名片的输入,包括姓名,类别,办公电话,住宅电话,手机,MSN,E-mail,地址,备注输出:导出打印性能: 操作简单,便捷功能: 增加,删除,修改,查询,相关信息的打印和输出控制:用户权限的控制,只有本人(管理员)才能登陆查看名片,保证信息安全。名片管理系统应该设置登录权限,只有合法用户才能进入登录界面进行名片管理和维护。进入系统登陆界面退出系统输入用户名和密码口令错误口令 正确其他查询管理信息管理查询客户信息退出打印名片添加客户信息修改客户信息删除客户信息图1:名片管理系统流程图外设密码 用户身份验证信息新密码打印机处理密码 外设用户打印处理身份验证图2:系统数据流图名片管理系统为了把用户的数据要求清楚、准确地描述出来,通常建立一个概念性的数据模型,且使用实体 联系图,简称ER图。信息管理查询管理打印管理密码管理退出图3:名片管理ER图3.2数据库设计为该数据库设计两个表,用户表和名片信息表。用户表:用户名和密码(用户名为主键,且用户名和密码非空)名片信息表:编号,姓名,性别,年龄,职务,办公电话,手机电话,MSN,E-mail,备注等数据库的概要模型:用户表用户名密码图4:用户表ER图姓名性别编号年龄名片信息表备注职务E-mail办公电话手机电话MSN图5:名片信息表ER图4. 系统的总体设计4.1系统介绍该名片管理系统采用java技术,使用oracle数据库来完成。该系统包含增加、修改、删除、查询等功能,能有效的帮助人们对电子名片的有效管理,提高工作生活效率 。名片管理系统输出信息管理查询管理密码管理退出打印删除信息修改信息添加信息修改密码查询信息图6:名片管理系统的层次图4.2系统各模块功能介绍4.2.1登录1)用户登录在进入系统时,需要输入用户名和密码,以确保信息的安全性。2)用户修改已进入系统的用户,可以通过密码修改修改密码。4.2.2查询1)按姓名查询可按照名片姓名来查询,加快检索速度。2)按名片编号查询系统为每个联系人分配一个唯一的编号,可以快速找到指定联系人。3)按查询职业查询当输入职业时,系统会检索出所有该职业的联系人信息。4.2.3添加添加一条联系人的信息,即编号、姓名、性别、职业、地址、QQ、E-mail。4.2.4删除删除一条信息4.2.5修改修改一条联系人的信息,可对各个项目进行逐一修改。5. 系统的详细设计5.1登陆模块功能说明:通过输入账号和密码对用户进行身份验证,通过验证则登陆系统,验证失败则重新认证。输入项目:输入用户名和密码输出项目:进入系统界面图 7:登陆界面图8:进入系统界面5.2密码修改模块功能说明:当用户要求修改密码时,进入修改密码界面,当两次输入新密码时即获得新的密码。输入项目:输入新密码。输出项目:新的密码导入系统 。图9:密码修改5.3查询模块功能说明:用户可以查询所有联系人信息,也可以通过条件查询,查询一类相关所有的联系人。完成查询功能。分为查询所有和条件查询两个功能。点击“查询所有”可显示该名片管理系统的所有联系人信息,点击“条件查询”,则可根据输入的查询条件搜索到所有符合这一条件的联系人信息,例如姓名,职业,名片编号等等。输入项目:输出项目:图10:查询数据界面5.4修改模块功能说明: 实现联系人信息的修改。双击名片列表可直接对其进行修改,方便快捷。输入项目:需要更改的信息输出项目: 修改后新的联系人信息图11:名片编辑栏目图12:修改后的数据5.5添加模块功能说明: 实现添加一条联系人信息的功能。当用户填写完新的联系人信息,点击确定即可在系统里添加一条新的信息。输入项目:名片编号、姓名、性别、职业、地址、QQ、E-mail输出项目: 名片列表新增一条记录图13:添加两条联系人的界面5.6删除模块功能说明: 实现联系人信息的删除。当某联系人信息失效时,可选择删除操作,将其从列表中删除。输入项目:需要删除的联系人信息输出项目: 无图14:删除一个联系人的界面6. 系统测试6.1测试的重要性和目的6.1.1测试的重要性软件的测试在软件生命周期中占据重要的地位。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。 事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40以上。而在软件开发的总成本中,用在测试上的开销要占30到50。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。6.1.2测试的目的如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。 在谈到软件测试时,许多人都引用Grenford J. Myers在The Art of Software Testing一书中的观点: (1)软件测试是为了发现错误而执行程序的过程; (2)测试是为了证明程序有错,而不是证明程序无错误; (3)一个好的测试用例是在于它能发现至今未发现的错误; (4)一个成功的测试是发现了至今未发现的错误的测试。 这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。 首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测6.2测试的主要内容为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试。 6.2.1单元测试 单元测试集中在检查软件设计的最小单位模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。 身份认证时候要保证在以下输入情况时候系统能够健康运行:(1)输入用户名时候键入非法字符,如:#¥%等(2)在名片ID框输入非数字字符,如abc,!#¥(3)输入的名片ID不存在。(4)输入的信息超过规定字符长度(5)输入的信息有一项为空。查询信息时候(1)查询条件键入时有非法字符,如:$%等。(2)输入不存在的查询条件。(3)输入查询条件超过规定字符长度。(4)输入查询条件一项为空。6.2.2集成测试 集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。 6.2.3确认测试 确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。 6.2.4系统测试 软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。 :经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束。结束语:通过两个月来,在老师和同学的帮助下,名片管理系统基本实现了预定的功能。通过这次毕业设计,我也学到了很多的东西。掌握了一些软件的功能。但由于时间的仓促和自己对一些东西的不太了解,系统没有做到尽善尽美,还要很多需要完善的地方,我会在今后的工作和学习中总结经验,逐步改进自己存在的不足。 实践证明,名片管理系统有着很好的发展前景,经测试运行。本文所制作的名片管理系统界面友好、使用灵活、操作简单、功能齐全、表现方式独特,已基本具备了成熟的技术理论。由于时间仓促,本次设计由我完成网络通讯录管理系统的制作,对我这样一个JAVA新手而言所制作的模块还有不完善的地方。数据库的设计也比较简单。还有很多毕业设计中用到JAVA语言的知识也不够全面,还有很多地方不能够作到完全的理解和掌握。通过这次毕业论文的设计制作使本人受益匪浅。首先,由于毕业设计所用的JAVA技术和其中用到JAVA语言的其他部分是在课堂上没有接触过的,要用它来做设计必须通过大量自学来掌握,在这个过程中,不仅大大提高了我的自学能力而且让我对JAVA的学习有了进一步的认识 。由于是独立完成在毕业设计的过程遇到了很多的困难,我求教了不少老师和同学,在这个过程中让我体会到了,一个团队的重要性。附录 A 用户登录模块的代码如下:Package com.neusoft.action;Import java.util.ArrayList;Import java.util.Iterator;Import java.util.List;Import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.sql.DataSource;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import com.neusoft.bean.Users;import com.neusoft.dao.UserImDao;import com.neusoft.form.User_Form;public class LoginAction extends Action Override/用户登录public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception request.setCharacterEncoding(gb2312);response.setCharacterEncoding(gb2312); User_Form fm=( User_Form)form; Users u=new Users(); u.setUsername(fm.getUsername(); u.setOld_password(fm.getOld_password(); DataSource ds=this.getDataSource(request,oracle); UserImDao ud=new UserImDao(ds); List list=new ArrayList(); list=ud.checkUser(u);/只有一条数据且唯一 Iterator it=list.iterator(); Users u1=new Users(); if(it.hasNext() u1=(Users)it.next(); if(u1=null) return mapping.findForward(error); else request.setAttribute(name,u1.getUsername(); request.setAttribute(password,u1.getOld_password() ); return mapping.findForward(success); 附录 B 密码修改模块代码如下:public class ChangePswAction extends Action Override/接收前台用户修改密码public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception request.setCharacterEncoding(gb2312);response.setCharacterEncoding(gb2312);User_Form fm=(User_Form)form;Users u=new Users();u.setUsername(fm.getUsername();u.setOld_password(fm.getOld_password();u.setNew_password(fm.getNew_password();DataSource ds=this.getDataSource(request, oracle);UserImDao ud=new UserImDao(ds);boolean result=ud.changPassword(u);if(result=true)request.setAttribute(suc, 修改成功);return mapping.findForward(suc);elserequest.setAttribute(error, 修改失败);return mapping.findForward(suc);附录 C查询模块代码如下:public class Per_sAction extends Action Override/查询用户public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception request.setCharacterEncoding(gb2312);response.setCharacterEncoding(gb2312); Per_Form fm=(Per_Form)form; Person p=new Person(); p.setName(fm.getName(); DataSource ds=this.getDataSource(request, oracle); PersonImDAo pd=new PersonImDAo(ds); List list=new ArrayList(); list=pd.Select(p);request.setAttribute(list, list);return mapping.findForward(suc);附录D修改模块代码如下:public class SelByidAction extends Action Override/编辑名片信息 public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception Per_Form fm=(Per_Form)form; int id=fm.getId(); DataSource ds=this.getDataSource(request, oracle); PersonImDAo pd=new PersonImDAo(ds); Person p=new Person(); p=pd.SelectByid(id); request.setAttribute(p, p); return mapping.findForward(suc); 附录 E增加模块代码如下:public class PersonIAction extends Action Override/接受前台增加名片信息public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception request.setCharacterEncoding(gb2312);response.setCharacterEncoding(gb2312);Per_Form fm = (Per_Form) form;Person p = new Person();p.setId(fm.getId();p.setName(fm.getName();p.setAge(fm.getAge();p.setSex(fm.getSex();p.setJob(fm.getJob();p.setPhone(fm.getPhone();p.setMob_phone(fm.getMob_phone();p.setTel_phone(fm.getTel_phone();p.setMsn(fm.getMsn();p.setE_mail(fm.getE_mail();p.setAddress(fm.getAddress();p.setDis_bz(fm.getDis_bz();DataSource ds = this.getDataSource(request, oracle);PersonImDAo pd = new PersonImDAo(ds);if (p.getId() != 0) Person p1 = new Person();pd.Update(p);return mapping.findForward(suc); else if (p.getName() = null | p.getName().equals() return mapping.findForward(error); else boolean result = pd.Insert(p);if (result = true) return mapping.findForward(suc); else return mapping.findForward(error);附录 F删除代码如下:public class Per_dAction extends Action Override/删除名片public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception Per_Form fm=(Per_Form)form; Person p=new Person(); p.setId(fm.getId(); DataSource ds=this.getDataSource(request, oracle); PersonImDAo pd=new PersonImDAo(ds); boolean result=pd.Delete(p); List list=new ArrayList(); if(result=false)list=pd.SelectAll();request.setAttribute(list, list);return mapping.findForward(suc); else request.setAttribute(error, 删除失败);return mapping.findForward(error); 主要参考文献1 美Rogers Cadenhead. Java编程入门经典.梅兴文译.第4版.北京:人民邮电出版社,20072 陈轶.姚晓昆编著.Java程序设计实验指导.北京:清华大学出版社,20063雍俊海编著.Java程序设计教程.北京:清华大学出版社4 美Herbert Schist著.Java参考大全.鄢爱兰.鹿江春译.北京:清华大学出版社,20065 王立福,张世琨,朱冰.软件工程技术、方法和环境.北京:北京大学出版社,19976 杨文龙,姚淑珍,吴云,软件工程,电子工业出版社,19977 张海藩编著.软件工程导论,北京:清华大学出版社、8路川, 胡欣杰等编著. Oracle 10g宝典. 北京:电子工业出版社, 2006. 9赵元杰编著. Oracle 10g系统管理员简明教程. 北京:人民邮电出版社, 2006. 8杨月江、修桂华编著.管理信息系统实用教程10薛华成编著管理信息系统(第五版)M清华大学出版社11甘仞初编著管理信息系统M机械工业出版社致谢作为一个java新手,在设计该名片管理系统中遇到了很多困难。在此特别感谢我的论文导师,吕皖丽老师,帮助我规划了系统的设计框架,并给出了很多关键性的意见,为整个系统的成功完成奠定了基础。同时,感谢计算机学院网络二班的熊辉同学,帮我指出 了java代码编写中的许多错误,系统得以成功运行。最后,感谢参考资料的作者,感谢这些计算机先辈的经典著论,让我学习到了更多计算机知识。- 23 -
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!