超市管理系统数据库课程设计报告

阅读: 评论:0

2024年2月3日发(作者:)

超市管理系统数据库课程设计报告

超市管理系统——数据库课程设计报告

教学资料

xxxxxxx

2011-12-20

第1节 课程设计背景及意义

课程设计背景

随着我国改革开放的不断深入、经济飞速的发展,企业要想生存发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的;作为现代社会的一部分,超市必须适应社会的发展,因此实现超市的信息化管理是很有必要的;

在传统的手工管理中,往往是用人工清点的方式来掌握超市中现有的商品,使用手工记账的方式来掌握商品的进货和销售情况;这种方式在商品数量较少、商品库存变换少的情况下,不失为一种较好的方法;但是,在目前的大中型超市中,往往需要处理的商品种类数以千计,而且每天所发生的进货和销售情况纷繁复杂;如果要借助人工来实现这一系列数据的记录和管理,工作量将非常巨大,而且容易出现错误,造成管理上的混乱,更何况还需要对商品的数据进行统计和分析;随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已被人们所认识,它已进入人类社会的各个领域并发挥着越来越重要的作用;作为计算机应用的一部分,使用计算机对超市信息进行管理有着手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等;这些优点能够极大地提高超市管理的效率,也能使超市步入科学化、正规化的管理;基于这些问题,为了使超市管理工作规范化、系统化、程序化,避免超市管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效地查询和修改商品情况,建立一个超市管理系统是非常必要的;

课程设计意义

超市管理系统用计算机管理超市库存进出管理和销售的一种计算机应用技术的创新,在计算机还未普及之前库存管理和销售都是由工作人员手工书写的方式来操作的;现在一般的超市都采用计算机智能化管理,采用计算机作为工具的实用的计算机社区超市管理程序来帮助管理员进行更有效的超市管理工作;社区超市管理系统是典型的信息管理系统MIS,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面;对于前者要求建立起数据一致性和完整性强、数据安全性好的库;而对于后者则要求应用程序功能完备,易使用等特点;

作为国内市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必可少的;

超市管理系统依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效;

第2节 需求分析

业务需求

通过与超市人员的交流,发现超市管理系统需要满足来自多个不同用户的要求;在超市中,按照超市人员的职能分为六大类,分别是销售员、采购员、经理、系统管理员、仓库管理员、顾客注册和非注册;系统管理员的要求是掌握超市内部的所有业务,包括销售信息、进货信息、商品信息,具有超级用户的所有权限,对超市实行全面管理;销售员的要求是查看所有销售信息,查看符合条件的销售信息以及增加销售单;采购员的要求是查看所有采购信息,查看符合条件的采购信息,增加采购订单以及更改进退货状态;超市经理的要求是能够查看进货信息、销售信息以及库存信息;而顾客是超市的上帝,超市一切都是为顾客服务;本系统中顾客要求是可以现场买商品,采购信息有采购编号、采购日期、商品厂商、采购员、商品的价格、商品规格、进货商品的数量等属性;同时超市还可以进退货并有相应的付款表;通过与超市管理人员进行反复的讨论,确定系统应该实现以下功能:

1对商品信息的变动进行处理 在商品的进销过程巾,商品信息总是在不断变化的;比如商品价格的调整、商品信息的修改、新商品信息的增加以及商品信息的删除,因此设计系统

时必须考虑到这些情况;

2用户信息的变动进行处理;需考虑到新会员的注册和已注册,设置会员折扣用户的信息的修改及删除;

3对顾客采购信息的变动进行处理;采购信息的过程中采购信息也在不断发生改变,因此也要充分考虑;

4查询及统计功能;要求可以根据指定的条件对商品信息、用户信息和采购信息、销售信息进行查询和统计;

5对库存商品信息的变动进行处理;要求可以根据库存的状态进行相应的进退货;

功能需求

商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入;该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入;

收银业务:通过扫描条形码或者直接输入商品名称对于同类多件商品采用一次录入加数量的方式自动计算本次交易的总金额;在顾客付款后,自动计算找零,同时打印交易清单包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号;如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中; 会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销;

