客户信息管理系统毕业论文.doc

上传人:文库蛋蛋多 文档编号:3941903 上传时间:2023-03-28 格式:DOC 页数:34 大小:1.23MB
返回 下载 相关 举报
客户信息管理系统毕业论文.doc_第1页
第1页 / 共34页
客户信息管理系统毕业论文.doc_第2页
第2页 / 共34页
客户信息管理系统毕业论文.doc_第3页
第3页 / 共34页
客户信息管理系统毕业论文.doc_第4页
第4页 / 共34页
客户信息管理系统毕业论文.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《客户信息管理系统毕业论文.doc》由会员分享,可在线阅读,更多相关《客户信息管理系统毕业论文.doc(34页珍藏版)》请在三一办公上搜索。

1、青岛理工大学琴岛学院 毕 业 设 计 (论 文)专 业 计算机科学与技术专业 班 级 专升本(11-21) 学生姓名 学 号 20110371036 课 题 客户信息管理系统 指导教师 2013年 5 月 30 日摘要当今社会,随着计算机的的领域不断扩张,人们越来越离不开计算机的同时,对计算机软件的需求也不断提高。以往生活中软件都是在大的企业中得到应用,现在却大不一样了,因为互联网在现实生活中的不断扩展,人们的知识领域的增加,同样伴有的就是中小型企业的成长,例如现在电子商务的普遍,中小卖家就会应用到大小不一的ERP系统。ERP是针对物资资源管理(物流)、人力资源管理(人流)、财务资源管理(财流

2、)、信息资源管理(信息流)集成一体化的企业管理软件。它将包含客户/服务 架构,使用图形用户接口,应用开放系统制作。除了已有的标准功能,它还包括其它特性,如品质、过程运作管理、以及调整报告等。既然如此,那么这些方面的提高必定对我们现有生活发挥大的作用。同样现在面临的ERP系统价钱都是相当高昂的,对于小型企业来讲这样的负担还是相当重的,紧迫中开发一款简单而又实际结合中小企业需求的这样一款软件也是迫在眉睫,而对于Java简易的开发模式势在必行。关键词:Java ERP 人力资源管理 客户管理 电子商务AbstractNowadays, with the continuous expansion of

3、 the field of computer, more and more people cannot do without the computer at the same time, the computer software requirements is also rising. Past life of software is applied in large enterprises, now is not the same, because the Internet in real life, to increase peoples knowledge, also with is

4、the growth of small and medium-sized enterprises, such as e-commerce is now generally, small sellers will be applied to the different sizes of the ERP system. ERP is for the material resource management (logistics), human resource management (people), the management of financial resources (financial

5、 flows), information resources management (information flow) integration of enterprise management software. It will include the client / server architecture, using a graphical user interface, making use of open system. In addition to the existing standard features, it also includes other characteris

6、tics, such as quality, process operations management, and regulatory reporting. If so, then these aspects to improve our existing life is bound to play a big role. The price of ERP system also faces are quite high, for small businesses that burden is heavy, the actual combination is imminent needs o

7、f SMEs in the development of such a software pressing a simple yet, but for simple Java development model be imperative.Keywords: Java ERP human resource management customer management e-commerce目录第1章 绪论11.1 系统开发背景11.2 系统现实价值1第2章 需求分析32.1 用例图32.2 相关用例4第3章 概要设计73.1 流程图73.2 数据结构7第4章 数据库设计104.1 信息表104.

8、2 ER图11第5章 界面设计135.1 软件界面135.2 界面跳转关系14第6章 详细设计与实现166.1 系统执行流程166.2 编码规范24总结:30致谢:31参考文献:32第1章 绪论1.1 系统开发背景ERP是Enterprise Resource Planning(企业资源计划)的简称,是上个世纪90年代美国一家IT公 司根据当时计算机信息、IT技术发展及企业对供应链管理的需求,预测在今后信息时代企业管理信息系统的发展趋势和即将发生变革,而提出了这个概念。 现如今,ERP是针对物资资源管理(物流)、人力资源管理(人流)、财务资源管理(财流)、信息资源管理(信息流)集成一体化的企业

