毕业设计(论文)
题 目:重庆百货大楼股份有限公司外包项目
销售管理系统分析与设计
院 (系): 信息工程系
专 业: 软件外包服务
姓 名:
学 号: 59012520100116
指导教师: 李 学 国
二①一三 年 三 月 十 日
毕业设计(论文)任务书
学生姓名 学号 59012520100116
专 业 软件外包服务
院(系) 信息工程系
毕业设计(论文)题目
重庆百货大楼股份有限公司外包项目销售管理系统分析与
设计
任务与要求
1.通过对系统进行需求分析,按照重庆百货大楼股份有限
公司销售管理实际需求,采用 C/S 或 B/S 结构进行分析及
设计,设计结果要求能满足重庆百货大楼股份有限公司的
实际需要。
2.选用自己最熟悉的前台开发工具及后台数据库,前台开
发工具不限,但后台数据为要求选用 SQL Server
2000(5)(8),或 ACCESS 数据库
3.毕业论文按软件工程实际规范流程进行撰写,语句通顺,
结构好
4.毕业设计作品中至少包括用户权限管理,商品基本信息管
理,销售人员信息管理,销售用户信息管理,销售商品管
理,销售商品统计,销售商品查询,库存商品查询等,系
统帮助等功能。
5.论文要求排版格式符合重庆科创职业学院要求
6.要求系统设计合理,具有一定的创新意识
完成时间段
2011 年 11 月 15 日 至 2012 年 3 月 4 日
共 16 周
指导教师单位
重庆科创职业学院 职称 讲师
院(系)审核意见
毕业设计(论文)进度计划表
日 期 工 作 内 容 执 行 情 况
指导教师
签 字
至
系统需求分析 良
至
系统概要设计 良
至
系统详细设计 良
至
系统编码 中
至
论文撰写 优
至
论文修改及上交 良
教师对进
度计划
实施情况
总评
该同学基本完成指导老师布置的任务;能及时与指导老师进行交流,
在时间周期中,能很好保证项目按计划实施,能按时提交论文文档,总体实
施效果良。
签名
年 月 日
毕业设计(论文)中期检查记录表
毕业设计(论文)题目: 重庆百货大楼股份有限公司外包项目销售管理系统分析与设计
学生姓名: 王棋 学号:59012520100116
专业: 软件外包服务
学生填写
指导教师姓名: 李学国 职称: 讲师
毕业设计(论文)题目工作量 饱满 一般 不够
毕业设计(论文)题目难度 大 适中 不够
毕业设计(论文)题目涉及知识点 丰富
比较丰
富 较少
毕业设计(论文)题目价值
很有价
值 一般 价值不大
学生是否按计划进度独立完成工作
任务 是
学生毕业设计(论文)工作进度填写情况
指导次数
学生工作态度 认真 一般 较差
其他检查内容:
存在问题及采取措施:
检查
教师填写
检查教师签字: 年 月 日
院(系)意见
(加盖公章): 年 月 日
摘 要
零售业中小型批发、零售企业及连锁店往往存在一些共同的特点和问题,如商品
品牌繁多、库存漏洞大、决策欠依据、经营不规范等,而这些问题往往是一个商家制
胜的关键。如果还采用以前的手工销售、统计的方法,将会极大影响销售业绩。针对
这些销售环节中存在的问题本毕业设计开发此系统。
本系统为商品零售管理信息系统,是基于微软最新的.net 平台并用 C/S 结构的模
式和 SQlServer 数据库编写的 winform 应用程序,实现管理商品的进货、销售和存储
等信息,并且实现报表动态浏览库存数据的功能。它有应用简单、升级和部署方便、
扩展性强等特点。系统适用于各种规模和经营方式的零售公司、专卖店、连锁店。
关键词: C# .Net SQLServer 数据库 商品
Abstract
The goods industry small and medium-sized wholesale, retail businesses and chain
stores often have some common characteristics and problems, such as goods brands many
loopholes large inventory, less decision-making based on the operating norms of the
Department, which often is a key to winning business. If the manual before using sales
statistics will be a great impact on sales. The article address these issues in the design of the
development of graduates of this system.
System which bases on .net of MicroSoft Com. contains C/S Struct
Model and SQLServer DataBase thechnology complete Winform SoftWare . Invoicing for
the Goods of the system management information system, is mainly responsible for the
management of apparel goods,Information such as sales and storage, and dynamic analysis
to achieve the statements data. System suitable for all sizes and operating characteristics of
the goods companies, boutiques, chain stores.
Keywords: C # .Net SQLServer Database goods
目录
第一章 前言.........................................................................................................................1
第一节 研究背景及意义..............................................................................................1
第二节 国内外研究概述..............................................................................................1
第二章 系统开发技术.........................................................................................................4
第一节 数据库技术......................................................................................................4
第二节 C#语言 .............................................................................................................5
第三节 水晶报表..........................................................................................................6
第四节 Client/Server 系统结构 ...................................................................................7
第三章 系统整体方案.........................................................................................................9
第一节 需求分析..........................................................................................................9
第二节 开发工具选择..................................................................................................9
第三节 项目规划..........................................................................................................9
第四节 设计目标........................................................................................................11
第五节 可行性分析....................................................................................................12
第六节 开发及运行环境............................................................................................13
第四章 数据库设计...........................................................................................................15
第一节 数据库需求分析............................................................................................15
第二节 数据库概念设计............................................................................................15
第三节 数据库逻辑结构设计....................................................................................18
第五章 系统总体及主要功能模块设计...........................................................................21
第一节 系统总体业务................................................................................................21
第二节 主要模块的业务流程和代码设计................................................................22
第六章 系统主要界面举例和操作方法...........................................................................40
第一节 系统的主界面................................................................................................40
第二节 系统登录界面................................................................................................41
第三节 进货管理界面................................................................................................41
第四节 销售管理界面................................................................................................42
第七章 系统测试...............................................................................................................44
第一节 测试计划........................................................................................................44
第二节 测试用例........................................................................................................44
谢辞.......................................................................................................................................49
参考文献...............................................................................................................................50
第一章 前言
第一节 研究背景及意义
商品行业在我国是一个新兴行业,目前尚处于初步阶段。虽然在改革开放后我国
商品行业取得了高速发展,据统计数据,我国商品企业近 3 万家,其中年销售额 3000
万以上的占 30%,有 9000 余家,而 1000 万以上营业额的也近 2/3。具规模以上商品
企业商品产量达 亿件,其中梭织商品为 亿件,针织商品为 亿件。作
为中国的朝阳商品行业,被称为“永不衰落的产业”,其发展前景确实极为诱人。全部
从业人员平均人数 423013 人,商品布产量 亿米,工业总产值 亿元,
销售收入 亿元,产销率 %;出口交货值 亿元,内销占销售产值
比重 %。但是与发达国家相比,还存在组织结构小而分散,缺少大规模,经济技
术势力强的企业,专业人员素质不够高,市场管理不规范等缺点。随着我国加入
WTO,我国商品行业将面对非常激烈的竞争,只有迅速提高企业的管理水平,才能在
激烈的竞争中占的一席生存之地。由于商品经营涉及多个环节,而且种类繁多,大多
需要单件管理,因此操作量巨大,在经营过程中容易出错。商品属于常用物品,数量大,
如果管理跟不上,一旦造成商品丢失,将给企业和经营者造成巨大损。如何用先进的
管理手段来商品零售的管理水平,已成为此行业发展的当务之急。
面对信息时代的机遇与挑战,利用高科技手段来提高企业的管理水平无疑是一条
行之有效的途径。利用计算机管理可以最大限度的发挥准确、快捷、高效等作用,对商
品公司的服务管理提供强有力的支持。因此,利用全新计算机商品管理系统,已成为
提高商品公司的管理效率,改进服务水准的重要手段之一。本系统在解决商品公司的
日常进货,销售,库存和报表管理上有一定的实际意义。
第二节 国内外研究概述
信息系统是一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和
电子计算机技术于一体。1985 年,管理信息系统创始人,明尼苏达大学卡尔森管理学
院的著名教授戴维斯()给出了一个具有代表性的定义:“管理信息系
统是一个利用计算机硬件和软件,手工作业、分析、计划、控制和决策模型数据库的
用户-机器系统。它能提供信息支持企业或组织的运行、管理和决策功能。
商品零售系统是管理系统的一种,相对于一些复杂的管理系统它要相对简单一些,
研究方法也已经达成普遍共识。商品的零售管理工作是商品销售不可缺少一部分,也
是企业管理的重要组成部分。它的内容对于企业的管理者来说都至关重要,所以商品
零售管理系统应该能够为用户提供完整、正确和灵活的商品零售信息和快捷的查询手
段。但一直以来人们使用传统人工的方式管理文件模式,这种管理方式存在着许多缺
点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、
更新和维护都带来了不少的困难。 所以利用计算机实现商品零售的管理的自动化将
势在必行。
然而我国商品零售行业在进行信息化零售管理改革中存在着诸多问题:
(1)信息传输效率低,可靠、安全、保密性差,缺少全系统统一的数据资源和规范
的商务文件运行手段。
(2)缺乏统一规范和标准,尤其是数据交换标准。目前大多数商品零售软件模块独
立,互不关联,数据不能共享,尤其不同软件之间的数据交换、共享、无缝连接更无
从谈起,它给软件企业和用户的应用与升级带来麻烦。
(3)软件开发的低水平、重复性开发、多平台共存、软件层次参差不齐,数百家商
品零售软件伞业中除用友、金蝶公司等优秀者外,主要还是代替手工处理的目标,而
且产品宣传与实际性能有差别,无法满足用户的实际需要。
(4)管理软件缺乏实用性与先进性的一致。炒作的多、务实的少。分析决策,支持
系统、等新概念层出不穷,并没有从我国还处于初级阶段的实际出发,一段时间内在
我国基础设施建设、金融结算、法律法规不健全,技术以及相关人员缺乏的情况下,
炒作地推出了将大有前景的基于电子商务模式的零售商务系统,结果可想而知。最近
在数据挖掘技术还不成熟的情况下,又有炒作智能化的基于数据挖掘技术的决策分析
支持的零售商务系统。有的在不考虑我国市场经济的时间还不长,很多还不规范的情
况下,在系统中引入联机分析系统。一段时间以后,其中的数据由于“人对计算机说
假话输入不符规范准确的数据”而导致“计算机对人说废话输出结果于管理无补”,最后
得出“电脑不如猪脑”的结论,从而导致系统的闲置、失败。
第二章 系统开发技术
第一节 数据库技术
管理信息系统的最终实现还需要数据库的支持。所谓数据库,就是以一定的组织
方式将数据组织在一起存放在计算机存储器上形成的、能为多个用户共享的、与应用
程序彼此独立的一组相关数据的集合。数据库是数据库应用系统的核心和管理对象。
数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心
机构。计算机的高速处理能力和大容量存储器提供了实现数据管理自动化的条件。一
个数据库是一个有机的整体,这便于用户进行统一管理,方便进行查找、检索、统计
等操作。数据库的性质是由其中的数据模型决定的。在数据库中的数据如果依照层次
模型进行数据存储,则该数据库为层次数据库;如果依照网络模型进行数据存储,则
该数据库为网络数据库;如果依照关系模型进行数据存储,则该数据库为关系数据库。
从 60 年代末开始,数据库技术经历了层次数据库、网状数据库和关系数据库而进入
数据库管理系统(DBMS)阶段至今,数据库技术的研究也不断取得进展。80 年代,关
系数据库成为发展的主流,几乎所有新推出的 DBMS 产品都是关系型的。关系型数据
库在计算机数据管理的发展史上是一个重要的里程碑,这种数据库具有数据结构化、
最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,目前
较大的信息系统都是建立在结构化数据库设计之上的。
关系数据库(relation database)是若干个依照关系模型设计的数据表文件的集合,
数据表又由若干个记录组成,而每一个记录是由若干个以字段属性加以分类的数据项
组成的。关系数据库具有以下特点:
(1)以面向系统的观点组织数据,使数据具有最小的冗余度,支持复杂的数据结构。
(2)具有高度的数据和程序的独立性,用户的应用程序与数据的逻辑结构及数据的
物理存储方式无关。
(3)由于数据具有共享性,使数据库中的数据能为多个用户服务。
(4)关系数据库允许多个用户同时访问,同时提供了各种控制功能,保证数据的安
全性、完整性和并发性控制、安全性控制可防止未经允许的用户存取数据;完整性控
制可保证数据的正确性、有效性和相容性;并发性控制可防止多用户并发访问数据时由
于相互干扰而产生的数据不一致。
本系统采用的就是典型的关系型数据库 MS SQL Server 2005,可以在许多操作系
统上运行。它具有可靠性、可伸缩性、可用性、可管理性等特点,为用户提供完整的
数据库解决方案。
第二节 C#语言
C#是一种简洁、类型安全的面向对象的语言,开发人员可以使用它来构建在.NET
Framework 上运行的各种安全、可靠的应用程序。使用 C#,您可以创建传统的
Windows 客户端应用程序、XML Web services、分布式组件、客户端-服务器应用程
序、数据库应用程序以及很多其他类型的程序。Microsoft Visual C# 2005 提供高级代
码编辑器、方便的用户界面设计器、集成调试器和许多其他工具,以在 C# 语言版本
和 .NET Framework 的基础上加快应用程序的开发。C# 语法表现力强,只有不
到 90 个关键字,而且简单易学。C#的大括号语法使任何熟悉 C、C++或 Java 的人都
可以立即上手。了解上述任何一种语言的开发人员通常在很短的时间内就可以开始使
用 C# 高效地工作。C#语法简化了 C++的诸多复杂性,同时提供了很多强大的功能,
例如可为空的值类型、枚举、委托、匿名方法和直接内存访问,这些都是 Java 所不
具备的。C# 还支持泛型方法和类型,从而提供了更出色的类型安全和性能。C#还提
供了迭代器,允许集合类的实现者定义自定义的迭代行为,简化了客户端代码对它的
使用。
作为一种面向对象的语言,C#支持封装、继承和多态性概念。所有的变量和方法,
包括 Main 方法(应用程序的入口点),都封装在类定义中。类可能直接从一个父类继
承,但它可以实现任意数量的接口。重写父类中的虚方法的各种方法要求 override 关
键字作为一种避免意外重定义的方式。在 C#中,结构类似于一个轻量类,它是一种
堆栈分配的类型,可以实现接口,但不支持继承。除了这些基本的面向对象的原理,
C#还通过几种创新的语言结构加快了软件组件的开发,其中包括:
(1)封装的方法签名(称为委托),它实现了类型安全的事件通知。
(2)属性 (Property),充当私有成员变量的访问器。
(3)属性 (Attribute),提供关于运行时类型的声明性元数据。
(4)内联 XML 文档注释。
在 C#中,如果需要与其他 Windows 软件交互,可以通过一个称为“Interop”的过
程来实现。互操作使 C#程序能够完成本机 C++应用程序可以完成的几乎任何任务。
在直接内存访问必不可少的情况下,C#甚至支持指针和“不安全”代码的概念。C# 的
生成过程比 C 和 C++简单,比 Java 更为灵活。没有单独的头文件,也不要求按照特
定顺序声明方法和类型。C#源文件可以定义任意数量的类、结构、接口和事件。
了解到 C#有如此多的特点和优势,本系统采用 C#作为开发语言。
第三节 水晶报表
水晶报表(Crystal Reports)用于处理数据库,帮助用户分析和解释重要信息。使
用水晶报表可以方便地创建简单报表,同时它也可以创建复杂或专用报表所需的整套
工具。
水晶报表能创建用户所能想象的任何报表,它也可以从任何数据源生成用户所需
要的报表。内置报表专家在生成报表和完成一般报表的任务的过程中,会一步一步的
指导用户进行操作。报表专家通过公式、交叉表、子报表和设置条件格式帮助表现数
据的实际意义,揭示可能被隐藏掉的重要关系。如果文字的数字确实不充分,则会用
地理地图和图形进行形象的信息交流。
水晶报表的灵活性并未停留在创建报表这一功能上,用户可以用各种各样的方式
发布报表,包括用 Microsoft 的 Word 和 Excel 发布、通过电子邮件设置 Web 发布。
高级的 Web 报表功能允许工作组中的其他成员在他们自己的 Web 浏览器中查看或更
新共享报表。
通过将水晶报表的报表处理功能整合到自己的数据库应用程序中,应用程序和
Web 开发人员可以节省开发是并满足用户的需求。Crystal Reports 支持大多数流行的
开发语言,可以方便的在任何应用程序中添加报表。不论用户是 IT 行业的站点管理
员,还是营销推广经理,或是金融业的数据库管理员或是 CEO,水晶报表都堪称是一
个强大的工具,它可以帮助每一个人分析、解释重要信息。
水晶报表是现实数据的强大的工具,但是无论多么强大的工具,如果没有数据源
提供数据,也一样是无用武之地,为了能够充分利用报表的强大功能,数据源的配置
就显得非常重要和关键。通常在使用水晶报表时,主要用到的数据源有以下几种:MS
SQL Server 2000、Access 数据库文件和 Excel 工作簿。本系统使用 MS SQL Server 2000
数据源设计水晶报表。操作步骤是:(1)将要设计数据源的报表在报表设计器中打
开,并在报表设计器中任何空白位置单击右键,在弹出的快捷菜单中一次选取“数据
库/数据库专家”单击“创建新连接”下“OLEDB”节点左侧的加号,弹出 OLEDB 对话框,
在对话框中填写正确的信息,并选择“身份验证”模式,单击“完成”按钮即可创建新数
据源。(2)从新建数据源中选择需要使用的数据表,单击“完成”按钮,将数据表添加
到“字段资源管理器”中,从“字段资源管理器”中将要显示的字段添加至报表中进行报
表设计。
第四节 Client/Server 系统结构
系统结构的选择 C/S 结构,即 Client/Server(客户机/服务器)结构。此结构把数据
库内容放在远程的服务器上,而在客户机上安装相应软件。C/S 软件一般采用两层结
构,它由两部分构成:前端是客户机,即用户界面(Client)结合了表示与业务逻辑,接
受用户的请求,并向数据库服务提出请求,通常是一个 PC 机,后端是服务器,即数
据管理(Server)将数据提交给客户端,客户端将数据进行计算并将结果呈现给用户。
C/S 结构在技术上很成熟。它的主要特点是交互性强、具有安全的存取模式、网
络通信量低、响应速度快、利于处理大量数据,由于 C/S 是配对的点对点的结构模式,
可采用适用于局域网、安全性比较好的网络协议(例如:NT 的 NetBEU 工协议),安全
性可以得到较好的保证。但是该结构的程序是针对性开发,变更不够灵活,维护和管
理的难度较大。通常只局限于小型局域网,不利于扩展,并且,由于该结构的每台客
户机都需要安装相应的客户端程序,分布功能弱,且兼容性差,不能实现快速部署安
装和配置,因此缺少通用性,具有较大的局限性。要求具有一定专业水准的技术人员
去完成。
由于本系统主要用于中小型商品销售企业内部使用,用户群小,不存在维护难度
大和通用性等问题。而本系统对数据安全性要求较高,处理数据量大,这正好是 C/S
结构的优点。因此本系统采用 C/S 结构无疑是最佳选择。
第三章 系统整体方案
第一节 需求分析
通过实际调查,要求本系统具有以下功能:
(1)由于操作人员的计算机知识有限,因此要求系统具有良好的人机界面。
(2)如果系统的使用对象较多,则要求有较好的权限管理。
(3)方便的数据查询,支持多条件查询。
(4)系统支持良好的数据备份和还原操作,有效保护数据,减少意外损失。
(5)在相应的权限下,可方便的删除数据。
(6)数据计算自动完成,尽量减少人工干预。
(7)报表分析商品进货,商品销售情况。
(8)强大的报表打印功能。
(9)报表基本信息查询时,可根据查询条件动态显示查询结果。
(10)报表分析过程中,可根据条件动态分析报表数据。
第二节 开发工具选择
本系统后台数据库采用 MS SQL Server 2005,该数据库系统安全性、准确性运行
速度方面有绝对的优势,并且处理数据量大,效率高;前台采用 Microsoft 公司的 Visual
Studio2005 作为主要的开发工具,可与 SQL Server 2005 数据库进行无缝连接。
第三节 项目规划
本商品零售管理系统主要由进货管理、销售管理、库存管理、报表设计和系统维
护等模块组成,具体规划如下。
(1)资料管理模块
基本资料管理模块主要用于实现系统基本数据的录入,相关基础数据为:商品信
息、供货商信息、客户基本信息。
(2)进货管理模块
该模块主要用于实现商品的进货数据录入,退货数据录入和进货查询分析。
(3)销售管理模块
该模块主要用于实现商品的销售数据录入,客户退货数据录入和销售信息查询。
系统功能结构如图 3-1 所示。
图 3-1 系统功能结构图
(4)库存管理模块
库存管理模块主要用于实现库存调拨和库存数据查询;
(5)报表设计模块
报表设计模块主要用于商品进货分析报表;
(6)系统维护模块
系统维护模块用于实现系统用户设置、操作权限设置、系统用户添加;
系统业务流程如图 3-2 所示
商 品 零 售 管 理
模块
资
料
管
理
进
货
管
理
销
售
管
理
库
存
管
理
报
表
设
计
系
统
维
护
图 3-2 系统业务流程图
第四节 设计目标
此系统的设计是针对中小型的商品销售企业的,通过本系统可以对中小型的商品
销售企业进行有效的零售管理。本系统暂定了以下设计目标:
(1)系统采用人机交互方式,界面美观友好,信息查询灵活、方便,数据存储
安全可靠。
(2)实现后台监控功能。
(3)利用报表中图表分析进货数据。
(4)实现各种查询,如定位查询、模糊查询等。
(5)实现商品进货分析语统计、销售分析与统计、商品销售成本明细等功能。
(6)强大的库存管理,尽可能的减少商家不必要的损失。
(7)对用户输入的数据,进行严格的数据检验,尽可能避免人为错误。
系统用户 是否登录 分配权限是
操
作
员
用
户
权
限
管
理
员
用
户
权
限
操
作
模
块
中
数
据
普
通
用
户
操
作
权
限
查
看
基
本
数
据
分配 分配
操作所有模块
资
料
管
理
进
货
管
理
销
售
管
理
库
存
管
理
系
统
管
理
(8)系统最大限度的实现了易维护性和易操作性。
第五节 可行性分析
可行性分析
可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针
对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方
面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就
是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包
括以下几个方面的内容。
经济可行性
经济可行性主要是对项目的经济效益进行评价。本系统由于是一个中小型软件系
统,无需投入太大的开发经费,并且本系统实施后可以显著提高工作效率,有助于商
品销售管理完全实现信息化管理。所以本系统在经济上是可行的。
技术上的可行性
技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满
足开发者的需要等。该管理系统采用 visual studio 2005 作为开发工具。Client /
Server(客户机/服务器)结构把数据库内容放在远程的服务器上,而在客户上机安装相
应软件。C/S 软件一般采用两层结构,它由两部分构成:前端是客户机,即用户界面
(Client)结合了表示与业务逻辑,接受用户的请求,并向数据库服务提出请求,通常是
一个 PC 机;后端是服务器,即数据管理(Server)将数据提交给客户端,客户端将数据进
行计算并将结果呈现给用户。满足了本系统对数据安全性要求较高,处理数据量大的
要求,而且又紧密的结合了计算机网络技术,是技术发展的大势所趋,它把应用系统
带入了一个崭新的发展时代。数据库服务器选用 Microsoft SQL Server 2005 数据库,
它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、
安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟
可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,
可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
时机可行性
目前,随着商品销售商家规模的扩大,中国经济的发展,商品零售管理也必不可
少,信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会
生活的各个领域。成功的商家是在市场强烈的技术竞争和服务的情况下获得自己的市
场份额和信誉的。随着计算机与企业经济关系愈来愈密切,如何提高商品销售企业办
公效率愈显突出,然而由于计算机管理对许多中小型商品企业来说仍未普及,许多这
类企业还停留在传统的手写办公方式上,这给具有强烈时间观念的公司领导、决策人
员带来了诸多不便,公司办公室缺少一种完善的办公管理软件,为了加强商品销售的
管理,因此开发了本软件。让计算机走入现代商品销售管理,使企业提高管理的效率,
从而能有效的提高企业的投入与产出比。
管理上的可行性
主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,
原始数据是否正确等。公司已有的零售管理规章制度和管理方法为本系统的开发提供
了制度保障。
操作可行性
操作可行性主要是指本系统开发完成后,管理人员可以在软件开发人员的简单指
导下,利用 C/S 结构来进行操作,用 SQL sever2005 作为数据库管理,实质上使用本
系统只是一些简单的数据录入、上传和查询,所以操作容易,只要有一定计算机操作
知识都是能够操作,只要按照一定的操作步骤都可以使用本系统。
综上所述,本系统开发目标已明确,在技术和经济等方面都可行,并且投入少、
见效快。因此本系统的开发是完全可行的。
第六节 开发及运行环境
系统开发平台:Microsoft Visual Studio 2005。
系统开发语言:C#。
数据库管理系统软件:SQL Server 2005。
运行平台:Windows XP(SP2)/Windows 2000(sp4)/Windows Server 2003(SP1)。
运行环境: Framework SDK 。
分辨率:最佳效果 1024*768 像素。
第四章 数据库设计
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库
及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处
理要求)。在数据库领域内,经常把使用数据库的各类系统统称为数据库应用系统。
数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,
提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中
获得所需的信息。同时数据库又是信息系统的各个部分能否紧密地结合在一起以及如
何结合的关键所在。所以数据库设计是系统开发和建设的重要组成部分。在这里商品
零售管理系统采用 SQL Server 2005 作为后台数据库,数据库名称为 jxcbook,包括了
12 张表,其中有商品清单表,客户清单表,商品销售单表,库存表和权限清单表等等。
第一节 数据库需求分析
根据对商品销售行业进、销、存各个部分的分析和行业特点的要求,以及系统运
行和数据流程的分析,得到了 12 张表,部分表如下:
(1)商品清单表:货号,条码,拼音编码,品名,规格,单位,产地,类别,进货
价,销售价 1,销售价 2、最低售价。
(2)库存信息表:货号,仓库,库存数量,库存金额,库存单价,最新进价。
(3)进货信息表:编号, 供货商号, 进货日期,业务员,制单人,验收员,保管员,
税价合计,不含税价,税额,订单号。
(4)商品销售信息表: 编号,客户编号,销售日期,业务员, 制单人,保管员,税
价合计,不含税价,税额,订单号。
第二节 数据库概念设计
通过对商品零售管理系统的数据库的需求分析,可以得到数据库的基本数据和数
据结构以及数据处理的流程,下面列出系统的部分 E-R 图。
图 4-1 进货信息表
图 4-2 商品信息表
图 4-3 销售信息表
进货信息表
编号
供货商号
进货日期 业务员
制单人
保管员
验收员
商品清单表
货号
品名
销售价 1
……………
销售信息表
编号
客户编号
销售日期 业务员
税价合计
订单号
图 4-4 权限清单
图 4-5 库存信息表
权限清单表
权限序号 …….
权限名称
库存信息表
货号
仓库
库存数量 库存金额 库存单价
最新进价
图 4-6 调拨信息表
第三节 数据库逻辑结构设计
现在根据设计好的数据库概念结构来进行数据库各个表的设计,系统主要数
据库设计如下:
表 4-1 进货商信息表
用户信息表
用户编号
部门 姓名性别
密码
表 4-2 商品库存信息表
表 4-3 商品进货信息表
表 4-4 商品销售信息表
表 4-5 权限清单
表 4-6 用户清单
第五章 系统总体及主要功能模块设计
业务流程(Transaction Flow Diagram, TFD),又称作业流程,即作业的完成程序,
它反映了现实的业务活动。管理业务流程图是一种描述系统内各单位、人员间业务关
系、作业顺序和管理信息流向的图表。现实业务活动中的一些弊病很难凭空指出,而
利用业务流程图可以细致地分析其业务流程的合理性、存在的问题及从何处入手进行
修改。
第一节 系统总体业务
本系统的主要业务流程是管理员首先登录,使用权限包括系统员操作权限和普通
用户操作权限。然后系统的用户使用自己的登录名和密码进行登陆,系统根据用户的
登录名得知用户的操作权限,用户可能有全部的使用权限,也可能只有部分的使用权
限。管理员是拥有所以使用权限的。系统的主要操作流程如图 5-1 所示。
图 5-1 系统操作流程图
分配
分配
系统用户 是否登录 分配权限是
操 作
员 用
户 权
限
管理
员用
户权
限
操 作
模 块
中 数
据
普 通
用 户
操 作
权限
查 看
基 本
数据
操作所有模块
资
料
管
理
进
货
管
理
销
售
管
理
库
存
管
理
系
统
管
理
是
第二节 主要模块的业务流程和代码设计
(1)资料管理模块:
本模块一般为管理员和操作员使用,普通用户一般不会有此权限。当用户登陆后
就可以进入此模块,此模块有三个小模块:商品信息,供应商信息,客户信息。不同
用户根据自己的使用权限获得相应的使用范围。基本的流程如图 5-2 所示。
图 5-2 资料管理模块流程
主要实现代码说明:
商品信息维护代码
此模块的代码主要在 WareDataManage 文件中,主要实现库存商品信息的查询
和修改功能。实现查询功能的方法是:
//--------根据商品拼音编码查询商品-------------
private void btn_Search_Click(object sender, e)
{
系统用户
登
陆
否
系统主界面
基本档案界
面
供
应
商
信
息
客
户
信
息
商
品
信
息
string strSpellWord = ();
string tempStrSQL = "select * from 商品清单where 拼音编码like '" +
strSpellWord + "%'";
(tempStrSQL,sendTableName);
}
对数据进行修改的方法是:
//--------------对数据的修改,保存等操作----------------
private void toolBar1_ButtonClick(object sender,
e)
{
if ( == "保存修改")//保存对数据所作的修改
{
try
{
int row = ;
//将当前所在行往下移动一行,为便于实现同步保存
//(否则会出现修改的最后一行无法保存,因为它还处于编辑状态)
= new DataGridCell(row+1,0);
if (())
{
((),sendTableName);
("数据修改成功!","信息");
}
else
{
("没有需要修改的数据!");
return;
}
}
catch
{
("数据保存失败,请确认所有信息输入完整且
正确!","提示");
return;
}
}
if ( == "删除数据")//删除某条数据
{
if (("确实要删除这条记录吗?","询问
",) == )
{
int intRowNumber = ;
try
{
[0].Rows[intRowNumber].Delete();
//此处传入只包含被改动过的DataRow的DataSet,减少更新数据量,提高程序性能
((),sendTableName);
("数据删除成功!","信息");
}
catch
{
("该数据不能删除!","提示");
string tempStrSQL = "select * from " + sendTableName;
(tempStrSQL,sendTableName);
return;
}
}
}
}
客户信息维护
此模块的代码主要在 文件中,主要实现客户信息的查询和修
改,客户信息查询代码的方法是
//------------根据用户的输入客户拼音编码来搜索客户信息----------
private void btn_Search_Click(object sender, e)
{
string strSpellWord = ();
string tempStrSQL = "select * from 客户清单where 拼音编码like '" +
strSpellWord + "%'";
(tempStrSQL,sendTableName);
}
客户信息修改代码的方法是
//--------------处理保存,删除,退出等事务---------------
private void toolBar1_ButtonClick(object sender,
e)
{
if ( == "保存修改")
{
try
{
int row = ;
//将当前所在行往下移动一行,为便于实现同步保存
//(否则会出现修改的最后一行无法保存,因为它还处于编辑状态)
= new DataGridCell(row+1,0);
if (())
{
((),sendTableName);
("数据修改成功!","信息");
}
else
{
("没有修改的数据!");
return;
}
}
catch
{
("数据保存失败,请确认所有信息输入完整且正
确!","提示");
return;
}
}
if ( == "删除数据")
{
if (("确实要删除这条记录吗?","询问
",) == )
{
int intRowNumber = ;
try
{
[0].Rows[intRowNumber].Delete();
((),sendTableName);
("数据删除成功!","信息");
}
catch
{
("该数据不能删除!","提示");
string tempStrSQL = "select * from " + sendTableName;
(tempStrSQL,sendTableName);
return;
}
}
}
}
(2)进货管理模块:
此模块主要是作为普通用户的采购人员使用的,用户在成功登陆以后,就可以进
入此模块。此模块功能:进货信息管理。当然不同的用户可以使用其中不同的功能。基
本流程如图 5-3 所示。
图 5-3 进货管理模块流程
主要代码说明:
进货管理模块主要是仓库的商品信息的检索和相应修改所以主要代码一检索和
修改为主,其中对进货信息以报表形式打印出来。
//--------将所选供货商的相关数据读入窗体---------
private void cmb_StokerID_KeyUp(object sender,
e)
{
= "";
string strSearchWord = ;
string sendSQL = "select 供货商号,名称from 供货商清单where 供货商
号= '" + strSearchWord + "'";
DataTable tempDataTable = (sendSQL);
if (>0)
系统用户
登
陆
否
系统主界面
采购管理界面
进
货
单
{
inputTextDataArray[0] = [0][0].ToString().Trim();
inputTextDataArray[1] = [0][1].ToString().Trim();
();
("{Tab}");//向活动应用程序发送Tab键,跳到下一控件
}
}
打印报表打开新窗体代码如下:
//----------打印报表----------
private void clickedPrintIcon()
{
InputStockReport input_Stock = new InputStockReport();
();
}
(3)销售管理模块:
此模块主要是销售人员使用的。包含商品销售,销售查询两项项基本功能。通过
此模块用户可以大体的了解公司的销售状况。首先用户登陆,让后进入销售界面,然
后就可以把销售信息录入系统,或者进行销售的查询,得到销售的信息。操作流程如
图 5-4 所示。
5-4 销售管理模块流程
主要代码说明:
本模块主要是对商品销售信息的查询和修改录入所以代码说明一查询和修改为
主。商品销售信息查询代码如下:
//----------绑定数据并设置明细表格各列的属性----------
private void DataGridStateControl()
{
newTable = new DataTable();
("货号(双击)",typeof(string));
("数量",typeof(decimal));
("单价",typeof(decimal));
("仓库(双击)",typeof(string));
("品名",typeof(string));
("单位",typeof(string));
("金额",typeof(decimal),"数量*单价");
("税率",typeof(decimal));
("不含税额",typeof(decimal),"金额/");
("税额",typeof(decimal),"金额-不含税额");
= newTable;
系统用户
登
陆
否
系 统 主 界
面
销 售 管 理 界
面
商
品
销
售
销
售
查
询
(()); //向表中添加一行
DataGridTableStyle ts = new DataGridTableStyle();
DataGridTextBoxColumn aColumnTextColumn;
= false;
= ;
= ;
int numCols = ;
for (int i = 0;i< numCols;i++)
{
aColumnTextColumn = new DataGridTextBoxColumn();
if( i!=0 && i!=1 && i!=2 && i!=3)//表中只允许编辑【数量】和【单
价】两个字段
{
=true;
}
if ( i == 0 || i == 3 )//当鼠标单击第列和第列时,允许响应
{
+= new
MouseEventHandler(TextBoxMouseDownHandler);
}
if ( i == 4 )
{
= 160;
}
=
[i].ColumnName;
= [i].ColumnName;
= "";
= "N"; //设置为数字格式显示
(aColumnTextColumn);
}
(ts);
}
销售修改信息代码如下:
//-----------处理保存修改,删除和存入历史等功能---------
private void toolBar1_ButtonClick(object sender,
e)
{
if ( == "保存修改")
{
clickedSaveIcon();
}
else if( == "删除数据")
{
try
{
if ( > 0)
{
(
owNumber);
();
}
//加入空行保证newTable中不为空,否则删除所有数据行后保存数据和MouseUp函数
将引发异常出错
if (-1 <= 0)
(());
}
catch
{
return;
}
}
(4)库存管理模块:
库存管理模块主要是库存管理人员使用的,也可以是其他人员进行库存查询。包
括库存调拨,库存查询等功能。用户登陆后进入主界面,然后又此项权限的用户可以
进入库存管理界面。基本流程如图 5-5 所示。
主要代码说明:
本模块主要是对库存信息的查询和调拨,所以关键以查询和调拨为主。
库存查询代码如下:
//--------------根据输入查询库存中商品信息--------------
private void btn_Search_Click(object sender, e)
{
string strRowFilter = "";
string strWareNumFilter ="货号like '" + () + "%'";
string strWareWordFilter ="拼音编码like '" + () +
"%'";
int selectedNum = ;
string strStorageFilter ="仓库= '" +
[selectedNum].ToString().Trim()+ "'";
if (() != "")
strRowFilter += strWareNumFilter + " and ";
if (() != "")
strRowFilter += strWareWordFilter + " and ";
if ([selectedNum].ToString().Trim() != "")
strRowFilter += strStorageFilter + " and ";
if (strRowFilter != "") // 存在查询条件
strRowFilter = (0,-5);
= strRowFilter;
}
图 5-5 库存管理模块流程
(5)报表设计模块:
此模块主要由公司文员进行打印操作或者是公司主管对员工,销售等方面的分析
和审核。用户登陆后进入主界面后可以进入报表打印界面,此模块有员工信息报表,
供应商信息报表,进货报表,员工销售报表,商品进货分析报表,销售价格分析报表,
员工销售分析报表的查询和打印功能。具体操作流程如图 5-6 所示。
系统用户
登
陆
否
系统主界面
库存管理界面
库
存
调
拨
库
存
查
询
图 5-6 报表设计模块流程
数据报表是从进货单表的到相应的数据,然后通过数据报表打印出来,主要代码如下:
private void InputStockReport_Load(object sender, EventArgs e)
{
string sqlstr = "select 编号,供货商号,业务员,制单人,税价合计,不含税价,
税额 from 进货单";
da = new SqlDataAdapter(sqlstr, conn);
(ds3, "进货单");
InputStocklReport1 cr = new InputStocklReport1();
(ds3);
= cr;
}
(6)系统管理模块:
此模块主要的操作者是管理员,其中包括系统用户,设置权限,更改密码,数据
备份,数据还原等功能。操作流程如图 5-7 所示。
系统用户
登
陆
否
系统主界面
进货管理界面
进
货
信
息
查
询
表
图 5-7 系统管理模块流程
本模块主要以权限设置和用户添加为主,主要代码以权限设置为主,这个模块也
是本系统设计的一个难点,对权限的设定本系统采用权限表和界面的统一方法通过表
数据控制,设置系统用户对系统各个模块的操作权限,权限表 5-1 如下
表 5-1
系统用户
登
陆
否
系统主界面
系统管理界面
设
置
权
限
用
户
添
加
主要代码如下:
//-------------改变用户的权限,并向数据库中提交----------------
private void chkLst_Priority_ItemCheck(object sender,
e)
{
//CheckedListBox控件中的Item的CheckedState属性是由点击CheckedListBox
控件而改变时才响应该事件
if (blInitial == false)
{
if (() == "Unchecked")
{
try
{
string strUserName =
_Popedom[,0].ToString().Trim();
string strPopedom = ();
string tempSendStrSQL = "insert 权限清单(用户编号,权限名称)
values ('" + strUserName +"','"+ strPopedom +"')";
(tempSendStrSQL);
}
catch
{
("数据库中的权限修改出错,请重试!","信")
}
}
else if (() == "Checked")
{
try
{
string strUserName =
_Popedom[,0].ToString().Trim();
string strPopedom = ();
string tempSendStrSQL = "delete from 权限清单where (用户编号= '" + strUserName
+"'" +" and 权限名称= '" + strPopedom + "')";
(tempSendStrSQL);
}
catch
{
("数据库中的权限修改出错!","信息");
}
}
}
}
第六章 系统主要界面举例和操作方法
由于操作人员的计算机知识有限,因此要求系统具有良好的人机界面。在设计本
系统的界面时我遵循了几个原则:1.控件的拖放要分主次,把重要的控件放在显著的
位置;2.合理设置控件的大小以达到一致性;3.合理利用空间,使界面整洁。
第一节 系统的主界面
系统的主界面是用户进入系统后的第一个界面。本系统的主界面很简洁,所有的
功能项一目了然。如图 6-1 所示。
图 6-1 系统主界面
操作方法说明:
(1)打开“资料管理/商品信息维护”菜单项:对商品信息进行添加、修改、删除和查
询操作。
(2)打开“资料管理/供应商信息”菜单项:对供应商信息进行添加、修改、删除和查
询操作。
(3)打开“资料管理/客户信息”菜单项:对客户档案信息进行添加、修改、删除和查
询操作。
第二节 系统登录界面
此界面主要是进行系统登录的。通过此界面用户可以登录到系统管理界面,此界
面有个密码提示功能,当鼠标输入的用户名正确时鼠标单击密码文本框就会有提示密
码。如图 6-2 所示。
图 6-2 系统登录界面
操作方法说明:
打开系统,弹出系统登录界面,输入相应的用户权限、用户名和登录密码,如果
登录用户名和密码匹配,则进入系统管理界面。
第三节 进货管理界面
此界面主要是对商场进货信息进行管理,包括对进货单表的查询和相关信息的
调整,另外还有对进货信息的水晶报表打印。如图 6-3。
图 6-3 进货管理界面
操作方法说明:
打开“进货管理/进货单”菜单项:对进货信息进行添加、修改和删除操作。单击菜
单项的打印按钮对查询的进货单信息报表打印。
第四节 销售管理界面
此界面主要是对销售表的信息进行增删改查,对销售中的商品信息进行调节同时
将调节后的销售信息存入历史记录中,如图 6-4。
图 6-4 销售管理界面
操作方法说明:
打开“销售管理/销售单”菜单项:对商品销售信息进行添加、修改和删除操作。
单击菜单项对商品信息就可以进行删除和修改后加入历史记录。
第七章 系统测试
系统开发完成后,在软件开发阶段的最后一步就是对系统进行测试。测试是为了
发现程序中的错误。
在对本系统进行测试时,本文作者对本系统做了以下的测试计划。
第一节 测试计划
根据软件工程的知识,对本系进行了单元测试,集成测试。
测试内容
(1)单元测试:
根据系统模块要求分类,其对应的测试单元包括:
① 商品信息检索;
① 供应商信息维护;
① 登陆测试;
(2)集成测试:
根据零售业务的种类,其对应的测试单元包括:
① 销售测试;
① 库存管理;
① 进货测试。
第二节 测试用例
单元测试用例
(1)商品信息检索
测试结果见图 7-1
解决方案:输入查询必须为商品拼音。
测试结论:成功。
图 7-1 商品信息
(2) 供货商信息测试
测试结果见图 7-2
测试结论:成功
图 7-2 供应商信息测试
(3)登录测试
测试结果见图 7-3
测试结论:成功
图 7-3 登录测试
集成测试用例
(1)销售测试
测试效果见图 7-5
测试结论:
各控件和数据库相关联保证数据准确性,当查询客户编号后得到的相关数据可以
检索出商品销售的部分信息,然后通过自己输入数量和单价进行调整销售信息,最后
保存修改的信息。 测试达到了零售管理的基本要求。
图 7-5 销售测试
(2)库存管理
测试效果见图 7-6
测试结论:
本模块主要是以仓库的查询为主,当销售过后仓库信息进行了更新,这时可以通
过本模块将库存的信息检索出来进行对比,本模块的 datagridview 控件可以根据检索
的条件将信息进行排列,方便查阅。测试达到预期的要求。
图 7-6
(3)进货测试
测试效果见图 7-7
测试结论:
达到系统预期要求。
图 7-7 进货测试
谢辞
首先,我要感谢我的指导老师。当初选题目的时候我们是多么的彷徨,但是是你
给我们指明了方向,知道我们应该如何做,从那时起,我就开始一步一步的开始着我
的论文设计与研究,正是李老师的无私帮助与热忱鼓励,我的毕业论文才能够得以顺
利完成,再次的谢谢李学国老师。
其次,我还要感谢我们寝室的同学们,大家在开发中遇到困难互相帮助,互相勉
励,共同进步,最后大家都很好的完成了毕业设计。
最后,我要向在百忙之中抽时间对本文进行审阅、评议和参加本人论文答辩的各
位老师表示感谢!
参考文献
[1] 王素芬,栾好利,朱克敌,杨政,张楠.软件工程与项目管理,西安电子科技大
学出版社,2010。
[2] 曹薇,软件测试,清华大学出版社,2008。
[3] 徐翠霞,崔玲玲,邵回祖,数据结构案例教程(C 语言版),北京大学出版社。
[4] 李春华,张玮, 程序设计与开发,西安电子科技大学出版社。
[5] 马平,黄冬梅,软件文档写作教程,电子工业出版社。
[6] 信息资源管理,中国言实出版社。
[7] 丁宝康,全国高等教育自学考试指导委员会,数据库系统原理,2007 年版,经济
科学出版社。
[8] 刘世峰,全国高等教育自学考试指导委员会,信息系统开发与管理,2011 版,机
械工业出版社。
[9] 刘振安,全国高等教育自学考试指导委员会,C++程序设计,机械工业出版社。
[10] 成奋华,杨夏,JAVA 程序设计项目教程,高等教育出版社。
2025 年 9 月 19 日星期五 16:06:00
:0616:06: 时 6 分 4 时 6 分 0 秒
Sep. 19, 2519 September 20254:06:00 PM16:06:00