欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    毕业设计客户管理系统设计方案.doc

    • 资源ID:1143654       资源大小:139.92KB        全文页数:28页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计客户管理系统设计方案.doc

    摘要客户资料管理系统是典型的客户信息管理系统,其主要的功能是把客户管理过程信息化,自动化以减轻人工的重复繁琐劳动。其开发主要包括后台数据库的建立维护以及前台应用程序的开发两个方面。对于后台数据库要求建立一个稳定的数据库,保持数据的一致性,完整性,安全性也是必要的。对于前台要求稳定,实用,易用。本系统是为公司客户资料管理的各种工作而设计的。根据需求分析,需要实现对系统用户,基本信息客户、单位名称、联系相关信息等的管理。经过分析,本系统使用SQL SERVER做为其后台数据库,采用ADO数据库技术;Visual C+做为开发工具,提供了相当齐备的类库、友好的编程界面和多种多样的数据库访问技术。其中ADO使得编写数据库应用程序变得简单容易。公司客户资料管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性,完整性,安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。关键词: VC+ + 数据库; 客户资料管理系统; ADO技术目录第1章 需求分析2第2章系统分析3第3章数据库设计43.1 建立E-R图4 3.2 SQL建立数据库及查询53.3ADO方式连接数据库的类实现83.4 ADO控件访问数据库23第4章总结23第5章 参考文献241第1章 需求分析客户管理是一个企业在经营管理中不可缺少的部分,它的成功与否对于企业的发展来说都是至关重要的,所以公司客户管理系统应该能够为用户提供充足的信息和快捷的查询手段。但如果使用传统的人工直接统计的话,工作量十分的庞大,存在许多的缺点,如:效率低,性差,且如果客户多,时间一长,将产生大量的文件及数据,对于查找,更新和维护带来困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对客户进行管理,可使人们从繁重而又单调的统计运算中解脱出来,仅用一些简单的操作便可及时准确地获得需要得信息。使企业实现科学化,正规化管理,与世界接轨。因此,开发这样一套管理软件成为很必要的事情。此设计主要实现的功能有实现对系统用户,基本信息客户、单位名称、联系相关信息等的管理。需求分析阶段的工作结果是开发软件的重要基础,大量统计数字表明,软件系统中15%的错误起源于错误的需求。为了提高软件的质量,确保软件开发成功,降低软件的开发成本,一旦对目标系统提出一组要求之后,必须严格验证这些需求的正确性。一般来说,应从下面四个方面进行验证: a. 一致性 所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。 b. 完整性 需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。 c现实性指定的需求应该是用现有的硬件技术和软件技术基础上可以实现的。对硬件技术的进步可以做些预测,对软件技术的进步很难做些预测,只能从现有的技术水平出发判断需求的现实性。 d有效性必须证明需正确有效的,确保能解决用户面对的问题。通过用户和设计者对上述需求分析所得到的管理系统功能的复查,并且对照上面几点要求进行验证,客户信息管理系提出的基本满足需求分析验证的要求。2第2章 系统分析1.Visual C+Visual C+是运行于Windows平台上的交互式的可视化集成开发环境,它是美国Microsoft公司开发的Microsoft Visual Studio 套件中的一部分。像其他可视化集成开发环境一样,Visual C+集程序的代码编辑、编译、连接和调试等功能于一体,给编程人员提供了一个完整方便的开发界面和许多有效的辅助开发工具。Visual C+的应用程序向导可以以很大一部分类型的程序提供框架代码,用户不用书写程序代码,只需按几个按钮就可以生成一些完整的可以运行的程序。Visual C+具有以下优点:1>面向对象、可视化开发。提供了面向对象的应用程序框架MFCMicrosoft Foundation Class:微软基础类库,大大简化了程序员的编程工作,提高了模块的可重用性。Visual C+还提供了基于CASE技术的可视化软件自动生成和维护工具AppWizard、ClassWizard、Visual Studio、WizardBar等,帮助用户直观的、可视地设计程序的用户界面,可以方便的编写和管理各种类,维护程序源代码,从而提高了开发效率。用户可以简单而容易地使用C/C+编程。2>众多的开发商支持以及业已成为工业标准的MFC类库。MFC类库已经成为事实上的工业标准类库,得到了众多开发商和软件开发工具的支持;另外,由于众多的开发商都采用Visual C+进行软件开发,这样用Visual C+开发的程序就与别的应用软件有许多相似之处,易于学习和使用。 3>Visual C+封装了Windows的API应用程序接口函数、USER、KERNEL、GDI函数,帮助我们弄清了许多函数的组织方法,隐去了创建、维护窗口的许多复杂的例行工作,简化了编程。2ADO<ActiveX Data Object>ADO技术是基于OLE DB的访问接口,它继承了OLE DB技术的优点,并且,ADO对OLE DB的接口作了封装,定义了ADO对象,使程序开发得到简化,ADO技术属于数据库访问的高层接口。32. SQL主要语法SQL SERVER 提供了关系数据库的查询语言SQL<Structured Query Language>,是一种非常口语化、既易学又易懂的语法。此一语言几乎是每个资料库系统都必须提供的,包含了资料的定义DDL以及资料的处理DML。SQL原来拼成SEQUEL,这语言的原型以"系统 R"的名字在 IBM 圣荷西实验室完成,经过IBM部及其他的许多使用性及效率测试,其结果相当令人满意,并决定在系统R 的技术基础发展出来 IBM 的产品。而且美国国家标准学会ANSI及国际标准化组织ISO在1987遵循一个几乎是以 IBM SQL 为基础的标准关连式资料语言定义。第3章数据库设计3.1 建立E-R图E-R图提供了表示实体性、属性和联系的方法:l 实体性:用矩形表示,矩形框写实体名。l 属性:用椭圆形表示,并用无向边将其与相应的实体型连接起来。l _用菱形表示,菱形框写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系连接起来。客户资料E-R图如图3-1所示备注客户XX性别XX号户口手机号办公邮箱图3-1 客户实体及属性43.2 SQL建立数据库及查询3.2.1 数据规化问题当把数据库收集在一个二维表中,往往有很多重复的数据,即冗余度大。像这样的二维表是不宜作为数据库管理的,必须进行规化后才能使用。数据规化理论是研究如何将一个不好的关系模型转化成为好的关系模型。规化理论认为,关系数据库中的每一个关系都要满足一定的规。根据满足规的条件不同,可分为五个等级,分别称为第一式1NF,第二式2NF第五式5NF,通常解决一般性问题时,只要把数据规到第三式3NF标准就可满足需要,不是规化等级越高越好。下面给出第一、第二和第三式的条件:第一式1NF:如果关系R的所有属性都是不可再分的数据项,则称该关系为第一式。记作R属于1NF。第二式2NF:若关系R属于1NF,且它的每一非主属性都完全依赖与关键字,则称R属于第二式。记作R属于2NF。第三式3NF:若关系R属于2NF,且每一非主属性都不传递依赖于关键字,则称R属于第三式。记作R属于3NF。运用SQL server 2000新建一个数据库,客户管理所有客户信息的数据都保存在这个数据库中。53.2.2设计表的结构表customs 3-2列名列名数据类型宽度是否为空客户主键Cus_namevarchar50No性别Cus_Sexvarchar4Yes号Cus_IDvarchar20Yes户口所在地Hukouvarchar100Yes手机Mobilevarchar30Yes办公Office_phonevarchar30YesEmailvarchar20Yes备注信息Remarkvarchar200Yes4.2.3 SQL建立数据库和表:create database Customcreate table customs< Cus_name Varchar<50> primary key, Cus_Sex Varchar<4>,Cus_ID Varchar<20>,Hukou Varchar<100>,Mobile Varchar<30>,Office_phone Varchar<30>,Email Varchar<20>,Remark Varchar<200>, >insert into 6customs<Cus_name,Cus_Sex,Cus_ID,Hukou,Mobile,Office_phone,Email,Remark>values<'欧阳丽','女','','','','0','bijiexj,',NULL>insert into customs<Cus_name,Cus_Sex,Cus_ID,Hukou,Mobile,Office_phone,Email,Remark>values<'吴维相','男','8','','','0','bijiewwx,',NULL>insert into customs<Cus_name,Cus_Sex,Cus_ID,Hukou,Mobile,Office_phone,Email,Remark>values<'徐进','男','6','','','0','bijiexj,',NULL>insert into customs<Cus_name,Cus_Sex,Cus_ID,Hukou,Mobile,Office_phone,Email,Remark>values<'云春','男','','六盘水','','0','lpscyc.',NULL>insert into customs<Cus_name,Cus_Sex,Cus_ID,Hukou,Mobile,Office_phone,Email,Remark>values<'真秀','女','','六盘水','','06','lpsczx.',NULL>insert into customs<Cus_name,Cus_Sex,Cus_ID,Hukou,Mobile,Office_phone,Email,Remark>values<'成明','男','','','','0','gyzcm.',NULL>73.2.4 SQL查询及结果:select Cus_name 客户名,Cus_Sex 性别,Cus_ID 号,Hukou 户口所在地,Mobile 手机,Office_phone 办公E,Email ,Remark 备注 from customs3.3ADO方式连接数据库的类实现#include "StdAfx.h"#import"F:VC+.6.0.SP6VC6CNSHAREDADOmsado15.dll"no_namespace rename<"EOF","adoEOF">rename<"EOF","adoEOF">class ADOConnpublic:_ConnectionPtr m_pConnection;/指向Connection对象的指针_RecordsetPtr m_pRecordset;/指向Recordset对象的指针public:ADOConn<>virtual ADOConn<>void OnInitADOConn<>/初始化连接数据库8_RecordsetPtr&GetRecordset<_bstr_t bstrSQL>/执行查BOOL ExecuteSQL<_bstr_t bstrSQL>/执行SQL语句Insert Update_variant_tvoid ExitConnect<>void ADOConn:OnInitADOConn<>/初始化一个连接数据库:CoInitialize<NULL>/初始化OLE/COM库环境try/创建Connection对象m_pConnection.CreateInstance<"ADODB.Connection">/设置连接字符串,必须是BSTR型或者_bstr_t类型 _bstr_t strConnect="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False; Initial Catalog=Custom; Data Source=local;"m_pConnection->Open<strConnect,"","",adModeUnknown>catch<_error e>/捕捉异常9AfxMessageBox<e.Description<>>/显示错误信息_RecordsetPtr& ADOConn:GetRecordset<_bstr_t bstrSQL>/执行数据库查询try /连接数据库,如果Connection对象为空,则重新连接数据库if<m_pConnection=NULL>OnInitADOConn<>m_pRecordset->Open<bstrSQL,m_pConnection.GetInterfacePtr<>,adOpenDynamic,adLockOptimistic,adCmdText>catch<_error e>AfxMessageBox<e.Description<>>return m_pRecordset;/返回记录集10BOOL ADOConn:ExecuteSQL <_bstr_t bstrSQL>/执行SQL语句tryif<m_pConnection=NULL>OnInitADOConn<>/Connection对象的Execute方法:/<_bstr_tCommandText,VARIANT*RecordsAffected,longOptions>/其中CommandText是命令字符串,通常是SQL命令/参数RecordsAffected是操作完成后所影响的行数/参数Options表示CommandText的类型:adCmdText文本/命令,adCmdTable表名;adCmdProc存储过程;/adCmdUnkown未知m_pConnection->Execute <bstrSQL,NULL,adCmdText>return true; catch<_error e>AfxMessageBox<e.Description<>>return false;11void ADOConn:ExitConnect<>/断开与数据库的连接if<m_pRecordset!=NULL>m_pRecordset->Close<>m_pConnection->Close<>:CoUninitialize<>/关闭OLE/COM库并释放资源class customs/创建对象客户customs类private: int Cus_ID;CString Cus_name;CString Cus_Sex;CString Hukou;CString Mobile;int Office_phone;CString Email;CString Remark;public:customs<>virtual customs<>/设置和读取成员变量值 12int GetCus_ID<>void SetCus_ID<int vCusId>CString GetCus_name<>void SetCus_nam<CString vCusname>CString GetCus_Sex<>void SetCus_Sex<CString vSex>CString GetEmail<>void SetEmail<CString vEmail>CString GetRemark<>void SetRemark<CString vRemark>int GetOffice_phone<>void SetOffice_phone<int vphone>CString GetHukou<>void SetHukou<CString vHukou>CString GetMobile<>void SetMobile<CString vMobile>void SetCus_name<CString vcusName>/数据库操作void sql_insert<>void sql_update<CString cCus_name>void sql_delete<CString Cus_name>13void GetData<CString cCus_name>/根据客户名字读取所有字段;customs:customs<>Cus_ID=0;Cus_name=""Cus_Sex=""Hukou=""Office_phone=0;Mobile=""Email=""Remark=""/设置和读取成员变量值int customs:GetCus_ID<> return Cus_ID;void customs:SetCus_ID<int vcusId>Cus_ID=vcusId;14CString customs:GetCus_name<>return Cus_name;void customs:SetCus_name<CString vCusName>Cus_name=vCusName;CString customs:GetCus_Sex<>/获取Sex<性别>变量return Cus_Sex;void customs:SetCus_Sex<CString vSex>Cus_Sex=vSex;CString customs:GetHukou<>/获取HuKou<户口>变量return Hukou;15void customs:SetHukou<CString vHukou>Hukou=vHukou;int customs:GetOffice_phone<>/获取Office_phone<办公>变量return Office_phone;void customs:SetOffice_phone<int vOffice_phone>Office_phone=vOffice_phone;CString customs:GetEmail<>/获取Email<>变量return Email;void customs:SetEmail<CString vEmail>Email=vEmail;16CString customs:GetRemark<>/获取Remark<备注>变量return Remark;void customs:SetRemark<CString vRemark>Remark=vRemark;CString customs:GetMobile<>/获取Mobile<手机号>变量return Mobile;void customs:SetMobile<CString vMobile>Mobile=vMobile;void customs:sql_insert<>/函数sql_insert的实现ADOConn m_AdoConn;m_AdoConn.OnInitADOConn<>/设置查询语句 17CString strRemark;strRemark.Format<"%s",Remark>_bstr_t vSQL;vSQL="INSERT INTO customs<Cus_ID,Cus_name,Hukou,Cus_Sex,Mobile,Remark,Office_phone,Email> VALUES<1,'"+Cus_name+"','"+Hukou+"','"+Cus_Sex+"','"+Mobile+"',"+strRemark+",1,'"+Email+"'>"/执行INSERT语句m_AdoConn.ExecuteSQL<vSQL>m_AdoConn.ExitConnect<>/断开与数据库的连接void customs:sql_update<CString cCus_name>/函数sql_update的/实现ADOConn m_AdoConn;m_AdoConn.OnInitADOConn<>CString strRemark;strRemark.Format<"%s",strRemark>_bstr_t vSQL;char sql100;18strcpy<sql, "">strcpy<sql, "UPDATE customs SET Cus_ID=">char temp10;itoa<Cus_ID, temp, 10>strcat<sql, temp>strcat<sql, ",Hukou='">strcat<sql, Hukou>strcat<sql, "',Cus_Sex='">strcat<sql, Cus_Sex>strcat<sql, "',Mobile='">strcat<sql, Mobile>strcat<sql, "',Remark='">strcat<sql, Remark>/strcat<sql, "',Office_phone='">/strcat<sql, Office_phone>itoa<Office_phone,temp,10>strcat<sql, "',Email='">strcat<sql, Email>/itoa<Cus_name, temp, 10> strcat<sql,"',Cus_name='"> strcat<sql,Cus_name>19strcat<sql, "'WHERE Cus_name =">strcat<sql, temp>/vSQL="UPDATECustoms SETCus_ID="+Cus_ID+",Hukou='"+Hukou+"',Cus_Sex='"+Cus_Sex+"',Mobile='"+Mobile+"',Remark='"+Remark+"',Cus_name='"+Cus_name+"',Email='"+Email+"'WHERE Office_phone="+Office_phone;m_AdoConn.ExecuteSQL<vSQL>m_AdoConn.ExitConnect<>void customs:sql_delete<CString cCus_name> /函数sql_delete的/实现ADOConn m_AdoConn;m_AdoConn.OnInitADOConn<> /设置DELETE语句_bstr_t vSQL;vSQL="DELETEFROM customs WHERE Cus_name="+cCus_name;/执行DELETE语句m_AdoConn.ExecuteSQL<vSQL>20m_AdoConn.ExitConnect<>void customs:GetData<CString cCusID>/函数GetData的实现ADOConn m_AdoConn;m_AdoConn.OnInitADOConn<>_bstr_t vSQL;vSQL="SELECT * FROM customs WHERE Cus_ID="+cCusID;/执行SELETE语句_RecordsetPtr m_pRecordset;m_pRecordset=m_AdoConn.GetRecordset<vSQL>if<m_pRecordset->adoEOF=1>customs<>elseCus_ID=atoi<cCusID>Cus_name=<LPCTSTR><_bstr_t>m_pRecordset->GetCollect<"Cus_name">21Cus_Sex=<LPCTSTR><_bstr_t>m_pRecordset->GetCollect<" Cus_Sex">Hukou=<LPCTSTR><_bstr_t>m_pRecordset->GetCollect<"Hukou">Mobile=<LPCTSTR><_bstr_t>m_pRecordset->GetCollect<"Mobile">Email=<LPCTSTR><_bstr_t>m_pRecordset->GetCollect<"Email">Remark=<LPCTSTR><_bstr_t>m_pRecordset->GetCollect<"Remark">Office_phone=atoi<<LPCTSTR><_bstr_t>m_pRecordset->GetCollect<"Office_phone">>m_AdoConn.ExitConnect<>/断开与数据库的连接void main<> 运行:223.4 ADO控件访问数据库在应用程序中添加Microsoft ADO Data和Microsoft DataGrid两个控件,并且在Microsoft ADO Data控件ConnectionString属性中添加连接数据库据库的属性值Provider=SQLOLEDB.1;Data Source=MyPCSERVERIntegratedSecurity=SSPI;InitialCatalog=CustomPersist Security Info=False、Recordsource属性中添加查询数据库表的属性值SELECT * FROM customs,然后测试连接数据库,连接成功,编译、运行得到如图3-4查询结果。ADO控件访问数据库运行结果:图3-4第4章总结主要的分工情况如下:徐进数据库的设计和查询的实现、吴维相进行添加、删除、修改等设计、云春用户权限控制、系统测试通过这几个星期的努力,客户资料管理系统的设计与开发已完成。其基本功能包括:增加、删除、修改、查询,客户基本信息管理客户、单位名称、联系相关信息等功能已基本达到。这次课程设计是按照软件开发流程进行23的。从一开始的详细设计,用UML描绘出系统的基本框架,到数据库的设计,以及每个部分的实现,采用了面向对象的思想,这对系统的日后维护及功能的扩充有很大的帮助。在这几个星期的开发过程中,加深了对Visual C+ 的理解,对SQL SERVER数据库使用也比较熟练,尤其是SQL 语句的使用。最重要的是,我们对这样一个大的程序的编写过程中,培养了自学的能力,对C+语言的认识有了进一步的提高。尤其是软件的开发过程中,十分注重的是团队的合作精神,这是我们在这次课程设计中深刻体会到的。第5章 参考文献1海藩 牟永敏 面向对象程序设计实用教程<第二版> 清华大学20XX2天华面向对象程序设计与Visual C+6.0教程清华大学20XX3萨师煊、王珊. 数据库系统概论<第四版>. 高等教育. 20XX.4海藩 软件工程导论<第五版> 清华大学 20XX5安训国 数据结构<第四版>理工大学 20XX6.docin./p-222962908.html2428 / 28

    注意事项

    本文(毕业设计客户管理系统设计方案.doc)为本站会员(李司机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开