安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作;

独立作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业

进货管理: 根据销售情况及库存情况,自动制定进货计划亦可手工制定修改,可以避免盲目进货造成商品积压; 按计划单有选择性地进行自动入库登记; 综合查询打印计划进货与入库记录及金额;

销售管理: 商品正常销售、促销与限量、限期及禁止销售控制; 综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等; 按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表;

库存管理: 综合查询库存明细记录; 库存状态自动告警提示;如库存过剩、少货、缺货

等;软件为您预警,避免库存商品积压损失和缺货; 库存自动盘点计算;

人员管理:员工,会员,供应商,厂商等基本信息登记管理;

数据需求

超市人员

超市管理系统

系统时顾客

处理要检查有处理查

采购信销售信要求商品信用户信库存信

第3节概要设计

概念结构设计

密卡薪员工性姓职数量

编号

条形厂商品信息种类

供应单价

名称

名称

地供应商信电编号

供应商

名商品销售编时数价出库/入库信息E-R图设计

进货制单编号

经手出/入数量

仓库时间

逻辑结构设计

a) 商品信息表商品编号,商品名称,价格,条形码,数量,厂商编号,供货商编号

b) 员工表用户编号,用户名称,用户密码,用户类型

c) 商品销售表销售编号,商品编号,销售数量,销售金额,销售日期

d) 入库/出库表入库编号,入库商品编号,入库数量,入库日期

e) 供货商表供货商编号,供货商名称,供货商地址,供货商电话

f) 厂商表厂商编号,厂商名称,厂商地址,厂商电话

数据库模式定义

商品信息表MerchInfo

字段名

MerchID

MerchName

MerchPrice

MerchNum

BarCode

FactoryID

ProvideID

字段类型 长度

int

Varchar

Money

Int

Varchar

Varchar

Varchar

4

50

4

4

50

10

10

主/外键 字段值约束 对应中文名

商品编号

商品名称

价格

库存数量

条形码

厂商编号

供货商编号

Not null

Not null

Not null

Not null

Not null

Not null

Not null

员工表Menber

字段名

UserID

UserName

字段类型 长度

varchar

Varchar

10

25

主/外键 字段值约束 对应中文名

员工编号

员工名称

Not null

Not null

UserPW

UserStyle

UserSex

Varchar

Int

Varchar

50

4

10

Not null

Not null

Not null

员工薪资

员工职务

员工性别

销售表Sale

字段名

SaleID

MerChID

SaleDate

SaleNum

SalePrice

字段类型 长度

Varchar

Varchar

Datetime

Int

Money

10

10

8

4

4

主/外键 字段值约束 对应中文名

销售编号

商品编号

销售日期

销售数量

销售单额

Not null

Not null

Not null

Not null

Not null

入库/出库纪录表Stock

字段名

StockID

MerchID

MerchNum

MerchPrice

StockDate

PlanDate

字段类型 长度

Varchar

Varchar

Int

Money

Datetime

Datetime

10

10

4

4

8

8

主/外键 字段值约束 对应中文名

入库编号

入库商品编号

入库数量

单额

入库日期

计划进货日期

Not null

Not null

Not null

Not null

Datetime

Datetime

供货商表Provide

字段名

ProvideID

ProvideName

字段类型 长度

varchar

Varchar

10

50

主/外键 字段值约束 对应中文名

供货商编号

供货商名称

Not null

Not null

ProvideAddress Varchar

ProvidePhone Varchar

250

25

供货商地址

供货商电话

厂商表Provide

字段名

FactoryID

FactoryName

字段类型 长度

varchar

Varchar

10

50

250

25

主/外键 字段值约束 对应中文名

厂商编号

厂商名称

厂商地址

厂商电话

Not null

Not null

FactoryAddress Varchar

FactoryPhone Varchar

第4节 数据库实施阶段

安全性设计

数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏;系统安全保护措施是否有效是数据库系统的主要指标之一;数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的;

