超市管理系统1.docx

上传人:b****0 文档编号:18275660 上传时间:2023-08-15 格式:DOCX 页数:21 大小:109.54KB
下载 相关 举报
超市管理系统1.docx_第1页
第1页 / 共21页
超市管理系统1.docx_第2页
第2页 / 共21页
超市管理系统1.docx_第3页
第3页 / 共21页
超市管理系统1.docx_第4页
第4页 / 共21页
超市管理系统1.docx_第5页
第5页 / 共21页
超市管理系统1.docx_第6页
第6页 / 共21页
超市管理系统1.docx_第7页
第7页 / 共21页
超市管理系统1.docx_第8页
第8页 / 共21页
超市管理系统1.docx_第9页
第9页 / 共21页
超市管理系统1.docx_第10页
第10页 / 共21页
超市管理系统1.docx_第11页
第11页 / 共21页
超市管理系统1.docx_第12页
第12页 / 共21页
超市管理系统1.docx_第13页
第13页 / 共21页
超市管理系统1.docx_第14页
第14页 / 共21页
超市管理系统1.docx_第15页
第15页 / 共21页
超市管理系统1.docx_第16页
第16页 / 共21页
超市管理系统1.docx_第17页
第17页 / 共21页
超市管理系统1.docx_第18页
第18页 / 共21页
超市管理系统1.docx_第19页
第19页 / 共21页
超市管理系统1.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

超市管理系统1.docx

《超市管理系统1.docx》由会员分享,可在线阅读,更多相关《超市管理系统1.docx(21页珍藏版)》请在冰点文库上搜索。

超市管理系统1.docx

超市管理系统1

学习报告

 

软件工程

课程名称:

超市管理系统

题目名称:

学生姓名:

学号:

课程成绩:

二零一六年十二月

1前言

1.1系统的背景及开发意义

(1)系统背景介绍

随着超市的出现,为实现超市管理的系统化、规范化和自动化,超市管理系统应运而生.它依靠现代化的计算机信息处理技术来管理超市,这能够快速反映出商品的进销存状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应决策,加快超市的系统建立的技术基础;为超市提供方便,快捷的结账体系,准确,高效的库存和财务管理系统等;让顾客在超市购物更加快捷方便,让超市的管理和运行工作更加完善,方便.

(2)系统开发的意义

使用最少的人力,来完成超市中的日常工作。

1.2系统的开发环境及工具

(1)系统开发的环境

硬件:

西数(1TB/7200转/分)硬盘、8GB(DDR31333MHz)内存

软件:

Windows7旗舰版64位SP1

(2)系统开发的工具

系统采用myeclipse10、SQLServer2008数据库开发工具、C/S结构。

下面对开发中采用的工具进行说明:

1 MyEclipse简介

MyEclipse,是在eclipse基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、JavaEE以及移动应用的开发。

MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。

2 SQLServer2008数据库简介

SQLServer2008在Microsoft的数据平台上发布,可以组织管理任何数据。

可以将各种文档的数据直接存储到数据库中。

可以对数据进行多种操作。

这个平台具有可信任、高效、智能三大特点。

3 B/S结构简介

B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。

这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。

客户机上只要安装一个浏览器(Browser英['braʊzə]美['braʊzɚ]),如NetscapeNavigator或InternetExplorer,服务器安装SQLServer、Oracle、MYSQL等数据库。

浏览器通过WebServer同数据库进行数据交互。

2系统需求分析

2.1系统功能需求分析

2.1.1用户分析需求描述

(1)该系统管理软件可以对库存食品进行资料管理和统计,对产品的进货和销售进行录入跟统计。

(2)该系统管理软件可以对管理员密码进行修改。

(3)该系统管理软件可以对供应商进行添加,管理;当库存不足是,可以即时的打电话,及时的供货。

当库存过多时,可以显示出来。

2.1.2系统功能分析建模

本系统采用数据流图的模型工具建模。

(1)数据流图(DFD)的介绍

数据流图简称DFD图,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,它只反映系统必须完成的逻辑功能,是一种功能模型。

本系统用自定向下方法,其模块功能主要有以下几个部分:

员工管理模块、库存管理模块、进货管理模块、销售管理模块、商品信息管理模块和系统模块,具体功能如下:

员工管理:

是对超市的员工和供货商信息进行管理,包括查询、添加、删除和修改。

进货管理:

是根据超市的情况,进行进货,并可以查询。

库存管理:

是对进货和销售的商品,根据库存量进行记录。

销售管理:

是对销售的商品进行查询。

商品信息:

是对新商品进行添加,并查询。

系统管理:

能够对供货商的信息进行添加和查询。

2.2系统数据需求分析

2.2.1系统数据信息描述

本系统的数据信息有商品信息表、员工信息表、学历表、商品退货登记表、商品进货登记表、员工销售业绩表。

商品信息表:

销售编号、销售流水号、商品编号、销售价格、销售数量、销售总价、销售时间、售货员编号。

员工信息表:

员工编号、员工姓名、员工密码、员工性别、员工生日、员工学历、员工电话、员工手机、员工身份证、员工邮箱、员工住址;

学历表:

学历编号、学历名称;

商品退货登记表:

退货编号、商品编号供货商名称、单价、数量、总价、退货日期、退货原因、退货加入日期;

商品进货登记表:

进货编号、商品编号、供货商名称、单价、数量、总价、进货日期、信息加入日期;

员工销售业绩表:

员工编号、员工姓名、销售业绩;

库存信息表:

商品编号、库存数量;

顾客退货信息表:

销售编号、销售流水号、商品编号、销售价格、销售数量、销售总价、顾客退货原因、顾客退货时间;

供货商信息表:

供应商名称、供应商法人代表、供应商电话、供应商地址。

2.2.2系统数据分析建模

(1)实体-关系模型建立

实体-关系模型简记E-R图是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。

2.3其他需求分析

(1)系统性能需求分析

1 数据精确度需求:

商品的进货和销售中,单价、金额都是保留至小数点后两位

2 响应时间需求:

无论是客户端和服务端,当用户登录进行操作时,系统反应的时间应在5秒以内。

系统应能及时反映各种非正常情况,避免用户出现长时间等待甚至系统无响应。

3 用户使用性需求:

界面设计易于操作,在用户使用时在客户端服务器端进行验证,并提示用户输入正确数据和正确的操作系统。

4 安全保密性需求:

每个用户都有权限设置,对用户的登录密码进行加密设置,非本系统用户不能登录使用。

5 操作性需求:

支持Windows2000及以上的操作系统,设计连接SQLServer数据库。

(2)系统输入/输出需求分析

符合精度的设定,数据的输入输出都应该为数字、字母及汉字,不应该含有字符形式。

(3)系统错误处理需求分析

1 数据库存储空间不够,引起数据库访问变慢等问题需要对磁盘进行扩展和维护。

2 执行程序非正常退出,响应确实,修改源代码前应备份。

3 数据库没启动引起访问问题,须启动数据库服务器。

3系统总体设计

3.1整体架构设计

根据系统所需功能,决定以Windows作为开发平台,采用B/S模式,选择myeclipse10作为开发工具,利用软件工程思想和方法,用面向对象的语言Java开发,数据库采用开源免费的Mysql。

本系统具有进货管理、销售管理、员工管理,并对超市销售情况智能给出建议。

模块功能主要有以下几个部分:

员工管理模块、库存管理模块、进货管理模块、销售管理模块、商品信息管理模块和系统模块

3.2系统总体结构设计

(1)系统分成几个独立的模块,并对其进行集中式管理,更能清晰的表现出超市管理的系统结构,使得系统一目了然,简便,便于员工的接受,对超市管理系统,增加了它的易操作性。

(2)分层的模块化程序设计思想,系统采用分层的模块化结构设计,具有较强的可操作性和扩展性,这样更具有逻辑性,分层以后,使得超市管理系统更加的简便,易使用。

(3)系统功能结构图

超市管理系统

商品信息管理

员工信息管理

商品进货管理

商品销售管理

商品库存管理

添加商品类别

商品信息维护

添加商品信息

添加员工信息

员工信息维护

商品进货登记

商品进货查询

进货退货登记

进货退货查询

商品销售查询

员工业绩查询

顾客退货办理

商品退货查询

商品库存查询

商品库存报警

商品库存盘点

供应商管理

3.3系统数据库设计

本系统的数据库名称是Csgl.mdf,里面包含8个表,下面将对这些表格一一介绍。

1.用户(admin)

中文字段名

英文字段名

字段类型

主键

允许空

账号

adminUsername

Varchar(20)

P/F

密码

adminPassword

Varchar(20)

说明:

此表存放管理员用户信息。

2.供货商(supplierInfo)

中文字段名

英文字段名

字段类型

主键/外键

允许空

供应商公司名称

SupplierName

Nvarchar(50)

供应商法人代表

supplierLawyer

nvarchar(4)

供应商电话

supplierTelephone

Varchar(11)

供应商地址

supplierAddress

Nvarchar(50)

说明:

此表存放供货商信息。

3.员工(employeeInfo)

中文字段名

英文字段名