9、管理软件。而现如今的ERP系统已经在企业中占据了相当重要地位,其中我们今天开发的客户信息管理系统也是ERP系统中的一部分。在我们企业中,现在由于人际交往的复杂已经面临的多重问题,客户的地位在一家企业中是尤为重要的,而更多的人为了服务好顾客,甚至会为顾客很多工作以外的事情,比如在顾客的生日上送上祝福和礼物,在这样的基础上,客户可能会跟这家企业走的更近,这就是服务型企业的到位之处。同样面临的问题就是,仅凭一个人的脑子去记忆如此庞大的信息系统那是不够的,所以我们就紧迫需要一款这样的记忆系统来帮助我们整理客户的信息,更重要的是在必要的时间弹出窗口来提醒我们,是顾客的生意了,那么我们就要提前做好准备给我

10、们的顾客一个意外的惊喜。在这样的激励下,就有了我们客户新管理系统这一款软件的诞生。1.2 系统现实价值客户信息管理系统实际应用中更重要的是应该体现其“管理工具”的本质。系统主要宗旨是对企业所有客户、信息、时间和空间等综合资源进行综合平衡和优化管理,所以,该系统首先是一个软件,同时是一个管理工具。该软件是IT 技术与管理思想的融合体,系统也就是先进的管理思想借助电脑,来达成企业的管理目标。它具有整合性,把所有可能的潜在客户备份到系统当中来,所以在量上实现了整合,同样具备便利性,因为凡属有客户在本月或者在近几日生日,那么系统就会自动弹出提醒框来加以提示,所以远比我们去单个查找要来的方便,所以在这一

11、点上也体现出了它的实时性。对个人来讲,客户是使我们有工作的人,客户不必依赖我们,我们却必须依赖客户;对企业来讲,客户购买企业提供的产品和专业服务,是企业是最重要的资源,是企业赖以生存的根本。客户对所进行的交易总有所期望,比如花的钱最值得,得到的服务最满意,如果期望得不到满足,客户就会寻找其他渠道以满足需要。因为客户有选择的权利。据国外一位知名心理医生统计,对一段不愉快的经历,平均每个人会告诉他身边的20个人,假如是一段愉快的经历,则平均会告诉5个人。由此看来,只要赶走了一个客户,就等于赶走了潜在的20个客户。如果你一天内遇到了50个客户,其中有两个客户对你的服务产生了不愉快的感受(这也许是我们

12、企业常见的事情),那么一年后,由于连锁反应,可能有5000个人再也不愿意与我们打交道。而失去的客户,则成为竞争对手得到的客户。试想这样的企业,将何以在市场中立足?!联系到我们公司,该怎样来为客户提供物有所值甚至物超所值的产品和服务呢?接待人员是企业的第一个窗口,据调查客户不满意的原因有36%是 由受到的接待引起的。我们要把自己置身于客户的角度,准确了解客户的需要,真正做到将“无微不至的关怀”送给客户。要和客户保持良好的关系,还要做好跟踪 服务。由于这样那样的原因,我们的工作中难免会出现失误而引起客户的不满。有关资料显示,当我们主动与客户联系并解决问题时,客户的满意程度就会提高30%。定期对客户

13、进行回访,根据反馈的信息迅速做出回应,让客户时刻感受到体贴和关怀,一定会有良好的收效。所以一款好的客户管理系统,跟客户之间拉近距离是我们首选的。第2章 需求分析2.1 用例图图2-1 系统用例图根据我们系统的需求分析,Admin需要通过见客户建立关系,那么我们系统的运行最初端口MainLoad.java开始,通过我们的输入的用户名和密码直接跳转我们的系统主界面,即InSystem.java。当然进入系统之前系统是需要判断的,比如我们的用户名和密码错误或者是其它异常等等,这里我们采用的方式就是Label提醒,就是改变Label的文字内容和其颜色来提示我们的信息错误,一旦填写错误并且提交之后,系统

14、就会做出相应的提示,并且重新输入用户名和密码。用户名和密码正确我们的系统Progress进程块运行完毕正常跳转InSystemn.java.进入我们的系统之后,从菜单栏文件开始,那么点击“注册”将会直接跳转到RegWindow.java,即我们的注册用户窗口。因为注册窗口我们关闭之后我们的接下来的程序就是重新登录,那么我们就重新回到了MainLoad(),如此循环到主系统界面,我们进入切换窗口。切换窗口的功能就是登录不同账号,点击切换按钮后,我们又关闭了当前的系统,即dispose(),然后重new一个MainLoad(),那么同样的还是回到MainLoad,这里我们可以更改不同的账号进行登录

