超市管理系统的设计开发.docx
- 文档编号:29582795
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:33
- 大小:891.81KB
超市管理系统的设计开发.docx
《超市管理系统的设计开发.docx》由会员分享,可在线阅读,更多相关《超市管理系统的设计开发.docx(33页珍藏版)》请在冰豆网上搜索。
超市管理系统的设计开发
重庆大学网络教育学院
毕业设计(论文)
题目超市管理系统的设计开发
学生所在校外学习中心重庆江津校外学习中心
批次层次专业101专科起点本科计算机科学与技术
学号W10108094
学生李莉
指导教师刘强
起止日期2012-3-05至2012-4-30
摘要
商品信息管理是企业的一项重要工作,使用计算机来管理商品信息,不但可以节省时间和人力,更能全面、有效地掌握商品的基本情况,及时获取最新的准确资料和信息。
本系统是以MyEclipse为开发工具,以SQLServer2005数据库为后台数据库开发工具的一套完整的基于MVC的管理信息系统。
MyEclipse是一种面向对象的开发工具,具有组件丰富、语言简单、功能强大的优点。
论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。
重点的说明了系统设计的重点、设计思想、难点技术和解决方案。
本系统为用户提供强大的数据操纵功能,界面友好、使用简单方便,同时基于MVC模式,可实现通过网络对数据进行远程管理。
采用审计的方式详细的记载每个用户的登录信息,跟据不同的需要,对用户分配不同的权限,并且对数据库进行完全备份或差异备份,能够对数据库进行还原。
在对系统在设计过程中进行白盒测试和对完成阶段进行黑盒测试。
该设计基本合理,功能比较完备,经过测试运行稳定,能够满足工作中的基本需要。
关键词:
商品信息管理;SQLServer2005;MVC
1、引言…………………………………………………………………………1
1.1本课题研究的意义…………………………………………………………1
2、技术基础……………………………………………………………………1
2.1Java编程语言……………………………………………………………1
2.2MVC设计模式……………………………………………………………1
2.3SQL………………………………………………………………………3
3、需求分析…………………………………………………………………3
3.1功能需求…………………………………………………………………3
3.2数据流程分析……………………………………………………………4
3.2.1流程概述………………………………………………………………4
3.2.2数据流程图……………………………………………………………4
3.3数据库设计………………………………………………………………8
3.3.1概要结构设计…………………………………………………………8
3.3.2逻辑结构设计…………………………………………………………11
4、总体设计…………………………………………………………………13
5、详细设计…………………………………………………………………15
5.1用户登陆模块设计………………………………………………………15
5.2主界面模块的设计………………………………………………………17
5.3业务功能模块设计………………………………………………………18
5.3.1商品信息管理模块的设计……………………………………………18
5.3.2库存信息管理模块的设计……………………………………………20
5.3.3销售统计模块的设计…………………………………………………21
5.3.4员工管理模块的设计…………………………………………………22
5.3.5系统管理模块的设计…………………………………………………22
6、系统的测试………………………………………………………………23
6.1本系统的测试……………………………………………………………23
7结论…………………………………………………………………………24
参考文献………………………………………………………………………25
1、引言
1.1本课题研究的意义
超市管理系统是一个非常实用的管理系统,直接影响销售的方便性及管理的规范性,随着计算机技术的飞速发展计算机在超市管理中应用的普及,各超市企业越发认识到信息与效率的重要性。
随着信息时代的发展,对效率的要求日益提高,因而软件控制销售和管理已经取代了传统全手工方式。
超市管理系统不仅简洁通用,不占什么系统资源,主要是帮助工作人员提高了工作效率,是完全符合超市企业的发展。
2、技术基础
2.1Java编程语言
Java,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。
用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:
跨平台、动态的Web、Internet计算。
Java平台由Java虚拟机(JavaVirtualMachine)和Java应用编程接口(ApplicationProgrammingInterface、简称API)构成。
Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。
在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。
现在Java平台已经嵌入了几乎所有的操作系统。
这样Java程序可以只编译一次,就可以在各种系统中运行。
Java应用编程接口已经从1.1x版发展到1.2版。
目前常用的Java平台基于Java1.5,最近版本为Java1.7。
Java分为三个体系JavaSE(Java2PlatformStandardEdition,Java平台标准版),JavaEE(Java2Platform,EnterpriseEdition,Java平台企业版),JavaME(Java2PlatformMicroEdition,Java平台微型版)。
Java是一种简单的,面向对象、分布式、解释型、健壮安全、结构中立、可移植、性能优异、多线程的动态语言。
Java主要特性:
简单、面向对象、分布式、健壮、安全、体系结构中立、可移植、解释型、高性能、多线程、动态等。
2.2MVC设计模式
MVC由TrygveReenskaug提出,首先被应用在SmallTalk-80环境中,使许多交互和界面系统的构成基础,Microsoft的MFC基础类也遵循了MVC的思想。
MVC是三个单词的缩写,分别为:
模型(Model),视图(View)和控制Controller)。
MVC模式的目的就是实现Web系统的职能分工。
Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。
View层用于与用户的交互,通常用JSP来实现。
Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。
MVC把交互系统的组成分解成模型、视图、控制三层。
MVC中的模型、视图和控制类如图所示:
图2-1MVC模型
视图(view)表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。
它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。
对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括MacromediaFlash和象XHTML,XML/XSL,WML等一些标识语言和Webservices.如何处理应用程序的界面变得越来越有挑战性。
MVC一个大的好处是它能为你的应用程序处理很多不同的视图。
在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
模型(model)是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,他独立于具体的界面表达和I/O操作。
在MVC的三个部件中,模型拥有最多的处理任务。
例如它可能用象EJBs和ColdFusionComponents这样的构件对象来处理数据库。
被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。
由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制(control)器控制层是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。
所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。
它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据,通常一个视图具有一个控制器。
2.3SQL
SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。
它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的接口。
它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。
SQL语言包含4个部分:
数据定义语言(DDL),例如:
CREATE、DROP、ALTER等语句。
数据操作语言(DML),例如:
INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。
数据查询语言(DQL),例如:
SELECT语句。
数据控制语言(DCL),例如:
GRANT、REVOKE、COMMIT、ROLLBACK等语句。
SQL语言包括三种主要程序设计语言类别的语句:
数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。
3、需求分析
现在的社会是信息的社会,信息只有快、准、精,才能发挥其价值,所以机器操作代替人力操作是必然的历史发展趋势,只有领导的重视和支持才能从人工操作改为计算机的自动化系统,人工操作必将被计算机代替。
3.1功能需求
(1)对商品类型信息资料进行管理,对该信息数据进行及时的更新以及维护,具有删除、添加、修改以及查询的功能。
(2)对商品基本信息资料进行管理,对该信息数据进行及时的更新以及维护,每个商品基本信息都归属匹配到对应的商品类型信息,具有删除、添加、修改以及查询商品基本信息的功能。
(3)对库存信息资料进行管理,对该信息数据进行及时的更新以及维护,当商品库存数量不足或者低于商品库存下限时,会提示管理员对该商品进行进货处理。
(4)对销售记录信息资料进行管理,对该信息数据进行及时的更新以及维护,可以对销售记录信息进行统计以及查询,能够查看某个时间段内、某件商品或者某个收银员的销售状况。
(5)系统维护管理,能够系统用户的密码进行修改。
(6)系统应该有一个简易易于操作使用的界面。
3.2数据流程分析
3.2.1流程概述
管理员通过登录界面才能访问超市销售管理系统后台界面,如果用户账号,密码或者权限出错,则会提示登录失败,将无法进入后台管理界面。
管理员是有员工表根据员工的职称自动分配的,密码是默认设置的,可以对第一次登录的管理员提示修改密码。
管理员登陆本系统后,能够对基本信息资料处理、信息查询、系统维护、销售统计,其中基本信息资料处理包括录入、删除、修改。
录入功能涉及对商品基本信息、商品类型信息、员工基本信息的录入;删除功能涉及对商品基本信息、商品类型信息、员工基本信息的删除;修改功能是对不正确或者变动更新后的商品基本信息、商品类型信息、员工基本信息的修改。
管理员能够随时关注超市商品表跟仓库商品表中的数量以及销售业绩。
当超市商品库存数量低于一定值时,则根据库存警报提示,通知物流部门人员对相应商品进行进货处理,补货到仓库,完成入库操作,及时修改数据库数据更新库存信息。
管理员还可以查看某段时间内或者某个销售人员或者某件商品的销售情况,根据销售情况对销售人员的业绩进行评定,以及可以根据销售情况修改商品的零售价。
3.2.2数据流程图
数据流程图是描述信息流和数据从输入流动到输出的变换的图形化技术,是表示软件逻辑模型的图形工具。
既是对原系统进行分析和抽象的工具,也是用以描述新系统逻辑模型的主要工具。
它既提供了信息流建模机制,也提供了功能建模的机制,是自顶向下的分解和自底向上的抽象工具。
数据流程图由以下四种符号表示:
图3-1数据流程图符号
管理员登陆该超市销售管理系统,可以进行操作事务如管理库存、管理销售、管理进货/退货、管理员工等,系统返回操作事务结果给管理员。
超市销售管理系统各层数据流图如图3-2所示:
图3-2系统顶层DFD图
超市销售管理系统有库存管理、销售管理、进货/退货管理、员工管理功能模块。
库存管理模块,管理员可以进行库存信息查询,得到库存信息清单;销售管理模块,管理员可以进行销售信息查询以得到销售信息清单,而该销售信息时前台销售信息获取到的;进货/退货管理模块,管理员可以进行进货/退货信息查询得到进货/退货信息清单,根据进货/退货单进行进货/退货,也可以根据已进货/退货信息对库存商品信息进行更新;员工管理模块,管理员可以进行员工信息查询得到员工信息清单,也可以进行员工信息更新与维护。
超市商品销售管理零层DFD图如图3-3所示:
图3-3超市商品销售管理零层DFD图
库存管理模块,管理员可以进行库存信息查询以得到库存信息清单,可以根据库存信息发送进货/退货信息请求。
管理员也可以对该库存信息进行更新与维护,根据已进货/退货信息以及销售信息来更新库存商品库信息。
库存管理DFD图如图3-4所示:
图3-4库存管理DFD图
销售管理模块,管理员可以进行销售信息查询得到销售清单,可以根据前台销售信息以及库存信息对销售信息进行更新与维护。
销售管理DFD图如图3-5所示:
图3-5销售管理DFD图
进货/退货管理模块,管理员可以进行进货/退货信息查询得到进货/退货清单,可以根据进货/退货单或者库存信息模块发送出的进货/退货信息请求来更新进货/退货信息。
进行进货/退货清单来更新库存商品信息。
进货/退货管理DFD图如图3-6所示:
图3-6进货/退货管理DFD图
员工管理模块,管理员可以进行员工信息查询得到员工信息清单,也可以进行员工信息更新与维护。
员工管理DFD图如图3-7所示:
图3-7员工管理DFD图
3.3数据库设计
3.3.1概要结构设计
概念结构设计是数据库设计的第一个阶段,在管理信息系统的分析阶段,我们已经得到了数据流程图和数据,现在就是要结合数据规范化的理论,用一种数据模型将用户的数据需求明确地表示出来。
概念数据模型是按人们的认识观点从现实世界中抽象出来的、属于信息世界的模型。
概念数据模型是面向问题的模型,反映了用户的现实工作环境,是与数据库的具体实现技术无关的。
根据系统分析阶段的结果对系统中的各个数据项进行分类、组织,确定系统中的实体、实体的属性、标识实体的码以及实体之间联系的类型。
员工E-R图对象:
员工,员工的属性如下:
图3-8员工E-R图
商品基本信息E-R图对象:
商品基本信息,商品基本信息的属性如下:
图3-9商品E-R图
商品类型E-R图对象:
商品类型,商品类型的属性如下:
图3-10商品类型E-R图
库存信息E-R图对象:
库存信息,库存信息的属性如下:
图3-11库存E-R图
销售信息E-R图对象:
销售信息,销售信息的属性如下:
图3-12销售E-R图
商品进货/退货信息E-R图对象:
商品进货/退货信息,商品进货/退货信息的属性如下:
图3-13商品进货/退货E-R图
各个局部视图即分E-R图建立好后,还需要对它们进行合并,集成为一个整体的数据概念结构,即总E-R图。
经过消除不必要的冗余数据和冗余联系得到总体E-R图如下:
图3-14系统总E-R图
3.3.2逻辑结构设计
逻辑结构设计是数据库设计的第二个阶段,这个阶段就是要根据已经建立的概念数据模型,以及所采用的某个数据库管理系统软件的数据模型特征,按照一定的转换规则,把概念模型转换为这个数据库管理系统所能够接受的逻辑数据模型。
根据分析得到以下关系模式:
员工表:
(员工编号,员工姓名,员工性别,员工年龄,员工职称,账号密码,备注)
商品类型表:
(商品类型编号,商品类型名称)
商品基本信息表:
(商品编号,商品类型编号,商品规格,商品名称,商品零售价,商品进价,备注)
库存表:
(库存编号,商品编号,商品库存数量)
商品销售表:
(销售编号,商品编号,销售商品数量,收银员编号,销售日期)
商品进货/退货表:
(进货/退货单号,进货/退货状态,进货/退货价,商品编号,商品数量,进货/退货日期)
根据用户需求和功能设计,数据库名称为:
happinessSupermarket,系统表如下:
表1员工表(employee)
Field
Type
Null
Key
Default
Extra
employeeId
int
NO
PRI
NULL
auto_increment
employeeName
varchar(20)
NO
—
NULL
——
employeeSex
varchar
(2)
YES
—
NULL
——
employeeAge
int
YES
—
NULL
——
employeeSalary
double
NO
—
NULL
——
employeePos
varchar(20)
NO
—
NULL
——
employeePass
varchar(20)
YES
—
'123'
——
remark
varchar(100)
YES
—
NULL
——
表2商品类型表(merchandiseType)
Field
Type
Null
Key
Default
Extra
merchandiseTypeId
int
NO
PRI
NULL
auto_increment
merchandiseTypeName
varchar(20)
NO
—
NULL
——
表3商品基本信息表(merchandise)
Field
Type
Null
Key
Default
Extra
merchandiseId
int
NO
PRI
NULL
auto_increment
merchandiseTypeId
int
NO
FK
NULL
——
merchandiseName
varchar(30)
NO
—
NULL
——
merchandiseSpec
varchar(50)
YES
—
NULL
——
merchandisePrice
double
NO
—
NULL
——
merchandisePurchasePrice
double
NO
—
NULL
——
remark
varchar(100)
YES
—
NULL
——
表4库存表(stock)
Field
Type
Null
Key
Default
Extra
stockId
int
NO
PRI
NULL
auto_increment
merchandiseId
int
NO
FK
NULL
——
merchandiseStockNum
int
YES
——
NULL
——
remark
varchar(100)
YES
——
NULL
——
表5商品销售表(merchandiseSell)
Field
Type
Null
Key
Default
Extra
sellId
int
NO
PRI
NULL
auto_increment
employeeId
int
NO
FK
NULL
——
merchandiseId
int
NO
FK
NULL
——
sellDate
date
NO
—
NULL
——
remark
varchar(100)
YES
—
NULL
——
表6商品进货/退货表(enterOrOutStock)
Field
Type
Null
Key
Default
Extra
enterOrOutId
int
NO
PRI
NULL
auto_increment
enterOrOut
int
NO
—
NULL
——
merchandiseId
int
NO
FK
NULL
——
enterOrOutNum
int
NO
—
NULL
——
enterOrOutPrice
double
NO
—
NULL
——
enterOrOutDate
varchar(20)
NO
—
NULL
——
remark
varchar(100)
YES
—
NULL
——
4、总体设计
系统总体结构设计的任务,是根据系统分析的逻辑模型设计应用软件系统的物理结构。
在结构化总体结构设计中,整个应用软件系统由多个功能模块组成,通过合理地划分和组织模块,正确处理模块之间与模块内部的联系,达到使整个系统有良好的可用性、可读性、可修改性,易于调试和维护的目的。
本系统功能结构图如下所示:
图4-1系统结构图
本系统主要分为商品信息管理模块、库存信息管理模块、销售统计模块、员工管理模块、系统管理模块。
商品信息管理模块又划分为商品基本信息管理子模块,商品类型管理子模块,商品进货/退货子模块,可以进行增删改查操作;而库存信息管理模块,商品库存数量受商品进货/退货操作影响,可以查询相应商品库存信息;销售统计模块,用来统计某个收银员或者某个商品或者某个时间段的销售业绩即销售总额;系统管理模块主要用来修改当前登录后台系统的管理员的密码。
5、详细设计
5.1用户登陆模块设计
在系统中,不同的用户有不同的权限,只有用户名密码正确,并且用户的权限和用户名相匹配才能正确的登录,否则不能登录。
在进入用户登录界面之前,首先在选择登陆类型对话框中选择登录用户的类型,然后根据对应的权限进入登录对话框输入相应的数据。
以下为登录用户类型选择界面实图5-1:
图5-1用户登陆界面
PrivateSubCommandLand_Click()
DimsqlstrAsString
IfText1=""Then
MsgBox"请输入用户!
",vbExclamation,"确认用户"
Text1.SetFocus
ExitSub
Else
sqlstr="select*from用户表where用户='"&Text1&"'"
Adodc1.RecordSource=sqlstr
Adodc1.Refresh
IfAdodc1.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 管理 系统 设计 开发
![提示](https://static.bdocx.com/images/bang_tan.gif)