信息系统尽管功能强大,技术先进,但由于受到自身体系结构,设计思路以及运行机制 等限制,也隐含许多不安全因素;常见因素有:数据的输入,输出,存取与备份,源程序以及应用软件,数据库,操作系统等漏洞或缺陷,硬件,通信部分的漏洞,企业内部人员的因素,病毒,“黑客”等因素;因此,为使本系统能够真正安全,可靠,稳定地工作,必须考虑如下问题:为保证安全,不致使系统遭到意外事故的损害,系统因该能防止火,盗或其他形式的人为破坏;

1) 系统要能重建

2) 系统应该是可审查的

3) 系统应能进行有效控制,抗干扰能力强

4) 系统使用者的使用权限是可识别的

SQL Server提供多层安全;在最外层,SQL Server的登录安全性直接集成到Widows NT/2000的安全上,它允许Windows NT服务器验证用户;使用这种"Windows 验证"SQL Server就可以利用Windows

NT/2000的安全特性,例如安全验证和密码加密、审核、密码过期、最短密码长度,以及在多次登录请求无效后锁定帐号;

完整性设计

数据库完整性是指数据库中数据的正确性和相容性;数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计;数据库完整性约束可以通过DBMS或应用程序来实现,基于DBMS的完整性约束作为模式的一部分存入数据库中;通过DBMS实现的数据库完整性按照数据库设计步骤进行设计,而由应用软件实现的数据库完整性则纳入应用软件设计

数据库完整性对于数据库应用系统非常关键,其作用主要体现在以下几个方面:

1.数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不合语义的数据;

2.利用基于DBMS的完整性控制机制来实现业务规则,易于定义,容易理解,而且可以降低应用程序的复杂性,提高应用程序的运行效率;同时,基于DBMS的完整性控制机制是集中管理的,因此比应用程序更容易实现数据库的完整性;

3.合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效能;比如装载大量数据时,只要在装载之前临时使基于DBMS的数据库完整性约束失效,此后再使其生效,就能保证既不影响数据装载的效率又能保证数据库的完整性;

4.在应用软件的功能测试中,完善的数据库完整性有助于尽早发现应用软件的错误;

在实施数据库完整性设计的时候,有一些基本的原则需要把握:

1.根据数据库完整性约束的类型确定其实现的系统层次和方式,并提前考虑对系统性能的影响;一般情况下,静态约束应尽量包含在数据库模式中,而动态约束由应用程序实现;

2.实体完整性约束、参照完整性约束是关系数据库最重要的完整性约束,在不影响系统关键性能的前提下需尽量应用;用一定的时间和空间来换取系统的易用性是值得的;

第5节 详细设计

模块简述

系统总体结构

小型超市零售管前台POS销售后台管理系统

商品录入收银业务入库管理销售查询库存管理人员管理模块设计与实现部分界面

第6节 总结

通过此次的课程设计,我学到了很多知识,跨越了传统方式下的教与学的体制束缚,在设计报告的写作过程中,通过查资料和搜集有关的文献,培养了自学能力和动手能力;并且由原先的被动的接受知识转换为主动的寻求知识,这可以说是学习方法上的一个很大的突破;在以往的传统的学习模式下,我们可能会记住很多的书本知识,但是通过课程设计,我们学会了如何将学到的知识转化为自己的东西,学会了怎么更好的处理知识和实践相结合的问题;

通过这次超市管理系统课程设计,让我充分运用自己所学的知识,让我明白只有单纯

的理论知识是远远不够的,只有通过实际的锻炼才能更好的运用所掌握的基础知识,才能在原有的基础上提升自己的能力,提高自己解决问题的能力;在这短短的几天里,查阅有关的C++学习资料,设计规则,代码的编写及到最后的调试;在设计过程中,通过对控件事件的处理,界面的布局,代码的调试,充分锻炼了自己的思维,获得了充分的实际经验,提高了处理问题的能力,同时也提高了对问题思考的应急能力和抗压力的能力;