15、。添加账户信息:直接跳转AddInform.java,这里将会填入相关的客户信息,添加之后关闭添加的界面,回到主主界面。搜索:跳入的是NameSearchInform.java,这里确定后是检索的过程,然后通过主界面的表格来显示,所以关闭当前的搜索窗口。最近生日:跳入BirthInform.java,统计最近生日列表。最近生日:跳入的是 BirthInform.java,这里只需要在工具栏上点击“最近生日”即可生成最近生日的窗口。并且该窗口是定时出现的,即使我们现时间关闭了。我们的用户具有的管理模块如下:权限管理:实现我们一些低级管理员的权限修正,比如我们的高级管理员具有一切管理权限,我们的普

16、通管理员具有添加但不具备删除和修改功能,而信息阅览的管理员是只能阅览的。添加客户:添加客户相关信息这个也是最直观的的了,当然该模块只能在高级管理和普通管理下操作。客户备注:客户备注就是添加信息中的一个信息块,主要为备注客户生日时所要做的事情,以提醒的用途。查询信息:完成对客户信息的检索功能,直接输入客户的姓名,我们可以通过该功能直接搜索客户所有信息。注册管理员:该管理功能只有在高级管理员下方可执行的,可以为高级管理员、普通管理员和信息阅览实现与用户注册。2.2 相关用例表2-2 系统登录用例名称系统登陆功能简述管理员提供正确的用户名和密码登陆前置条件用户名存在后置条件登陆成功基本流1用户在登录

17、页面中输入用户名和密码,并提交;2系统判断用户名和密码是否合法;3根据用户的类型显示不同的主页面备注如果用户名或密码错误,Label将会更改为红色字体系统登陆模块是在我们系统首次运行所要输入的密钥界面,即我们需要提供已经在数据库中存在的用户名和密码,数据库中核对存在并且正确后,将会登陆成功;如果不成功,界面中Label将会显示为红色字体以提示密码错误。如表2-2 系统登录所示。表2-3 添加客户信息用例名称添加客户信息功能简述用户添加客户的生日信息以及备注信息前置条件无后置条件添加成功基本流1用户在添加窗口中输入客户信息,并提交2系统将相关信息存入到客户数据库备注如果无法存入将会弹出相关异常信

18、息添加客户信息模块,我们会需要在我们系统数据库中的所有信息,比如客户姓名、生日、产品、成交信息和备注信息等等。我们需要填写用户的相关信息提交就可以了,前提是该客户信息不存在,否则将会有相关的异常信息,同样地、如果提交成功,我们的数据库将会新增一条客户信息,同样地,我们也会通过showMessageDialog来做出成功添加信息提示。如表2-3 所示。表2-4 搜索客户信息用例名称搜索客户信息功能简述输入客户姓名或月份信息查询客户相关信息前置条件客户信息已经存在后置条件系统列表显示相关客户信息基本流1输入客户姓名,并提交2列表单独显示查询的客户信息备注不存在的情况下,列表即为空搜索客户信息,我们

19、需要提供两种途径,分别是通过姓名和月份,通过直接输入姓名查询出客户信息即可通过系统列表显示出相应搜索名的信息列表。或者输入在某几个月份之内的所有客户信息,我们可以输入多个月份,例如输入“1-12”,意思就是显示当前客户列表中生日在1-12个月的信息,意思就是显示所有客户信息了。也可以输入一个月份的信息,同样提交就会显示相应的客户提示信息列表。如果相关信息不存在,列表显示为空,如表2-4搜索客户信息所示。表2-5 注册用户用例名称注册用户功能简述添加用户和密码,提交前置条件该用户名不存在后置条件注册成功基本流1输入用户名和密码提交 2用户名和密码注册到数据库备注如果用户存在将会弹出异常对话框注册

