毕业设计(论文)-中小型超市管理系统设计.doc_第1页
毕业设计(论文)-中小型超市管理系统设计.doc_第2页
毕业设计(论文)-中小型超市管理系统设计.doc_第3页
毕业设计(论文)-中小型超市管理系统设计.doc_第4页
毕业设计(论文)-中小型超市管理系统设计.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京大学自学考试本科论文目录摘要31引言42需求分析5 2.1系统需求5 2.2功能需求5 2.3性能需求5 2.3.1硬件环境5 2.3.2软件环境53总体设计7 3.1基本设计概念和处理流程 73.2系统层次模块图73.3模块设计73.3.1登录模快73.3.2系统管理模块73.3.3商品管理模块83.3.4会员信息管理模块83.3.5销售信息录入模块84数据库设计94.1数据库E-R图94.2 数据库表105系统实现135.1文件夹构架135.3模块详细设计155.3.1主控制平台155.3.2用户登录模块165.3.3用户管理模块的设计与实现175.3.4修改密码模块195.3.5销售管理模块的设计与实现195.3.6库存管理模块的设计与实现205.3.7进货管理模块的设计与实现225.3.8销售信息录入模块的设计与实现235.3.9会员信息管理模块的设计与实现255.3.10查询会员信息模块的设计与实现 267系统维护与改进28参考文献 29致谢30摘要本文介绍了一个超市管理的系统,该系统使用了Microsoft SQL Server 2005与Microsoft Visual Studio.NET 2008作为开发软件,面向中小型超市,实现了超市日常的进货,销售和库存,开办会员的管理,减少手工业务处理,增加超市业务处理效率.该系统主控制平台采用简单、直观的布局,通过菜单实现对系统各个模块的调用和对各个窗体的显示,主要模块商品管理和会员管理采用选项卡来实现功能的划分,其结构显得紧凑。主要窗体使用了GridDataView控件来显示数据库中的数据,在相应的文本框或下来列表中绑定GridDataView列中的数据,以便修改。各个窗体在软件视图设计器中设计,添加相应的代码来实现系统的功能。关键字:超市,管理系统,DataGridView,C#1引言随着我国经济的快速发展,超市经营规模越来越大,连锁化程度日益提高,其销售额和门店数量大幅度增加,超市业面临的数据与业务越来越庞大,如何充分利用计算机来实现超市庞大的商品人员信息的控制与传输,从而方便销售行业的管理和决策,就是成为了一个日益重要的课题,而面对中小型超市,则要采用一套行之有效的超市管理系统来管理超市日常的进货,销售和库存,开办会员管理,减少手工业务处理,增加超市业务处理效率。2需求分析2.1系统需求本系统的设计将使传统的人工超市货物管理实现信息化,使小型超市货物管理规范化,系统化,自动化,中小型超市管理系统应该满足以下需求:1) 满足中小型超市管理的基本业务需求,方便的进行销售管理,员工管理,会员管理和商品管理。2) 提供方便的,灵活的操作。3) 通过访问权限的控制确保数据的安全。2.2功能需求根据系统的需求分析,为保证系统的安全,对不同权限的人员分别设置功能,本系统功能需求如下:1) 销售人员:销售人员主要进行交易信息的录入和收取相应款项通过销售终端的扫描条形码方式或者手工输入每次的交易详细情况,包括必要的商品编号,名称,数量,交易总计金额,自动计算本次交易的总金额。2) 管理者进行下列管理进货管理:根据销售情况及库存情况,制定进货计划,可以避免盲目进货造成商品堆积。按计划单有选择地进货,进行商品入库登记。销售管理:商品正常销售、促销及禁止销售控制。综合查询各种销售明细记录、营业员收银记录以及交账情况等。库存管理:综合查询库存明细记录。库存状态自动告警提示。如库存过剩、少货、缺货等员工管理:员工基本信息管理,员工操作权限管理。会员管理:会员基本个人信息管理,可以进行会员消费统计和人数查询。2.3性能需求系统的运行对运行环境的一些要求:2.3.1硬件环境目前,我们开发的系统主要是应用在中小规模的超市中,因此一般的计算机配置硬件就可以满足系统需要处理器:Intel Pentium 43.06 GX或更高内存:1G硬盘空间:40GB显卡:SVGA显示适配器2.3.2软件环境快发软件:Microsoft Visual Studio.NET 2008数据库:Microsoft Sql Sever20053总体设计3.1基本设计概念和处理流程本系统设计成一个相对封闭的单用户运行系统。使用纯面向对象的C#语言作为开发语言,Microsoft SQL Server 2005作为数据库服务器,Windows2000操作系统作为开发平台,能够很好的实现本系统的开发和测试,并且能够很好的保证本系统的稳定运行。系统基本的流程是:用户登录主界面选择各项子系统。3.2系统层次模块图“超市管理系统”主要分为登录、用户管理、进货管理、库存管理、销售管理、会员管理、销售录入等7个模块。系统主要模块功能树如图3.1所示。登录用户管理进货管理 超市管理系统库存管理会员管理销售管理销售录入图3.1“超市管理系统”系统主模块功能树3.3模块设计3.3.1登录模快输入用户名称和密码,如果用户名、密码正确,则允许进入主控制平台:并根据相应的用户权限,显示相应的界面,如果输入错误则给出信息提示,重新输入。3.3.2系统管理模块1)用户管理子模块:系统管理员进行用户权限设置和用户的浏览,包括添加新用户以及对用户姓名和用户权限的更改,同时为保障系统健壮进行输入检验,进行必要的信息提示。一般用户不能使用该项功能。2)修改密码子模块:任何用户都可以在登录系统后修改自己的密码。3.3.3商品管理模块设置和管理超市运营需要的基础数据。只有经理才能浏览和修改。包括以下几个功能模块:1)货物进货管理子模块:根据进货计划,按时、按量地完成进货计划,录入进货信息的同时更新库存信息。2)货物库存管理子模块:浏览超市库存的情况,根据销售情况随时制定进货计划。3)销售管理子模块:负责整个超市新商品的录入,促销打折活动的制定,商品价格的设定、商品是否继续销售的战略制定。3.3.4会员信息管理模块管理会员数据,只有经理才能浏览和修改。包括以下几个模块。1)会员信息管理子模块:浏览修改会员信息,包括新会员的加入、会员信息的修改、删除。2)会员信息查询和统计子模块:查询会员的消费情况信息,会员人数。3.3.5销售信息录入模块管理交易信息数据,销售人员只能进行此项功能。每次交易信息的录入,同时更新会员消费记录和商品库存记录。4数据库设计4.1数据库ER图,如图4.1所示 用户名称用户密码用户类型用户编号员工进货编号销售编号n n进货数量进货销售销售数量价格进货日期销售日期n n商品价格商品名称商品编号图4.1数据库ER 图由ER图转换成对应的关系模式如下:用户模式(用户编号,用户姓名,用户密码,用户类型)商品模式(商品编号,商品名称,商品价格,库存数量,库存报警数量)销售模式(销售编号,商品编号,销售日期,销售数量,支付方式,销售人员,)进货模式(进货编号,进货商品编号,进货数量,商品单价,总额,进货日期,经手人)4.2数据库表根据系统功能设计的要求以及功能模块的划分,对于系统用户信息数据库,可以列出以下数据项和数据结构:1)数据库,包括:数据库名称:超市管理数据库。 标识:MarketMagSys。数据库表索引,如4.1表所示:表4.1 数据库表索引表名中文名merch商品信息表user用户表marketMember会员表sale销售表stock进货记录表2)数据库表结构,包括:表名:商品信息表,如表4.2所示标识:merch 数据来源:销售管理模块的录入。表4.2 商品信息表(merch)字段名字段类型长度主/外键字段值约束描述merchIdint4PNot null商品编号merchNamevarchar50Not null商品名称merchPricemoney8Not null价格merchNumint4Not null库存数量warningNumint4Not null库存报警数planNumint4计划进货数proSalePricemoney4促销价格proSaleDateSsmallDateTime4促销起日期proSaleDateEsmalDateTime4促销止日期allowAbatechar2允许打折allowSalechar2允许销售factroyIdvarchar50厂商编号表名:用户表,如表4.3所示。 标识:sysUser 数据来源:用户管理模块的录入。表4.3 用户表(syUser)字段名字段类型长度主/外键字段值约束描述userIdvarchar50PNot null用户编号usernamevarchar50Not null用户名称userPwvarchar50Not null用户密码userStylevarchar50Not null用户类型表名:会员表,如表4.4所示。 标识:marketMember 数据来源:会员管理模块的录入。表4-.4会员表(marketMember)字段名字段类型长度主/外键字段值约束描述memberIdvarchar10PNot null会员编号memberCardvarchar20Not null会员卡号memberNamevarchar50会员姓名memberPhonevarchar50会员电话memberAddvarchar50会员地址totalCostmoney8累计消费regDatesmallDatetime4注册日期表名:销售表如表4.5所示。 标识:sale 数据来源:销售录入模块的录入。表4.5 销售表(sale)字段名字段类型长度主/外键字段值约束描述saleIdVarchar10PNot null销售编号merchIdVarchar10FNot null商品编号saleDatesmallDatetime4Not null销售日期saleNumInt4Not null销售数量payWayVarchar10Not null支付方式salesmanVarchar10FNot null销售人员saleTableIdvarchar10Not null销售单编号表名:进货记录表,如表4.6所示。 标识:stock 数据来源:进货管理模块的录入。表4.6 进货记录表(stock)字段名字段类型长度主/外键字段值约束描述stockIdvarchar10PNot null进货编号merchIdvarchar10FNot null进货商品编号merchNumint4Not null进货数量merchPricemoney8Not null商品单价totalPricemoney8Not null总额stockDatesmallDatetime4Not null进货日期dealManvarchar10FNot null经手人finishedchar4状态remarkvarchar50备注5系统实现5.1文件夹构架编码之前,先将开发系统中可能用到的文件夹创建出来,这样可以方便以后的开发工作,又可以规范系统整体结构,可谓一举两得,在开发超市管理系统之前,首先设计图5.1所示的文件夹结构,在开发时只需将相应文件保存到相应的文件夹下即可。图5.1系统文件夹结构图5.2公共类编写开发项目时,以类的形式来组织、封装一些常用的方法和事件,不仅可以提高代码的重用率,也极大的方便代码的管理。本系统创建了一个公共类DataCon.cs,其主要用来访问数据库并且执行基本的SQL语句DataCon.cs类文件中,有四个方法:Getcon方法:返回值为sqlConnection类型的自定义方法,主要用来建立数据库连接,其实现代码如下:public SqlConnection getcon() string M_str_sqlcon = Data Source=WWW-DA183AC87F3SQLEXPRESS;Initial Catalog=MarketMagSys; + Integrated Security=SSPI; SqlConnection mycon = new SqlConnection(M_str_sqlcon); return mycon;getcom方法:无返回值类型的自定义方法,它主要用来执行SQL语句,其实现代码如下:public int getcom(string M_str_sqlstr) SqlConnection sqlcon = this.getcon(); sqlcon.Open(); SqlCommand sqlcom = new SqlCommand(M_str_sqlstr, sqlcon); int n =sqlcom.ExecuteNonQuery(); sqlcom.Dispose(); sqlcon.Close(); sqlcon.Dispose(); return n;getds方法:用来执行SQL语句,并返回一个DataSe类型的数据集对象。实现代码如下:public DataSet getds(string M_str_sqlstr, string M_str_table) SqlConnection sqlcon = this.getcon(); SqlDataAdapter sqlda = new SqlDataAdapter(M_str_sqlstr, sqlcon); DataSet myds = new DataSet(); sqlda.Fill(myds, M_str_table); return myds; getRead方法:返回一个sqlReader类对象,其实现代码如下:public SqlDataReader getread (string M_str_sqlstr) SqlConnection sqlcon=this.getcon(); SqlCommand sqlcom=new SqlCommand (M_str_sqlstr ,sqlcon); sqlcon.Open(); SqlDataReader sqlread= sqlcom.ExecuteReader (CommandBehavior .CloseConnection ); return sqlread; 5.3模块详细设计5.3.1主控制平台总体布局系统主控制平台采用简单、直观的布局,通过菜单实现对系统各个模块的调用和对各个窗体的显示。设置状态栏来显示当前用户信息。主控制平台的页面效果,如图5.2所示。图5.2系统主控制平台根据管理权限的不同,主控制平台的界面略有不同:经理登录后如图2所示,一般人员登录后只显示修改密码和销售信息录入标签。程序设计添加菜单和状态栏:根据总体设计中对各个模块的设计,使用菜单编辑器和状态栏控件创建系统菜单和状态栏。菜单项有: 系统管理用户管理、修改密码。 商品管理进货管理、库存管理、销售管理。 会员管理会员管理、会员信息查询统计。 销售录入销售录入 退出系统5.3.2用户登录模块用户登录模块的IPO图输入:用户名和密码。处理:a.用户登录窗体启动。b.输入用户名和密码。c.如果用户名或密码为空,处理终止,并进行错误信息提示。d.以输入的用户名为关键字,检索用户信息表的用户名和密码字段。e.通过检索结果判断该用户名是否存在,如果用户不存在,则处理终止,并进行错误信息提示。f.如果用户名存在,比较检索到的密码字段与输入的密码是否相等。如果不相等则处理终止,并进行错误信息提示。g.如果输入的密码正确,将该用户编号、用户名和用户类型分别保存在全局变量strUserId 、 strUser、 strUserRole中用户登录模块的窗体设计如图5.3所示图5.3用户登录窗体5.3.3用户管理模块的设计与实现用户管理模块负责登录用户对现有系统用户信息进行编辑修改,可以新建用户的信息后,给予该用户一定的权限,也可以删除用户信息。用户管理模块实现的效果。如图5.4所示。图5.4用户管理窗体用户管理模块的IPO图。输入:用户编号、用户姓名、用户密码、用户权限。处理:a.用户管理窗体启动。b.系统在数据库marketMagSys内的syUser表中检索数据,并把检索的结果显示到窗体的DataGridView控件内,同时显示到用户编号、用户姓名和用户权限对应的文本框内。c.根据用户的选择(添加新用户、修改、删除用户)进行相应处理,具体步骤如eg。d.添加新用户: 添加新用户窗体启动。 检验用户输入信息是否完整。如果不完整,则给出错误信息提示。处理结束。 检验用户两次输入的用户密码是否一致,如果不一致,给出错误信息,重新输入。 如果一致,以用户编号为关键字,检验用户表中是否存在该记录。 如果记录已经存在则进行错误信息提示,添加处理终止。 如果记录不存在,根据数据库中对应字段的定义,检验输入值是否合法,如果输入有错误则进行错误信息提示,添加处理终止。 如果输入正确,执行SQL语句,向用户表中插入记录。 提示用户添加成功。e.修改操作 在DataGridView控件内选择要修改的用户信息,显示到用户信息对应的文本框内。 用户输入修改内容,根据数据库中对应字段的定义,检验输入值是否合法,如果输入有错误则进行错误信息提示,修改处理终止。 如果输入正确,执行SQL语句,修改用户表中该编号对应的记录。 提示用户修改成功。g.删除操作:用户在DataGridView中选择要删除的用户,系统提示用户“确实要删除该条信息吗?”。用户确认,执行SQL语句,删除用户表中用户编号对应的记录。显示用户删除成功信息。输出:对数据库中的syUser表进行修改。5.3.4修改密码模块修改密码模块负责登录用户随时修改密码,保证密码的安全性。修改密码模块的IPO图输入:新密码和确认密码处理:a.修改密码模块窗体启动b.从登录对话框login中取得登录系统的登录用户的用户名。c.根据已经取得的用户名在数据库marketMagSys的syuser表内查找该用户,然后比较用户输入的新密码和确认密码,如果比较结果相同,则把新密码写入到相应的记录内,如果不一致,则提示错误信息。d.吧用户的新密码记录到数据库内。输出:对用户表进行修改。5.3.5销售管理模块的设计与实现销售管理模块实现的效果如图5.5所示。图5.5库存管理窗体销售管理模块的IPO图输入:商品编号、商品名称、价格、库存数量、库存报警数量、计划进货数量、促销价格、促销起日期、促销止日期、允许打折、允许销售、厂商编号。处理:a.销售管理窗体启动。b.系统在数据库内商品信息表中检索数据,并把检索的结果显示到窗体的DataGridView控件内,同时显示到相应的文本框内。c.根据用户的选择(添加新商品记录、修改、删除记录)进行相应处理,具体步骤如df。d.添加商品记录:输入界面上各项商品信息。检验用户输入信息是否完整,如果不完整给出错误信息提示,处理结束。如若输入完整,以商品编号为关键字,检验商品表merch中是否存在该记录。如果记录已经存在则进行错误信息提示,添加处理终止。如果记录不存在,根据数据库中对应字段的定义,检验输入值是否合法,如果输入有错误则进行错误信息提示,添加处理终止。如果输入正确,则执行SQL语句,向商品表merch中插入一条记录,同时将结果显示在DataGridView控件内。提示用户添加成功。e修改操作:在DataGridView控件内选择要修改的商品信息,同时显示商品信息到对应的文本框内。用户输入修改内容,根据数据库中对应字段的定义,检验输入值是否合法,如果输入值有误则进行错误信息提示,修改处理终止。如果输入正确,则执行SQL语句,修改商品表merch中该商品编号对应的记录。提示用户修改成功。f删除操作:用户在DataGridView中选择要删除的商品信息,系统提示用户“确实要删除这条记录码”,用户确认,执行SQL语句,删除商品信息表中商品编号对应的记录。如果该商品已经与其他表相关联,则提示用户不能删除。提是用户删除成功。输出:对数据库中的merch表进行修改。5.3.6库存管理模块的设计与实现库存管理模块负责登录用户(经理)对超市基本销售情况的掌握,随时掌握销售商品的库存数量。同时针对库存不足的商品,及时生成进货单,满足商品需要,及时进货。库存管理模块的实现效果如图5.6所示。图5.6 库存管理窗体库存管理模块IPO图。a库存信息查询功能的IPO图。输入:商品编号,库存不足数量。处理:1)库存管理窗体启动。2)系统在数据库内的商品信息表merch表中检索商品库存数据,并把检索的结果显示到窗体的DataGridView控件内。3)根据用户输入的查询条件(商品编号、库存不足数量),在数据库内商品表中检索满足条件的商品信息,更新窗体的DataGridView控件显示内容。输出:显示结果到DataGridView 控件内。b生成进货单功能的IPO图。输入:进货信息。处理:1)输入界面上各项进货信息。2)检验用户输入信息是否完整,如果不完整则给出错误信息提示,处理结束。3)系统在数据库内的库存信息表stock表中以进货编号检索库存信息表内数据是否存在该记录。4)如果记录已经在则进行错误信息提示,添加处理终止。5)如果记录不存在,则根据数据库中对应字段的定义,检验输入值是否合法,如果输入错误则进行错误提示,添加处理终止。6)如果输入正确,则执行SQL语句,向库存信息表stock表中插入一条新记录。7)提示用户添加成功。输出:对数据库中的stock表进行修改。5.3.7进货管理模块的设计与实现进货管理模块负责登录用户(经理)对超市销售的库存进行及时补充,完成进货单,同时及时更新商品的库存信息。进货管理模块实现效果如图5.7图5.7进货管理窗体进货管理模块的IPO图。输入:进货编号,进货商品编号,商品单价、总额、进货日期、经手人、状态、备注。处理:a.进货管理窗体启动。b.系统在数据库内的进货记录表stock表中检索数据,检索条件是状态字段为“未完成”的记录,并把检索结果显示到窗体的DataGridView控件内,同时显示到相应的文本框内。c.根据用户的选择(添加、修改、删除)进行相应的处理,具体步骤如(4)-(6)d.修改操作:在DataGridView控件内选择要修改的进货单信息,同时显示到进货单信息的对应的文本框中。用户输入修改内容,根据数据库中对应字段的定义,检验输入值是否合法,如果输入有误则给出错误信息提示,修改处理终止。如果输入正确,则执行SQL语句,修改进货记录表stock表中该进货编号对应的记录。同时更新商品信息表merch的商品库存信息。提示用户修改成功。5.3.8销售信息录入模块的设计与实现销售信息录入模块负责登录用户(销售人员)对超市销售信息的录入和修改。销售录入模块的实现效果如图5.8所示。图5.8销售录入窗体销售录入模块的IPO图输入:销售单编号、销售编号、商品名称、销售单价、销售数量、销售日期、总金额、支付方式、折扣、销售人员、会员卡。处理:a.销售信息录入窗体启动。b.系统在数据库内的销售sale表中检索数据,并把检索的结果显示到窗体的DataGridView控件内,同时显示到相应的文本框内。c.根据用户的选择(添加、修改、删除)进行相应的处理,具体步骤如df。d.添加销售记录:输入界面上各项商品信息。在输入商品编号后,系统根据输入编号在merch表内查找该商品。如果找到则在窗体文本框内显示该商品的商品名称、销售单价。在输入完销售数量后,系统根据检索到的商品的折扣信息和促销起止日期,自动判断当前销售商品是否属于促销商品,并计算总金额。如果没有检索到该商品,则给出错误提示。检验用户输入信息是否完整,如果不完整给出错误信息提示,处理结束。如果输入完整,以销售编号为关键字,检验销售表sale中是否存在该记录。如果记录已经存在则进行错误信息提示,添加处理终止。如果记录不存在,则根据数据库中对应字段的定义,检验输入值是否合法,如果输入有误则进行错误信息提示,添加处理终止。如果输入正确,则执行SQL语句,向销售表sale中插入一条新记录,同时,修改商品信息表中该商品对应的库存信息。将结果显示在DataGridView控件中。提示用户添加成功。e.修改操作:在DataGridView控件内选择要修改的销售记录信息,同时显示销售记录信息在对应的文本框内。用户输入修改内容,根据数据库中对应字段的定义,检验输入值是否合法,如果输入有误则给出错误信息提示,修改处理终止。如果输入值正确,则进行SQL语句,修改销售记录表sale表中该销售编号对应的记录。同时,修改商品merch表中该商品对应的库存信息。提示用户修改成功。f.删除操作:用户在DataGridView中选择要删除的销售记录信息,系统提示用户“确实要删除这条记录吗?”。用户确认,执行SQL语句,删除销售记录表sale表中销售标号对应的记录。同时,修改商品merch表中该商品对应的库存信息。提示用户删除成功信息。输出:对数据库中的销售记录表sale表和商品表merch表进行修改。输出:对数据库中的5.3.9会员信息管理模块的设计与实现会员信息管理模块负责登录用户(经理)对超市会员信息的维护。 会员维护模块的实现效果如图5.9所示。图5.9会员维护窗体会员信息管理模块的IPO图输入:会员编号、会员姓名、会员电话、会员卡号、会员地址、消费总额、注册日期。处理:a.会员信息管理窗体启动。b.系统在数据库中的会员表marketMember表中检索数据,并把检索的结果显示到窗体的DataGridView控件内,同时显示到相应的文本框中。c.根据用户的选择(添加、修改、删除会员记录)进行相应的处理,具体步骤如de。d.添加会员记录:输入界面上各项信息。检验用户输入信息是否完整,如果不完整,则给出错误信息提示,处理结束。如果输入完整,则以会员编号为关键字,检验会员表marketMemb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论