计算机专业课程设计客户管理系统课程设计大学毕设论文.doc
《计算机专业课程设计客户管理系统课程设计大学毕设论文.doc》由会员分享,可在线阅读,更多相关《计算机专业课程设计客户管理系统课程设计大学毕设论文.doc(21页珍藏版)》请在咨信网上搜索。
课程设计 客户管理系统 课程设计报告 学 院: 专 业 年 级: 姓 名: 学 号: 指 导 教 师: 目录 一系统概述 二 功能需求分析及说明 (一)分析系统 (二)系统需要实现的功能 三 系统设计说明 (一) 项目规划 (二) 系统功能结构 (三)系统设计 (四)开发及运行环境 (五)数据库设计 四 技术准备 (一)数据库的封装 (二) 封装ADO数据库的代码分析 五 本系统功能模块 (一)登陆功能 (二) 客户信息维护: 1 客户信息 2 联系人信息 3 业务往来 4 客户呼叫中心 (三)客户服务 1 客户反馈 (四)信息查询 1 客户信息查询 2 联系人信息查询 (五)基础信息维护 1 区域性质设置 2 企业性质设置 (六)系统功能 1 增加操作员 2 修改密码 3 退出系统 六 课程设计总结 (一)实训遇到的问题及解决办法 (二)心得体会 一 系统概述: 科技的发展、时代的进步,市场经济的竞争也越发激烈与残酷,在竞争中客户作为市场的最最要的资源,早已成为市场营销的核心,企业间谁拥有的客户多,谁就在竞争中占有绝对的优势。在市场经济竞争如此激烈的环境之下,企业要想立于不败之地,就必须和与之生存发展息息相关的客户,建立起良好的关系,在现有客户资源的基础之上,维护好和老客户的关系,并且不断的发展新的客户,用企业高品质的产品、优质的服务、良好的信誉树立企业在客户心目中的良好形象;并以客户需求为己任,不断的创新与发展自身的产品,以满足客户新需求,并规范企业内部的客户资源的管理方式、提升企业的客户服务质量。计算机管理系统满足了企业对自身客户资源管理的新要求,减少了客户资源管理过程中的浪费的大量人力、物力和财力等。 本系统具有完善的基础信息维护和客户信息维护功能,并增置了客户服务模块,满足了客户日常管理的需求;强大的数据查询及图表分析功能,帮助企业能够及时根据分析结果进行新规划和方案,以适应变化万千的消费市场。客户管理系统后台数据库采用SQL Server 2000数据库,以保证数据的安全、高效和稳定。前台采用Microsoft公司的Visual C++ 6.0作为主要的开发工具,其可与SQL Server 2000数据库无缝链接。 二 功能需求分析及说明 (一) 分析系统: 本系统通过访问到数据库,使操作员可以对数据库的客户数据表进行各种处理,使对数据的录入转换成人性化的界面录入,实现本地或者远程访问数据库,满足个人、企业等用户方便地对数据进行管理的需求。 (二)系统需要实现的功能: 基本功能: (1) 系统登录:输入用户名和密码,进行登录; (2) 客户信息维护模块:输入和编辑客户信息; (3) 信息查询模块:客户信息查询,联系人信息查询等; (4) 系统管理模块:增加操作员,密码修改以及退出系统。 扩展功能: (1) 基础信息维护模块:包括区域信息设置,企业性质设置,企业类型设置,企业资信设置,客户级别设置以及客户满意度设置; (2) 客户服务模块:包括客户反馈和客户投诉; (3) VIP客户模块及有针对性的服务。 三 系统设计说明: (一) 项目规划 客户管理系统所涉及的信息非常的全面,主要由客户信息录入、联系人信息录入、信息查询和系统管理等几个功能模块组成,系统管理模块主要包括操作员设置、密码修改和系统退出。 (二) 系统功能结构 客户管理系统的功能结构如图1所示。 客户管理系统功能架构图 (三)系统设计 设计目标 本系统属于典型的数据库管理系统,是针对中小型企业生产管理开发设计的,实现进一步的计算机化的管理。通过本系统可以达到以下目标: q 灵活的运用表格批量输入数据,使信息传递更快捷。 q 系统采用良好的人机对话模式,界面设计美观友好,信息查询灵活、方便、快捷、准确,数据存储安全可靠。 q 键盘操作,快速响应。 q 实现各种查询及打印等。 q 操作员可以随时修改自己的口令。 q 管理员可以设置操作员的权限 q 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。 q 数据保密性强,为每个用户设置权限级别。 q 系统运行稳定、安全可靠。 (四)开发及运行环境 系统开发平台:Visual C++ 6.0。 数据库管理系统软件:SQL Server 2000。 运行平台:Windows xp (五)数据库设计 本系统数据库采用SQL Server 2000数据库,系统数据库名称为db_Client。数据库db_SCGL中包含13张数据表。下面分别给出数据表概要说明和主要数据表的结构。 数据表概要说明: 从读者角度出发,使读者对本系统后台的数据库中数据表有一个更清晰的认识,在此特设计一个数据库中数据表列表,该数据表列表包含系统所有数据表,如图2所示。 四 技术准备 (一 )数据库的封装 调用数据库的方式有很多,主要有DAO、ODBC、ADO,但使用起来比较灵活的是ADO,直接引用ADO的方法是在头文件StdAfx.h中加入如下代码: #import"C:\ProgramFiles\CommonFiles\System\ado\msado15.dll"no_namespace rename("EOF","adoEOF")rename("BOF","adoBOF") 然后在要用的ADO的类中加入两个指针的定义就可以应用ADO了 _ConnectionPtr m_pConnection; _RecordsetPtr m_pRecordset; (二) 封装ADO数据库的代码分析 对ADO的封装主要是将引用ADO的代码加到自定义的类中,并引用头文件StdAfx.h即可,对ADO进行封装的代码如下: 头文件ADO.H声明如下: #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF" ,"adoEOF") class ado { public: _ConnectionPtr m_pConnection; _RecordsetPtr m_pRecordset; public: ado(); virtual ~ado(); void close(); bool MovePrevious();//向上移动 bool MoveLast();//最后一条 bool MoveNext();//向下移动 bool MoveFirst();//最后一条 int GetRecordCount();//获得记录个数 bool Open(CString srecordset, UINT adCmd); void GetErrors(_com_error eErrors);//获得错误信息 CString GetFieldValue(CString Field);//获得字段值 bool Move(int nRecordNum);//移动记录 void ExecuteSQL(CString SQL);//执行SQL语句 void rstOpen(CString TSQL);//打开记录集 }; 五 本系统功能模块 主要功能模块设计: (一)登陆功能:提供操作员的登录功能,拒绝非法用户访问数据库。 登陆成功后就进入到主窗体,就可以对客户管理系统的各个模块进行调用,主要有菜单调用和工具栏按钮调用两种,如图所示。 (二) 客户信息维护 2.1 客户信息 可以实现客户基本信息的添加、删除和修改,进行客户信息中上一条,下一条,第一条和最后一条信息的操作,能够用列表显示数据表中全部信息。程序运行如图所示。 2.2联系人信息 可以实现联系人基本信息的添加、删除和修改,进行上一条,下一条,第一条和最后一条的操作,用列表方式显示数据表中全部信息。 2.3业务往来 可以实现产品信息的添加、删除和修改。程序运行如图所示。 2.4客户呼叫中心 实现对客户的呼叫、客户详细信息以及对联系人信息的查询。程序运行如图所示。 (三)客户服务 3.1客户反馈 (四)信息查询 4.1 客户信息查询 实现查询功能,可以查询客户的编号,企业的名称,联系人的姓名等字段,最后将查询出来的结果显示在列表中,程序运行结果如图所示。 4.2联系人信息查询:实现查询功能,可以查询联系人的编号,企业的名称,联系人的姓名等字段,最后将查询出来的结果显示在列表中,程序运行结果如图所示。 (五)基础信息维护 5.1区域信息设置 5.2企业性质设置:可以设置企业的性质,进行添加、修改、删除等功能。 (六)系统功能 6.1 增加操作员:增加系统的操作员,使多个操作员可以对数据库进行访问,实现权限的再发布。 添加成功就会返回一个添加成功的对话框,如下: 6.2修改密码:提供操作员的密码修改功能,使操作员的密码有泄漏风险时可以尽快更改,防止造成数据的泄露。 添加成功就会返回一个添加成功的对话框,如下: 六 课程设计总结 (一)实训遇到的问题及解决办法 在做这个客户管理系统是遇到了很多的问题,不过到最后想办法解决了。刚开始的时候因为没备份,做到下一步时做错了,就只好前功尽弃,重新再做一个。 1 错误1 运行过程中,点击客户信息、客户联系人信息都会出现错误.这是因为一开始数据库中没有数据造成的.要先在代码里插入一个判断语句,如果没有记录,就返回return。 错误的代码:要是数据库里的客户信息记录为空,则会出现一个running time error 的错误。 void khinfo::loadrst() { rst4.rstOpen("select * from tb_khxx"); tnum2=rst4.GetRecordCount(); b.edit1=rst4.GetFieldValue("khxx_id"); b.edit2=rst4.GetFieldValue("khxx_mc"); 2=rst4.GetFieldValue("khxx_qyxz"); 3=rst4.GetFieldValue("khxx_qylx"); 5=rst4.GetFieldValue("khxx_qyzx"); b.edit4=rst4.GetFieldValue("khxx_qydz"); 6=rst4.GetFieldValue("khxx_szsf"); b.edit5=rst4.GetFieldValue("khxx_szcs"); b.edit6=rst4.GetFieldValue("khxx_gsyb"); b.edit7=rst4.GetFieldValue("khxx_frdb"); b.edit8=rst4.GetFieldValue("khxx_khyh"); b.edit9=rst4.GetFieldValue("khxx_yhzh"); b.edit10=rst4.GetFieldValue("khxx_nsh"); b.edit11=rst4.GetFieldValue("khxx_ICcard"); b.edit12=rst4.GetFieldValue("khxx_gswz"); b.edit13=rst4.GetFieldValue("khxx_gsdh"); b.edit14=rst4.GetFieldValue("khxx_gscz"); b.edit15=rst4.GetFieldValue("khxx_lxr"); b.edit16=rst4.GetFieldValue("khxx_lxrdh"); 4=rst4.GetFieldValue("khxx_khjb"); b.edit17=rst4.GetFieldValue("khxx_bz"); } 就要在载入客户信息前加一句判断语句: if (tnum2==0) {return; } 这样,当记录为空的时候就不会出错误了。 正确的代码如下: void khinfo::loadrst() { rst4.rstOpen("select * from tb_khxx"); tnum2=rst4.GetRecordCount(); if (tnum2==0) {return; }//判断记录是否空 b.edit1=rst4.GetFieldValue("khxx_id"); b.edit2=rst4.GetFieldValue("khxx_mc"); 2=rst4.GetFieldValue("khxx_qyxz"); 3=rst4.GetFieldValue("khxx_qylx"); 5=rst4.GetFieldValue("khxx_qyzx"); b.edit4=rst4.GetFieldValue("khxx_qydz"); 6=rst4.GetFieldValue("khxx_szsf"); b.edit5=rst4.GetFieldValue("khxx_szcs"); b.edit6=rst4.GetFieldValue("khxx_gsyb"); b.edit7=rst4.GetFieldValue("khxx_frdb"); b.edit8=rst4.GetFieldValue("khxx_khyh"); b.edit9=rst4.GetFieldValue("khxx_yhzh"); b.edit10=rst4.GetFieldValue("khxx_nsh"); b.edit11=rst4.GetFieldValue("khxx_ICcard"); b.edit12=rst4.GetFieldValue("khxx_gswz"); b.edit13=rst4.GetFieldValue("khxx_gsdh"); b.edit14=rst4.GetFieldValue("khxx_gscz"); b.edit15=rst4.GetFieldValue("khxx_lxr"); b.edit16=rst4.GetFieldValue("khxx_lxrdh"); 4=rst4.GetFieldValue("khxx_khjb"); b.edit17=rst4.GetFieldValue("khxx_bz"); } 2 错误2 同样的代码,做密码菜单时的步骤也没有错,但在我的管理系统点击进入系统菜单的密码修改时出现错误,最后经过调试、上网查找材料,终于解决了。 错误的代码:没办法根据用户名进行密码修改,进入密码修改菜单时出错。 BOOL CMimaDlg::OnInitDialog() { CDialog::OnInitDialog(); ado rsta; rsta.Open("select * from tb_user",adCmdText); int rstnum=rsta.GetRecordCount(); int i; for(i= 1;i<= rstnum;i++) { this->m_com1.AddString(rsta.GetFieldValue("user_name")); this->m_com1.SetWindowText(rsta.GetFieldValue("user_name")); rsta.Move(i); } rsta.close(); return TRUE; } 改正后的代码: 将这一句 this->m_com1.AddString(rsta.GetFieldValue("user_name")); 改为 this->m_com1.SetWindowText(rsta.GetFieldValue("user_name")); 则修改密码是就不会出错了。 3 错误3 在引入字符串的时候,添加、修改、删除、第一条、下一条等图标的值出现了不连续,而由于给图标添加文字说明的时候,是通过循环添加的,就出现了文字添加不正错的问题。 改正:到resource.h这个头文件将图标的值改成连续的。 4 不足 1 总共需要用的图标只有18个:客户信息、联系人信息、呼叫中心、关闭等 而自己却总共需要添加24个才能够全部实现图标的功能,使得有些图标如添加、修改等进行了重复引入、定义,增加了系统的复杂性,系统不够简洁。 当然,还遇到了一些其它的问题,最后都在老师或者同学的指导下解决了。 (二)心得体会: 在当今信息时代,访问存储在服务器上的数据库已经是很普遍的事情了,现实中的客户管理系统也越来越强大。不过随着网络的发展,对数据库的访问安全性的要求也在提高。 时间过得很快,转眼间,这学期的近两周的实训生活即将结束。由于刚开始实训的时候MFC程序设计的应用不够熟悉,使得最初的几天都相当于在熟悉MFC类的建立,让类跟数据库关联。通过这两周的实训,使得我对MFC设计比较熟悉了,懂得了使用很多系统自带的功能,如何将类跟数据库进行关联。 虽然说在做程序的过程中也有很多问题,也遗憾以前没有认认真真学好MFC,在设计的时候还要翻课本、上网找资料,过在经过自己思考或者和同学交流后都把遇到的问题解决了,在跟同学交流过程中也学到了很多自己不懂得知识。在这次的实训中除了学会了在对话框上建立类,将类与数据库对接,使用TAB控件以及分页技术,可以熟练的应用各类控件,给控件添加变量等设计知识外,还学到了很多其它方面的知识。 在实训中,通过与同学讨论和请教老师,很多问题很快得到解决,同时也养成了合作的精神。在这次实训中把基本功能完成了,同时也完成了一些附加功能,不过相比班上做的比较好的同学,系统还不够完善。 从这次课程设计中也体会到了很多学习中的乐趣,为了完成课程设计,我们可以连续十几个小时呆在电脑室里,也为了在宿舍能够安装使用SQL2000,毅然决然的把宿舍电脑的Win7操作系统给换成了XP。 在课程设计过程中遇到了很多问题,不过在老师和和同学们的帮助下大部分都得以解决,在此对他们表示感谢。通过看书自学也学到了很多课堂上学不到的东西。此次课程设计我最大的收获是学会了自主学习,也增加了与老师和同学们的交往、增进了相互之间的感情。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机专业 课程设计 客户 管理 系统 大学 论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文