20、用户,在注册用户之前我们要确定用户不存在,否则我们无法提交用户信息到数据库。成功提交用户信息,将会在数据库中存储,并提示“注册成功”这样的提示信息。如表2-5 注册用户所示。表2-6 删除客户信息用例名称删除客户信息功能简述用户删除客户的生日信息以及备注信息前置条件数据库已经存在该客户的信息后置条件删除成功基本流1用户在客户信息列表中选择要删除的行2列表中信息被删除,数据库中该条信息被删除备注如果无法删除将会弹出相关异常信息 删除客户信息只需要选中我们列表中的某一条信息,点击“删除”按钮即可删除的,如果无法删除将会有系统提示信息。如表2-6 删除客户信息所示。第3章 概要设计3.1 流程图图3

21、-1 系统流程图图3-1系统的全程流程图描述了系统的各个模块,以及操作的执行顺序,我们后面将根据我们的需求和描述安排,对系统设计和开发。3.2 数据结构数据结构是指数据相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。系统模块包括多个信息元素,其中包括系统的登陆、用户注册、修改密码、切换用户、 添加客户信息、删除客户信息、搜索客户信息、最近生日和切换用户等等,如图3-2 所示:图3-2 系统结构图表3-3描述了系统的数据结构表组成关系和属性信息,其中包括用户、添加、删除、注册和搜索信息。如表3-3所示:表3-3数据结构表数据结构名关系属性用户用户是软件登陆控制中心的

22、主体数据结构,定义了系统的登陆用户的相关信息用户名、密码、权限ID添加以inf的主体结构,添加客户的相关信息添加客户姓名、成交商品、年月日、来源和备注新删除以inf的主体结构,删除客户的相关信息删除客户姓名、成交商品、年月日、来源和备注新注册以用户信息为主体结构,添加用户信息添加用户名、密码和权限搜索以inf客户信息为主体将结构,检索客户信息选择客户姓名、成交商品、年月日、来源和备注新第4章 数据库设计4.1 信息表表4-1 reguser 字段名称字段名数据类型长度用户名userChar20密码passwordChar20权限idChar5reguser表是我们注册用户的数据库表格,存储信息

23、即为我们所有注册用户信息。其中包括user、password和id。其中这里id是char类型的,但是这里我们的选项只有1、2和3,其中1将会代表高级权限、2代表普通权限和3代表我们的信息阅览用户。如表4-1 reguser所示;表4-2 inf字段名称字段名数据类型长度姓名nameChar20年yearint8月monthint6日dayint4产品proChar20客户来源sourceChar20达成交易saleChar20表inf的存储内容是我们客户的信息存储一栏,其中字段包括name、year、month、day、pro、source、sale;分别对应的字段名称是姓名、年、月、日、产

24、品、客户来源和达成交易。其中年月日的类型是使用的int类型,其中在此因为涉及到判断月份信息,所以int是必不可少的。如表4-2 inf所示;4.2 ER图管理员账号密码拥有客户姓名年-月日产品客户来源达成交易权限 nm图4-3 ER图系统设定了两个表格,数据库db,包括reguser和inf两个表格。其中reguser为我们的注册用户表,而inf就是我们的客户信息管理表格。两个表格对应的关系就是用户可以查看inf的信息,并可以对用户信息作出修改。Reguser包括的字段分别为:账号、密码和ID。ID实现了用户的权限管理,我们这里使用的1代表我们的最高权限即我们的“高级管理”、2代表我们的普通管

25、理权限即我们的“普通管理”,最后是我们的“信息阅读”也就是3了,它只能够实现我们的普通阅读的功能。如图4-3 ER图所示。每个用户都可以访问我们的客户信息。客户信息字段包括:姓名、年月日、达成交易、客户来源和产品、数据库分别对应的是:name、year、month、day、sale、source和pro。第5章 界面设计5.1 软件界面 登陆界面:为了体现界面的美观度,对于登陆窗口的设计采用了分层面板,普通的contentPane是无法实现背景图片的展现,而在这里我们就采用了分从面板,这样子我们很容易的将我们登陆面板加入了美观的背景图片;布局方式则采用的是FlowLayout,即我们默认的布局

