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