C课程设计超市管理系统.docx
《C课程设计超市管理系统.docx》由会员分享,可在线阅读,更多相关《C课程设计超市管理系统.docx(24页珍藏版)》请在冰豆网上搜索。
![C课程设计超市管理系统.docx](https://file1.bdocx.com/fileroot1/2023-2/7/b7c145fc-5924-4cdd-b5de-b79066607d1b/b7c145fc-5924-4cdd-b5de-b79066607d1b1.gif)
C课程设计超市管理系统
封面
作者:
PanHongliang
仅供个人学习
一、课程设计的目的与要求1
二、系统分析2
1.1概述2
2.1需求分析2
2.3开发及运行环境3
三、系统设计3
3.2功能分析3
3.3系统设计概要5
3.3.1系统总体结构5
3.3.2系统用例图6
3.4系统模块设计14
3.5数据库设计18
3.6登陆以及主窗体模块21
3.6.1登录窗体21
3.6.2注销和退出22
3.7商品类别管理模块22
3.7.1添加商品类别23
3.7.2编辑商品类别23
3.7.3删除商品类别23
3.8商品管理模块24
3.8.1添加商品24
3.8.2编辑商品25
3.9员工管理25
3.9.1添加员工25
3.9.2编辑员工26
3.9.3删除员工26
3.10会员管理模块27
3.10.1添加员工27
3.10.2编辑员工28
3.10.3删除会员28
3.11积分规则模块29
3.12查看统计信息模块29
3.13日常销售模块30
四、致谢词30
五、参考文献31
一、课程设计的目的与要求
为了更好的培养当代大学生的实践与理论相结合的理念,课程设计已逐渐成为我们大学生必修的课程。
社会在不断发展,信息应用水平也不断提高,当今社会对人才的培养与需求已不断加强。
课程设计是围绕一门主要基础课或专业课,运用所学课程的知识,结合实际应用设计而进行的一次综合分析设计能力的训练。
不仅可以提高我们的动手实践能力也能提高我们团队的合作精神!
通过本次银行账户管理信息系统课程设计实践,经历一个小型管理系统开发的全过程,不仅可以对本学期C#课程学习温故知新的作用也能进一步掌握管理信息系统的理论和方法。
培养和锻炼开发管理信息系统的能力。
为今后信息系统开发打下良好的基础。
二、系统分析
1.1概述
随着我国超市经营模式日趋扩大,小型超市在业务上需要时刻更新产品的销售信息,不断添加商品信息,并对商品信息进行统计分析。
因此,在超市管理中需要引进现代化的办公软件,实现超市庞大商品的控制盒传输,从而方便销售行业的管理和决策。
2.1需求分析
目前,我国零售业信息化状况的3个层面的分布基本明朗:
在高端企业,进销调存的核心结构体系基本运作正常,面临着主要问题是数据的深挖掘和加工,财务业务系统的深度集成、根据企业的并购重组保证系统和数据的统一、稳定;在中端企业,分散营运向集中管理转变,进销调存核心结构系统正在由分散单店管理、销售核算向连锁管理、进价核算过渡;在低端企业,刚刚涉足,转向连锁零售业,对于信息化认识处于表面层次,业务流程和信息系统建设需要一段时间的探索、认识和渐进过程。
而整个零售行业对信息化的认识已经逐渐趋向一致:
信息化是企业可持续发展、增强核心竞争力的必要手段。
超市软件系统从企业运营及管理的实际情况出发,结合当前中国零售业业态发展趋势,顺应了零售行业对信息化的要求,为商业管理信息系统提供了系统全面的技术解决方案。
基于以上原因,超市信息管理系统目前在各个商业领域都发挥了很大的作用。
也得到了越来越多的大、中、小型商业企业的应用。
但就目前的应用状况分析,管理系统在中、高端企业得到了广泛的应用和和重视,在小型企业、零售店的应用仅局限于信息化的表面层次,没有得到高度的重视。
同时,小企业也因资金问题而限制了其向更高程度信息化的应用。
2.3开发及运行环境
开发平台:
MicrosoftVisualstudio2008
开发语言:
VisualC#2008
后台数据库管理系统软件:
MicrosoftSQLServer
运行平台:
windowsXp/windows7
分辨率:
1024*768像素
三、系统设计
3.2功能分析
在对超市销售系统有了深入了解之后,为了解决超市工作人员在商品管理和日场销售中所存在的不足,从超市工作人员能够更容易、更方便地使用计算机对超市的有关数据进行管理,以实现无纸化操作的方面进行分析,超市系统应实现以下功能。
3.2.1登陆模块
登陆模块根据用户角色的不同在登陆成功以后被赋予不同的操作权限。
管理员拥有超市管理系统中的所有权限,普通员工拥有添加会员、查看统计信息和日常销售的权限。
3.2.2商品类别管理模块
商品类别管理模块具有对商品类别进行添加、编辑以及删除等功能。
在超市管理系统中,设定商品类别共有两级,因此,在添加时需要用户设置所添加的商品类别是一级还是二级的。
3.2.3商品管理模块
商品管理模块具有添加和删除商品功能。
这里商品的信息主要包括商品名称,EAN(商品条形码)、价格、所属商品类别、单价和是否允许折扣等。
其中所属商品类别是指它对应于商品类别信息中的商品类别名称。
3.2.4员工管理模块
员工管理模块具有添加、编辑、删除员工等功能。
这里员工的信息主要包括员工名称、登陆密码、角色等。
其中,角色指的是员工在超市管理系统中所拥有的权限范围,角色的不同说明其拥有的权限是不同的。
3.2.5会员管理模块
会员管理模块具有添加、编辑、删除会员等功能。
这里会员主要信息包括会员名称、联系电话和积分。
其中,联系电话是唯一的、能够区分会员身份的凭证;积分则可以用来区分消费额折扣度。
3.2.6积分规则管理
积分规则管理模块可对超市中已制定的积分规则进行编辑。
其中,可编辑的信息包括积分额和积分额所对应的折扣度。
3.2.7查看统计信息模块
查看统计信息模块具有查询所有销售记录、查询一定时间范围内的销售记录和获得销售总额等功能。
3.2.8日常销售模块
日常销售模块具有的功能包括进行日常销售、添加销售记录和得到顾客销售总额等功能。
其中,销售记录包括的信息主要包括商品编号、销售价格、销售数量、销售时间和顾客(包括普通顾客、会员)等。
3.3系统设计概要
本超市管理系统的设计目标是能够对小型超市的各种商品及销售信息进行管理。
如前所述,在该超市管理系统中根据每位员工所属的角色不同,被赋予不同的操作权限,这里通过控制操作菜单的可用性来限制员工的操作权限。
而操作菜单是根据超市管理系统的划分的各模块创建的。
3.3.1系统总体结构
根据前面有关系统功能的分析和超市销售系统的特点,在经过模块化的分析得到超市管理系统功能模块的划分,本系统包括登陆模块、商品类别管理模块、商品管理模块、员工管理模块、会员管理模块、积分规则管理模块、查看系统信息管理模块以及日常销售模块。
图1所示为该超市管理系统的总体结构图。
图1
3.3.2系统用例图
用例图由IvarJacobson在开发AXE系统中首先使用,并添加到由他所倡导的OOSE和Objectory方法中。
用例图引起了面向对象领域的极大关注,子1994年IvarJacobson的著作出版后,面向对象领域已广泛接纳了这一概念,并认为它是第二代面向对象技术的标志。
使用用例图可以描述外部参与者所理解的系统功能,也就是说用例图描述了用例、参与者以及它们之间的关系。
参与者代表与系统接口的任何事或人,它是指代表某一种特定功能的角色,因此参与者是虚拟的概念,他可以是人,也可以是外部系统或设备。
同一个人也能对应多个参与者,因此一个人是可能扮演多个角色的。
参与者总在被建模的系统外部,它们从来不是系统的一部分。
用例图是对系统行为的描述,它可以促进设计人员、开发人员与用户的沟通,理解正确的需求;还可以划分系统与外部实体的界限,是系统设计的起点,是类、对象、操作的来源,而通过逻辑视图的设计,可以获得软件的静态结构。
在参与者和用例之间存在的关系通常称为通信关联,因为它代表参与者和用例之间的通信。
关联可以是双向导航(从参与者到用例吧,并从用例到参与者)或单向导航(从参与者到用例吧,或用例到参与者)。
导航的方向表明了是参与者发起了和用例的通信还所示为用户登录利用图。
如图2所示,不带箭头的线段将参与者与用例关联起来,一以表示两者之间交换信息。
其中,参与者与“用户”,用例为“登录超市管理系统”,所以这里可以看到一位员工正在登录超市管理系统。
由于根据角色的不同,用户在登陆超市管理系统后将获得不同的操作权限,
用户(超市工作人员)
图2用户登录用例图
所以登陆管理的用例图如图3所示。
普通员工用户(超市工作人员)
图3登录管理用例图
图3所示的登录管理用例图中使用了泛化技术,这里的参与者“管理员”和“普通员工”成为泛化参与者,而参与者“用户(超市工作人员)”成为泛化参与者。
对超市管理系统来说,不管该员工是管从理员,还是普通员工,都称为超市管理系统的用户,所以可以看出泛化参与者在系统中扮演较为具体的角色。
泛化可以应用于参与者和用例来表示其子项(泛化参与者)从父项(泛型参与者)继承功能,而且泛化还表示父亲的每个孩子都有略微不同的功能和目的是为以确保自己的唯一性。
管理角色可对系统中的所有模块进行管理,不同模块的管理员用例图如图4至图10所示。
图4管理员角色商品类别管理模块用例图
图5管理员商品管理模块用例图
图6管理员员工管理模块用例图
图7管理员会员管理模块用例图
图8管理员积分规则管理模块用例图
图9管理员查看统计信息模块用例图
图10管理员日常销售模块用例图
普通员工角色只能对系统中的日常销售模块、查看统计信息模块和会员管理模块中的添加会员进行管理,各模块普通员工用例图如图11至图13所示
图11普通员工会员管理模块用例图
图12普通员工查看统计信息模块用例图
图13普通员工日常销售模块用例图
上图中带箭头的线和它所指向的用例,这里用来表示一个用例为执行其功能从其他用例引入功能,他们之间形成包含关系。
其中,箭头指向的用例为包含用例为被包含用例,而另一侧用例为包含用例。
也就是说,当管理员添加会员后,必须保存会员信息;当管理员查看会员信息时,必须先加载会员信息。
3.4系统模块设计
上面根据系统功能的模块化得出了系统总体结构,也就是超市管理系统功能模块的划分,接着使用超市管理系统用例图加以说明。
3.4.1登陆
用户登录的实现流程是用户在登陆窗口输入用户名称和密码,单击【登录】按钮,系统开始验证用户提交的登录信息是否正确。
如果正确,则获取该用户的角色,打开超市管理系统,并根据用户角色,打开超市管理系统,并根据用户角色赋予相应的操作权限;否则给出错误的信息。
具体实现流程如图14所示。
图14用户登录流程
3.4.2商品类别管理
商品类别管理模块用于实现商品类别的添加、删除、编辑功能。
其中,商品类别添加的实现流程是用户在商品类别管理窗口中,选择添加商品类别选项卡页,输入所要添加商品类别的信息后,单击【添加】按钮,系统获得用户提交的商品类别信息,并写入到超市管理系统的数据库中,最后返回商品类别添加的执行结果。
商品类别的添加、删除与编辑都是通过使用编写的数据库操作类来实现更新和数据的显示的。
其中,删除与编辑中的数据列表通过使用init()函数调用数据库操作类(DataOper)中的query()函数来实现;而添加、删除与编辑则分别使用add_click()、modify_click()和deleteG_clict()函数调用DataProcess()函数来实现。
图15所示为商品类别管理的实现流程。
图15商品类别管理流程
3.4.3商品管理
商品管理模块用于实现商品信息的添加和编辑功能。
其中,商品信息添加的实现流程是用户在商品管理窗口中,选择添加商品选项卡页,输入所要添加商品的信息,单击【添加】按钮,系统获得用户提交的商品信息,并写入到超市管理系统的数据库中,最后返回商品添加的执行结果。
商品的添加于编辑于商品类别的管理的实现方法基本相同,只不过在这里添加使用的方法是addGoods(),而编辑使用的方法是modifyClick()。
图16所示为商品管理的把实现流程。
图16商品管理流程
3.4.4员工管理
员工管理模块用于实现员工信息的添加、删除和编辑功能。
其中,员工信息添加的实现流程是用户在员工管理窗口中,选择添加员工选项卡页,输入所要添加员工的信息后,单击[添加]按钮,系统获得用户提交的员工信息,并写入到超市管理系统的数据库中,最后返回员工信息添加的执行结果。
员工的添加与编辑于商品类别管理的实现方法是addAssitant(),编辑使用的方法是modifyAssistant(),而删除使用的方法是del_click()。
图17所示为员工管理的实现流程。
图17员工管理流程
3.4.5会员管理
会员管理模块用于实现会员信息的添加、删除以及修改功能。
该模块中各功能的实现流程与商品类别管理的实现流程基本相同,唯一不同的是,该模块中会员的添加是调用addMember()方法将数据添加到数据库中,而编辑和删除分别是调用modifyMenber()和del_click()方法将更新后的信息储存到数据库。
图18所示为会员管理的实现流程。
图18会员管理流程
3.4.6积分规则管理
积分规则管理模块用于编辑超市中的所有几分规则。
积分规则的编辑于之前会员管理中的编辑实现流程基本相同。
图19所示积分规则管理的实现流程。
图19积分规则管理
3.4.7查看统计信息
查看统计信息模块可以查看所有或一段时间内的销售记录及销售额。
查看统计信息中的查看功能是通过使用queryInfo()方法调用数据库操作类中的query()方法来实现的。
图20所示为查看统计信息的实现流程。
图20查看统计信息流程
3.4.8日常销售
日常销售模块的功能是添加销售记录及查看临时销售记录。
日常销售模块中的添加销售记录功能是通过使用addSell()方法实现的,而查看临时销售记录功能是使用init()方法实现的。
图21所示为日常销售的实现流程。
图21日常销售流程
3.5数据库设计
在对超市管理进行了需求分析、功能分析后,接着就要考虑如何根据系统总体结构来合理设计储存超市管理系统数据的数据表结构了。
本系统使用SQLServer作为后台数据库,下面将设计实现该系统数据库。
首先在SQLServer数据库中创建一个数据库db_SuperMarket,用于存放超市管理系统的所有数据。
然后在该数据库中创建一个用户信息表t_UserInfo,用于专门存储超市中所有用户的信息,如同用户编号(自动编号)、用户姓名。
用户密码。
联系电话、角色等。
下面将对该表及结构进行介绍,如表1所示
表1用户信息表
在该数据库中创建会员信息表t_MemberInfo,用于存储用户信息,如会员编号、会员名称、联系电话以及积分等。
具体如表2所示。
创建商品类别表t_GoodsType,用于储存商品类别的相关信息,如商品类别编号、商品类别名称、父类别编号等,具体如表3所示。
创建商品类别表t_GoodsInfo,用于储存商品的相关信息,如商品编号、商品名称、EAN号、商品所属类别编号、是否允许折扣、价格和单位等,具体如表4所示。
创建商品类别表t_BonusRule,用于储存超市的所有积分规则,如规则编号、积分折扣等,具体如表5所示。
创建商品类别表t_SellInfo,用于储存超市中的所有销售记录,如销售流水号、商品编号、销售价格、销售数量、销售时间和顾客编号等,具体如表6所示。
创建商品类别表t_TempSell,用于储存超市中的销售商品时所产生的临时销售记录,如临时销售记录编号、商品名称、折扣、销售数量、销售额和顾客编号等,具体如表7所示。
3.6登陆以及主窗体模块
登录模块中包含的功能主要包括判断用户输入的登陆信息是否相符以及获取并判断用户的角色。
系统主窗体是用户登陆成功后进入的窗体,该窗体是用户登陆成功后进入的窗体,该窗体中包括所有用户能够使用的功能列表,是进行个操作的媒介。
3.6.1登录窗体
实现用户登陆的首要条件是需要有登陆窗体,以便用户填写登陆信息。
在窗体代码文件中,需要对用户输入的信息进行判断,并根据用户角色赋予相应的操作权限;并根据用户角色进入登录超市管理系统,否则给出错误的信息。
3.6.2注销和退出
当用户登陆到系统主窗体后,用户可能会需要以另外一个身份重新进入本系统或直接退出本系统。
本系统中的注销和退出就实现了这两个功能。
3.7商品类别管理模块
超市中各种各样的商品,难以进行统一管理。
在这种情况下,商品按照相同的特点进行分类,就会很容易对商品进行管理。
商品类别管理包括添加商品类别、编辑商品类别和删除商品类别3个功能,分别用来对商品进行添加、修改和删除。
3.7.1添加商品类别
添加商品类别用于至数据库中,是商品类别、管理模块中最基础的功能。
3.7.2编辑商品类别
商品类别的名称不是固定不变的,有时候需要根据实际需要对商品类别名称进行修改,甚至有时候还需要对该商品类别所属的类别进行调整。
3.7.3删除商品类别
有些商品类别可能由于各种原因不再需要,这时就要将这些商品类别从数据库中删除。
在删除商品类别是需要根据商品类别下是否有子类别和商品,做出不同的操作。
3.8商品管理模块
商品管理模块的功能是根据商品类别管理商品的详细信息,例如,商品名称,EAN、其所属类别和价格等。
在本管理系统中,用户可以对商品进行两种操作,及添加商品和编辑商品。
3.8.1添加商品
添加商品功能可将用户输入商品名称、ENA、价格和所属商品类别等信息添加至数据库中,并且还会查到用户添加的商品是否已存在,若存在则提醒用户重新输入。
3.8.2编辑商品
在超市管理系统中不仅可以添加各种商品,还可以对已有商品的各种信息进行修改,如对商品名称、价格、单价以及是否可以打折等信息进行修改。
编辑商品就会根据用户选择的商品显示商品信息,用户可进行修改。
3.9员工管理
超市中有很多员工,难以进行统一管理。
在这种情况下,员工的所有数据统一放在数据库中,若发生人员调整,可及时地更新数据库的数据,员工管理模块是对数据库中的员工进行管理的媒介,其主要功能包括添加员工、编辑员工。
删除员工等。
3.9.1添加员工
添加员工功能需要用户添加员工名称,登陆管理系统的密码及设置其用户角色等。
3.9.2编辑员工
编辑员工功能是对超市中的员工信息进行编辑,包括员工的密码及角色进行编辑。
超市管理系统中的编辑员工要求用户从显示的用户信息表中选择一行,并输入修改的信息执行修改。
3.9.3删除员工
删除员工功能用于当超市员工调动时(如裁员、辞职等),将某些员工信息从数据库中删除。
在管理系统中,用户可选择信息表中的某一行信息进行删除。
3.10会员管理模块
为了吸引更多顾客的消费,可以指定一种规则,如消费满一定数额时,成为超市会员。
当顾客购买商品时,若为会员可进行打折。
会员管理模块就可以对超市的所有会员进行管理,可增加会员、编辑会员和删除会员等。
3.10.1添加员工
在销售商品时,若出现销售额满的一定额的,可将该顾客添加为超市会员。
增加会员时,需要记录顾客的名称和联系电话等信息。
3.10.2编辑员工
编辑会员中包括查看所有会员信息,修改会员信息的两种操作。
当用户重新输入的联系电话已存在时,会提醒用户重新输入;反之则修改所选会员信息。
3.10.3删除会员
在超市管理系统中,删除会员操作非常简单,用户只需选择所有删除的行数据,然后单击【删除】按钮即可将会员成功删除。
3.11积分规则模块
超市在进行日常销售时,会根据会员的积分数相应地给予会员一定的消费折扣,在一定的积分范围内给予一定的折扣就是积分规则。
超市管理系统中积分规则管理可以对已制定好的积分规则进行修改。
3.12查看统计信息模块
从查看统计信息中可查看所有的销售记录,也可查询一定时间的销售记录,并得出一定时间范围内的总销售额,查看统计信息默认显示的默认显示的所有记录,当用户选择了时间范围,就会显示选择时间范围内的销售记录。
3.13日常销售模块
在日常销售模块中会根据用户输入的商品EAN而得到商品的一系列信息,并根据输入用户的电话号码而得出会员编号。
然后,可输入购买的商品数量、折扣等。
最后形成一条销售记录。
四、致谢词
本次的C#课程设计对于我个人来说收获应该说是非常大的。
一开始从参考书上找来了课题,但是毕竟是参考书,做到后来发现很多程序都是不完整的,这让我伤透了脑筋。
看着别的小组都弄得有模有样了,可是我连一个课题都还没有定好。
好不容易又找到了课题,可是结果还是很不尽人意。
参考书毕竟只是一个参考,设计这种东西最后还是要靠自己动脑筋。
然后我们大家一起齐心协力,从平时做的实验﹑老师上课的举例﹑书本上的知识以及老师的辅导和其他同学的帮助下终于完成了。
应该说这是通过我和同学的共同努力和动脑完成的,虽然内容并不是很复杂,但是我们觉得设计的过程相当重要,学到了很多,收获了很多。
我觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。
五、参考文献
[1]刘甫迎、刘光会、王蓉.C#程序设计教程(第2版).北京:
电子工业出版社.[2]MicrosoftVisualC#2008help.
[3]美国微软公司VisualC#2005软件的帮助信息.
[4]李兰友杨晓光.VisualC#.NET程序设计.北京:
清华大学北方交通大学出版社.
[5]王昊亮,李刚等.VisualC#程序设计教程.北京:
清华大学出版社.
[6]佟伟光.VisualBasic.NET实用教程.北京:
电子工业出版社.
[7][美]MickeyWilliams.冉晓景罗邓郭炎译."MICROSOFTVisualC#COREREFERRNCE"《VisualC#技术内幕》.北京:
清华大学出版社.
[8]施燕妹陈培陈发吉.C#语言程序设计教程.北京:
中国水利水电出版社.
[9]明月创作室.VisualC#编程精彩百例.北京:
人民邮电出版社.
[10][美]SimonRobinson/ChristianNagel著,李敏波译.《C#高级编程(第3版)》.北京:
清华大学出版社.
[11][美]微软公司著,熊盛新许志庆李钦译.VisualC#.NET语言参考手册.北京:
清华大学出版社.
[12]孙永强等.VisualC#.NET入门与提高.北京:
清华大学出版社.
[13]郭胜等.C#.NET程序设计教程.北京:
清华大学出版社.
[14]B-power工作室.C#网络程序设计.北京:
中国铁道出版社.
[15]《C#工程开发案例》明日科技王小科王军赵会东等编著.
版权申明
本文部分内容,包括文字、图片、以及设计等在网上搜集整理。
版权为潘宏亮个人所有
Thisarticleincludessomeparts,includingtext,pictures,anddesign.CopyrightisPanHongliang'spersonalownership.
用户可将本文的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人的书面许可,并支付报酬。
Usersmayusethecontentsorservicesofthisarticleforpersonalstudy,researchorappreciation,andothernon-commercialornon-profitpurposes,butat