26、方式,这里的好处是可以按照SetBounds来随意调整其想要安排的位置,相对而言也是体现一种美观和数据的精确度上。对于我们标题“客户信息管理系统”我们采用的是Dialog字体类型, 并且设置大小为26,因为标题都是比较大的,所以我们设置的相对较大,而其它的选填框则采用的是默认的字体大小。在这里大家都知道,我们要输入的是用户名和密码,那么不可避免地,我们经常会碰到用户名或密码错误的提示,那么在这里也是一样的,只是我们采用的风格不太一样,如果我们的密码或者是用户名错误,那么我们的Label也就是我们的“用户名:”和“密码:”都会变成红色,并且显示的相关信息则是“用户名!”和“密码!”,并且是红色的

27、字体,这样做的好处是变得醒目和加以提示。而当通过时,其字体将会恢复到最初的状态,即“用户名:”和“密码:”。 系统中心界面:系统界面的布局就相对要复杂一些了,上面的菜单栏、工具栏和下面的Frame都是默认方式,也就是FlowLayout,那么下面的Frame里面的内容也就是一个表格和一个Text文本的排序new GridLayout(2, 1),并且一分为二,那么其中一部分是我们的表格信息,另一部分则是我们的系统显示和本月生日框信息,我们的字体都是默认字体大小。我们在系统上添加了很多的功能,其中就包括注册账户、添加信息等等。我们的字体统一的都是系统默认字体大小,如果在系统遇到异常信息或者是某些

28、需要提醒时我们采用的显示方式均为JOptionPane.showMessageDialog(null, XX)这样的方式,XX就是我们提示的信息内容。 添加客户信息界面:添加界面相对比较简单,我们的布局模式就是默认的FlowLayout,所以这样添加的每一个控件都会被按照顺序相应地添加进来,其中我们包括的模块如下:JTextField nameField,JTextField yearField,JTextField monthField,JTextField dayField,JTextField productField,JTextField sourceField和JTextField

29、saleField,分别对应的关系为:姓名, 年-月-日 , 产品, 客户来源, 达成交易。以及我们后面添加的两个按钮JButton addButton = new JButton(添加);JButton cancelButton = new JButton(取消);两个按钮就已经显而易见了,实现的操作就是当我们输入相关的信息,添加按钮将会触发事件actionListener,然后通过或许相关信息添加到数据库中。 搜索姓名界面:搜索只需要两个控件,分别是姓名选框和搜索按钮,这里还是比较容易实现的。系统搜索会检索我们所输入的姓名,数据库中的SQL语句如下:select * from inf wh

30、ere name = + s +,这样我们就获得了我们需要的搜索信息,并且我们会将我们搜索的信息捕捉并新建一个InSystem的类,而这个类中table中所显示的列表信息就是我们所搜索的信息了。 最近生日界面:int w=(int) (scrSize.getWidth()-260);int h=(int) (scrSize.getHeight()-235);setBounds(w, h, 260, 190);这是我们的边界设计,窗口的大小是根据我们不同计算机显示器的分辨率不同来计算的,其中显示的位置坐标的起始位置是(scrSize.getWidth()-260)和(scrSize.getHei

31、ght()-235),即也就是长和高的位置了。另外我们固定的大小分别是260*190的尺寸。我们起始位置的设定也是有根据的,因为我们希望我们的系统提醒的窗口是在我们计算机的右下角显示的,所以我们需要根据不同的计算机分辨率来设计其固有的位置,所以我们就要获取系统的分辨率值,这也是我们所有界面中唯一考虑到计算机分辨率大小的一点。5.2 界面跳转关系MainLoad.java登陆重新登录InSystem.javaRegWindow.javaBirthInform.javaAddInform.javaNameSearchInfrom.java注册提醒添加搜索返回新建图5.2 界面跳转关系 我们系统的运

32、行最初端口MainLoad.java开始,通过我们的输入的用户名和密码直接跳转我们的系统主界面,即InSystem.java。当然进入系统之前系统是需要判断的,比如我们的用户名和密码错误或者是其它异常等等,这里我们采用的方式就是Label提醒,就是改变Label的文字内容和其颜色来提示我们的信息错误,一旦填写错误并且提交之后,系统就会做出相应的提示,并且重新输入用户名和密码。用户名和密码正确我们的系统Progress进程块运行完毕正常跳转InSystemn.java. 进入我们的系统之后,从菜单栏文件开始,那么点击“注册”将会直接跳转到RegWindow.java,即我们的注册用户窗口。因为注

