已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
商品进销存系统一、需求分析商品进销存系统是一个企业不可缺少的一部分,使用计算机对商品进行统一管理,有助于我们快速了解商品的销售情况,实现商品管理的系统化、规范化和自动化,提高商品销售效率。(一)系统概述商品进销存系统是一个可以用于商品、用户以及各项商品构成进行增、删、改、查等操作的应用软件。该系统提供了一个较完整的人机界面供用户进行操作,可根据用户权限,用户可以根据图形化界面对商品相关各项数据进行管理操作。(二)系统运行环境1、硬件环境处理器INTELP4或更高内存1GB硬盘空间160GB显卡SVGA显示适配器2、软件环境操作系统WINDOWSXP/7运行平台NETFRAMEWORK4(三)功能需求描述商品进销存系统软件是由商品基本信息,用户基本信息构成,用于对商品管理进行辅助的应用软件。功能需求描述如下1、考虑到系统的可移植性,需要一个数据库配置模块,用于配置系统的数据库环。2、提供用户登录界面,用户输入正确的用户名和密码后,才可以进入系统。系统应当包含两种用户超级用户和一般用户。超级用户具有系统操作的所有权限。一般用户需先注册才能使用。可以进行系统用户管理,主要用于管理系统用户,包括设置一般用户的操作权限和删除一般用户的功能。3、可以对密码进行保护,遗忘密码的情况可以找回密码。4、商品进货模块用于进货的相关操作,如果是仓库已有商品,可以修改库存量,如果仓库中没有的商品,则添加商品信息的功能。商品信息包括商品号、商品名、进价、售价和库存量。5、可以进行查询商品信息,可以按照商品号、商品名、进价、售价和库存量模糊查询商品信息的功能。6、商品销售的相关功能,包括收款、商品库存修改和添加销售数据等功能。销售数据包括销售单号、商品号、销售数量、总价、利润、销售日期和销售员。7、可以进行查询和统计销售数据,可以按照销售单号和商品号精确查询销售数据,并计算相应的销售额和利润。8、库存报警模块用于当商品的库存不足时,提供报警信息。9、查询指定商品的库存量。10、可以给用户提供一些帮助信息,告诉用户如何操作本系统。二、总体设计(一)设计思路本系统使用C语言进行开发和实现,总体思想基于面向对象的程序设计。在本系统中使用三层结构,主要实现的是管理系统的增、删、改和查等典型功能,应用了高级语言程序设计中的基本控制结构和事件触发机制,并且包含对数据库的操作和对文件的读、写等操作。在软件开发过程中应用了软件工程的基本理论。(二)系统功能模块商品进销存系统是能够提高销售企业综合效益的一个软件系统,该系统涉及到进货管理、销售管理及库存管理等功能的结合。根据“高内聚”与“低耦合”原则,将商品进销存系统模块化,下面直接给出系统包括的以下十七个功能模块,其中第713模块为本系统的核心功能模块。1、数据库配置模块考虑到系统的可移植性,为系统设计了一个数据库配置模块,用于配置系统的数据库环境。用户只需要提供数据库服务器名称、数据库名称以及一些登录数据库的账号信息即可,该功能是一般数据库应用系统都不可缺少的。2、登录模块登录模块提供用户登录界面,用户输入正确的用户名和密码后,则可进入到系统主窗口(或商品销售界面),然后可以选择进入相应的子系统。本系统使用了两种类型的系统用户超级用户和一般用户。超级用户由系统开发者直接添加到数据库中,用户名为“ZHANG”,密码为“123456”,超级用户具有系统操作的所有权限。一般用户使用下面223点介绍的“用户注册模块”注册。3、用户注册模块用户注册模块提供用户注册的功能,用于注册一般用户,注册完成后,默认不具备系统的核心功能操作权限,核心功能操作权限须由超级用户通过224点介绍的“系统用户管理模块”来分配。4、系统用户管理模块本系统的用户管理模块主要用于管理系统用户,包括设置一般用户的操作权限和删除一般用户的功能。5、密码保护信息管理模块密码保护信息管理模块主要用于管理系统用户的密码保护信息。考虑到系统的安全,在设计的商品进销存系统中,用户密码是用MD5算法加密后再存储到数据库中的。这样,为了能够在忘记密码的情况下,通过提供密码保护信息来修改用户密码,就需要在用户登录系统后设置密码保护信息。为简单起见,本模块的密码保护信息包括以下4个问题问题1您的姓名是问题2您的出生地是问题3您的手机号码是问题4您的EMAIL地址是当用户忘记密码时,可以提供这4个问题的预设答案来“找回”用户密码。6、找回用户密码模块“找回”用户密码模块用于提供“找回”用户密码功能。设计本模块的目的是当用户忘记密码的时候,可以通过本模块提供密码保护信息来重设用户密码。7、商品进货模块商品进货模块用于进货的相关操作,如果是仓库已有商品,提供修改库存量的功能,如果仓库中没有的商品,则提供添加商品信息的功能。商品信息包括商品号、商品名、进价、售价和库存量。8、商品查询模块商品查询模块用于查询商品信息,本系统提供了按照商品号、商品名、进价、售价和库存量模糊查询商品信息的功能。9、商品销售模块商品销售模块是商品进销存系统最核心的功能模块,实现商品销售的相关功能,包括收款、商品库存修改和添加销售数据等功能。销售数据包括销售单号、商品号、销售数量、总价、利润、销售日期和销售员。10、销售数据查询模块销售数据查询模块用于查询销售数据,本系统提供了按照销售单号和商品号精确查询销售数据的功能。11、销售数据统计模块销售数据统计模块用于统计销售数据,计算相应的销售额和利润。本系统不仅提供了按照销售员、销售日期(年、月、日)统计销售数据的功能。还提供了按照销售员和销售日期组合统计销售数据的功能。12、库存报警模块库存报警模块用于当商品的库存不足时,提供报警信息。本系统默认在商品库存量小于10时报警,同时该模块还提供了查询库存量小于指定数字的商品信息的功能。13、库存查询模块库存查询模块用于查询指定商品的库存量。14、帮助模块帮助模块用于给用户提供一些帮助信息,告诉用户如何操作本系统。15、关于模块关于模块用于给用户提供一些关于本软件的信息,如软件版本、开发者的联系方式等。(三)模块结构图根据前面的分析和商品进销存系统的特点,经过模块化后的商品进销存系统主要包括数据库配置、登录、用户注册、系统用户管理、密码保护信息管理管理、找回用户密码、商品进货、商品查询、商品销售、销售数据查询、销售数据统计、库存报警、库存查询、数据备份、数据恢复、帮助和关于十七个功能模块。本系统的功能模块结构如图1所示。商品销售系统数据库配置登录找回用户密码用户注册用户管理密码保护信息管理商品进货商品查询商品销售销售数据查询销售数据统计库存报警库存查询帮助关于图1商品进销存系统的总体结构三、系统架构本商品进销存系统采用C/S架构和三层模型实现,据此绘制出商品进销存系统的系统架构图,如图2所示。图2系统架构说明(1)图中的配置文件(DBSET)用于实现数据库配置模块,文件中存放的数据库配置信息,在本系统中,实际上仅存放了数据库连接字符串,如果需要,可以存放一些其他的数据库相关信息。(2)图中的箭头有单向的和双向的两种,表示数据流向,单向箭头表示只读或者数据备份和恢复,双向箭头则表示可读写数据。(3)帮助和关于模块没有使用到任何的数据服务,因此图中并没有箭头将它们连接到其它层。四、数据库设计根据前面两节的分析,商品进销存系统数据库(名称定为“DB_GOODSSALE”)中应该包含5个数据表,分别是TB_USER表用于存放系统用户信息;TB_USERPSWPROINFO表用于存放密码保护信息;TB_USERPURVIEW表用于存放用户权限信息;TB_GOODS表用于存放商品信息;TB_SALE表用于存放商品销售信息。接下来介绍一下各数据表的结构及相关说明。(一)系统用户表系统用户表“TB_USER”用于存放系统用户的相关数据,包含用户名、用户密码和用户类型。其结构如表1所示。表1系统用户表列名说明数据类型、大小约束USERNAME用户名VARCHAR32主键USERPASSWORD用户密码VARCHAR32非空USERTYPE用户类型CHAR8取值“超级用户”、“一般用户”(二)密码保护信息表密码保护信息表“TB_USERPSWPROINFO”用于存放系统用户的密码保护信息,包括用户名、姓名、出生地、手机号码、EMAIL地址。其结构如表2所示。表2密码保护信息表列名说明数据类型、大小约束USERNAME用户名VARCHAR32主键,TB_USER的外键NAME姓名VARCHAR32HOMETOWN出生地VARCHAR50PHONENUMBER手机号码CHAR11EMAILEMAIL地址VARCHAR32(三)用户权限表用户权限表“TB_USERPURVIEW”用于存放系统用户的权限信息,本系统共设置了用户管理、商品进货、商品查询、商品销售、销售数据查询、销售数据统计、库存报警、库存查询、数据库备份和数据库恢复十个可选权限。其结构如表3所示。表3用户权限表列名说明数据类型、大小约束USERNAME用户名VARCHAR32主键,TB_USER的外键USERMANAGE用户管理CHAR2取值“是”、“否”PURCHASEGOODS商品进货CHAR2取值“是”、“否”GOODSQUERY商品查询CHAR2取值“是”、“否”GOODSSALE商品销售CHAR2取值“是”、“否”SALEDATAQUERY销售查询CHAR2取值“是”、“否”SALEDATACOUNT销售统计CHAR2取值“是”、“否”INVENTORYALARM库存报警CHAR2取值“是”、“否”INVENTORYQUERY库存查询CHAR2取值“是”、“否”(四)商品信息表商品信息表“TB_GOODS”用于存放商品的相关数据,包含商品号、商品名、进价、售价和库存。其结构如表4所示。表4商品信息表列名说明数据类型、大小约束GOODSID商品号VARCHAR32主键NAME商品名VARCHAR32非空INPRICE进价REAL非空OUTPRICE售价REAL非空INVENTORY库存INT非空(五)销售信息表销售信息表“TB_SALE”用于存放商品销售的相关数据,包含销售单号、商品号、销售数量、销售总价、利润、销售日期和销售员。其结构如表5所示。表5销售信息表列名说明数据类型、大小约束SALEID销售单号INT主键,自动增长标识GOODSID商品号VARCHAR32TB_GOODS的外键QUANTITY销售数量INT非空TOTALPRICE销售总价REAL非空EARNINGS利润REAL非空DATE销售日期VARCHAR32非空SELLER销售员VARCHAR32TB_USER的外键USERNAME(六)添加超级用户信息打开系统用户表“TB_USER”,添加系统的超级用户名为“ZHANG”,密码为“CE0BFD15059B68D67688884D7A3D3E8C”(该密码是经过MD5加密后的32位密文数据,其原文为“123456”,因为本系统中所有用户的密码都是经过MD5加密后再存储的,因此这里也需要添加“123456”的MD5密文),用户类型为“超级用户”如图3所示。图3添加超级用户“ADMIN”的用户信息然后打开“TB_USERPURVIEW”表,按照同样的方法添加超级用户“ZHANG”的用户权限信息(系统的所有权限,即全部为“是”),如图4所示。图4添加超级用户ZHANG的权限信息五、构建三层模型使用类库构建三层模型,如下图5所示图5三层模型六、详细设计(一)设计MODEL实体类以USER实体类为例,代码如下/PUBLICCLASSUSERPUBLICSTRINGUSERNAMEGETSETPUBLICSTRINGUSERPASSWORDGETSETPUBLICSTRINGUSERTYPEGETSET/(二)数据访问层(DAL)的实现以用户操作为例,代码如下/PUBLICCLASSUSERDAL/定义DBHELPER类的对象,使用其数据操作方法DBHELPERDHNEWDBHELPER/定义PUBLICMETHODSDAL类的对象,修改密码时使用MD5加密方法PUBLICMETHODSDALPUBLICMETHODSDALNEWPUBLICMETHODSDAL/查询一条用户记录的方法,该方法的返回值类型为MODEL类库中定义的USER类,即返回一个USER对象,当需要按照指定的用户名查询用户其他信息时,可以调用该方法,当需要判断指定的用户名是否已经存在,也可以调用该方法,根据返回值进行判断PUBLICUSERSELECTUSERSTRINGUSERNAMESTRINGSQLSTR“SELECTFROMTB_USERWHEREUSERNAME“USERNAME“DATATABLEDTDHGETDATATABLESQLSTRUSERUSERNEWUSERIFDTROWSCOUNT0USERUSERNAMEDTROWS0ITEMARRAY0TOSTRINGUSERUSERPASSWORDDTROWS0ITEMARRAY1TOSTRINGUSERUSERTYPEDTROWS0ITEMARRAY2TOSTRINGRETURNUSERELSERETURNNULL/修改一条用户记录的方法,该方法用于修改指定用户的用户密码PUBLICBOOLUPDATEUSERPASSWORDSTRINGUSERNAME,STRINGUSERPASSWORDSTRINGMD5USERPASSWORDPUBLICMETHODSDALGETMD5STRUSERPASSWORDSTRINGSQLSTR“UPDATETB_USERSETUSERPASSWORDUSERPASSWORDWHEREUSERNAMEUSERNAME“SQLPARAMETERPARAMNEWSQLPARAMETERNEWSQLPARAMETER“USERPASSWORD“,MD5USERPASSWORD,NEWSQLPARAMETER“USERNAME“,USERNAME,RETURNDHEXCUTECOMMANDSQLSTR,PARAM/查询多条用户记录的方法,返回一个用户名列表,在需要获取所有用户名是调用该方法PUBLICLISTSELECTUSERNAMESSTRINGSQLSTR“SELECTUSERNAMEFROMTB_USER“DATATABLEDTDHGETDATATABLESQLSTRLISTLISTNEWLISTFOREACHDATAROWRINDTROWSUSERUSERNEWUSERUSERUSERNAMER“USERNAME“TOSTRINGLISTADDUSERRETURNLIST/(三)业务逻辑层(BLL)的实现以用户操作为例,代码如下/PUBLICCLASSUSERBLL/定义用户登录后,用于存放当前用户信息的静态字符串数组PUBLICSTATICSTRINGUSERINFONEWSTRING3/定于用于判断是登录商品销售前台还是后台管理的字符串变量PUBLICSTATICSTRINGLOGINTYPE“PUBLICMETHODSDALPUBLICMETHODSDALNEWPUBLICMETHODSDALUSERDALUSERDALNEWUSERDAL/调用DAL层的SELECTUSER方法,判断用户登录时属于哪种情况PUBLICSTRINGUSERLOGINSTRINGUSERNAME,STRINGUSERPASSWORDSTRINGMD5USERPASSWORDPUBLICMETHODSDALGETMD5STRUSERPASSWORDUSERUSERUSERDALSELECTUSERUSERNAMEIFUSERNULLRETURN“USERNAMEERROR“ELSEIFUSERUSERPASSWORDMD5USERPASSWORDUSERINFO0USERUSERNAMEUSERINFO1USERUSERPASSWORDUSERINFO2USERUSERTYPERETURN“OK“ELSERETURN“USERPASSWORDERROR“/判断用户是否已存在于数据库的方法PUBLICBOOLUSERISEXISTSTRINGUSERNAMEUSERUSERUSERDALSELECTUSERUSERNAMEIFUSERNULLRETURNTRUEELSERETURNFALSE/修改用户密码的方法PUBLICBOOLCHANGEUSERPASSWORDSTRINGUSERNAME,STRINGUSERPASSWORDIFUSERDALUPDATEUSERPASSWORDUSERNAME,USERPASSWORDUSERINFO1PUBLICMETHODSDALGETMD5STRUSERPASSWORDRETURNTRUERETURNFALSE/返回用户名列表的方法PUBLICLISTGETUSERNAMESRETURNUSERDALSELECTUSERNAMES/(四)用户界面层(UI)的实现以售货员登录为例,代码如下PRIVATEVOIDBTNSA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年西双版纳州辅警招聘考试真题及答案详解(考点梳理)
- 2025年石嘴山辅警招聘考试题库附答案详解(夺分金卷)
- 2025年甘南州辅警招聘考试题库含答案详解(模拟题)
- 2025年鹰潭辅警招聘考试题库及答案详解参考
- 2025年铜川辅警招聘考试题库附答案详解(夺分金卷)
- 2025《反假货币知识竞赛》题库(试题82道含答案)
- 2025年钦州辅警招聘考试题库附答案详解(a卷)
- 2025年金华辅警招聘考试题库有完整答案详解
- 2025年防城港辅警招聘考试真题及答案详解(基础+提升)
- 2025年绍兴辅警招聘考试真题及完整答案详解一套
- 2025年人工智能发展态势报告:智能体、创新与转型
- 医院与药企合作战略框架协议书模板
- 安徽省A10联盟2024-2025学年高二上学期11月期中考试生物试题含答案
- 手术麻醉入科教育
- 湖南省多校联考2026届高三上册10月第一次联考物理试卷(含答案)
- 9《复活》课件2025-2026学年统编版高中语文选择性必修上册
- 浙江省杭州市拱墅区2025-2026学年八年级上学期期中数学模拟试卷(含解析)
- 加工服装洗水合同范本
- 流量计培训课件
- 2025幼儿园诺如病毒应急预案演练方案(范本)
- 数据资产评估
评论
0/150
提交评论