字段类型

主键/外键

允许空

员工编号

employeeNo

Varchar(20)

员工姓名

employeeName

Nvarchar(20)

登录密码

employeePassword

Varchar(30)

性别

employeeSex

Nchar

(1)

生日

employeeBrithday

datetime

学历层次

employeeEducationId

int

家庭电话

employeeHomeTel

Varchar(20)

手机

employeeMobile

Varchar(20)

身份证

employeeCard

Varchar(20)

邮件地址

employeeEmail

Varchar(20)

居住地址

employeeAddress

Nvarchar(80)

说明:

此表存放员工信息。

4.供应商退货清单(buyBackInfo)

中文字段名

英文字段名

字段类型

主键/外键

字段约束值

输入商品编号

BuyBackId

int

P

退货价格

goodNo

Varchar(20)

数量

number

Varchar(50)

进货总价

totalPrice

float

退货日期

buyBackDate

int

退货原因

buyBackReason

float

退货当前日期

buyBackAddTime

datetime

说明:

此表存放供应商退货信息。

5.商品销售(sellInfo)

中文字段名

英文字段名

字段类型

主键/外键

允许空

单据号

sellInfoId

int

P

商品编号

sellNo

Varchar(30)

商品名称

goodNo

Varchar(20)

价格

Price

float

数量

Number

Int

出售时间

sellTime

datetime

说明:

此表存放销售信息。

6.商品(goodInfo)

中文字段名

英文字段名

字段类型

主键/外键

允许空

商品编号

GoodNo

Varchar(20)

P

商品类别

goodClassId

Int

商品名称

goodName

Nvarchar(20)

商品单位

goodUnit

Nvarchar(30)

商品型号

goodModel

Nvarchar

(2)

商品规格

goodSpecs

Nvarchar(20)

商品售价

goodPrice

Float

商品产地

goodPlace

Nvarchar(50)

附加信息

goodMemo

Char(10)

商品添加时间

goodAddTime

Datetime

说明:

此表存放商品信息。

7.商品进货表(buyInfo)

中文字段名

英文字段名

字段类型

主键/外键

允许空

商品编号

ouyId

Int

P

商品名称

goodNo

Varchar(20)

供应商

supplierName

Nvarchar(50)

商品进货价格

Price

Float

商品进货数量

Number

Int

进货总价

totaPrice

Float

进货日期

buyDate

Datetime

添加时间

addTime

Datetime

说明:

此表存放进货信息

8.商品库存表(goodStockInfo)

中文字段名

英文字段名

字段类型

主键/外键

允许空

商品编号

GoodNo

Varchar(50)

库存数量

goodCount

Int

4系统详细设计及编码实现

4.1公共模块的设计与实现

4.1.1公共模块的功能

系统登录

功能:

该模块是提供管理员和员工的登录,只有输入正确的用户名和密码才能进入系统。

4.1.2员工管理模块

为了解决超市人员流动问题,我们增添了员工管理模块,用来对新员工信息进行添加,员工信息维护。

新员工录入:

在超市招新员工时,对员工基本信息进行录入并存储。

员工信息的修改:

当员工登录密码忘记了的时候,可以对员工内的登录密码进行修改。

员工信息维护:

可以对员工一段期间的销售业绩进行查询。

4.2超市管理系统首页

当session中不存在user对象时,则表示用户没有登录,重定向到登录页面。

当session中存在user对象时,则显示欢饮您xxx

iftest="${user!

=null}">

欢迎您${user.username}退出

if>

iftest="${user==null}">

redirecturl="login"/>

if>

未登录

已登录

 

4.3超市管理系统登录模块

前端加javascript代码验证用户名和密码是否为空,假如为空则无法提交表单。

只有当用户名和密码都不为空时才可以提交表单,然后到后台验证正确性。

但假如用户的浏览器禁用了javascript,则前端的验证无效,传到后台的用户名和密码可能为空,所以在后台要注意避免空指针异常。

后台验证:

从user表中根据前台输入的用户名和密码查询获得User对象,假如User为空则表示用户名或则密码错误,User不为空则表示登录成功。

访问数据库是由hibernate完成的,所以不需要考虑sql注入。

UserDao类根据用户名(username)和密码(password)从数据库中获得User对象代码

@Override

publicUserfind(Stringname,Stringpassword){

Sessionsession=sessionFactory.getCurrentSession();

Stringhql="fromUserasuserwhereuser.username=:

nameanduser.password=:

password";

Queryquery=session.createQuery(hql);

query.setString("name",name);

query.setString("password",password);

List

>list=query.list();

returnlist.size()==0?

null:

(User)list.get(0);

}