33、册窗口我们关闭之后我们的接下来的程序就是重新登录,那么我们就重新回到了MainLoad(),如此循环到主系统界面,我们进入切换窗口。 切换窗口的功能就是登录不同账号,点击切换按钮后,我们又关闭了当前的系统,即dispose(),然后重new一个MainLoad(),那么同样的还是回到MainLoad,这里我们可以更改不同的账号进行登录。 添加账户信息:直接跳转AddInform.java,这里将会填入相关的客户信息,添加之后关闭添加的界面,回到主主界面。 搜索:跳入的是NameSearchInform.java,这里确定后是检索的过程,然后通过主界面的表格来显示,所以关闭当前的搜索窗口。最近生

34、日:跳入BirthInform.java,统计最近生日列表。 最近生日:跳入的是 BirthInform.java,这里只需要在工具栏上点击“最近生日”即可生成最近生日的窗口。并且该窗口是定时出现的,即使我们现时间关闭了。如图5.2 界面跳转关系。第6章 详细设计与实现6.1 系统执行流程6.1.1登陆模块系统的运行是从MainLoad开始执行的,执行显示的就是我们的初始登录界面,我们需要在这里输入我们数据库中已经存在的用户名和密码。如果用户名和密码的信息是正确的,那么将会跳转到系统管理界面,并且会弹出“最近生日提醒”.同样地,如果是用户名和密码错误,系统将会显示相应的提醒信息,我们这里的提醒

