出版社客户管理系统_第1页
出版社客户管理系统_第2页
出版社客户管理系统_第3页
出版社客户管理系统_第4页
出版社客户管理系统_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

{客户管理}出版社客户管理系统西华大学课程设计报告指导教师签名:年月日软件工程课程设计任务书学院名称:数学与计算机学院课程代码:_________________专业:软件工程年级:2009一、设计题目出版社客户管理系统二、主要内容本课程是计算机软件专业的必修专业课程,通过理论讲述和实际训练,理、方法和技术开发和维护软件。段的目的和任务,完成对系统的定义、设计、编码、运行以及后期的维护。三、具体要求及应提交的材料1.分析阶段:一个小型的出版社客户管理系统系统,需完成以下工作:(1)在出版社客户管理系统中增加/删除一客户;(2)对某一客户赠送样书、发慰问信、发慰问礼品;(3)找出某一批出售书名和编号的相应客户;。导出系统的数据流程图和实体关系图(E-R)2.设计阶段:针对分析阶段提出的软件要求,给出实现的方案和具体细节的说明。西华大学课程设计报告(1)考虑该软件基本功能成份,该系统具有3个基本功能成分:①客户管理,②系统设置,③数据查询。(2)根据分析,导出系统的功能模块图。(3)设计数据库。使用MicrosoftAccess创建数据库。确定数据库中的参照完整性约束。(4)根据功能确定软件模块组成及调用关系。3.编码阶段模块的编码,由此使软件设计具体化为软件作品。4.运行维护在软件运行时,检查软件的不足或错误,并进行维护。5.编写课程设计报告(1)设计题目(2)任务要求(3)系统总体方案(4)各功能模块和流程图(5)心得体会和参考资料西华大学课程设计报告字不少于5000字,装订成册。四、主要技术路线提示五、进度安排序号设计内容天数1分析设计内容,给出解决方案32创建数据库及建表33可视化界面设计3对所建数据库进行设计,整理设计思路,43编码、测试,写出课程设计报告5指导老师检查设计结果并做成绩评定2总计14六、推荐参考资料(不少于3篇)[1]张海藩.软件工程导论,清华大学出版社,2004[2]陈明.实用软件工程基础,清华大学出版社,2003[3]殷人昆.实用软件工程,清华大学出版社,2003[4]宋波.UML面向对象技术与实践,科学出版社,2004指导教师签名日期2011年5月27日系主任审核日期2011年6月12日西华大学课程设计报告目录1前言62需求分析62.1功能分析62.2方案分析63概要设计63.1数据结构63.2逻辑结构与物理结构63.3功能模块划分73.4抽象数据类定义74详细设计74.1数据类型定义74.2主要模块内部设计74.2.1模块1设计(实际写时用本题目对应的模块名称)74.2.2模块2设计(实际写时用本题目对应的模块名称)84.2.3模块3设计(实际写时用本题目对应的模块名称)85实现与调试分析85.1实现环境85.2语言选择85.3调试分析86测试分析8西华大学课程设计报告6.1测试用例86.2测试结果86.3性能分析87用户手册9总结9参考文献9西华大学课程设计报告1前言999电池股份有限公司管理信息系统(简称MDMIS999电池股份有限公司的管理管理。MDMIS多个软件模块。本说明书介绍的是MDMIS中的产品管理子系统的开发过程。在必行。因此出版社的客户管理系统就不可缺少了。2需求分析浪费。我们需要设计一个让工作人员使用的计算软件的系统,减少工作量,实现出版社客户管理的高效化,进行相应的查找、修改、删除等功能。2.1功能分析西华大学课程设计报告1.待开发软件的功能需求新、统计、查询、打印等工作,进行高效、准确的管理。产生以下信息:(1)产品库存表:随时(定期/不定期)报告产品库存情况;(2)产品生产完成情况表:按要求定期/不定期报告产品生产情况;(3)产品出库情况表:按要求定期/不定期报告产品出库情况;(4)产品生产、销售、库存情况表:按要求报告一定时期内产品生产、销售和当前库存情况;以上四表,满足了企业生产、销售、对帐等各方面管理的需要。2.待开发软件的功能1。产成品管图2.1产成品管理系统层次方框图结合系统需求,对图1所示的系统功能解释如下:数据维数据归查询统打印报月末处维护入库产成据的录的录入的数据功能。档况况况维护出提产出据数据归实库库的查、统计,以及对错录库西华大学课程设计报告档前未发现的错误记录。出厂记录的维护功能。定期打印入库情况:显示/打印任一时期,任一生产阶段的各生产车间以及表反映了全公司的生产完成情况。进行报表显示或打印,以汇总、明细报表反映公司的产成品销售情况。显示//打印出截止打印时刻为止的全公司和各产成统计和查询要求。面的产成品信息。同时,通过分析,我们给出了成品管理系统的顶层数据流图。见图2。图2.2产成品管理系统顶层数据流图2.2方案分析西华大学课程设计报告C语言设计实现,使用CC语言使用起来瀑布模型能更快捷、安全的进行开发。技术可行性:前面做了详细的需求分析,大致把握了该教室管理系统的功能及用户的需求,另外在该系统之前已有类似的管理系统,比如图书管理系统,机票管理系统等在技术方面开发人员可以借鉴,所以技术上是可行的。经济可行性:软件的开发,不但要考虑到当前技术的可行性,还要考虑到软件开发的成本/效益,所谓经济可行性,换句话说,也就是说通过成本/效益分析,总结整个软件的开发经费,以及软件开发成功以后,可能给学校带来的经济效益,把两者进行权衡,再作认真仔细的估计,总结整个系统在经济上是否可行。本系统的开发成本主要以及学校信息化建设的要求,总的来说经济上也是可行的。操作可行性分析:虽然该系统是在控制台上运行的,用户界面不是很好,但开发人员作了大量的提示语句。操作人员不需要太多的计算机专业知识,只要懂得计算机的基本操作,并且对本系统有基本的了解,按照提示语句就可以了,而且本系统会提供给该教室管理系统是完全可行的。3概要设计本软件将辅助管理人员完成全公司产成品入库、出库、库存等方面的管理,们将对系统的硬件环境作简要介绍,并对待开发系统作概要设计。3.1数据结构3.2逻辑结构与物理结构西华大学课程设计报告逻辑结构设计1)数据库Sale-Management-nameTable定义如表3.1所示。表3.1数据库Sale-Management-nameTable定义2)配置文件:保留上次程序运行结束后的相关状态如表3.2所示。表3.2上次运行结束后的相关状态3)全局变量如表3.3所示。表3.3全局变量物理结构设计数据库Sale-Management-name的文件物理结构:采用顺序介机构记录文件数据结构与程序的关系初始化模块(M1.1):我们将会设置全局变量1~5;刷新基本资料模块(M1.2):利用全局变量3、4的基本信息,有可能访问数据库;刷新详细资料模块(M1.3):访问数据库和全局变量3、4的详细信息;关闭系统模块(M1.4):将全局变量1、5保存至配置文件中;系统功能模块(M1.5):利用鼠标和键盘操作事件;信息添加模块(M2.1):设置全局变量1、2、4和5;信息删除模块(M2.2):利用全局变量3和4,设置全局变量1、2和4;西华大学课程设计报告信息修改模块(M2.3):访问数据库和全局变量3;查询模块(M2.4):查询客户基本信息;客户权益分配模块(M2.5):利用全局变量4中的相应数据;客户类型分配模(M2.6):利用全局变量4、5中的相应数据;接受订单模块(M3.1):利用全局变量1中的数据;订单审核模块(M3.2):利用全局变量1和5中的信息;撤销订单模块(M3.3):完成用户撤销订单的功能;修改订单模块(M3.4):完成客户对已交订单的修改;查询订单模块(M3.5):完成查询客户订单的功能;发货单模块(M4.1):由公司像生产商发出订货单;收款模块(M4.2):公司向客户发出收款请求并收款;综合查询模块(M4.3):完成客户对整个过程的查询;报表生成功能(M5.1):当前记录生成报表;打印功能(M6):利用全局变量2、3和4;导入导出模块(M7):完成对数据的导入和导出;帮助模块(M8):为用户提供随时的操作帮助;密码管理模块(M9):完成对用户密码的管理;身份验证模块(M10);完成对用户身份的验证,以便分配相应的功能;3.3功能模块划分3.3.1结构框图西华大学课程设计报告3.4结构框图3.3.2程序流图3.3.3模块功能分析及外部设计表4模块设计功能分配系统控制功能初始化模块(M1.1);刷新基本资料模块(M1.2);刷新详细资料模块(M1.3);关闭系统模块(M1.4);系统功能模块(M1.5);客户关系管理功能:信息添加模块(M2.1);信息删除模块(M2.2);信息修改模块(M2.3);刷新基本资料模块(M1.2);刷新详细资料模块(M1.3);查询模块(M2.4);客户权益分配模块(M2.5);客户类型分配模(M2.6);西华大学课程设计报告订单管理功能:接受订单模块(M3.1);订单审核模块(M3.2);撤销订单模块(M3.3);修改订单模块(M3.4);刷新基本资料模块(M1.2);刷新详细资料模块(M1.3);查询订单模块(M3.5);销售与收款功能:发货单模块(M4.1);收款模块(M4.2);综合查询模块(M4.3);刷新基本资料模块(M1.2);刷新详细资料模块(M1.3);报表生成功能:报表生成功能(M5);打印功能:打印功能(M6);导入导出功能:导入导出模块(M7);帮助功能:西华大学课程设计报告帮助模块(M8);密码管理功能:密码管理模块(M9);身份验证功能:身份验证模块(M10);3.4抽象数据类定义voidinput();//信息录入voidoutput();//信息输出voidamend();//信息修改voidDelete();//修改操作voidmenu();//菜单voidsearch();//查找函数4详细设计4.1数据类型定义structmember{intdate;//日期charid[15];//客户编号charname[11];//客户姓名最多5个汉字intphonenumber[15];//电话号码最多5个汉字};西华大学课程设计报告4.2主要模块内部设计voidmain(){intchoice;//存放用户的操作选项menu();while(1){printf("请选择:");scanf("%d",&choice);//输入要执行功能的对应数字switch(choice){default:exit(0);//调用结束函数case1:input();//调用输入函数break;case2:output();//调用输出函数break;case3:amend();//调用修改函数break;case4:sta();//调用统计函数break;}printf("\n\n");menu();西华大学课程设计报告}}4.2.1模块1设计模块算法voidinput()//输入函数{inti=0;charch[]="kk";FILE*fp;fp=fopen("D:\\WORKERINFOR--1.rec","ab+");while(i<99){printf("客户编号:");getchar();gets(num[i].id);if(!strcmp(num[i].id,ch))break;西华大学课程设计报告printf("客户姓名:");getchar();gets(num[i].name);printf("日期:");getchar();scanf("%d",&num[i].date);printf("电话号码:");getchar();scanf("%d",&num[i].phonenumber);printf("客户费用:");getchar();scanf("%f",&num[i].fee);fwrite(&num[i],sizeof(num[i]),1,fp);printf("该挂号信息已录完,请录入下一个客户信息!\n\n");i++;}if(i>=99)printf("挂号信息已录满!!!\n");fclose(fp);}流程图西华大学课程设计报告4.2.2模块2设计voidoutput()//输出函数{inti=0;charch;//储存字符Y/NFILE*fp;fp=fopen("D:\\WORKERINFOR--1.rec","rb");while(!fp)//保证成功打开文件fp=fopen("D:\\WORKERINFOR--1.rec","rb");printf("------------------------------------------------\n");printf("客户编号客户姓名日期电话号码客户费用\n");printf("------------------------------------------------\n");while(fread(&num[i],sizeof(num[i]),1,fp)==1){if(strcmp(num[i].name,num[i-1].name))//避免因删除了某条记录而造成的最后一条记录重复操作一次{printf("%s%s%d%d\n",num[i].id,num[i].name,num[i].date,num[i].phonenumber,num[i].fee);}西华大学课程设计报告i++;}do{printf("返回主菜单(Y/N):");getchar();//跳过回车符ch=getchar();if(ch=='y'||ch=='Y')break;elseexit(0);}while(1);}4.2.3模块3设计voidsta()//统计函数{inti=0,count=0;//count统计人数charch;//接受回车符floatfeesum=0;//numbersum表示本日客户费用FILE*fp;fp=fopen("D:\\WORKERINFOR--1.rec","rb");while(!fp)//保证成功打开文件fp=fopen("D:\\WORKERINFOR--1.rec","rb");西华大学课程设计报告while(fread(&num[i],sizeof(num[i]),1,fp)==1){if(strcmp(num[i].name,num[i-1].name))//避免因删除了某条记录而造成的最后一条记录重复操作一次{feesum=feesum+num[i].fee;count++;}i++;}printf("本日总的客户费用:%d总人数:%d\n",feesum,count);do{printf("返回主菜单(Y/N):");getchar();//跳过回车符ch=getchar();if(ch=='y'||ch=='Y')break;elseexit(0);}while(1);}voidamend()//修改函数西华大学课程设计报告{inti=0,choose;//存放修改项charNAME[11];FILE*fp;fp=fopen("D:\\WORKERINFOR--1.rec","rb+");while(!fp)//保证成功打开文件fp=fopen("D:\\WORKERINFOR--1.rec","rb+");printf("输入将要修改的客户编号:");scanf("%s",&NAME);while(fread(&num[i],sizeof(num[i]),1,fp)==1){if(!strcmp(num[i].name,NAME)){printf("修改选项:\n1、客户编号2、客户姓名3、日期4、电话号码10、费用\n请选择:");scanf("%d",&choose);switch(choose){case1:printf("客户编号:");scanf("%s",&num[i].id);break;西华大学课程设计报告case2:printf("客户姓名:");scanf("%s",&num[i].name);break;case3:printf("日期:");scanf("%f",&num[i].date);break;case4:printf("电话号码:");scanf("%d",&num[i].phonenumber);break;case5:printf("客户费用:");scanf("%f",&num[i].fee);break;default:printf("输入错误!!!\n");break;}fseek(fp,-68L,1);fwrite(&num[i],sizeof(num[i]),1,fp);printf("\n该挂号信息修改成功!!!\n");break;}i++;西华大学课程设计报告}fclose(fp);}5实现与调试分析5.1实现环境硬件:装有WindowsXP的微型计算机。软件:MicrosoftVisualC++6.0。5.2语言选择C语言5.3调试分析一个好的程序员不应该把所有的判断交给编译器和调试器,应该在程序中自己加以程序保护和错误定位,具体措施包括:对于所有有返回值的函数,都应该检查返回值,除非你确信这个函数调用绝对不会出错,或者不关心它是否出错。一些函数返回错误,需要用其他函数获得错误的具体信息。例如accept返回INVALID_SOCKET表示accept失败,为了查明具体的失败原因,应该立刻用WSAGetLastError获得错误码,并针对性的解决问题。有些函数通过异常机制抛出错误,应该用TRY-CATCH语句来检查错误程序员对于能处理的错误,应该自己在底层处理,对于不能西华大学课程设计报告处理的,应该报告给用户让他们决定怎么处理。如果程序出了异常,却不对返回值和其他机制返回的错误信息进行判断,只能是加大了找错误的难度。另外:VC中要编制程序不应该一开始就写cpp/h文件,而应该首先创建一个合适的工程。因为只有这样,VC才能选择合适的编译、连接选项。对于加入到工程中的cpp文件,应该检查是否在第一行显式的包含stdafx.h头文件,这是MicrosoftVisualStudio为了加快编译速度而设置的预编译头文件。在这个#include"stdafx.h"行前面的所有代码将被忽略,所以其他头文件应该在这一行后面被包含。对于.c文件,由于不能包含stdafx.h,因此可以通过Projectsettings把它的预编译头设置为“不使用”,方法是:弹出Projectsettings对话框选择C/C++Category选择PrepilationHeader选择不使用预编译头。6测试分析测试结果测试1:名称:系统操作登录测试目的:测试系统操作界面。内容:帐号口令输入、合理性检查、合法性检查,系统操作西华大学课程设计报告界面显示控制输入数据:(账号)admin(密码)123456预期输出结果:用户界面(提供功能选择);测试结果测试2:名称:1号功能测试目的:测试系统1号功能。内容:输入功能键1,客户信息输入输入数据:1(1号功能选项)预期输出结果:按一定的格式完整的输入所有客户基本信息;测试结果测试3:名称:2号功能测试目的:测试系统2号功能。内容:输入功能键2,系统界面的显示输入数据:2(2号功能选项),5(课程编号)预期输出结果:5:显示输入客户信息;测试结果测试4:名称:3号功能测试目的:测试系统3号功能。内容:输入功能键3,输入学号和课程编号,记录保存输入数据:3(3号功能选项)修改信息预期输出结果:修改指定用户信息;西华大学课程设计报告6.1测试用例|请选择:1客户编号:01客户姓名:a日期:111电话号码:123该信息已录完,请录入下一个客户信息!客户编号:02客户姓名:b日期:111电话号码:124该信息已录完,请录入下一个客户信息!客户编号:kk|||6.2测试结果请选择:1客户编号:1客户姓名:1日期:111西华大学课程设计报告电话号码:111客户费用:11该挂号信息已录完,请录入下一个客户信息|请选择:2------------------------------------------------客户编号客户姓名日期电话号码------------------------------------------------01a11112302b111124返回主菜单(Y/N):y!请选择:3输入将要查找的客户编号:01客户编号客户姓名日期电话号码01a111123请选择:4输入将要修改的客户编号:01修改选项:1、客户编号2、客户姓名3、日期4、电话号码请选择:2客户姓名:c该信息修改成功!!!西华大学课程设计报告|请选择:5输入将要删除的客户编号:02该信息删除成功!!!6.3性能分析故障处理要求:运行以及此时应该采取什么措施恢复数据。当软件无法安装时,可以查看帮助手册,安装相关软件或者修复受损文件。之前的手工备份来恢复数据,保证系统数据的正确性。安全性要求:人都不是专业的计算机操作人员,因此对该系统使用的方便性要求也较高可扩充性要求:新的功能模块,要求系统能够很好地对其进行扩充,既可补充性。可维护性要求:适应这些变化必需对系统进行维护,即要求有可维护性。西华大学课程设计报告7用户手册管理员登陆:1.输入客户信息2.显示客户3.修改客户信息4.统计本日费用总结能要求。本系统采用当前流行的面向对象的开发工具—VB来完成整个系统的设计,在数据库的设计上利用了SQL的便利性和实用性。遇到了各种各样的问题,由于整个系统完全都是由个人设计的,有关VB许多细节问题都要靠自己去摸索,加之本人水平有限,并没有完全地理解VB和SQL的强大功能,而且还存在着许多不足之处。由于时间关系,系统功能实现不够完善,使用不是很方便。参考文献[1]张海藩.软件工程导论.北京:清华大学出版社,2004[2]陈明.实用软件工程基础.北京:清华大学出版社,2003[3]殷人昆.实用软件工程.北京:清华大学出版社,2003//:定义控制台应用程序的入口点。/*#include"stdafx.h"西华大学课程设计报告int_tmain(intargc,_TCHAR*argv[]){return0;}*/#include<stdio.h>#include<stdlib.h>#include<string.h>#include<iostream.h>structmember{chardate[9];//日期charid[15];//客户编号charname[11];//客户姓名最多5个汉字intphonenumber;//电话号码};typedefstructmembermember;membernum[100];//定义了一个100100个)#defineInputNum20intcount1=0,count2=0;//***********函数声明****************voidinput();//信息录入西华大学课程设计报告voidoutput();//信息输出voidamend();//信息修改voidDelete();//修改操作voidmenu();//菜单voidsearch();//查找函数//************主函数****************voidmain(){intchoice;//存放用户的操作选项menu();while(1){printf("请选择:");scanf("%d",&choice);//输入要执行功能的对应数字switch(choice){default:exit(0);//调用结束函数case1:input();//调用输入函数break;case2:output();//调用输出函数break;西华大学课程设计报告case3:search();break;case4:amend();//调用修改函数break;case5:Delete();//调用删除函数break;}printf("\n\n");menu();}}//************功能函数****************voidmenu()//菜单函数{printf("|........出版社客户管理系统............|\n");printf("||\n");printf("|1.客户信息录入|\n");printf("|2.客户信息浏览|\n");printf("|3.查找客户信息|\n");printf("|4.客户信息修改|\n");printf("|5.删除用户|\n");西华大学课程设计报告printf("|0.退出|\n");printf("||\n");}voidinput()//输入函数{inti=0;charch[]="kk";FILE*fp;fp=fopen("D:\\WORKERINFOR--1.rec","ab+");while(i<InputNum){printf("客户编号:");getchar();gets(num[i].id);if(!strcmp(num[i].id,ch))break;printf("客户姓名:");gets(num[i].name);printf("日期:");gets(num[i].date);printf("电话号码:");西华大学课程设计报告scanf("%d",&num[i].phonenumber);fwrite(&num[i],sizeof(num[i]),1,fp);count1=i;printf("该信息已录完,请录入下一个客户信息!\n\n");i++;}if(i>=99)printf("信息已录满!!!\n");fclose(fp);}voidoutput()//输出函数{inti=0;charch;//储存字符Y/NFILE*fp;fp=fopen("D:\\WORKERINFOR--1.rec","rb");while(!fp)//保证成功打开文件fp=fopen("D:\\WORKERINFOR--1.rec","rb");//printf("%d",sizeof(member));printf("------------------------------------------------\n");printf("客户编号客户姓名日期电话号码\n");printf("------------------------------------------------\n");while(fread(&num[i],sizeof(num[i]),1,fp)==1)西华大学课程设计报告{if(strcmp(num[i].name,num[i-1].name))//避免因删除了某条记录而造成的最后一条记录重复操作一次{//cout<<num[i].id<<""<<num[i].name<<""<<num[i].date<<""<<num[i].phonenumber;printf("%s%s%s%d\n",num[i].id,num[i].name,num[i].date,num[i].phonenumber);}i++;}do{printf("返回主菜单(Y/N):");getchar();//跳过回车符ch=getchar();if(ch=='y'||ch=='Y')break;elseexit(0);}while(1);}voidDelete()//删除函数西华大学课程设计报告{inti=0;//存放修改项charID[15];FILE*fp;fp=fopen("D:\\WORKERINFOR--1.rec","rb+");while(!fp)//保证成功打开文件fp=fopen("D:\\WORKERINFOR--1.rec","rb+");printf("输入将要删除的客户编号:");scanf("%s",&ID);while(fread(&num[i],sizeof(num[i]),1,fp)==1){if(!strcmp(num[i].id,ID)){strcpy(num[

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论