《食品进销存管理系统.docx》由会员分享,可在线阅读,更多相关《食品进销存管理系统.docx(53页珍藏版)》请在三一办公上搜索。
1、摘要中小食品批发公司在我国经济发展中具有重要的地位,目前我国的中小食品批发公司数量多,随着全球经济一体化的发展和电子商务的兴起,中小食品批发公司之间的竞争越来越激烈,很多食品批发商为了资金周转灵活,都以多频率小货量的方式来进货,因此带来大量工作量及成本等的增加。为了提高工作效率降低成本,减少工作量,开发本系统。本系统使用JSP编写,采用Ajax、JQuery异步刷新技术和Struts2、Hibernate、Spring三大框架,使用Oracle设计数据库。该系统主要实现系统用户管理、食品管理、供应商和订货商管理,销售订单的制单、发货和进货订单的制单、入库。关键词:食品;订单;管理Abstrac
2、tThe development of small and medium enterprises in Chinas a large number of SMEs companies appear with the development of global economic integration and the rise of e-commerce,the companies between small and medicem-sized enterprises seems more and more fiere. To make the cash flow quickly, many d
3、istributors choose to use more frequencies but small amount to purchase,due to it which brings a large workload and add much money on prime cost. To improve the work the efficiency, and reduce the workload, so explore this system.The system is written in JSP, the main application of the Ajax, Jquery
4、, and Strust2, Hibernate, Spring these three framework and the Oracle design database. The software mainly healizes the Aolministor Management, Food Management, Suppliers and Orders management, making Sales orders deliver and stock goods, finally put in storage.Key words: food;order; manage目 录摘 要IAB
5、STRACTII第1章 课题简介11.1 开发背景11.2 研究内容1第2章 需求分析3第3章 总体设计53.1系统模块设计53.2 数据库设计7第4章 详细设计114.1 系统登录界面设计114.2 系统主界面设计124.3 功能模块设计一三第5章 测试28总 结30参考文献31附录1 核心源代码32附录2 用户操作方法44致 谢46III绥化学院2012届本科生毕业设计第1章 课题简介 1.1 开发背景在我国数量众多的食品批发公司中,中小食品批发公司占了绝大多数,这些食品批发公司也不可避免地要加入国际化食品批发公司的竞争行列,而实现食品批发公司信息化是参与竞争的必要条件,但是中小食品公司的
6、多样性及其灵活多变的经营方式,加上其资金投入量的限制,使得很多中小食品批发公司没能进行信息化建设。实际上大部分中小食品批发公司需要的只是能解决食品进、销、存管理和财务管理等的基础软件。因此,开发基于中小食品批发公司应用的进销存管理系统尤为重要。而随着社会的不断发展,计算机被广泛应用于各行各业之中。用计算机管理软件对公司业务进行管理更是一种行业发展趋势,也是衡量一个国家技术发展水平的标志。利用计算机管理不但可以提升工作效率,还可以节省人力物力,增强数据准确性、实时性和有效性。因此在食品批发公司使用计算机管理软件进行进货、销售、库存等管理是非常必要的。当前,随着经济的全球化以及中国经济改革的逐渐深
7、入,食品批发业面临着越来越激烈的竞争,改善公司内部以及整个供应链各个环节的管理、调度及资源配置,具备迅速适应客户的新需求和市场新机遇的能力,是中国公司赢得竞争胜利的决定性因素。为了适应发展需要设计本系统。1.2 研究内容高科技的发展,软件管理系统成为工作的得力助手。今天,计算机价格越来越大众化,管理软件性能越来越优秀,逐渐被应用于众多领域。管理软件广泛普及应用的原因主要有以下几个方面:第一,计算机行业本身发展迅速;第二,计算机可以代替人工进行繁杂和重复性的工作;第三,管理软件可以节省许多资源;第四,管理软件可以提高人们的工作效率;第五,管理软件便于管理人员的管理。本食品进销存管理系统是基于先进
8、的软件和高速、大容量的硬件基础上的新的进销存管理模式,做到通过集中式的信息数据库,将公司的进货、销售、存储等经营业务有机的结合起来,大大减少公司管理部门的劳动量,改善公司内部以及整个供应链各个环节的管理、调度及资源配置,使得管理合理规范。系统尽量合理的控制物流,尤其是食品库存的控制,将食品数量控制到只在需要的时候向需要的部门按需要的数量提供所需要的食品,也就是说,它既防止食品供应滞后于对他们的需求,也防止食品过早地进货,以免增加库存,造成物资和资金的积压,实现食品销售的全方面管理。通过系统实现从基础数据维护、进货直到销售后利润统计的一系列功能。简化手工劳动的繁杂性、降低人工劳动强度、提高数据的
9、时效性、提高工作效率、降低经营成本,为管理层决策提供强有力的支持。本系统还要考虑到经济、技术和运行环境等方面的条件,来确定系统的总体结构和系统各组成部分的技术方案,把系统用户与订单、食品的关系确定好。将系统用户的权限限制为单一独立的,这样可以让权限在分配的时候互不干扰。第2章 需求分析根据对一般中小食品批发公司的调查研究,其对系统的日常经营管理需求分析为:批发公司准备进货时由进货员制作进货订单,制单时先选择食品,输入食品数量,之后选择食品供应商,最后确认制单。进货的食品到货后仓库员再入库,并对食品数量进行调整,然后财务员付款完成交易。食品订货商予订购食品时,通过电话与批发公司的销售员联系,由销
10、售员制作销售订单,制单时先选择食品、输入数量,之后选择订货商确认制单。制单完成后仓库员发货,发货后对食品数量进行调整,之后销售员送货并收款,最后财务员确认收款完成交易。仓库管理中,对食品库存、食品库存金额进行记录。记录供应商及订货商中消费金额或积分。1.具体任务根据调查分析,该系统完成如下具体任务:(1)系统用户管理:系统用户信息管理、分配系统用户角色。(2)进货订单流程:进货员选择食品,选择供应商,仓库管理员入库,制单员确认完成交易。(3)销售订单流程:销售员选择订货商,选择食品、仓库管理员发货、分销员确认付款、收款员确认收款、交易完成。(4)食品管理:管理食品类别信息、食品品牌信息、食品名
11、称、食品数量和食品单价信息、食品库存(5)订货商管理:用于维护订货商的编号、名称、联系人、地址、电话、积分额度等基本信息。(6)供应商管理:用于维护供应商的编号、名称、地址、电话、消费金额等的基本信息。2.系统用例模型用例模型是面向对象分析与设计的概念模型,一般用于前期的需求研究以及项目范围的控制、功能的分析,主要描述系统用户可以对哪些模块或者子模块进行操作1。根据上面的任务分析,绘制本系统用例模型,本系统的用例模型如图21所示。图21 食品进销存管理系统用例模型第3章 总体设计经过需求分析之后,进入总体设计阶段。总体设计其目标是产生一个模块化的程序结构,根据需求分析阶段的工作,从用例模型得出
12、可行方案,同时确定系统中每个程序由哪些模块组成及其相互关系2。经分析,系统共分为RBAC管理菜单、进货订单管理、销售订单管理、客户管理、仓库管理5大模块。以上各模块按层次划分子模块,每个子模块完成相应功能,且每个子模块具有单独入口单独出口。3.1系统模块设计1.RBAC管理菜单模块包括用户管理一个子模块。实现对系统用户登录账号、密码、用户姓名、性别、激活状态信息进行增加、修改、删除、查询、设置用户角色功能。此模块中封装角色权限。RBAC管理菜单模块功能结构图如图31所示。RBAC管理菜单用户管理图31 RBAC管理菜单模块功能结构图进货订单管理经理操作入库管理进货订单2.进货订单管理模块包括进
13、货订单、入库管理、经理操作三个子模块。进货订单实现创建进货订单、编辑订单、查询个人创建的订单。在创建订单时,进货员先选择食品、输入食品个数,之后选择供应商完成订单的创建。入库管理实现进货订单明细查询、入库确认。经理操作实现所有订单的查看和创建进货订单。进货订单管理模块功能结构图如图32所示。图32 进货订单模块功能结构图3.销售订单管理模块包括订单管理、订单发货管理、确认订单交易、经理操作四个子模块。订单管理实现创建销售订单、修改订单、查询个人订单、确认付款功能。创建销售订单时需要操作员选择食品、输入食品数量,之后选择分销商完成订单创建。订单发货管理实现销售订单查询、发货确认。确认订单交易实现
14、订单检索、确认此订单交易完成。经理操作实现所有销售订单查询、确认订单交易完成。销售订单管理模块功能结构图如图33所示。销售订单管理经理操作订单发货管理订单管理确认订单交易图33 销售订单管理模块功能结构图客户管理订货商管理供应商管理4.客户管理模块包括供应商管理和订货商管理两个子模块。其中供应商管理实现查询供应商、修改供应商信息、新增供应商、删除供应商。订货商管理实现查询订货商、修改订货商信息、新增订货商、删除订货商。客户管理模块功能结构图如图34所示。图34 客户管理模块功能结构图5.仓库管理模块包括食品管理、食品销售记录、食品类别、食品品牌四个子模块。食品管理实现对食品的查询、新增、删除、
15、编辑、食品明细,食品明细实现查询显示该食品的进货订单信息。食品销售记录实现对该食品的销售订单查询。食品类别实现食品类别的查询、新增、修改、删除功能。食品品牌实现食品品牌的查询、新增、修改、删除功能。仓库管理模块功能结构图如图35所示。仓库管理 食品品牌食品销售记录食品管理食品类别图35 仓库管理模块功能结构图3.2 数据库设计数据库系统的使用过程是将现实世界的数据经过人为加工和计算机处理之后,又为现实世界提供信息的过程3。根据前面的分析,对本系统进行如下数据库设计。1.PURCHASEORDERDETAILSID(进货订单详细信息表):用于存储进货订单详细信息,表结构如表31所示。表31 PU
16、RCHASEORDERDETAILSID字段名字段类型长度小数位数是否允许空字段说明PURDETAILSIDNUMBER38否详细进货订单idPURCHASERIDNUMBER38否进货商PRODUCTNUMBER38否食品PRODUCTQUERYNUMBER38否订货数量PRODUCTPRICENUMBER72否食品单价PRODUCTMONEYNUMBER72否订单总价SFRKVARCHAR26否是否入库PURCHASEORDERIDNUMBER38否进货订单编号QRRKYNUMBER38是入库员JHYNUMBER38否进货员JYZTNUMBER38否订单状态2.PRODUCT(食品信息表)
17、:用于存储食品基本信息,表结构如表32所示。表32 PRODUCT字段名字段类型长度小数位数是否允许空字段说明PRODUCTIDNUMBER38否食品idPRODUCTNUMVARCHAR220否食品编号PRODUCTSELLPRICENUMBER72否销售单价PRODUCTSURPLUSNUMBER38是库存量CATEGORYNUMBER38否类别PRODUCTNAMEVARCHAR250否食品名称3.ORDER(销售订单信息表):用于存储销售订单信息,表结构如表33所示。表33 ORDER字段名字段类型长度小数位数是否允许空字段说明ORDERIDNUMBER38否订单idORDERNUMV
18、ARCHAR216否订单编号ORDERTIMEDATE否制单时间ORDERMONEYNUMBER92否订单总价CUSTOMNAMENUMBER38否订货商ORDERACTIVATEVARCHAR26否订单状态ORDERCONSIGNORNUMBER38否发货员PAYMONEYVARCHAR26否是否付款EMPLOYEENUMBER38否制单员ORDERTIMEDELIVERYDATE否发货时间ORDERACTUALCOSTMONEYNUMBER92否实际付款金额PAYMONETEMPNUMBER38否确认收款员JYZTVARCHAR26否交易状态4.ORDERDETAILSID(销售订单详细信
19、息表):用于存储销售订单详细信息,表结构如表34所示。表34 ORDERDETAILSID字段名字段类型长度小数位数是否允许空字段说明ORDERDETNUMBER38否详细订单idORDERNUMNUMBER38否订单编号PRODUCTNAMENUMBER38否食品PRODUCTQUERYNUMBER38否订货数量PRODUCTPRICENUMBER72否食品单价PRODUCTMONEYNUMBER72否订单总价CATEGORYNUMBER38否食品类型BRANDNUMBER38否食品品牌PRODUCTBRANDNUMBER38否食品品牌5.PURCHASEORDER(进货订单信息表):用于存
20、储进货订单信息,表结构如表35所示。表35 PURCHASEORDER字段名字段类型长度小数位数是否允许空字段说明PURCHASEIDNUMBER38否进货订单idPURCHASEIDVARCHAR216否进货订单号PURCHASEMONEYNUMBER92否订单总额PURCHASETIMEDATE否制单时间PURCHASERNUMBER38否进货商PURCHASERACTIVATEVARCHAR26否订单状态PUREMPLOYEENUMBER38否制单员JYZTVARCHAR26否交易状态QUERENEMPNUMBER38否确认人6.EMPLOYEE(系统用户表):用于存储系统用户信息,表结
21、构如表36所示。表36 EMPLOYEE字段名字段类型长度小数位数是否允许空字段说明IDNUMBER38否用户idEIDVARCHAR217否用户登录名ENAMEVARCHAR216-否用户名PASSWORDVARCHAR212-否密码BIRTHDAYDATE否出生日期GENDERVARCHAR2否性别ACTIVATENUMBER1否用户状态VISITDATE6否上次登录时间WORKBIRTHDAYDATE6否入职时间YJNUMBER82是业绩DEPTVARCHAR230否部门ROLEVARCHAR230否角色AUTHVARCHAR230否权限7.PURCHASER(供应商信息表):用于存储供
22、应商的基本信息,表结构如表37所示。表37 PURCHASER 字段名字段类型长度小数位数是否允许空字段说明PIDNUMBER38否供应商idPURNAMEVARCHAR250否供应商名称PURUSERVARCHAR210是联系人PURTELVARCHAR250是电话PURADDVARCHAR2200是地址8.CUSTOMER(订货商信息表):用于存储订货商的信息,表结构如表38所示。表38 CUSTOMER字段名字段类型长度小数位数是否允许空字段说明CUSTOMIDNUMBER38否订货商idCUSTOMNAMEVARCHAR250否姓名CUSTOMTELVARCHAR250是电话CUSTO
23、MADDVARCHAR250是地址JFNUMBER38是积分XYNUMBER3是信用评价9.BRAND(食品品牌信息表):用于存储食品品牌信息,表结构如表39所示。表39 BRAND字段名字段类型长度小数位数是否允许空字段说明BIDNUMBER38否食品品牌idBRANDNAMEVARCHAR250否食品品牌名称10. GATEGORY(食品类别表):用于存储食品的类别,表结构如表310所示。表310 GATEGORY字段名字段类型长度小数位数是否允许空字段说明CATEGORYIDNUMBER38否食品类别idCATEGORYNAMEVARCHAR250否食品类别名称第4章 详细设计4.1 系
24、统登录界面设计系统设计过程中采用了jsp技术,jsp技术是目前企业级应用网络管理系统最流行的技术之一4。登录界面的设计过程是先创建一个名为login.jsp的页面,然后在页面中添加一个表格,在表格中添加两个文本框用于输入用户名和密码,将文本框的id和name属性分别设置为loginname和password,并提供一个登录按钮用于让用户提交表单。在后台,创建个LoginAction的Struts2控制器类,用于处理用户登录,通过struts2功能,取出loginname和password的值,之后把值添加到hql语句中去数据库查询,在LoginAction中设置一个名为error的域成员,用于
25、登录失败时提示用户,如果登录,将用户的id,及用户拥有的权限全部存入到session中,用于权限分配。系统登录界面如图41所示。图41 系统登录界面4.2 系统主界面设计系统主界面是系统用户登录后进入的界面,设计过程是先新建一个名为main.jsp的页面,通过框架对界面进行设计。左面引用的界面为menu.jsp,用于显示当前登录用户名称的标签,及本系统的各个功能模块的入口链接。当用户单击左侧各个功能模块时,架框右则会通过超链接跳转到各自相应的操作界面。系统主界面如图42所示。图42 系统主界面4.3 功能模块设计系统后台设计过程中采用了java语言设计,java语言的优点是一次编译到处运行,可
26、移植能力非常强,只需开发人员在自己的计算机上编译后,在其它计算机上就可以运行5。1.进货订单管理界面进货订单管理界面为purorder/list.jsp。在页面中插入一个表格,用于显示进货订单相应信息,每一行提供“修改”、“完成”和“配置”的超链接按钮以进行相对应操作。后台创建PurchaseOrderAction的Struts2控制器类,该类定义了检索、修改、创建订单、配置订单的供应商功能。条件检索功能由PurchaseOrderAction中的域成员对应检索条件,单击“检索”时ddbh(订单编号)、dddate(制单日期)、wcdate(完成日期)通过struts2进行赋值,之后把值添加到
27、hql语句中去数据库检索,可进行单一条件或多条件检索。系统中进货订单编号是由后台PurOrderAction类完成的,前两位“jh”表示进货订单,之后八位为当天日期,最后四位为当日订单个数。进货订单管理界面如图43所示。图43 进货订单管理界面2.进货订单经理操作界面进货订单经理操作界面为purorder/jlcz.jsp。在页面中插入一个表格,用于显示所有进货订单相应信息,每行提供“修改”、“完成”和“配置”的超链接按钮以进行相对应操作。后台创建PurchaseOrderAction的Struts2控制器类,该类定义了检索、修改、创建订单,配置订单的供应商等。条件检索功能由PurchaseO
28、rderAction中的域成员对应检索条件,单击“检索”时ddbh(订单编号)、dddate(制单日期)、wcdate(完成日期)通过struts2进行赋值,之后把值添加到hql语句中去数据库检索,可进行单一条件或多条件检索。进货订单管理经理操作界面如图44所示。图44 进货订单管理经理操作界面3.进货订单创建界面单击进货订单管理界面中的“创建订单”进入进货订单创建界面。进货订单创建界面为purorder/table.jsp。使用ajax技术实现选择食品,每行提供“删除”按钮,通过ajax技术实现异步刷新,单击“删除”后该行直接删除。单击“保存”按钮,执行PurchaseOrderAction
29、中的save方法,来确认保存订单食品。进货订单创建界面如图45所示。图45 进货订单创建界面4.进货食品选择界面单击进货订单创建界面中的“选择食品”进入进货食品选择界面。进货食品选择界面为purorder/selectTable.jsp。在页面中插入一个表格,表格显示食品的相应信息,通过ajax来传递到进货订单创建界面,并且用PurchaseOrderAction中的productIds域成员来保存食品id,将选过的食品框变为不可选,防止用户重复选择食品。之后通过PurchaseOrderDetailsAction中save方法保存订单。进货食品选择界面如图46所示。图46 进货食品选择界面5
30、.销售订单管理界面销售订单管理界面为order/list.jsp。在页面中插入一个表格,表格显示销售订单相应信息。条件检索功能由OrderAction中的域成员对应检索条件,单击“检索”时ddbh(订单编号)、dddate (制单日期)、wcdate (发货日期)、customId (订货商)、employeeId (发货员)通过struts2进行赋值,之后把值添加到hql语句中去数据库查询,可单一条件伙伴多条件检索。销售订单编号是由后台OrderAction的类完成的,“dd”表示销售订单,之后八位是当天日期,最后四位是当日销售订单个数,在查询时,OrderAction中获取session中
31、的登录id,只查询该id创建的订单。销售订单管理界面如图47所示。图47 销售订单管理界面6.销售订单编辑界面系统设计过程中采用了Ajax技术,其作用是提供网页浏览者与网页内容的交互,并可以进行信息验证,可实现异步刷新页面6。单击销售订单管理界面中的“编辑”进入销售订单编辑界面,销售订单编辑界面为order/table.jsp。在页面中插入一个表格,表格显示销售订单明细信息。当输入购买数量时使用ajax技术自动取出食品单价与食品数量的值并算出所需金额。单击“保存”时通过OrderDetailsAction中的save方法来保存该订单,保存订单时从session中取出该用户id。销售订单编辑界面
32、如图48所示。图48 销售订单编辑界面7.订单发货管理界面订单发货管理界面为dispathorder/list.jsp。在页面中插入一个表格,表格显示销售订单相关信息。上方检索功能由后台DispathOrderAction中的域成员对应检索条件,单击“检索”时ddbh(订单编号)、dddate(制单日期)、custom(订货商)、employee(发货员)、activate(订单状态)、paymoney(付款状态)、wczt(交易状态)条件通过struts2功能自动对其赋值。单击每行订单时,DispathOrderAction的类中的orderList域成员的信息可在其下面显示,再次单击则隐藏
33、。订单发货管理界面如图49所示。图49 订单发货管理界面8.销售订单经理操作界面销售订单经理操作界面为dispathorder/jlcz.jsp。在页面中插入一个表格,表格显示所有销售订单相应信息。上方检索功能由后台DispathOrderAction中的域成员对应检索条件,单击“检索”时ddbh(订单编号)、dddate(制单日期)、custom(订货商)、employee(发货员)、activate(订单状态)、paymoney(付款状态)、wczt(交易状态)、fdate(发货日期)、fxyId(分销员)、skyId(收款员)条件通过struts2功能自动对其赋值。可按单一或多条件进行检
34、索。单击每行订单时,检索其明细在下面显示,再次单击则隐藏。销售订单经理操作界面如图410所示。图410 销售订单经理操作界面9.供应商管理界面供应商管理界面为purchaser/list.jsp。在页面中插入一个表格,表格显示供应商信息。后台使用PurchaserAction类中的add、edit、list、delete等方法来实现对供应商的新增、修改、删除、检索。供应商管理界面如图411所示。图411 供应商管理界面10.新增供应商界面单击供应商管理界面中的“新增供应商”进入新增供应商界面,新增供应商界面为purchaser/edit.jsp。在页面中插入一个表格插入三个文本框,设置其id和
35、name属性,单击“保存”按钮时purchasername(供应商名称)、purchasertel(供应商电话)、purchaseradd(供应商地址)通过struts2的功能赋值,将值传到后台PurchaserAction类中的相对应域成员中,之后用save方法保存供应商。新增供应商界面如图412所示。图412 新增供应商界面11.订货商管理界面订货商管理界面为custom/list.jsp。在页面中插入一个表格,表格显示供应商信息。后台使用CustomAction类中的add、edit、delete、list方法来实现对订货商的新增、修改、删除、检索。订货商管理界面如图4一三所示。图4一三
36、 订货商管理界面12.新增订货商界面单击订货商管理界面中的“新增订货商”进入新增订货商界面,新增订货商界面为custom/edit.jsp。在页面中插入一个表格插入三个文本框,设置其id和name属性,单击“保存”按钮时customname(订货商名称)、customtel(订货商电话)、customadd(订货商地址)通过struts2的功能赋值,将值传到后台CustomAction类中的相对应域成员中,之后用save方法保存订货商信息。新增订货商界面如图414所示。图414 新增订货商界面一三.食品管理界面食品管理界面为product/list.jsp。在页面中插入一个表格,表格显示食品信
37、息。在后台建立ProductAction的类,使用里面的list、add、edit、mingxi、delete方法来实现对食品信息的检索、新增、编辑、明细查询、删除操作。上方检索功能由后台ProductAction中的域成员对应检索条件,单击“检索”时productname(商品名称)、category(食品类型)、brand(食品品牌)、productquery(商品数量)条件通过struts2功能自动对其赋值。可按单一或多条件进行食品检索。食品管理界面如图4一五所示。图4一五 食品管理界面14.食品销售记录界面食品销售记录界面为product/profit.jsp。在页面中插入一个表格,表
38、格显示食品销售信息。单击每行时,在后台使用ProductAction类中的spxiaoshou的方法在该行下方显示该食品的销售订单,再单击则隐藏。上方检索功能由后台ProductAction中的域成员对应检索条件,单击“检索”时productname(商品名称)、category(食品类型)、brand(食品品牌)、pxff(排序方法)条件通过struts2功能自动对其赋值。可按单一或多条件进行食品检索。食品销售记录界面如图416所示。图416 食品销售记录界面一五.员工管理界面员工管理界面为employee/list.jsp。在页面中插入一个表格,表格显示员工信息。在后台使用Employee
39、Action类中的list、edit、save、delete、saverole方法来实现对员工的检索、编辑、保存、删除、设置角色操作。上方检索功能由后台EmployeeAction中的域成员对应检索条件,单击“检索”时empname(员工名)条件通过struts2功能自动对其赋值。最后访问时间是在退出登录的时候通过后台的logoutAction类来修改的。员工管理界面如图417所示。图417 员工管理界面16.员工新增界面单击员工管理界面中的“增加员工”进入员工新增界面,员工新增界面为employee/edit.jsp。单击“新增员工”按钮时通过Employee类中的edit方法弹出该界面。在
40、页面中插入一个表格三个文本框、一个单选按钮和一个select下拉列表,并且分别设置其id和name属性。手动输入用户信息单击“保存”时,通过struts2功能将值传入后台EmployeeAction类中的loginname、password、empname、gender、activate域成员,再调用save方法来保存员工信息。员工新增界面如图4一八所示。图4一八 员工新增界面第5章 测试系统测试的重要性体现在它是保证系统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析、系统设计和系统实现的最终审查。系统测试的对象显然不仅仅是源程序,而应是整个软件,它把系统分析、系统设计、以及程序设计
41、各阶段的开发文档,都作为测试的对象。软件测试不等于程序测试,它是根据软件开发各个阶段的规格说明和程序的内容结构而精心设计的一批测试用例,并利用这些用例去运行程序,以发现程序错误的过程7。单元测试是指程序中的一个模块或一个子程序,是程序运行的最小单元,或是程序最小的独立编译单位。单元测试是软件开发过程中进行的最低级别的测试活动,其目的是要检测程序模块中有无故障。1.创建销售订单测试测试数据:可口可乐的购买数量5,统一绿茶的购买数量不填。测试界面如图51所示。图51 创建销售订单测试界面测试结果:可口可乐购买数量下方提示“此货物购买数量不能大于库存量”,统一绿茶购买数量下方提示“食品个数必须填写”
42、,测试结果与预期结果相符。2.新增用户测试测试数据:所有数据全部正确填写、全部不填写或部分填写。测试结果:所有数据全部正确填写后单击“提交”可以成功新增加一新用户,全部不填写或部分填写不能成功增加用户,并给出相应的提示信息,与预期结果相符。数据均不填写的测试界面如图52所示。图52 新增员工测试界面3.用户登录测试测试数据:填写正确用户名和密码,错误用户名和错误密码。测试结果:正确时点击登录,进入系统主界面。用户名密码错误时,密码下方提示“登录失败”。登录失败提示界面如图53所示。图53 登录失败提示界面本系统对所有模块都进行了单元测试,经测试各模块均可以完成预期的相应功能。总 结短暂的毕业设
43、计结束了,我在这次设计过程中实现了对过去所学知识的回顾、总结和应用。本管理系统能够实现数据的输入、查询、修改、删除、统计等功能,能够追朔到数据的始终,完成了食品进销存管理系统从需求方面的开发和应用,达到预期的目的。不可否认,该系统的功能还不完善,仍存在许多的缺点和不足,例如,在计算利润时,是以平均价格来进行计算利润,用库存金额除以库存数量,之后用售出单价减去平均进价来计算,正规方法应该是在食品进货订单中加标注,卖出的食品到相对应的进货订单中检索出进货价格,进行计算利润;还有用户部门没有进行分配,这个缺点是在需求分析时没有写进去,之后总体设计的时候也没有考虑到,导致用户没有部门的缺陷,但是此缺陷
44、可以在今后升级中修复;另外在选择供应商时候,应该可以查询出该供应商都能供应哪些食品,这个缺陷是当时调研时未考虑到,经过老师指点才发现的,此缺陷也可在升级程序过程中修复。参考文献1 张俊兰,王文发,冯伍,软件工程(第一版)M,西安:西安交通大学出版社,(2009):41442 刘竹林,软件工程案例开发与实践M,北京:清华大学出版社,(2009):2629 3 王立福,数据库系统概论(第三版)M,北京:北京大学出版社,(2009):894 刘晓华,JSP应用开发详解 M,北京:电子工业出版社,(2007):75 赵毅,跨平台程序设计语言Java M,西安:西安电子科技大学出版社,(2006):一五6 阮文江,Ajax 程序设计应用 M,北京: 人民邮电出版社,(2010):356-3597 宫云战,软件测试教程 M,北