35、信息比较直观,我们直接将“用户名”和“密码”的text文本显示为红色和“用户名!”,”密码!”这样的格式,在重新输入后,我们的系统将会对其进行检测,如果正确,那么之前的红色文字“用户名!”,“密码!”将会恢复原有的“用户名”和“密码”。并且跳转。图6-1登陆模块if (userText.getText().trim().equals() | passWord.equals() JOptionPane.showMessageDialog(this, 您尚未输入用户名或密码); else try while (rs.next() if (userText.getText().trim().equa

36、ls(rs.getString(user)& passWord.equals(rs.getString(password) userLabel.setText(用户名:);userLabel.setForeground(Color.black);passLabel.setText(密 码:);passLabel.setForeground(Color.black);grant=rs.getString(id);timer.start();break; else if (userText.getText().trim().equals(rs.getString(user) passLabel.s

37、etText(密码错误);passLabel.setForeground(Color.red); else userLabel.setText(用户名!);userLabel.setForeground(Color.red);passLabel.setText(密 码!);passLabel.setForeground(Color.red); catch (SQLException e1) e1.printStackTrace();该方法的独特之处在于改变了Label的相关显示方式,以往我们更多采用的是ShowMessageDialog这样的显示方式,而在这里,我们直接利用我们的显示信息做出改

38、变,这样是不是会变得更加直观呢,是的,下面介绍其工作的流程和方式。首先if (userText.getText().trim().equals() | passWord.equals()该条语句实现的是判断我们的用户名和密码的输入是否为“”空,如果为空,后面就有了语句JOptionPane.showMessageDialog(this, 您尚未输入用户名或密码),当然看到这里的语句提示,其实我们就大概知道了,这条语句就是为了提示我们输入用户名和密码,因为我们之前的操作一定是有用户名或密码没有填写。那么除了为空,还有其它的可能,比如说输入的密码错误或者用户名错误或者是我们干脆登陆成功了,那么el

39、se后面将一一解释。下一步自然就是通过我们的数据库来检索了,利用rs.getString(user)来获得我们数据库中的用户名信息,userText.getText().trim()而这里是获得我们输入的用户名信息,以及passWord.equals(rs.getString(password)来判断我们输入的密码和我们检索到的用户名密码是否对应。userLabel.setForeground(Color.black); passLabel.setForeground(Color.black);而这里之所以用到就是为了密码错误后,Label被修改为不同字体和颜色了,此处为恢复正常,虽然我们还没

40、到密码错误的状态,但是这里是必须的,否则一旦密码错误后,这里就颜色就是红色了,红色的实现在这下面的操作的,下面介绍:if (userText.getText().trim().equals(rs.getString(user),这里我们将会判断我们的用户名信息,同样和我们的数据库来做对比,如果是正确的,那么这里将会设置passLabel.setText(密码错误),密码Label显示为密码错误,颜色设置passLabel.setForeground(Color.red);这里为什么是用户名和数据库用户名对应正确后还显示密码错误呢?因为我们前面判断了,如果系统无法正常登陆,并且我们的用户名正确的

41、话,很显然就是我们的密码错误了。同样地,如果用户名有问题那么就是设置userLabel.setText(用户名!);这里的用户名文字被修改为了“用户名!”,而userLabel.setForeground(Color.red);将会设置用户名的颜色为红色,passLabel.setText(密 码!);passLabel.setForeground(Color.red);同样的password也要被设置为红色和“密码!”的形式,因为用户名错误密码就更不用说了。那么回过头来前面流程中我们之所以设置器恢复默认的颜色就是在这里了,因为我们这次可能出现了问题,那么颜色设置了红色并且不同的文字,那么下次

42、登录的时候如果还是现实密码错误等等之类的文字的话那就不太直观和人性化了,所以我们让这里默认重新设置一次,即使上次没有过这样的密码错误问题,那么在初始化的同时也做了一次这样的操作,其实这样在程序优化上就可以有的操作了,当然,对于我们的小程序,这简短的操作还是可以忽略的。6.1.2密码修改模块图6-2密码修改模块密码修改的模块是在系统控制中心的文件菜单栏里进入的,进来之后,直接输入用户名和新的用户密码就可以修改的,这里为了减少繁琐就省去了检测原有密码的成分。只要输入的用户名正确,这里我们就可以用过我们的新密码直接修正成功。那么修改之后,我们的系统会转入“登陆界面”,这里将会实现重新登录,因为我们修

43、改密码后系统所在的状态如果还是原有的密码状态下是不安全的,所以我们要重新登陆以确认密码的修改无误。如图6-2所示;6.1.3注册用户模块图6-3注册用户模块注册用户模块相对也是比较直观和简单的。注册模块也是通过系统控制中心通过菜单栏的“注册用户”进来的。输入用户名和密码,确认。前提是用户名不存在,如果用户名已经存在,那么就会报错的,系统的提示就是“用户名已经存在,请更换用户名”,所以就会再次清空用户名和密码,这时我们要做的就是更换用户名,并输入密码,确认,那么数据库中就有了我们新的用户名信息,下次登录就可以直接使用了。如上图如图6-3注册用户模块所示:6.1.4切换用户模块切换用户的原理就更简

44、单了,其实我们只需要将我们当前的系统控制中心dispose()掉,然后重新new一个MainLoad那我们就实现了用户的切换,这时候其实就是相当于再输入一个其它的用户名和密码,那我们就登陆进了系统控制中心,那我们就已经完成了系统的用户切换。切换用户点击,直接登陆窗口,如图6.2.4切换用户模块。图6-4切换用户模块6.1.5添加客户信息端模块图6-5添加客户信息端模块添加客户信息端设计的文本框要多一些,但是这些还是统一的,所以相对而言也是比较简易的。其实在添加模块的建立之前,系统就已经自动为我们链接好了数据库,这个是由类的构造方法最初调用的connect()方法。我们的信息将会在输入框中通过f

45、ield方法nameField.getText()获取到,同样地,我们还会利用insert into inf values(?,?,?,?,?,?,?)来插入数据到数据库,这时候我们的数据库将会检索我们的信息是否已经在数据库中存在,以及信息的数据长度和类型等等进行判断,如果是错误的将会相应的异常信息来提醒,如果正确的,就会直接添加到我们的数据库,这时候系统就已经添加成功了。不过在我们的系统界面中我们不能在第一时间就能看到新添加的数据信息,系统是不能够再次自动刷新系统的,所以我们添加了一个按钮“更新”,其实这里更新不是更新软件系统,而是更新我们的数据信息,在我们添加信息后,我们可以通过“更新”来实现信息的事实展现。如图6-5添加客户信息端模块。6.1.6最近生日模块图6-6最近生日模块最近生日模块是由BirthInform.java实现的,其实该模块的调用是通过多种途径的,其中之一就是系统开启的第一时间就会有“最近生日”模块自动弹出的,这样的设计就是方便我们的实时提醒。同时“最近生日”模块还有在工具栏上有所体现,因为我们平

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号