《软件工程课程设计》报告
服装销售系统
专 业: 计算机科学与技术 班 级: 姓 名: 报告日期:
目 录
1 背景与意义 ...................................................... 1.1 背景与现状 .................................................. 1.2 趋势与前景 .................................................. 1.3 工作基础、条件与优势 ........................................ 2 需求分析 ........................................................ 2.1 功能与性能需求 .............................................. 3 内容和目标 ...................................................... 3.1 主要内容 .................................................... 4 技术路线 ........................................................ 4.1 总体功能 .................................................... 4.2 运行平台具 .................................................. 4.2.1 网络环境 ................................................ 4.3 程序语言与开发工具 ........................................ 5 进度计划 ........................................................ 6 系统设计与原型UI(或系统设计与实现) ............................ 6.1 数据库表设计 ................................................ 6.2模块功能 ..................................................... 7 安装与运行情况 .................................................. 8 总结 ............................................................ 参考文献 .......................................................... 附件:主要功能的源代码
1 背景与意义
1.1 背景与现状
随着科学技术的发展,社会进步,计算机迅速的发展,目前,中型的服装店仍采用人工方式管理服装销售,管理工作量大、手续繁琐且容易出错。
1.2 趋势与前景
在计算机飞速发展的今天,将计算机这一信息处理利器应用于服装销售业的日常管理已是势必所然,而且这也将为商店理带来前所未有的改变,它可以带来意想不到的效益,同时也会为服装销售业的飞速发展提供无限潜力。采用计算机管理信息系统已成为服装销售业管理科学化和现代化的重要标志。要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的。
1.3 工作基础、条件和优势
学校机房提供非常技术设备都非常完善,我们小组两个人分工明确,时间也充足,有信心能完成这次课程设计。
2 需求分析
此系统的设计是针对中小型的服装销售企业的,通过本系统可以对中小型的服装销售企业进行有效的进销存管理。本系统暂定了以下设计目标:
(1)系统采用人机交互方式,界面美观友好,信息查询灵活、方便,数据存储安全可
靠。
(2)实现后台监控功能。
(3)利用报表中图表分析员工销售业绩。 (4)实现各种查询,如定位查询、模糊查询等。
(5)实现服装进货分析语统计、销售分析与统计、服装销售成本明细等功能。 (6)强大的库存预警功能,尽可能的减少商家不必要的损失。 (7)实现报表动态分析数据。
(8)对用户输入的数据,进行严格的数据检验,尽可能避免人为错误。 (9)系统最大限度的实现了易维护性和易操作性。 2.1 功能和性能需求 功能需求
1、顾客查询:顾客在购买服装之前要查询自己所买服装的服装信息。 2、业务员:新增新的服装或者增加原有的服装的数量。
3、管理:管理者需要重新修改服装信息,并且能够查看当前的营业额和盈利。 性能需求
4、登陆:各种不同的用户的登录权限以及权限控制。 1、可用性。系统采用统一的操作方式,界面友好大方。
2、可靠性。系统维护时间占系统总运行时间的比例不得超过10%。 3、速效性。系统处理操作响应时间少于20秒。
3 内容和目标
3.1 主要内容
让计算机对服装销售系统进行自动管理,管理员可以直接在计算机上实现服装的信息管理,并能在一定程度上实现自动化。
4 技术路线
4.1 总体功能
本系统的主要业务流程是管理员首先添加系统的用户,包括用户的登录名,密码,使用权限等,使用权限包括系统员操作权限和普通用户操作权限。然后系统的用户使用自己的登录名和密码进行登陆,系统根据用户的登录名得知用户的操作权限,用户可能有全部的使用权限,也可能只有部分的使用权限。管理员是拥有所以使用权限的。
4.2 运行平台 (1) 硬件平台
硬件要求:PC服务器,核心数量1核心,主频2500MHz,内存512 MB以上,硬盘40GB以上。 (2) 软件平台
操作系统:Linux5.0,WindowsXP (3) 开发环境
VC++6.0Project
4.2.1网络环境 Internet网
4.3 程序语言与开发工具
VC++6.0Project
6 系统设计与原型UI(或系统设计与实现)
6.1 数据库表设计 用户权限表
用途 字段名 权限序号 用户名 密码 服装销售 服装信息 服装进货 库存管理 权限管理 记录用户权限信息 类型 int nVarchar nVarchar bit bit bit bit bit 长度 4 20 10 1 1 1 1 1 键 主键 外键 外键 中文名 用户权限序号 用户名 密码 服装销售 服装信息 服装进货 库存管理 权限管理 备注 允许为空 允许为空 不允许为空 允许为空 允许为空 允许为空 允许为空 允许为空 管理员信息表 用途 字段名 用户帐号 密码 操作权限 记录用户帐号的基本信息 类型 nVarchar nVarchar nVarchar 长度 20 20 20 键 主键 外键 中文名 用户帐号 用户密码 操作权限 备注 不允许为空 不允许为空 不允许为空
服务生表 用途 字段名 编码 姓名 性别 手机号码 住址 联系电话 聘用日期 出生日期
记录服务生的基本信息 类型 nVarchar nVarchar nVarcha nVarchar nVarchar nVarchar nVarchar nVarchar 长度 10 10 10 10 20 10 15 15 键 主键 外键 中文名 服务生编号 姓名 性别 手机号码 住址 联系电话 聘用日期 出生日期 备注 允许为空 允许为空 允许为空 允许为空 允许为空 允许为空 允许为空 允许为空
身份证号 状态 备注 nVarchar nVarchar nVarchar 20 10 20 身份证号 状态 备注 允许为空 允许为空 允许为空
服装信息表 用途 字段名 服装代码 服装名称 进货厂家 生产日期 有效期 销售单价 进货单价 库存数 记录服装的基本信息 类型 char nVarchar nVarchar datetime int money money int 长度 20 20 30 8 4 8 8 4 键 主键 中文名 服装代码 服装名称 上产厂家 日期 有效期 单价 单价 数量 备注 允许为空 允许为空 允许为空 允许为空 允许为空 允许为空 允许为空
进货情况表
用途 字段名 进货代码 进货日期 服装名称 服装代码 进货数量 进货单价 进货金额 进货厂家 记录进货的基本信息 类型 int datetime nVarcha nVarchar int money money nVarchar 长度 4 8 20 20 4 8 8 30 键 主键 外键 中文名 代码 日期 服装名称 服装代码 数量 零售价 批发价 厂家地址 备注 允许为空 允许为空 允许为空 允许为空 允许为空 允许为空 允许为空 允许为空 销售情况表
表3.6 用途 字段名 销售代码 销售日期 服装名称
记录销售的基本信息 类型 int datetime nVarchar 长度 4 8 20 键 主键 外键 中文名 编码 日期 名称 备注 允许为空 允许为空 允许为空
服装代码 销售数量 销售单价 销售金额 nVarchar Int money money 20 4 8 8 助记码 数量 单价 金额 允许为空 允许为空
6.1模块功能 (1)基本档案模块:
本模块一般为管理员和操作员使用,普通用户一般不会有此权限。当用户登陆后就可以进入此模块,此模块有四个小模块:员工信息,供应商信息,客户信息,用户登录。不同用户根据自己的使用权限获得相应的使用范围。 (2)货管理模块:
此模块主要是作为普通用户的采购人员使用的,用户在成功登陆以后,就可以进入此模块。此模块包括三项功能:采购进货,采购退货,采购查询。当然不同的用户可以使用其中不同的功能。 (3)销售管理模块:
此模块主要是销售人员使用的。包含服装销售,客户退货,销售查询三项基本功能。通过此模块用户可以大体的了解公司的销售状况。首先用户登陆,让后进入销售界面,然后就可以把销售信息、退货信息录入系统,或者进行销售的查询,得到销售的信息 (4)库存管理模块:
库存管理模块主要是库存管理人员使用的,也可以是其他人员进行库存查询。包括库存调拨,库存预警,库存查询等功能。用户登陆后进入主界面,然后又此项权限的用户可以进入库存管理界面
7.1 运行情况图
1登录窗口
图一 登录界面
2主管理界面
图二 主管理界面
3.权限管理
图三 权限管理
4.销售管理
图四 销售管理
5.服装管理
图五 服装管理
6.信息查询
图六 信息查询
7.进货管理
图七 进货管理
8 总结
通过完成服装进销存管理系统的设计和编码以及最后的测试,充分检验了在机房长达两个星期的学习成果,积累了一定的软件开发经验,获得了相关的团队合作能力,对于软件开发有了更深层次的理解。
我们所做的任何软件开发都离不开需求分析,需求分析是软件设计过程中不可缺少的一个重要环节。需求分析寄托着用户的期望,我们必须正确,完善需求分析,可以很大的降低系统风险,提高系统的开发效率,在设计过程中,我们深知这一点,做了很久的讨论和调研,使系统的功能尽可能的满足客户要求。
同时,我们在做好需求分析的基础上对整个系统进行架构,确定好设计方向,开始设计数据库,数据库设计也是一个非常重要的环节,在构建数据库之前必须对整个系统架构有了深入,深刻的理解,多做探讨,才能避免数据库设计与系统后期实现产生不必要的冲突。
系统设计的重要性不言而喻,它是整个设计过程中最重要的一个环节,它是构架合理、正确的系统框架必不可少的一个阶段。
正如上面提到的那样,深入需求分析,加上模块的系统设计,还有项目组老师和组员的帮助,使问题很快就得到了解决。
参考资料(页)
[1]张海藩.软件工程导论[M].清华大学出版社,2003年12月第四版. [2]郑阿奇,顾韵华.Delphi实用教程[M].电子工业出版社,2004年1月第一版. [3]萨师煊,王珊.数据库系统概论[M].高等教育出版社,2000年2月第三版.
[4]张增强,刘成.Delphi 7数据库开发完全手册[M].清华大学出版社,2003年4月第1版. [5]张青,张曜,李彬. Delphi 7函数实用手册[M].冶金工业出版社, 2002年11月第一版. [6] 王珊,陈红.数据库系统原理教程[M].清华大学出版社,1998年7月第一版. [7]郭盈发.数据库原理与应用[M].西安电子科技大学出版社,2000年1月修订版.
[8]訾秀玲.Access数据库技术及应用教程.清华大学出版社,2007年10月第一版. [9]宋振会.Server 2000中文版基础教程.清华大学出版社,2006年4月第三版. [10]周经国. Delphi程序设计.机械工业出版社,2007年1月第一版.
附件:
登录编码
#include #define R 4 /*定义宏常量便于程序的一般化*/ /*R表示销售员个数*/ typedef struct /*缩短结构体变量名*/ { int shangpin[Z]; /*定义结构体便于信息的存储和读写,辨别*/ /*R是表示商品的种类,最后一个为该销售员商品总和*/ }data; void menu() { printf(\" *******************************************************\\n\"); printf(\" 0.结束操作\\n\"); printf(\" 1.计算上个月每个人每种产品的销售额\\n\"); printf(\" 2.按销售额对销售员进行排序,输出排序结果\\n\"); printf(\" 3.统计每种产品的总销售额,输出排序结果\\n\"); printf(\" 4.输出统计报表\\n\"); printf(\" ******************************************************\\n\"); } void data_read(data *x) /*读入函数使程序简洁*/ { FILE *fp; char fname[10]; int i; printf(\"您想查询哪个月?\\n\"); printf(\"请输入月份:\"); /*输入文件名,这样可以进行各个月份信息读入*/ scanf(\"%s\ strcat(fname,\".txt\");/*连接文件属性*/ if((fp=fopen(fname,\"rb\"))==NULL) /*打开文件*/ { printf(\"can not open the file\\n\"); exit(0); } for(i=0;i void data_count(data *x) /*计算上个月每个人每种产品的销售额*/ { FILE *fp; char fname[10]; int j,t; /*用于控制循环*/ int i,k,s; /*用于定义职工序号,产品序号,产品数量*/ system(\"cls\"); printf(\"您想计算哪个月?\\n\"); printf(\"请输入月份:\"); /*输入文件名,这样可以进行各个月份信息写入*/ scanf(\"%s\ strcat(fname,\".txt\"); if((fp=fopen(fname,\"wb\"))==NULL) /*打开文件*/ { printf(\"can not open the file\\n\"); exit(0); } for(j=0;j printf(\"please put the information about the 职工编号,产品编号,销售数量\\n\"); /*写入信息*/ for(j=0;;j++) { scanf(\"%d%d%d\ if(i==0) /*输入职工为0时结束信息输入*/ break; if(i>R||i<0||k>Z||k<0) { printf(\"the information error!\\n\"); /*避免输入信息出错*/ continue; } else (x+i-1)->shangpin[k-1]=(x+i-1)->shangpin[k-1]+s;/*统计各个人的各种产品的数量,-1为了和数组中的序号相匹配*/ } for(j=0;j printf(\"write error!\\n\"); fclose(fp); /*关闭文件避免信息遗漏*/ } void range_sxy(data *x) /*按销售额对销售员进行排序,输出排序结果*/ { FILE *fp; char fname[10]; int i,k,j,t,bianhao[R]={0},z; system(\"cls\"); printf(\"你要哪个月的?\\n\"); printf(\"请输入月份:\"); /*输入文件名,这样可以进行各个月份信息读入*/ scanf(\"%s\ strcat(fname,\".txt\"); if((fp=fopen(fname,\"rb\"))==NULL) /*打开文件*/ { printf(\"can not open the file\\n\"); exit(0); } for(i=0;i k=k-1; /*便于与结构体中的数组值对应*/ for(i=0;i z=bianhao[i]; bianhao[i]=bianhao[t]; bianhao[t]=z; } } printf(\"按%d产品对销售员排序为:\\n\ for(i=0;i void range_shangpin(data *x) /*统计每种产品的总销售额,输出排序结果*/ { FILE *fp; char fname[10]; int i,j,sum[Z]={0},bianhao[Z]={0},z,t,k; system(\"cls\"); printf(\"您想计算哪个月的?\\n\"); printf(\"请输入月份:\"); /*输入文件名,这样可以进行各个月份信息读入*/ scanf(\"%s\ strcat(fname,\".txt\"); if((fp=fopen(fname,\"rb\"))==NULL) /*打开文件*/ { printf(\"can not open the file\\n\"); exit(0); } for(i=0;i for(i=0;i printf(\"输出产品排序\\n\"); printf(\"产品编号 数量\\n\"); for(i=0;i void data_out(data *x) /*输出统计报表*/ { FILE *fp; char fname[10]; int i,j,sum[Z+1]={0}; system(\"cls\"); printf(\"您想计算哪个月?\\n\"); printf(\"请输入月份:\"); /*输入文件名,这样可以进行各个月份信息读入*/ scanf(\"%s\ strcat(fname,\".txt\"); if((fp=fopen(fname,\"rb\"))==NULL) /*打开文件*/ { printf(\"can not open the file\\n\"); exit(0); } for(i=0;i for(i=0;i printf(\"%d产品之和 %-10d\\n\ } getch(); } void main() { int i,choice; data sxy[R]; /*R表示职工的个数,前面的宏常量*/ for(i=0;;i++) { system(\"cls\"); /*清频命令*/ menu(); /*菜单函数提示用户怎样选择*/ printf(\"你想做什么?\\n\"); printf(\"请选择:\"); /*输入要进行的操作*/ scanf(\"%d\ if(choice==0) /*退出程序*/ break; else switch(choice) { case 1 : data_count(sxy);break; /*计算上个月每个人每种产品的销售额*/ case 2 : range_sxy(sxy);break; /*按销售额对销售员进行排序,输出排序结果*/ case 3 : range_shangpin(sxy);break; /*统计每种产品的总销售额,输出排序结果*/ case 4 : data_out(sxy);break; /*输出统计报表*/ } } }
因篇幅问题不能全部显示,请点此查看更多更全内容