Hibernate查询后台展现的的sql语句

Hibernate:

selectuser0_.idasid0_,user0_.passwordaspassword0_,user0_.usernameasusername0_from_useruser0_whereuser0_.username=?

anduser0_.password=?

4.4商品管理

商品管理也面分为显示和添加,当session中没有user时,表示用户没登录,应该重定向到登录页面。

假如已登录则看以看到管理页面。

4.4.1显示

从数据库商品表中取出所有已有商品,在浏览器中以表格显示。

商品过多可以采用分页显示。

后台数据库记录

显示页面

从数据库中取出所有商品,并保存到list集合中,然后在jsp页面中展现。

GoodsDao类的查询所有商品

@Override

publicListgetList(){

Sessionsession=sessionFactory.getCurrentSession();

Stringhql="fromGoodsasgoods";

Queryquery=session.createQuery(hql);

returnquery.list();

}

Hibernate查询后台展现的的sql语句

Hibernate:

selectgoods0_.idasid1_,goods0_.amountasamount1_,goods0_.nameasname1_,goods0_.priceasprice1_from_goodsgoods0_

4.4.2添加

添加时要判断添加的格式是否符合要求,价格和数量必须是数字,不是数据要提示输入错误。

同样在前端用javascript验证,在后台还是要验证一下。

将从前台传过来的price和amount用正则表达式验证或者用Java的类Integer.praseInt(String)方法将得到的字符串转成int型,假如出现异常(说明格式错误)则表示输入有误,通知用户。

doubleprice=Double.parseDouble(formGoods.getPrice());

intamount=Integer.parseInt(formGoods.getAmount());

GoodsDao类添加商品

@Override

publicvoidadd(Goodsgoods){

Sessionsession=sessionFactory.getCurrentSession();

Stringhql="fromGoodsasgoodswheregoods.name=:

name";

Queryquery=session.createQuery(hql);

query.setString("name",goods.getName());

List

>list=query.list();

if(list.size()!

=0){

doubleprice=goods.getPrice();

goods=(Goods)list.get(0);

goods.setPrice(price);

}

session.save(goods);

}

输入的价格不是数字

数据库中的数据

假如商品名称存在不应该添加商品,而是更新商品数据。

还要防止表单重复提交。

用户在提交后的页面上点刷新时,就会产生表单重复提交问题,可以在产生表单给表单一个id,并将id保存到session中,当提交后将表单的id从session清除掉,想再次提交时从session中找不到id就不予提交。

由于本系统用到了struts2,可以用struts2的

token/>标签防表单重复提交。

5系统测试

5.1测试的目的及技术

5.1测试概述

测试的定义:

程序测试是为了发现错误而执行程序的过程。

测试(Testing)的任务与意义可以描述为:

目的:

发现程序的错误;

意义:

通过在计算机上执行程序,暴露程序中潜在的错误,消除软件故障,保证程序的可靠运行。

5.2系统测试

测试在软件开发过程中一直都是备受关注的,即使在传统的软件工程中,也有一个明确、独立的测试阶段。

随着软件危机的频频出现以及人们对于软件本质的进一步认识,测试的地位得到了前所未有的提高。

测试已经不仅仅局限于系统开发中的一个阶段,它已经开始贯穿于整个系统开发过程,人们已经开始认识到:

测试开始的时间越早,测试执行的越频繁,所带来的整个软件开发成本的下降就会越多。

为了使本软件运行更加稳定,我对它部分功能进行了全面的界面测试和功能测试,系统测试设计表

模块

测试

结果

登陆模块

输入系统管理username:

111,密码admin

登陆失败

输入系统管理usernamewild,密码wild

登陆成功

显示商品

未登录

成功显示所有商品

已登录

转到登录页面

添加商品

name

price

amount

威化饼

7.8

66

添加成功

爽歪歪

7.6

55

更新成功

醒目

4.5s

10

输入有误,添加失败

测试结果:

操作结果与数据库中的数据对应,并无不同,系统的准确性和及时性得到了很好的验证,系统的增、删、改是即时完成的。

至此系统的测试圆满结束。

本系统采用测试技术有黑盒测试技术和白盒测试技术,采用的测试步骤有单元测试、集成测试和确认测试。

(1)测试的目的

系统测试其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案,尽可能彻底地检查出程序中的错误,提高软件系统的可靠性。

(2)测试的技术

①黑盒测试技术

黑盒测试是通过使用整个软件或某种软件功能来严格地测试,在测试时只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。

②白盒测试技术

白盒测试是通过程序的源代码进行测试而不使用用户界面。

这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2