经过几天的努力,虽然设计已经完成,但仍然有很多模块和功能要完善,存在很多美中不足之处;但是基本上还能满足小型超市的管理;在设计报告的写作过程中也学到了做任何事情所要有的态度和心态,首先我明白了做学问要一丝不苟,对于出现的任何问题和偏差都不要轻视,要通过正确的途径去解决,在做事情的过程中要有耐心和毅力,不要一遇到困难就打退堂鼓,只要坚持下去就可以找到思路去解决问题的,在遇到问题时,有必要向老师和同学请教,合作沟通的意义是巨大的;

参考文献

【1】. Microsoft SQL Server 2000 联机丛书

【2】. 金林樵主编 SQL Server 2000程序设计实训教程 科学出版社 2006年

【3】. 李言编着 Visual C++项目开发全程实录 清华出版社 2008年

【4】. 姚领田编着 精通MFC程序设计 人民邮电出版社 2006年

【5】. 苗雪兰编着 数据库原理及应用教程2版机械工业出版社 2005年

附件:

lh中声明的智能指针中的三个,它们分别是_ConnectionPtr、_RecordsetPtr和_CommandPtr;下面分别对它们的使用方法进行介绍:

//_ConnectionPtr接口返回一个记录集或一个空指针;通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程;使用 _ConnectionPtr接口返回一个记录集不是一个好的使用方法;对于要返回记录的操作通常用_RecordserPtr来实现;而用 _ConnectionPtr操作时要想得到记录条数得遍历所有记录,而用_RecordserPtr时不需要;

// _CommandPtr接口返回一个记录集;它提供了一种简单的方法来执行返回记录集的存储过程和SQL语句;在使用_CommandPtr接口时,你可以利用全局 _ConnectionPtr接口,也可以在_CommandPtr接口里直接使用连接串;

如果你只执行一次或几次数据访问操作,后者是比较好的选择;但如果你要频繁访问数据库,并要返回很多记录集,那么,你应该使用全局_ConnectionPtr接口创建一个数据连接,然后使用_CommandPtr 接口执行存储过程和SQL语句;

//_RecordsetPtr是一个记录集对象;与以上两种对象相比,它对记录集提供了更多的控制功能,如记录锁定,游标控制等;同_CommandPtr接口一样,它不一定要使用一个已经创建的数据连接,可以用一个连接串代替连接指针赋给 _RecordsetPtr的connection成员变量,让它自己创建数据连接;如果你要使用多个记录集,最好的方法是同Command对象一样使用已经创建了数据连接的全局_ConnectionPtr接口,然后使用_RecordsetPtr执行存储过程和SQL语句;

}

catch_com_error e

{

TRACE;

//throw new CADOException"连接数据库失败";

//AfxMessageBox"连接数据库失败";

}

}

BOOL CAdocon::ExecuteSQL_bstr_t bstrSQL//执行sql语句

{

try

{

ifm_pConnection == NULL

OnInitAdocon;

m_pConnection->ExecutebstrSQL,NULL,adCmdText;

return true;

}

catch_com_error e

{//AfxMessageBox"失败";

AfxMessageBox;

return false;

}

}

//执行查询

_RecordsetPtr& CAdocon::GetRecordSet_bstr_t bstrSQL

{

try

{

// 连接数据库,如果Connection对象为空,则重新连接数据库

ifm_pConnection==NULL

OnInitAdocon;

// 创建记录集对象

//__uuidofRecordset;

"";

// 取得表中的记录

m_pRecordset->OpenbstrSQL,,adOpenDynamic,adLockOptimistic,adCmdText;

}

// 捕捉异常

catch_com_error e

{

// 显示错误信息

AfxMessageBox;

}

// 返回记录集

return m_pRecordset;

}

void CAdocon::exitcon

{

ifm_pRecordset=NULL

m_pRecordset->Close;

m_pConnection->Close;

::CoUninitialize;

}

超市管理系统数据库课程设计报告

本文发布于:2024-02-03 15:56:07,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170694696750830.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:超市   数据库   管理   信息   销售   完整性
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23