第一篇:小型超市商品信息管理系统
计算机系统开发综合训练(3)
课
程
设
计
小型超市商品信息管理系统
目录
1.引言..........................................................................................................................3
1.1系统开发目的.................................................................................................3 1.2背景说明.........................................................................................................3 1.3项目确立.........................................................................................................3 1.4应用范围.........................................................................................................3 2.主要步骤..................................................................................................................4
2.1建立系统功能模型.........................................................................................4
2.1.1需求说明:..........................................................................................4 2.1.2 系统顶级用例图.................................................................................5 2.1.3主要业务系统的用例图......................................................................5
1.员工用例图:....................................................................................5 2.售货员用例图....................................................................................6 3.库存管理员用例图..........................................................................7 4.订货员用例图....................................................................................7 5.统计分析员用例图............................................................................8 6.系统管理员用例图..........................................................................9 2.1.4 主要业务活动图...............................................................................10 货物管理活动图..................................................................................10 2.2建立系统静态结构模型...............................................................................11 2.2.1业务系统的详细类图........................................................................11 1.员工登录模块类图..........................................................................11 2.订货模块类图................................................................................12 3.库存管理模块类图..........................................................................12 4.统计分析模块类图........................................................................13 5.销售模块类图................................................................................14 2.3建立系统动态模型.......................................................................................15 2.3.1主要业务用例的顺序图和合作图....................................................15 1.商品销售顺序图和合作图..............................................................15 2.商品入库顺序图和合作图..............................................................17 3.商品出库顺序图............................................................................18 4.商品查询顺序图..............................................................................19 2.3.2主要业务对象的状态图....................................................................19 1.商品状态图......................................................................................19 2.商品销售状态图..............................................................................20 2.4 绘制系统实现模型......................................................................................21 2.4.1商品信息管理系统构件图................................................................21 2.4.2 商品信息管理系统配置图...............................................................22 3.系统的主要框架..............................................................................................22 4.实验心得体会..........................................................................................................30
1.引言
随着网络办公系统的方便性及其进一步普及,越来越来的公司、企业在管理上都采用了专门的系统来管理公司的业务和流程。由此,系统管理应运而生。
本项目针对超市管理系统进行需求说明,旨在为超市提供方便,快捷的结账体系,准确,高效的库存和财务管理系统,等。让顾客在超市购物更加快捷方便,让超市的管理和运行工作更加完善,方便。因为超市管理系统是基于超市内部普通员工和管理人员的系统,所以非本超市员工是无权进行操作的。该超市管理系统的用户:库存管理员,售货员,统计分析员,顾客,系统管理员,订货员。
1.1系统开发目的
1.大大提高超市的运作效率;
2.通过全面的信息采集和处理,辅助提高超市的决策水平;
3.使用本系统,可以迅速提升超市的管理水平,为降低经营成本,提高效益,增强超市扩张力,提供有效的技术保障。
1.2背景说明
任何一个超市需要一个超市管理系统。该系统需要有顾客查询计算机、库存查询计算机、柜员终端机及中央计算机组成的网络系统。超市需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品信息。面对不同种类的信息,需要合理的数据库结构来保存数据信息,需要有效的程序结构支持各种数据操作的执行。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。
1.3项目确立
该超市管理系统主要分为两大系统,分别是前台销售系统和后台管理系统:前台销售系统包括对商品信息的录入和进行收银业务,后台管理系统分为统计系统、销售管理、库存管理、和人员管理。实现对超市的更加方便又好管理。
1.4应用范围
本系统适应于各种小型的超市。2.主要步骤
2.1建立系统功能模型
2.1.1需求说明:
超市信息管理系统是一个面向超市用来进行超市日常信息处理的管理信息系统。该信息系统能够方便的为超市的售货员提供各种日常售货功能,也能够为超市的管理者提供各种管理功能,如进货、统计商品等。
(1)超市信息管理系统能够支持售货员日常售货功能。每一个售货员通过自己的用户名称和密码登录到售货系统中,为顾客提供服务。在售货员为顾客提供售货服务时,售货员接收顾客购买商品,根据系统的定价计算出商品的总价,顾客付款并接受售货员打印的货物清单,系统自动保存顾客购买商品记录。
(2)超市信息管理系统能够为超市的管理者提供管理功能。超市的管理包括库存管理、订货管理、报表管理和售货人员管理和系统维护等。库存管理员负责超市的库存管理;订货员负责超市的订货管理;统计分析员负责超市的统计分析管理;系统管理员负责超市的售货人员管理和系统维护。每种管理者都通过自己的用户名称和密码登录到各自的管理系统中。
(3)库存管理包括商品入库管理、处理盘点信息、处理报销商品信息和一些信息的管理设置信息。这些设置信息包括供应商信息、商品信息和特殊商品信息。库存管理员每天对商品进行一次盘点,当发现库存商品有损坏时,及时处理报损信息。当商品到货时,库存管理员检查商品是否合格后并将合格的商品进行入库。当商品进入卖场时,商品进行出库处理。
(4)订货管理是对超市所缺货物进行的订货处理,包括统计订货商品和制作订单等步骤。当订货员发现库存商品低于库存下限时,根据系统供应商信息,制作订单进行商品订货处理。
(5)统计分析管理包括查询商品信息、查询销售信息、查询供应商信息、查询缺货信息、查询报表信息和查询特殊商品信息,并制作报表。统计分析员使用系统的统计分析功能,了解商品信息、销售信息、供应商信息、库存信息和特殊商品信息,以便能够制定出合理的销售计划。
(6)系统管理包括维护员工信息、维护会员信息和系统维护。系统管理员通过系统管理功能,能够了解公司员工信息、会员信息,还能够对系统进行维护工作。2.1.2 系统顶级用例图
销售管理售货员系统管理员顾客库存管理库存管理员订货 管理员工订货员身份 验证统计分析员统计查询
整个超市管理系统的每个用例之间的关系的描述如上述“顶级用例图”所示,可以通过此用例图来明确各执行者和用例之间的关系。
2.1.3主要业务系统的用例图
1.员工用例图:
修改员工信息身份验证员工<
员工是超市售货员和超市管理者的抽象,它所包含的行为是超市售货员和超市管理者共同的行为。员工在本系统中通过合法的身份验证;能够修改自身信息和密码。2.售货员用例图
获取商品信息<
售货员能够通过该系统进行销售商品活动。当售货员销售商品时,首先获取商品信息,然后将销售信息更新,如果顾客需要打印购物清单,则需要打印购物清单,在购物清单中需要对商品信息进行计价处理。3.库存管理员用例图
盘点商品报销处理<
库存管理员能够通过该系统进行如下活动:
(1)盘点商品。超市库存管理员每天需要对超市商品信息进行盘点。(2)报销处理。超市库存管理员对超市损坏商品进行报销处理。
(3)商品入库。当商品到货时,库存管理员检查商品是否合格后并将合格的商品进行入库。
(4)商品出库。当商品进入卖场时,商品进行出库处理。
(5)管理设置。库存管理员负责供应商信息和商品基本信息的管理设置。4.订货员用例图
<
5.统计分析员用例图
查询商品基本信息查询销售信息统计分析员查询供应商信息查询缺货信息查询报损信息
统计分析员负责超市的统计分析管理,它能够通过该系统进行如下活动:
(1)查询商品基本信息。统计分析员能够查询商品的基本信息,根据商品的基本信息,制定出相应的方案。
(2)查询销售信息。统计分析员根据销售情况,制定合理的销售方案。(3)查询供应商信息。统计分析员能够查询供应商信息。(4)查询缺货信息。统计分析员能够查询缺货信息。(5)查询报损信息。统计分析员能够查询报损信息。6.系统管理员用例图
维护会员信息维护员工信息系统管理员系统设置
系统管理员能够通过该系统进行如下活动:
(1)维护会员信息。系统管理员能够维护超市会员的信息,如添加会员、删除会员和修改会员信息等。
(2)维护员工信息。系统管理员能够维护超市员工的信息,如添加员工、删除员工和修改员工信息等。
(3)系统设置。系统管理员能够根据一些需要进行必要的系统设置。
2.1.4 主要业务活动图
货物管理活动图
管理员系统验证登录【用户名,密码】登录【失败】显示错误验证不通过【成功】验证成功登录失败选择货物加载货物加载选择的货物显示 加载货物加载错误数据加载错误加载成功显示货物货物信息已加载修改货物保存货物信息显示报错错误错误加载数据已保存数据保存错误
“货物管理活动图”描述了完成一个货物管理信息操作所需要的活动,同时描述了该活动的序列.超市工作人员从“管理员”泳道开始“登录”活动,首先进入系统泳道验证用户名及其密码是否正确,“验证登录”泳道开展登录验证活动,通过与数据库连接判断登录是否合法。登录成功后通过逻辑判断加载货物是否成功,进而转移到用户界面中显示加载成功信息或显示加载出错信息。最后成功后保存数据。
2.2建立系统静态结构模型
2.2.1业务系统的详细类图
下面各个系统的详细类图描述了超市商品信息管理系统中所有的类及其属性与功能,还有类之间的直接关系。1.员工登录模块类图
个人信息*-员工号:Integer-员工名字:String-数据:Date员 工-员工号:Integer-姓名:String-性别:String+个人信息()+修改密码()***密码-数据:Date 2.订货模块类图
订单信息1..*-货物:String-数据:Date订货 员-员工号-姓名-性别+统计订单信息()+制作订单()111..*订单-订单号:Integer-货物:String-数据:Date
3.库存管理模块类图
供应商信息-供应商编号:Integer-供应商名称:String-详细信息:Date库存管理 员-员工号:Integer-姓名:String-性别:String+检查商品()+供应商信息()+基本信息()+盘点商品()+报销处理()11..*11..*商品基本信息-商品编号:Integer-商品名称:String-数据:Date 4.统计分析模块类图
供应商信息1..*-供应商编号:Integer-供应商名称:String-详细信息:Date销售信息-商品编号:Integer-商品名称:String-数据:Date11..*统计分 析员-员工号:Integer-姓名:String-性别:String+查询商品基本信息()+查询销售信息()+查询供应商信息()+查询缺货信息()+查询报损信息()11商品基本信息111..*-商品编号:Integer-商品名称:String-数据:Date1..*缺货信息-商品编号:Integer-商品名称:String-数据:Date报销信息1..*-商品编号:Integer-商品名称:String-数据:Date 5.销售模块类图
销售信息*-商品编号:Integer-商品名称:String-数据:Date*销售员-员工号I:nteger-姓名:String-性别:String*+商品信()息+更新销售记录()+打印购物清单()**商品基本信息*-商品编号:Integer-商品名称:String-数据:Date顾 客-顾客编号:Integer-数据:Date+请求打印购物清单()**购物清单-清单编号:integer-数据:Date
2.3建立系统动态模型
2.3.1主要业务用例的顺序图和合作图
1.商品销售顺序图和合作图
顾客售货员商品管理界面1 : 购买商品()2 : 处理销售()3 : 获取商品信息()4 : 返回商品信息5 : 计价处理()8 : 付钱()7 : 显示处理商品9 : 交付商品6 : 更新商品记录()10 : 带走商品()
工作流程如下:
(1)顾客希望通过售货员购买商品,售货员希望通过售货管理子系统处理商品销售。
(2)顾客将购买商品提交给售货员。
(3)售货员通过销售管理子系统中的管理商品界面获取商品信息。(4)管理商品界面根据商品的编号将商品类实例化并请求该商品信息。
(5)商品类实例化对象根据商品的编号加载商品信息并提供给管理商品界面。(6)管理商品界面对商品进行计价处理。(7)管理商品界面更新销售商品信息。(8)管理商品界面显示处理商品。(9)售货员将货物提交给顾客。2.商品入库顺序图和合作图
库存管理员入库单商品入库单数据库商品数据库1 : 输入入库单对象()2 : 录入数据库()3 : 返回入库单对象4 : 修改商品信息()5 : 录入数据库()6 : 返回更新
工作流程如下:
(1)库存管理员希望通过库存管理子系统将购买的货物处理入库
(2)库存管理员通过库存管理子系统中的商品入库单获取商品信息。(3)商品入库单根据商品的编号将商品类实例化并录入入库单数据库中。(4)商品类实例化对象根据商品的编号加载商品信息并返回给库存管理员。(5)库存管理员通过商品入库界面修改商品信息。
(6)商品界面通过商品类实例化对象修改商品信息并录入到商品数据库中。(7)商品类实例化对象库存管理员返回更新修改信息。3.商品出库顺序图
库存管理员进货订单商品商品出库缺货清单商品数据库缺货单数据库1 : 返回订单2 : 审核订单()3 : 查询商品库存量()4 : 进入数据库查询()5 : 返回查询结果6 : 商品出库()7 : 返回出库信息8 : 添加缺货清单()9 : 录入数据库()10 : 返回缺货信息工作流程如下:
(1)订货员希望通过订货管理子系统处理商品订货管理。
(2)订货员通过订货管理子系统中的进货订单界面获取待订货商品信息。(3)商品界面将商品类实例化并根据商品的数量应当满足的条件请求有关商品信息。
(4)商品类实例化对象根据商品的数量应当满足的条件加载商品信息并提供给缺货清单界面。
(5)订货员通过订货管理子系统中的缺货清单界面获取待订货厂商信息。(6)订货管理界面将供应商类实例化并根据商品的类型请求有关供应商信息。(7)供应商类实例化对象加载供应商信息并提供给缺货清单界面。(8)订货员通过订货管理子系统中的缺货清单界面制作相关订单。(9)订货管理界面制作相关缺货清单并显示给订货员。4.商品查询顺序图
售货员商品管理商品商品数据库1 : 输入查询条件()2 : 搜索查询商品()3 : 由数据库获取商品信息()5 : 返回商品信息6 : 返回查询对象的信息4 : 返回查询的信息
工作流程如下:
(1)售货员希望通过商品管理系统查询商品信息。
(2)售货员通过商品管理系统中的查询商品信息界面获取商品信息。
(3)查询商品管理界面根据商品的属性或特征将商品类实例化并请求该类商品信息。
(4)商品类实例化对象加载商品信息,并返回给商品管理界面。(5)查询商品信息界面显示该类商品信息。
(6)查询商品信息界面将该类商品报表显示给销售员。
2.3.2主要业务对象的状态图
1.商品状态图
商品库存管理商品被销售合格未入库商品商品入库入库商品不合格商品报损
在超市信息管理系统中,我们将有明确状态转换的类进行描述,以下我们以商品的状态图为例,简单进行说明。
商品包含以下的状态:刚被购买还未入库后的商品、被添加能够出售的商品、商品被出售、商品被回收。它们之间的转化规则是:
(1)刚被购买后的商品可以通过库存管理员添加成为入库的商品。(2)当入库商品被出售,商品处于被销售状态。
(3)当商品由于过期、损坏等因素造成的不合格时,商品报损并回收。
2.商品销售状态图
商品销售售货员输入购物清单更新库存库存更新后有货显示库存更新后无货缺货清单统计分析员入库缺货商品采购订货单
商品销售状态图描述了商品对象所具有的各种状态和这个对象从一种状态到另一种状态的转换,以及影响商品这些状态的流通事件。2.4 绘制系统实现模型
2.4.1商品信息管理系统构件图
管理员数据库销售员数据库商品信息页面货物数据库销售信息页面Persistent,增加,删除,更新页面
在超市信息管理系统中,我们通过构件映射到系统的实现类中,说明该构件物理实现的逻辑类。例如,在超市信息管理系统中,我们可以对创建货物管理构件图所对应的构件进行映射。2.4.2 商品信息管理系统配置图
系统管理子系统:员工登录管理售货管理子系统:售货员库存管理子系统:商品库存SQL数据库服务器:商品数据库统计分析子系统:商品统计分析订货管理子系统:商品订货管理在超市信息管理系统中,系统包括五种子系统,分别是:前台售货管理子系统,系统管理子系统,库存管理子系统,订货管理子系统,统计分析子系统。售货员通过售货管理子系统进行商品更新跟收银;系统管理员通过系统管理子系统进行系统维护和员工信息维护;库存管理员通过其子系统进行商品库存管理和维护;订货管理员通过订货管理子系统进行商品订货管理;统计分析员通过统计分析子系统进行商品统计分析。最后这些数据都存储在商品数据库中。
3.系统的主要框架
选取Java设计语言,执行正向工程后得出各个类的代码如下:
// // // Generated by StarUML(tm)Java Add-In // // @ Project : Untitled // @ File Name : 报销信息.java // @ Date : 7/8 // @ Author : // // public class 报销信息 { private Object 商品编号:Integer;private Object 商品名称:String;private Object 数据:Date;} // // // Generated by StarUML(tm)Java Add-In // // @ Project : Untitled // @ File Name : 订货 员.java // @ Date : 7/8 // @ Author : // //
public class 订货 员 { private Object 员工号;private Object 姓名;private Object 性别;public void 统计订单信息(){
}
public void 制作订单(){
} } // // // Generated by StarUML(tm)Java Add-In // // @ Project : Untitled // @ File Name : 购物清单.java // @ Date : 7/8 // @ Author : // //
public class 购物清单 { private Object 清单编号:integer;private Object 数据:Date;} // // // Generated by StarUML(tm)Java Add-In // // @ Project : Untitled // @ File Name : 密码.java // @ Date : 7/8 // @ Author : // //
public class 密码 extends 员 工 { private Object 数据:Date;} // // // Generated by StarUML(tm)Java Add-In // // @ Project : Untitled // @ File Name : 订单.java // @ Date : 7/8 // @ Author : // //
public class 订单 { private Object 订单号:Integer;private Object 货物:String;private Object 数据:Date;} // // // Generated by StarUML(tm)Java Add-In // // @ Project : Untitled // @ File Name : 个人信息.java // @ Date : 7/8 // @ Author : // //
public class 个人信息 extends 员 工 { private Object 员工号:Integer;private Object 员工名字:String;private Object 数据:Date;} // // // Generated by StarUML(tm)Java Add-In // // @ Project : Untitled // @ File Name : 顾 客.java // @ Date : 7/8 // @ Author : // //
public class 顾 客 { private Object 顾客编号:Integer;private Object 数据:Date;public void 请求打印购物清单(){
} } // // // Generated by StarUML(tm)Java Add-In // // @ Project : Untitled // @ File Name : 缺货信息.java // @ Date : 7/8 // @ Author : // //
public class 缺货信息 { private Object 商品编号:Integer;private Object 商品名称:String;private Object 数据:Date;} // // // Generated by StarUML(tm)Java Add-In // // @ Project : Untitled // @ File Name : 缺货信息.java // @ Date : 7/8 // @ Author : // //
public class 缺货信息 { private Object 商品编号:Integer;private Object 商品名称:String;private Object 数据:Date;} // // // Generated by StarUML(tm)Java Add-In // // @ Project : Untitled // @ File Name : 销售员.java // @ Date : 7/8 // @ Author : // //
public class 销售员 { private Object 员工号:Integer;private Object 姓名:String;private Object 性别:String;public void 商品信息(){
}
public void 更新销售记录(){
}
public void 打印购物清单(){
} } // // // Generated by StarUML(tm)Java Add-In // // @ Project : Untitled // @ File Name : 员 工.java // @ Date : 7/8 // @ Author : // //
public class 员 工 { private Object 员工号:Integer;private Object 姓名:String;private Object 性别:String;public void 个人信息(){
}
public void 修改密码(){
} } // // // Generated by StarUML(tm)Java Add-In // // @ Project : Untitled // @ File Name : 订单信息.java // @ Date : 7/8 // @ Author : // //
public class 订单信息 { private Object 货物:String;private Object 数据:Date;} // // // Generated by StarUML(tm)Java Add-In // // @ Project : Untitled // @ File Name : 供应商信息.java // @ Date : 7/8 // @ Author : // //
public class 供应商信息 { private Object 供应商编号:Integer;private Object 供应商名称:String;private Object 详细信息:Date;} // // // Generated by StarUML(tm)Java Add-In // // @ Project : Untitled // @ File Name : 库存管理 员.java // @ Date : 7/8 // @ Author : // //
public class 库存管理 员 { private Object 员工号:Integer;private Object 姓名:String;private Object 性别:String;public void 检查商品(){
}
public void 供应商信息(){
}
public void 基本信息(){
}
public void 盘点商品(){
} public void 报销处理(){
} } // // // Generated by StarUML(tm)Java Add-In // // @ Project : Untitled // @ File Name : 商品基本信息.java // @ Date : 7/8 // @ Author : // //
public class 商品基本信息 { private Object 商品编号:Integer;private Object 商品名称:String;private Object 数据:Date;} // // // Generated by StarUML(tm)Java Add-In // // @ Project : Untitled // @ File Name : 统计分 析员.java // @ Date : 7/8 // @ Author : // //
public class 统计分 析员 { private Object 员工号:Integer;private Object 姓名:String;private Object 性别:String;public void 查询商品基本信息(){
}
public void 查询销售信息(){
}
public void 查询供应商信息(){
}
public void 查询缺货信息(){
}
public void 查询报损信息(){
} } // // // Generated by StarUML(tm)Java Add-In // // @ Project : Untitled // @ File Name : 销售信息.java // @ Date : 7/8 // @ Author : // //
public class 销售信息 { private Object 商品编号:Integer;private Object 商品名称:String;private Object 数据:Date;} 4.实验心得体会
这次UML的综合训练,是我对于这门课的基础知识掌握得更加的坚牢可靠,类似于10中基本图形,UML建模的各种方法和建模工具的使用方法。通过这次的实验也使我更加认识到UML在软件开发阶段的重要性,它真的是一个很好的建模分析工具。
每次自己亲手做实验总是会有很多的收获,从原因和结果的总结分析我就知道了知识是要灵活应用才行。所以,书本里的例题会了是远远不够的,你或许会的只是这道题而不是解开这道题的方法。很高兴这次实验能够把知识融会贯通,真正学会。
第二篇:小型连锁超市商品管理
商品管理
第一章
门店商品进销存管理
一、订货
1、店长依据《门店作业手册》规范,及时了解陈列商品及库存商品的数量情
况,结合销售动态,仓库容量,每日仔细填写订单签字后传至采购部,无
订单门店次日出现断货现象,由店长负责,但是下订单后,必须保证次日
货物送达有存放位置,否则由店长自行解决,不得占用营业场地。
2、采购部接到订单后,汇总各门店相同商品,做同一代理商统一订货订单,必须标明送货门店地址、电话、送达时间,如因不知地址无法送货出现断
货由采购部责任人负责,如因供应商不给送货出现断货,由采购部考核供
应商
3、供应商接到订单,必须准时将货物送达指定门店,如出现不送情况,店
长及时反馈运营部,由运营部督促采购部落实完成。
4、店长要结合销售情况,保证各产品的安全库存,不得出现断货现象。
二、收货
1、供应商送达货物后,门店进行验货,必须保证生产日期在保质期三分之一
内,无破损,出现外包装破损的,开箱逐一验收,规格、单价与合同一致,数量与订单一致,高于订单数量以外的货不收,否则出现差异由收货人承
担。
2、所有项目核对无误后,在票据签字,将票据交店长或副店长审核签字确认,然后由店长留存一联入账并转财务,票据必须必须保证有送货人签字。
3、带促销品的商品,促销品依据收货方式签收,妥善保管。
4、供应商清仓商品,必须带采购部及企划部签署活动方案,方可收货。
5、供应商送达货物后,门店必须依据订单接收,否则造成供应商不给送送货
由店长负责,出现过大量囤货由店长负责。
三、销售
依据《门店作业手册》及《企划手册》执行,结合超市陈列方式陈列做好销售,不得出现货架空缺,仓库集货现象,否则由店长负责,给予经济处罚。
四、退换货
1、破损退换货:一袋或个别商品出现破碎或破损造成批量污染的需要退货的,由店长和送货人协调解决退货,发现后及时退货;批量破损,如门
店原因造成或者收货不注意,由店长与供应商协调解决,协调无果由店长
负责,如出现特殊情况(气体饮料自行开启等)非门店造成,门店报营
运部,由营运部督促采购部协调解决,解决无果按采购制度执行。
2、临期商品退换货:滞销商品出现临期商品(保质期三分之二以上商品)
需要退换货的,由门店报营运部,由营运部督促采购部协调解决,解决
无果按采购制度执行。
五、供应商结账方式及门店账务核销、损耗标准:
依据财务部制定相关流程及方式、制度执行。
第二章 商品销售定位管理
一、为了保证门店商品商品销售最大化,做好快速淘汰与引进制,现将商品统称
做如下分类:新品、战略性商品、主力商品、稳定性商品、。
二、新品:首期开店,依据大宗采购原则引进商品,运营期间逐步采购回商品或
地区新引进商品,全部定位新品。
1、新品引进方式:大宗采购法;门店和采购部及时掌握市场信息(所有员工协助),发现比较好的新品及时引进;
2、新品淘汰:
A、大宗采购的所有商品依据销售数据,结合门店所在商圈消费习惯,逐步单店淘汰,如出现所有门店全部滞销的,及时淘汰。
B、引进的新上市产品培养期不超2各月,依据销售数据及时转入一下
三种范畴内或淘汰。
3、陈列位置:
A、大宗采购引进老产品按照门店陈列式陈列;
B、新上市商品尽可能陈列在堆头或端架;
三、战略性商品:淘汰滞销品后的知名厂家商品或进口商品;每天在无促销活动
有较大销售量的商品,利润较大商品,统称战略性商品。
1、商品淘汰:所有商品都有生命期,依据销售量,结合社区商圈消费习惯
及时转入稳定商品行列或淘汰。
2、陈列位置:依据门店方式尽可能陈列于消费者视线范围,便于拿取的地
方。
四、主力商品:每个促销档期的促销商品,季节性商品统称主力商品。
1、商品淘汰:依据促销档期销售数据分析,促销期间没有较大量的提升,取消所在门店的以后促销资格,季节性商品依据销售数据,及时转入稳
定商稳定性商品或淘汰。
2、陈列位置,尽可能陈列于堆头、端架,并有POP指示。
五、稳定性商品:除了上述商品外,每日有销量的商品,统称稳定性商品。
1、商品淘汰:依据销售数据,出现滞销商品及时淘汰。
2、陈列位置:依据超市陈列法陈列于货架偏下或偏上方。
第三章
商品库存管理
一、库房管理:
1、门店仓库设置:根据实际情况,尽量避免占用营业面积,可以在不影响
消费者购物的情况下搭建二层架,作为临时库房。
2、仓库内设施:因门店仓库面积小,单品数量多,单品存货量小,避免互
相堆压,出现商品找不到,过期现象,尽量在库内用角钢
加木板做囤货货架。
二、库位及商品存放管理:
1、库位管理:店长必须做好商品库位管理,按大类分区,然后在大类里按
小类分区,再按单品分区,退货区(根据退货量可以灵活掌
握),除退货区,其他库区必须固定。
2、商品存放管理:A、所有商品必须保证现金先出原则,入库时必须注意
将旧货应放到外边,不得用新货遮挡旧货。
B、做好仓库防护工作:防鼠、防火、防水、防压、防
腐、防锈、防爆、防晒、防倒塌、防潮、防盗、防
蛀、防电。
C、数量管理:凡不直接上货架需要入库的商品,店长
要另建台账,做好入库数量,每出一次
详细记录一次,要求有取货人的签字。
否则在盘点时出现差异由店长承担。
三、商品库存管理;
1、商品库存管理解释:凡门店签收未销售出去的商品都属库存商品。
2、库存管理:销售区陈列商品必须做台账,仓库库区商品存放必须做台账;
陈列商品台账数量+库区商品台账数量=实际库存数量
商品实际库存+销售数量=实际进货量
3、商品记账方式:
实际进货量:按照门店签收数量记录总量,然后分开2笔记录——销售
区量、库房区量;
销
售
量:依据日报表数据,必须和收银台一致,从销售区台账里核
减;
商品实际库存量:每次从库房出库,从库房区台账数量核减,在销售区
数量加上。
4、库存商品损耗:按照财务制度制定损耗执行,盘点时出现盘亏,如果损耗
数量还不足,由店长承担;如果盘赢,无损耗,给予店长
奖励,减去损耗还多,多出部分归超市所有,同时追究店
长责任。
5、促销赠品同样按上述方式管理。
四、安全库存管理:
1、计算公司:安全库存=(预计最大消耗量-平均消耗量)*采购周期。
2、为了不影响门店销售额,不出现断货现象,必须保证有安全库存。
3、安全库存由店长负责,店长依据销售信息及送货周期,有预见性的提前订
货,否则出现断货由店长负责,特殊情况除外(如突然性的大型团购),如
出现类似的情况,及时联系采购部,加急订货、送货,或者和顾客预约时
间。
五、现金进货管理:
1、原则:保证不断货,避免扰乱供货商送货积极性,尽量做到每次进货量少,订货频次高,尤其是保质期偏短商品。
2、如出现现金进货商品出现滞销或积压,店长应及时向营运部反馈,营运部
协调各门店,各部门协助处理,采购部和供应商落实促销赠品,企划部做
促销规划,各门店处理后,由积压门店做退货,协助处理门店做进货处理,算作处理门店销量,如协助门店无法卖出,将货退回积压商品店,由店长
负责。
六、账期进货管理:
1、原则:店长根据库房库容量,货架牌面陈列量,可适当放大进货量。
2、店长应每次例会及时反应货量状况,出现滞销或积压,尤其临近保质期3
分之二时间时,务必及时反馈,否则由出现过期由店长承担。
3、出现滞销或积压,供应部第一时间联系供应商提供促销支持,企划部依据
促销支持做促销策划,需要各店互调促销的由供应商出车及人力协助,负
责取消促销,直接做退货处理。
第四章
商品质量管理
一、收货时注意事项:
1、包装或标签破损;
2、包装或标签折裂;
3、包装或标签污染;
4、包装或标签变色;
5、包装或标签划伤;
6、包装或标签变形;
7、液体商品渗漏。
二、陈列存放时注意事项:
1、包装或标签划伤;
2、包装或标签变形;
3、包装或标签污染;
4、液体商品挤压、碰撞;
5、踩踏、坐卧商品;6超出包装承重范围。
三、搬运时注意事项:
1、野蛮搬运;
2、踩踏、坐卧商品;
3、包装或标签划伤;
4、包装或标签污染;
5、液体商品挤压、碰撞;6包装或标签折裂。
四、卫生清洁时注意事项:
1、包装或标签划伤;
2、包装或标签污染;
3、包装或标签折裂;
4、包装或标签损坏;
5、液体商品渗漏;6液体商品挤压、碰撞;
7、商品凌乱堆放;
8、踩踏、坐卧商品。
综上所述,除第一条可以拒收,其他均由损坏人赔偿,发现渗漏现象及时报店长,注意污染其他商品。
第三篇:小型超市管理系统
小型超市管理系统一:需求分析
1.超市信息管理系统是一个面向超市用来进行超市日常信息处理的管理信息系统(MIS)。该信息系统能够方便的为超市的售货员提供各种日常售货功能,也能够为超市的管理者提供各种管理功能,如进货、统计商品等。
(1)超市信息管理系统能够支持售货员日常售货功能。每一个售货员通过自己的用户名称和密码登录到售货系统中,为顾客提供服务。在售货员为顾客提供售货服务时,售货员接收顾客购买商品,根据系统的定价计算出商品的总价,顾客付款并接受售货员打印的货物清单,系统自动保存顾客购买商品记录。
(2)超市信息管理系统能够为超市的管理者提供管理功能。超市的管理包括库存管理、订货管理、报表管理和售货人员管理和系统维护等。库存管理员负责超市的库存管理;订货员负责超市的订货管理;统计分析员负责超市的统计分析管理;系统管理员负责超市的售货人员管理和系统维护。每种管理者都通过自己的用户名称和密码登录到各自的管理系统中。
(3)库存管理包括商品入库管理、处理盘点信息、处理报销商品信息和一些信息的管理设置信息。这些设置信息包括供应商信息、商品信息和特殊商品信息。库存管理员每天对商品进行一次盘点,当发现库存商品有损坏时,及时处理报损信息。当商品到货时,库存管理员检查商品是否合格后并将合格的商品进行入库。当商品进入卖场时,商品进行出库处理。
(4)订货管理是对超市所缺货物进行的订货处理,包括统计订货商品和制作订单等步骤。当订货员发现库存商品低于库存下限时,根据系统供应商信息,制作订单进行商品订货处理。
(5)统计分析管理包括查询商品信息、查询销售信息、查询供应商信息、查询缺货信息、查询报表信息和查询特殊商品信息,并制作报表。统计分析员使用系统的统计分析功能,了解商品信息、销售信息、供应商信息、库存信息和特殊商品信息,以便能够制定出合理的销售计划。
(6)系统管理包括维护员工信息、维护会员信息和系统维护。系统管理员通过系统管理功能,能够了解公司员工信息、会员信息,还能够对系统进行维护工作。二:创建系统用例模型 1.员工用例图
员工是超市售货员和超市管理者的抽象,它所包含的行为是超市售货员和超市管理者共同的行为。员工在本系统中通过合法的身份验证;能够修改自身信息和密码。
2.售货员用例图
售货员能够通过该系统进行销售商品活动。当售货员销售商品时,首先获取商品信息,然后将销售信息更新,如果顾客需要打印购物清单,则需要打印购物清单,在购物清单中需要对商品信息进行计价处理。
3.库存管理员用例图
库存管理员能够通过该系统进行如下活动:
(1)处理盘点。超市库存管理员每天需要对超市商品信息进行盘点。(2)处理报销。超市库存管理员对超市损坏商品进行报销处理。(3)商品入库。当商品到货时,库存管理员检查商品是否合格后并将合格的商品进行入库。
(4)商品出库。当商品进入卖场时,商品进行出库处理。(5)管理设置。库存管理员负责供应商信息、商品基本信息和特殊商品信息的管理设置。
4.订货员用例图
订货员能够通过该系统进行订货管理活动。订货员首先根据商品缺货信息统计订货商品,根据需要订货商品信息制定出订单。
5.统计分析员用例图
统计分析员负责超市的统计分析管理,它能够通过该系统进行如下活动:
(1)查询基本信息。统计分析员能够查询商品的基本信息,根据商品的基本信息,制定出相应的方案。
(2)查询销售信息。统计分析员根据销售情况,制定合理的销售方案。
(3)查询供应商信息。统计分析员能够查询供应商信息。
(4)查询缺货信息。统计分析员能够查询缺货信息。
(5)查询报损信息。统计分析员能够查询报损信息。
(6)查询特殊商品信息。统计分析员能够查询特殊商品信息
6.系统管理员用例图
系统管理员能够通过该系统进行如下活动:
(1)维护会员信息。系统管理员能够维护超市会员的信息,如添加会员、删除会员和修改会员信息等。
(2)维护员工信息。系统管理员能够维护超市员工的信息,如添加员工、删除员工和修改员工信息等。
(3)系统设置。系统管理员能够根据一些需要进行必要的系统设置。
三:创建系统静态模型
在获得系统的基本需求用例模型以后,我们通过考察系统对象的各种属性,创建系统静态模型。
(1)首先,我们先确定系统的参与者的属性。每一个超市员工在登录系统时,都需要提供员工的用户名称和密码,因此每一个超市员工应该拥有用户名称和密码属性。超市员工还拥有在超市中的唯一标识——员工编号。此外,员工属性中还包含员工的年龄、头衔和照片等信息。超市的售货员和管理者都继承自员工,拥有员工的属性。在系统中记录的顾客包括顾客的名称、顾客的编号、顾客地址、顾客级别和顾客的总消费金额等记录。
(2)其次,我们确定在系统中的主要业务实体类,这些类通常需要在数据库中进行存储。例如,我们需要存储商品的信息,因此需要一个商品类,同样,根据供应商信息我们可以确定供应商类。(2)其次,我们确定在系统中的主要业务实体类,这些类通常需要在数据库中进行存储。例如,我们需要存储商品的信息,因此需要一个商品类,同样,根据供应商信息我们可以确定供应商类。
四:创建系统动态模型
1.售货员销售商品序列图和交互图 工作流程如下:
(1)顾客希望通过售货员购买商品,售货员希望通过售货管理子系统处理商品销售。
(2)顾客将购买商品提交给售货员。
(3)售货员通过销售管理子系统中的管理商品界面获取商品信息。
(4)管理商品界面根据商品的编号将商品类实例化并请求该商品信息。
(5)商品类实例化对象根据商品的编号加载商品信息并提供给管理商品界面。(6)管理商品界面对商品进行计价处理。
(7)管理商品界面更新销售商品信息。
(8)管理商品界面显示处理商品。
(9)售货员将货物提交给顾客。
2.统计分析员查询商品信息序列图和交互图 工作流程如下:
(1)统计分析员希望通过统计分析子系统查询商品信息。
(2)统计分析员通过统计分析子系统中的查询商品信息界面获取商品信息。
(3)查询商品信息界面根据商品的属性或特征将商品类实例化并请求该类商品信息。
(4)商品类实例化对象加载商品信息,并提供给管理商品界面。
(5)查询商品信息界面显示该类商品信息。
(6)统计分析员请求查询商品信息界面制定出该类商品报表。
(7)查询商品信息界面制定该类商品报表。
(8)查询商品信息界面将该类商品报表显示给统计分析员。
3.库存管理员处理商品入库
工作流程如下:
(1)库存管理员希望通过库存管理子系统将购买的货物处理入库(2)库存管理员通过库存管理子系统中的商品入库界面获取商品信息。
(3)商品入库界面根据商品的编号将商品类实例化并请求该类商品信息。
(4)商品类实例化对象根据商品的编号加载商品信息并提供给商品入库界面。
(5)库存管理员通过商品入库界面增加商品数目。(6)商品入库界面通过商品类实例化对象修改商品信息。(7)商品类实例化对象向商品入库界面返回修改信息。(8)商品入库界面向库存管理员显示添加成功信息。
4.订货员进行订货管理 工作流程如下:
(1)订货员希望通过订货管理子系统处理商品订货管理。(2)订货员通过订货管理子系统中的订货管理界面获取待订货商品信息。
(3)订货管理界面将商品类实例化并根据商品的数量应当满足的条件请求有关商品信息。
(4)商品类实例化对象根据商品的数量应当满足的条件加载商品信息并提供给订货管理界面。
(5)订货员通过订货管理子系统中的订货管理界面获取待订货厂商信息。
(6)订货管理界面将供应商类实例化并根据商品的类型请求有关供应商信息。
(7)供应商类实例化对象加载供应商信息并提供给订货管理界面。(8)订货员通过订货管理子系统中的订货管理界面制作相关订单。(9)订货管理界面制作相关订单并显示给订货员。
5.商品状态图
在超市信息管理系统中,我们将有明确状态转换的类进行描述,以下我们以商品的状态图为例,简单进行说明。 商品包含以下的状态:刚被购买还未入库后的商品、被添加能够出售的商品、商品被出售、商品被回收。它们之间的转化规则是:
(1)刚被购买后的商品可以通过库存管理员添加成为入库的商品。(2)当入库商品被出售,商品处于被销售状态。(3)当商品由于过期、损坏等因素造成的不合格时,商品被剔除。
6.员工验证登录活动图
在利用系统的活动图来描述在超市信息管理系统中的参与者如何协同工作时,我们还可以建立相关参与者的活动图进行说明。以下我们以员工验证密码为例进行说明。 我们可以通过以下的方式描述员工验证登录的活动:(1)员工需要通过身份验证后进入相关子系统才能够进行相关操作。
(2)首先,系统运行后系统进入初始化登录界面。(3)员工输入自己的用户名称和密码。
(4)登录界面对用户输入的用户名称和密码进行判断。(5)如果是合法的用户,则系统对用户的权限进行判断,员工进入相关的管理界面,登录成功。
(6)如果是非法的用户,系统提示用户名称或密码错误,登录失败。
五:创建系统部署模型 1.系统构件图
在超市信息管理系统中,我们通过构件映射到系统的实现类中,说明该构件物理实现的逻辑类。例如,在超市信息管理系统中,我们可以对商品类和供应商类分别创建对应的构件进行映射。
2.系统部署图
在超市信息管理系统中,系统包括四种节点,分别是:前台售货节点,售货员使用,负责货物销售;库存管理节点,库存管理员通过该节点进行库存管理和维护;订货管理节点,订货管理员通过该节点进行订货管理;统计分析节点,统计分析员通过该节点进行统计分析;系统管理节点,系统管理员通过该节点进行系统维护和员工信息维护。
第四篇:基于java小型超市管理系统
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.Arrays;import java.util.Scanner;
public class Mytest { static int sign=0;//goodname数组第一个空下标号
static int sign1=0;//cname数组第一个空下标号
static String[] cpass=new String[20];//存放售货员名称
static String[] cname=new String[20];//存放售货员登入密码
static String[] goodname=new String[20];//存放商品名称
static double[] goodprice=new double[20];//存放商品价格
static int[] goodout=new int[20];//存放商品销售量
static int[] goodnum=new int[20];//存放商品数量
public static void main(String[] args)throws Exception { cname[0]=“ZhouTian”;//初始的售货员名称
cpass[0]=“723”;//初始的售货员密码 createArrays();readArrays(“goodname”);//将文件中的内容读入到相应的数组里
readArrays(“goodprice”);readArrays(“goodnum”);readArrays(“cname”);readArrays(“cpass”);readArrays(“goodout”);menu();//登入之后加载的主菜单
} /** * 加载登入菜单
*/ private static void menu(){
Scanner scan = new Scanner(System.in);
System.out.println(“ttt欢迎使用商超购物管理系统 n”);
System.out.println(“tttt1.登录系统n”);
System.out.println(“tttt2.退出 ”);
System.out.println(“*************************************************”);
System.out.println(“请选择,输入数字: ”);
int a = scan.nextInt();
switch(a){
case 0:
System.out.println(“退出!”);//按0不登入
case 1:
System.out.println(“请输入用户名:”);// 查找售货员姓名是否存在,与所对应的密码是否匹配
String name = scan.next();
System.out.println(“请输入密码:”);
String pass = scan.next();
int flage = 0;
int ff = 0;
for(int i = 0;i < cname.length;i++){
if(name.equals(cname[i])){
flage = 1;//售货员的名称匹配flage=1;
ff = i;
break;
}
}
if(flage == 1){//名称匹配之后再匹配密码
if(pass.equals(cpass[ff])){
loadmenu1();//密码也匹配之后再允许登入
} else {
System.out.println(“密码错误!”);
}
} else {
System.out.println(“该用户名不具有权限”);
}
break;
case 2:
System.out.println(“谢谢您的使用!”);
break;
default:
break;
} }
/** * ,创建文件,将数组信息存入到各文件中, */ static void createArrays(){
BufferedWriter bw = null;
try {
File file1 = new File(“d:gname.txt”);
if(!file1.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:gname.txt”));
String content1 = strToString(goodname);//数组内容转换成字符串
bw.write(content1);//写入
bw.close();
}
File file2 = new File(“d:gprice.txt”);
if(!file2.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:gprice.txt”));
String content2 = doubleToString(goodprice);//数组内容转换成字符串
bw.write(content2);//写入
bw.close();
}
File file3 = new File(“d:gnum.txt”);
if(!file3.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:gnum.txt”));
String content3 = intToString(goodnum);//数组内容转换成字符串
bw.write(content3);//写入
bw.close();
}
File file4 = new File(“d:cname.txt”);
if(!file4.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:cname.txt”));
String content4 = strToString(cname);//数组内容转换成字符串
bw.write(content4);//写入
bw.close();
}
File file5 = new File(“d:cpass.txt”);
if(!file5.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:cpass.txt”));
String content5 = strToString(cpass);//数组内容转换成字符串
bw.write(content5);//写入
bw.close();
}
File file6 = new File(“d:gout.txt”);
if(!file6.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:gout.txt”));
String content5 = intToString(goodout);//数组内容转换成字符串
bw.write(content5);//写入
bw.close();
}
} catch(IOException e){
e.printStackTrace();
}
}
/** * 登入之后加载商超购物管理系统
*/ static void loadmenu1(){
System.out.println(“欢迎进入商超购物管理系统!”);
System.out.println(“tttt商超购物管理系统”);
System.out
.println(“********************************************************************************”);
System.out.println(“tttt1.商品维护”);
System.out.println(“tttt2.前台收银”);
System.out.println(“tttt3.商品管理”);
System.out.println(“tttt4.退出”);
System.out.println(“********************************************************************************”);
System.out.println(“请选择,输入数字或按0退出:”);
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
switch(a){
case 0:
System.out.println(“谢谢您的使用!”);
break;
case 1:
System.out.println(“执行显示商品维护菜单”);
loadmenu2();
break;
case 2:
System.out.println(“执行前台收银”);
loadmenu6();
break;
case 3:
System.out.println(“执行商品管理”);
loadmenu7();
break;
default:
break;
} } /* * 在商超购物管理系统中按1键时 */ static void loadmenu2(){
System.out.println(“tttt商超购物管理系统 商品维护”);
System.out
.println(“********************************************************************************”);
System.out.println(“tttt1.添加商品t”);
System.out.println(“tttt2.更改商品t”);
System.out.println(“tttt3.删除商品t”);
System.out.println(“tttt4.显示所有商品t”);
System.out.println(“tttt5.查询商品t”);
System.out
.println(“********************************************************************************”);
System.out.println(“请选择,输入数字或按0返回上一级菜单:”);
Scanner scan = new Scanner(System.in);
int b = scan.nextInt();
switch(b){
case 0:
loadmenu1();
break;
case 1:
addgoods();
break;
case 2:
System.out.println(“执行更改商品操作”);
loadmenu3();// 修改商品
break;
case 3:
System.out.println(“执行商品删除操作”);
loadmenu4();// 商品删除
break;
case 4:
System.out.println(“显示所有商品”);
System.out.println(“商品名称ttt” + “商品价格ttt” + “商品数量ttt”
+ “备注”);
showgoods();
break;
case 5:
System.out.println(“执行查询商品操作”);
loadmenu5();
break;
default:
break;
} } /* * 在商超购物管理系统中按2键时
*/ static void loadmenu6(){
System.out.println(“tttt商超购物管理系统 前台收银”);
System.out
.println(“********************************************************************************”);
System.out.println(“tttt1.购物结算”);
Scanner scan = new Scanner(System.in);
int ch = scan.nextInt();
switch(ch){
case 0:
loadmenu1();
break;
case 1:
pay();
break;
default:
break;
}
} /* * 在商超购物管理系统中按3键时
*/ static void loadmenu7(){
Scanner scan = new Scanner(System.in);
System.out.println(“ttt商超购物管理系统 商品管理”);
System.out
.println(“********************************************************************************”);
System.out.println(“tttt1.库存查询”);
System.out.println(“tttt2.已出售商品”);
System.out.println(“tttt3.售货员管理”);
System.out.println(“请选择,输入数字或按0返回上一级菜单:”);
int ch = scan.nextInt();
switch(ch){
case 0: loadmenu1();
break;
case 1:
System.out.println(“执行库存查询操作:”);
kusear();
break;
case 2:
System.out.println(“执行已出售商品查询操作”);
besold();
break;
case 3:
System.out.println(“执行售货员管理操作”);
salesman();
break;
default:
break;
}
} /* * 对售货员信息的增添,修改 */ static void salesman()
{
Scanner scan = new Scanner(System.in);
System.out.println(“
1、添加售货员”);
System.out.println(“
2、修改售货员信息”);
System.out.println(“请选择,输入数字或按0返回上一级菜单:”);
int b = scan.nextInt();
switch(b){
case 0:
loadmenu7();//返回上一级
break;
case 1:
addsale();//选择1键,添加售货员
break;
case 2:
modifysale();//更改售货员的信息
break;
default:
break;
} } /* 添加售货员 * */ static void addsale(){
Scanner scan = new Scanner(System.in);
String f;
// sign1 = sign1 + 1;
do {
System.out.println(“添加售货员姓名:”);
String addname = scan.next();
add(cname, addname, sign1);//将新信息添加到相应数组中
System.out.println(“添加售货员登陆密码:”);
String addpass = scan.next();
add(cpass, addpass, sign1);//将新信息添加到相应数组中
// writeArray();
sign1++;//新信息添加后数组下标加1
writeArray();
System.out.println(“是否继续(y/n)”);
f = scan.next();
// writeArray();
} while(f.equals(“y”));
salesman();} /* * 更改售货员的信息 */ static void modifysale(){
String f;
Scanner scan = new Scanner(System.in);
System.out.println(“输入更改员工名称:”);
String newname = scan.next();
int k = searmember(newname);//查询需要改的售货员的信息,并返回其在数组中的下标
if(k >= 0){//判断售货员是否存在
System.out.println(“员工姓名” + “ttt密码”);
System.out.println(cname[k] + “ttt” + cpass[k]);
System.out.println(“选择您要更改的内容:”);
System.out.println(“
1、更改员工姓名:”);
System.out.println(“
2、更改登录密码:”);
int kk = scan.nextInt();
switch(kk){
case 1:
System.out.println(“请输入已更改员工姓名:”);
String newnname = scan.next();
cname[k] = newnname;
writeArray();
System.out.println(“是否继续(y/n)”);
f = scan.next();
if(f.equals(“y”)){
modifysale();
} else {
salesman();
}
break;
case 2:
System.out.println(“请输入已更改密码:”);
String newpass = scan.next();
cpass[k] = newpass;
writeArray();
System.out.println(“是否继续(y/n)”);
// System.out.println(“是否继续(y/n)”);
f = scan.next();
if(f.equals(“y”)){
modifysale();
}
salesman();
break;
default:
break;
}
} } /* * 查询ename姓名的售货员在数组中的下标 */ static int searmember(String ename){
for(int i = 0;i < cname.length;i++){
if(cname[i].equals(ename)){
return i;
}
}
return-1;// 不存在时
} /* * 查询已出售的商品信息 */ static void besold()
{
System.out.println(“商品名称ttt” + “商品价格ttt” + “商品数量ttt” + “备注”);
for(int i = 0;i < goodout.length;i++){
if(goodout[i]!= 0){
System.out.println(goodname[i] + “ttt” + goodprice[i]
+ “ttt” + goodout[i]);
}
}
loadmenu7();} /* * 查询库存中售的商品信息
*/ static void kusear(){
Scanner scan = new Scanner(System.in);
String f;
do {
System.out.println(“输入要查询的商品名称:”);
String sname = scan.next();
int t = ndimsear(sname);//按确切的商品名称进行查询,即非模糊查询,找出商品名称信息的下标
if(t >= 0){
System.out.println(“商品名称ttt” + “商品价格ttt” + “商品数量ttt”
+ “备注”);
System.out.println(goodname[t] + “ttt” + goodprice[t]
+ “ttt” + goodnum[t] + “ttt”);//按下标输出商品相应的信息
} else {
System.out.println(“没有此商品”);
}
System.out.println(“是否继续(y/n)”);
f = scan.next();
} while(f.equals(“y”));
loadmenu7();
} /* * 按确切的商品名称进行查询,即非模糊查询,找出商品名称信息的下标
*/ static int ndimsear(String s){
for(int i = 0;i < goodname.length;i++){
if(goodname[i].equals(s)){
return i;
}
}
return-1;//没查询到时
}
/* * 商品结算
*/ static void pay(){
Scanner scan = new Scanner(System.in);
double sum = 0;
String f;
do {
dimsearch1();//按关键字进行模糊查询,查找可能需要的商品
System.out.println(“请选择商品:”);
String bnam = scan.next();//按查询到的相关商品中选择要购买的商品
System.out.println(“请输入购买数量:”);
int bnum = scan.nextInt();
int fl = seargood(bnam);
System.out.println(bnam + “ttt” + goodprice[fl] + “ttt”
+ “购买数量” + bnum + “ttt” + bnum * goodprice[fl]);
goodnum[fl] = goodnum[fl]sum));
writeArray();//将对数组的更改写入到文件中
loadmenu1();//结束购买返回
} /* * 查找商品返回下标 */ static int seargood(String bbnam){
for(int i = 0;i <= goodname.length;i++){
if(goodname[i].equals(bbnam)){
return i;
}
}
return-1;}
/* * 对商品进行各种查找
*/
static void loadmenu5(){
Scanner scan = new Scanner(System.in);
System.out.println(“
1、按商品数量升序查询”);
System.out.println(“
2、按商品价格升序查询”);
System.out.println(“
3、输入关键字查询商品”);
System.out.println(“请选择,输入数字或按0返回上一级菜单:”);
int choice = scan.nextInt();
switch(choice){
case 0:
loadmenu2();//返回上一级
break;
case 1:
numshenxu();//按商品数量升序进行查找
break;
case 2:
priceshenxu();//按商品价格升序进行查找
break;
case 3:
dimsearch();//按商品的关键字进行查找
break;
default:
break;
}
}
static void dimsearch1(){
int[] k;
Scanner scan = new Scanner(System.in);
System.out.println(“输入商品关键字:”);
String sear = scan.next();
k = Arrays.copyOf(index(sear), index(sear).length);
System.out.println(“商品名称ttt” + “商品价格ttt” + “商品数量ttt” + “备注”);
if(k!= null){
for(int i = 0;i < k.length;i++){
System.out.println(goodname[k[i]] + “ttt” goodprice[k[i]]
+ “ttt” + goodnum[k[i]] + “ttt”);
}
}
} /* * 按商品的关键字进行查找
*/ static void dimsearch()
+ {
String f;
do {
int[] k;
Scanner scan = new Scanner(System.in);
System.out.println(“输入商品关键字:”);
String sear = scan.next();
k = Arrays.copyOf(index(sear), index(sear).length);
System.out.println(“商品名称ttt” + “商品价格ttt” + “商品数量ttt”
+ “备注”);
if(k!= null){
for(int i = 0;i < k.length;i++){
System.out.println(goodname[k[i]] + “ttt”
+ goodnum[k[i]]
+ “ttt”);
}
goodprice[k[i]]
+
“ttt”
+
}
System.out.println(“是否继续(y/n)”);
f = scan.next();} while(f.equals(“y”));loadmenu2();} static int[] index(String ss){ int countt = 0;int counttt = 0;for(int i = 0;i < goodname.length;i++){
if(goodname[i].indexOf(ss)>= 0){
countt++;
} } int[] location = new int[countt];for(int i = 0;i < goodname.length;i++){
if(goodname[i].indexOf(ss)>= 0){
location[counttt] = i;
counttt++;
}
}
return location;} /* * 按商品数量升序进行查找
*/ static void numshenxu(){
int[] newnum = Arrays.copyOf(goodnum, goodnum.length);
double[]
newprice
=
Arrays.copyOf(goodprice, goodprice.length);
String[] goodname.length);
for(int i = 0;i < newnum.lengthi1;i++){
for(int j = 0;j < newprice.length1;j++){
if(newprice[j] < newprice[j + 1]){
int temp = newnum[j];
newnum[j] = newnum[j + 1];
newnum[j + 1] = temp;
double temp1 = newprice[j];
newprice[j] = newprice[j + 1];
newprice[j + 1] = temp1;
String temp2 = newname[j];
newname[j] = newname[j + 1];
newname[j + 1] = temp2;//相应的下标在不同的数
newname
=
Arrays.copyOf(goodname, 组里进行挑换,商品的信息才能保持一致
}
}
}
System.out.println(“商品名称ttt” + “商品价格ttt” + “商品数量ttt” + “备注”);
for(int k = 0;k < newnum.length;k++){
if(newprice[k]!= 0){
System.out.println(newname[k] + “ttt” + newprice[k]
+ “ttt” + newnum[k] + “ttt”);
}
}
loadmenu5();} /* *更改商品信息的操作
*/ static void loadmenu3(){
Scanner scan = new Scanner(System.in);
System.out.println(“输入更改商品名称:”);
String nam = scan.next();
int b = showflage(nam);
print(b);
System.out.println(“选择您要更改的内容:”);
System.out.println(“
1、更改商品名称::”);
System.out.println(“
2、更改商品价格:”);
System.out.println(“
3、更改商品数量:”);
int ch = scan.nextInt();
switch(ch){
case 0:
break;
case 1:
int counnt = 0;
String f = “y”;
while(f.equals(“y”)){
if(counnt!= 0){
// Scanner scan = new Scanner(System.in);
System.out.println(“输入更改商品名称:”);
nam = scan.next();
b = showflage(nam);//查找需要更改商品的下标
print(b);//输出这个商品的各种信息
}
System.out.println(“请输入已更改商品名称”);
String cname = scan.next();
goodname[b] = cname;//更改名称
System.out.println(“是否继续(y/n)”);
f = scan.next();
counnt++;
writeArray();
}
loadmenu2();
break;
case 2:
counnt = 0;
f = “y”;
while(f.equals(“y”)){
if(counnt!= 0){
// Scanner scan = new Scanner(System.in);
System.out.println(“输入更改商品名称”);
nam = scan.next();
b = showflage(nam);
print(b);
}
System.out.println(“请输入已更改商品价格”);
double cprice = scan.nextDouble();
goodprice[b] = cprice;//新价格写入数组
System.out.println(“是否继续(y/n)”);
f = scan.next();
counnt++;
writeArray();
}
loadmenu2();
break;
case 3:
counnt = 0;
f = “y”;
while(f.equals(“y”)){
if(counnt!= 0){
// Scanner scan = new Scanner(System.in);
System.out.println(“输入更改商品名称”);
nam = scan.next();
b = showflage(nam);
print(b);
}
System.out.println(“请输入已更改商品数量”);
int cnum = scan.nextInt();
goodnum[b] = cnum;
counnt++;
writeArray();
System.out.println(“是否继续(y/n)”);
f = scan.next();
}
loadmenu2();
break;
default:
break;
}
} /* * 查询nama这个商品在goodname中的下标
*/ static int showflage(String nama){
int flag = 0;
for(int i = 0;i < goodname.length;i++){
if(goodname[i].equals(nama)){
flag = i;
break;
}
}
return flag;}
static void print(int b){
System.out.println(“商品名称 tt” + “商品价格 tt” + “商品数量 tt” + “备注”);
System.out.println(goodname[b] + “tt” + goodprice[b] + “tt”
+ goodnum[b] + “ tt”);
} /* * 删除商品菜单
*/ static void loadmenu4(){
String f;
int d;
do {
Scanner scan = new Scanner(System.in);
System.out.println(“请输入要删除的商品名称:
String dname = scan.next();
d = showflage(dname);
delete(d);
System.out.println(”是否继续(y/n)“);
f = scan.next();
writeArray();//删除之后重新写入文件
} while(f.equals(”y“));
loadmenu2();}
”);/* * 删除商品 */ static void delete(int dd){
for(int i = dd;i < goodname.length1] = null;
goodprice[goodprice.length1] = 0;
} /* * 查询所有商品
*/ static void showgoods(){
int i = 0;
while(goodprice[i]!= 0){
System.out.print(goodname[i] +
“ttt” goodprice[i] + “ttt”
+
+ goodnum[i] + “ttt”);
if(goodnum[i] < 10){
System.out.println(“ttt*该商品已不足10件!”);
}
System.out.println();
i++;
}
loadmenu2();
} /* * 商品添加操作 */ static void addgoods(){
System.out.println(“执行添加商品操作:t”);
String a;
do {
Scanner scan = new Scanner(System.in);
System.out.println(“输入商品名称:”);
String na = scan.next();
add(goodname, na, sign);
System.out.println(“输入添加商品价格:”);
double pr = scan.nextDouble();
add(goodprice, pr, sign);
System.out.println(“输入添加商品数量:”);
int c = scan.nextInt();
add(goodnum, c, sign);
sign++;
System.out.println(“是否继续(y/n)”);
a = scan.next();
writeArray();
} while(a.equals(“y”));
loadmenu2();
} /* * 将数组信息写入到相应的文件里,启动程序时就要调用这个函数 */ static void writeArray(){
BufferedWriter bw = null;
try {
bw
=
new
BufferedWriter(new FileWriter(“d:gname.txt”));
String content1 = strToString(goodname);
bw.write(content1);
bw.close();
bw
=
new
BufferedWriter(new FileWriter(“d:gprice.txt”));
String content2 = doubleToString(goodprice);
bw.write(content2);
bw.close();
bw
=
new
BufferedWriter(new FileWriter(“d:gnum.txt”));
String content3 = intToString(goodnum);
bw.write(content3);
bw.close();
bw = new BufferedWriter(new FileWriter(“d:cname.txt”));
String content4 = strToString(cname);
bw.write(content4);
bw.close();
bw
=
new
BufferedWriter(new FileWriter(“d:cpass.txt”));
String content5 = strToString(cpass);
bw.write(content5);
bw.close();
bw
=
new
BufferedWriter(new FileWriter(“d:gout.txt”));
String content6 = intToString(goodout);
bw.write(content6);
bw.close();
} catch(IOException e){
e.printStackTrace();
} } /* * 添加商品名称 */ static void add(String[] aa, String n, int b){
if(b == aa.length){
aa =(String[])Arrays.copyOf(aa, aa.length * 2);
}
aa[b] = n;} /* * 添加商品价格
*/ static void add(double[] aa, double pr, int b){
if(b == aa.length){
aa =(double[])Arrays.copyOf(aa, aa.length * 2);
}
aa[b] = pr;} /* * 添加商品数量
*/ static void add(int[] aa, int cc, int b){
if(b == aa.length){
aa =(int[])Arrays.copyOf(aa, aa.length * 2);
}
aa[b] = cc;
}
/** * 从文件中读取信息到相应的数组里
*/ static void readArrays(String name)throws Exception {
BufferedReader br = null;
try {
if(“goodname”.equals(name)){
br
=
new
BufferedReader(new FileReader(“d:gname.txt”));
String content1 = br.readLine();
String[] arr = strToString(content1);
goodname arr.length);
for(int i = 0;i < goodname.length;i++){
if(!goodname[i].equals(“null”)){
sign++;
=
(String[])
Arrays.copyOf(arr,}
}
} else if(“goodprice”.equals(name)){
br
=
new
BufferedReader(new FileReader(“d:gprice.txt”));
String content2 = br.readLine();
double[] arr = doubleToString(content2);
goodprice arr.length);
} else if(“goodnum”.equals(name)){
br
=
new
BufferedReader(new
=
(double[])
Arrays.copyOf(arr, FileReader(“d:gnum.txt”));
String content3 = br.readLine();
int[] arr = intToString(content3);
goodnum =(int[])Arrays.copyOf(arr, arr.length);
} else if(“cname”.equals(name)){
br
=
new
BufferedReader(new FileReader(“d:cname.txt”));
String content4 = br.readLine();
String[] arr = strToString(content4);
cname arr.length);
=(String[])Arrays.copyOf(arr,for(int i = 0;i < cname.length;i++){
if(!cname[i].equals(“null”)){
sign1++;
}
}
} else if(“cpass”.equals(name)){
br
=
new
BufferedReader(new FileReader(“d:cpass.txt”));
String content5 = br.readLine();
String[] arr = strToString(content5);
cpass arr.length);
} else {
br
=
new
BufferedReader(new
=
(String[])
Arrays.copyOf(arr, FileReader(“d:gout.txt”));
String content6 = br.readLine();
int[] arr = intToString(content6);
goodout =(int[])Arrays.copyOf(arr, arr.length);
}
} catch(FileNotFoundException e){
e.printStackTrace();
} catch(IOException e){
e.printStackTrace();
}
} /* * 将字符串转换成字符串数组 */ static String strToString(String[] arry){
// String arrys=“";
// for(int i=0;i // { // arrys=arry+arry[i]+”,“; // } // //arrys=arrys+arry[arry.length-1]; // System.out.println(arrys); // return arrys; StringBuilder sb = new StringBuilder(); for(int i = 0;i < arry.length;i++){ sb.append(arry[i]).append(”,“); } sb.deleteCharAt(sb.length()-1); // System.out.println(sb.toString()); return sb.toString();} /* * 将字符串转换成字符串数组 */ static String[] strToString(String ar){ String[] arry = ar.split(”,“);return arry;} /* * 将int型数组转换成字符串 */ static String intToString(int[] arrr){ String ss = ”“; ss = Arrays.toString(arrr); String sss = ss.replace(”[“,”“).replace(”]“, ”“).replace(” “, ”"); 目 录 摘要 ·············································(1)1绪论 ············································(1) 1.1开发背景 ······································(1)1.2系统开发的目的和意义 ·····························(2)2核心技术简介和开发环境 ···························(2) 2.1开发及运行环境 ··································(2)2.2 ASP.NET技术 ···································(3)2.3 SQL SERVER ····································(3)3数据库分析 ······································(4) 3.1超市信息系统管理实体属性图 ························(4)3.2数据库设计 ·····································(4)3.2.1数据库分析 ··································(4)3.2.2数据库概念设计 ······························(4)3.2.3数据库逻辑结构设计 ···························(7)4系统的实现 ······································(9)4.1连锁超市管理 ···································(9)4.2商品管理 ······································(9)4.3信息安全管理 ···································(10)5总结 ············································(10)参考文献 ··········································(10)Abstract ···········································(10) 第 1 页(共 12 页) 连锁超市信息管理系统设计 作 者: 指导老师: 摘要:随着计算机技术的飞速发展和经济全球化步伐的加快,大多数企业为适应市场发展,不断的扩大企业规模,从单一的企业对客户销售模式,转变成企业的多店对客户的销售模式(即连锁经营管理模式)。然而对于一贯疏于管理的中小企业而言,实现有效的进销存管理必然存在着一定的难度,因此必须借助现代化的管理方法和管理技术——计算机信息管理系统。因此我们选择连锁超市信息管理系统作为研究课题,希望从中学习更多的现代计算机技术知识。连锁超市信息管理系统主要为中小型超市经理和管理者提供方便的信息交流,快捷的查询方法和数据统计,这样的系统是一个现代化超市必不可少的一部分。系统分为二大模块:总店管理模块、连锁分店操作模块。总店管理模块是总店管理人员操纵的模块,对连锁超市和商品的添加删除管理,对连锁分店的销售信息,库存情况的查询以及各分店销售情况对比。连锁分店操作模块是分店经理进入操作的模块,进行商品入库和出库登记,销售情况登记。本系统基本上实现了总店对分店进行的一系列管理(销售业绩查询、销售数据汇总、统计等),从而迅速建立和完善现代企业的信息化管理机制问题。关键词:连锁超市;数据统计;销售管理;信息交流 绪论 1.1开发背景 电子商务的发展和市场竞争的加剧将企业推上了风口浪尖,中小企业除了积极迎接挑战之外,别无选择。网络的兴起与电子商务的发展带来了时空界限的突破、贸易方式的变革以及经济活动的革命,全球经济一体化步伐的加快,使大多数企业为适应市场发展,不断的扩大企业的经营规模,从单一的企业对客户的销售模式,转变成企业的多店对客户的销售模式(即连锁经营管理模式)。从某种意义上来讲,这些变化为中小企业创造了与大型企业、国外企业平等竞争的有利条件。然而,管理水平的差异会弱化这种平等的实际意义。具体而言,中小企业在进、销、存等环节的管理上存在着一定程度的不足,而这些不足无疑将使其在市场竞争中陷入举步维艰的境地。在网络经济的时代背景下,进行有效的进货销售库存管理已经成为中小企业生存发展的头等要事。然而对于一 第 2 页(共 12 页) 贯疏于管理的中小企业而言,实现有效的进销存管理必然存在着一定的难度,因此必须借助现代化的管理方法和管理技术——计算机信息管理系统。 互联网时代的到来,为管理体制注入了新的血液。越来越多企业商家认识到Internet的优越性,开始通过Internet进行企业管理,树立企业的网络形象,介绍企业的经营管理模式、销售的商品信息。同时,通过网络化管理,实现了由总店管理员对各连锁分店的销售情况进行汇总、统计的功能,解决实际工作中不能及时对连锁分店销售情况进行统一管理的问题,实现了和客户在线的交流,增加了和客户沟通的渠道。1.2系统开发的目的和意义 计算机网络的飞速发展提供了功能强大的信息处理平台,同时随着信息迅速猛涨,各个单位都迫切需要一套从信息采集,信息处理到信息传递和共享的办公自动化系统。传统的办公需要人员的大量参与和干涉,工作效率,协调性,交互性,共享性,执行力都是不够的。 连锁超市信息管理系统的使用可以解决商品在进、销、存管理上的不足,可以初步形成一个以人、计算机、网络和信息为一体的办公体系,能有效的提高小型企业、中小型超市的运营效率,促进其管理工作上的不断完善。核心技术简介和开发环境 2.1开发及运行环境 硬件平台: CPU:英特尔 酷睿双核 T2250@1.73GHz 内存:2GB(商丞 DDR2 667MHz/宇瞻 DDR2 667MHz)开发工具:Visual Studio 2010 操作系统:Windows XP 数据库:SQL Server 2005 浏览器:IE6.0 Web服务器:IIS 5.0 2.2 ASP.NET 技术 ASP.NET是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP.NET网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP.NET可以向网页中添加交互式内容,也可以创建使用HTML网 第 3 页(共 12 页) 页作为用户界面的Web应用程序。与HTML相比,ASP.MET网页具有以下特点: (1)利用ASP.NET可以实现突破静态网页的一些功能限制,实现静态网页技术。 (2)ASP.NET文件是包含在HTML代码所组成的文件中的,易于修改和测试。(3)服务器上的ASP.NET解释程序会在服务器端执行ASP.NET程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP.NET所产生的网页。 (4)ASP.NET提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从Web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向Web浏览器发送信息。 (5)ASP.NET可以使用服务器端ActiveX组件来执行各种各样的任务,例如存取数据库、发送Email或访问文件系统等。 (6)由于服务器是将ASP.NET程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP.NET所编写的原始代码,可防止ASP.NET程序代码被窃取。2.3 SQL SERVER SQL Server 是一个关系数据库管理系统它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的于1988年推出了第一个OS/2 版本。在Windows NT 推出后Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。 我们选择SQL Server 2005做后台支持。SQL也就是结构化查询语言的缩写形式。它是Windows数据库家族中出类拔萃的成员,这种关系型数据库管理系统能够满足各种类型的企业客户和独立软件供应商构建商业应用程序的需要。使用SQL SERVER语言在服务器和客户机之间传送请求和答复。SQL Server 可以在多种操作系统上运行,而且功能非常强大。使用SQL我们可以很方便的建立数据库。数据库分析 3.1超市信息系统管理实体属性图 第 4 页(共 12 页) 超市信息系统属性包括名称、性质、联系方式、地址和备注,如图所示: 图1 超市信息系统管理实体属性图 3.2数据库设计 3.2.1数据库分析 超市进销存管理系统需求包括对商品信息、供应商信息、员工信息、销售信息、退货信息和库存信息的管理[1],这些信息都保存在数据库中,管理员可以通过修改数据库中的数据来对这些信息进行管理[2]。在数据库中存储了9张表,用于存储相差信息,它们是: CTXSYS:数据库名称; TB_BACK:销售退货信息表; TB_BDEPOTQ:库存退货信息表; TB_DEPOT:商品库存信息表; TB_EMPLOYEES:员工信息表; TB_MONTH:月销售信息表; TB_PROVIDE:供应商信息表; TB_SELL:商品销售信息表; TB_SHANGPIN:商品信息表; TB_USER:管理员信息表。3.2.2数据库概念设计 根据前面介绍的需求分析和系统设计规划出本系统中使用的数据库实体对象,分别为管理员实体、商品实体、供应商实体、员工实体、库存实体和销售实体等。下面给出几个关键实体的E-R图。(1)管理员实体 管理员实体中包括管理员名称、管理员密码和管理员权限。管理员实体的第 5 页(共 12 页) E-R图如下所示: 图2 管理员实体 (2)商品实体 商品实体包括商品编号、商品名称、商品简码、商品类别、商品单位、条形码、进货价格和销售价格。商品实体的E-R图好下所示: 图3 商品实体 (3)供应商实体 供应商实体包括供应商编号、供应商名称、供应商简称、供应商地址、供应商联系人、供应商电话和供应商传真。供应商实体的E-R图如下所示: 图4 供应商实体 第 6 页(共 12 页) (4)员工实体 员工实体包括员工编号、员工姓名、员工性别、员工职务和员工薪资。员工实体的E-R图如下图所示: 图5员工实体 (5)库存实体 库存实体包括商品编号、商品名称、商品进价、商品数量、进货时间、供应商编号和供应商名称。库存实体的E-R图如下图所示: 图6库存实体 (6)销售实体 销售实体包括销售票号、商品编号、商品名称、商品简码、商品类别、条形码、销售数量、商品单价和销售时间。销售实体的E-R图如下图所示: 第 7 页(共 12 页) 图7销售实体 3.2.3数据库逻辑结构设计 表1管理员信息表和商品信息表 名称 数据类型 大小 小数位 说明 NAME CHAR 20 管理员名称 表PWD CHAR 20 管理员密码 供POPEDOM CHAR 管理员权限 商 息表 名称 数据类型 大小 小数位 说明 GYSBH CHAR 20 供应商编号 GYSMC CHAR 20 供应商名称 GYSJC CHAR 10 供应商简称 GYSDZ CHAR 40 供应商地址 LXR CHAR 10 联系人 GYSDH CHAR 20 供应商电话 GYSCZ CHAR 供应商传真 表3员工信息表 名称 数据类型 大小 小数位 说明 YGBH CHAR 10 员工编号 YGXM CHAR 10 员工姓名 YGXB CHAR 10 员工性别 YGZW CHAR 10 员工职务 YGXZ NUMBER 0 员工薪资 表4商品库存信息表 名称 数据类型 大小 小数位 说明 SPBH CHAR 20 商品编号 SPMC CHAR 20 商品名称 SPJJ NUMBER 商品进价 第 8 页(共 12 页) 2应信 SPSL JHSJ GYSBH GYSMC NUMBER DATE CHAR CHAR 10 20 20 0 商品数量 进货时间 供应商编号 供应商名称 表5商品销售信息表 名称 XSPH SPBH SPMC SPJM SPLB TXM XSSL SPDJ XSSJ 数据类型 CHAR CHAR CHAR CHAR CHAR CHAR NUMBER NUMBER DATE 大小 20 20 20 20 10 20 10 10 小数位 0 2 说明 销售票号 商品编号 商品名称 商品简码 商品类别 条形码 销售数量 商品单价 销售时间 系统的实现 4.1连锁超市管理 (1)超市的登陆,可以进行用户的登陆(图8)。 图8登陆界面 4.2商品管理 (1)商品类别管理,商品信息管理。对商品类别进行添加删除,商品信息添加删除修改(图9)。 第 9 页(共 12 页) 图9商品管理界面 4.3信息安全管理 (1)数据备份,数据恢复。为保证数据的完整性和安全性,设置了数据备份和恢(图10)。 图10 信息安全管理界面 第 10 页(共 12 页)总结 在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对超市管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。虽然网络在超市管理系统中的应用不是很多,但是未来的发展方向,在本次开发过程中由于硬件的限制,未能实现网络功能,因此在以后的系统更新过程中可能会造成一些不必要的数据损失。 尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。相信本超市管理系统是一套在日常超市管理中必不可少的管理软件,通过开发这个系统,我掌握了开发项目的过程,了解了项目开发的基本知识,巩固了我对ASP.NET的学习,但在这次毕业设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。 参 考 文 献 [1] 王珊,陈红.数据库系统原理教程[M].北京:清华大学出版社,1992:80-85.[2] 王虎,张俊.管理信息系统[M].武汉:武汉理工大学出版社,2002:256-260.Chain supermarket information management system design and Implementation Abstract:With the rapid development of computer technology and the acceleration of economic globalization, the majority of enterprises to adapt to the market development, and constantly expanding the scale of enterprises, from single enterprise to the customer sales model, change into enterprise 's customer sales model(i.e.the chain management mode).However the consistent neglect of management in small and medium-sized enterprises, to realize effective inventory management is the existence of a certain degree of difficulty, therefore must rely on modern management method and management technology--computer information management system.So we choose the chain supermarket information management system as the research subject, hope to 第 11 页(共 12 页) learn from more modern knowledge of computer technology.Chain supermarket information management system mainly for small and medium supermarket manager and managers to provide convenient information exchange, the quick inquiry method and statistical data, this system is a modern supermarket is an essential part of the.The system is divided into two modules: store chain stores operation module, management module.Store management module is a headquarters management control module, the supermarket chain and commodity add delete management of chain stores, sales information, inventory queries as well as the branch sales comparison.Chain stores operation module is the branch manager into operation module, commodity import and export sales registration, registration.This system basically realizes the headquarters to branch carried out a series of management(marketing achievement inquiry, sales data collection, statistics), in order to quickly establish and improve the modern enterprise information management mechanism Key words: Chain Supermarket;Data Statistics;Sales Management;Information Exchange 第 12 页(共 12 页)第五篇:连锁超市信息管理系统设计