挖掘机配件营销中心销售系统的设计与实现(开题报告+论文+PPT+源码)

开题报告

论文(设计)题目 华柳挖掘机配件营销中心销售系统的设计与实现
学生姓名 专业 计算机科学与技术 指导教师
选题目的和意义:随着经济的发展和中国汽车市场的不断扩大,汽车款式的不断更新,零配件种类也在不断的增多,如配件分类管理混乱,靠人工记忆容易出现错误,而且对库存情况难以统计。在销售汽车配件的同时,由于工作量的增加和业务更加细化,以往的人工处理方式难免会在业务方面及财务方面出现漏洞,而现在各类销售管理系统是逐步走向成熟,它的投入使用可以减轻汽车配件企业各部门工作人员的劳动强度,提高其工作质量和效率。便于财务统计与销售人员的业务追踪。 山西华柳挖掘机配件营销中心是以挖掘机配件为主的销售中心,由于没有一个完整的销售管理系统,所以对于配件的分类以及库存情况和客户的信息管理,难以统计,只能靠人工记忆,因此该系统的好处在于可以将不同类型的配件进行分类管理,可以及时查看库存信息和客户信息,使员工在提高工作效率的同时也提高了工作质量。
与本课题相关的技术和方法综述:系统采用AngularJS开发技术,以JDK1.6为开发工具,以Tomcat为服务器以MySql作为后台数据库开发工具。AngularJS技术简介 AngularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。AngularJS 是一个为动态WEB应用设计的结构框架。它能让你使用HTML作为模板语言,通过扩展HTML的语法,让你能更清楚、简洁地构建你的应用组件。它的创新点在于利用数据绑定和依赖注入,它可以使你不用再写大量的代码。这些全都是通过浏览器端的Javascript实现,这也使得它能够完美地和任何服务器端技术结合。JDK1.6简介JDK(Java Development Kit)是Sun Microsystems针对java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。MySql简介MySql是一个小型关系型数据库管理系统,开发者为瑞典MySql AB公司。在2008年1月16号被Sun公司收购,而2009年,Sun又被Oracle收购。MySql是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySql的SQL为“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySql软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是具有开放源码这一特点

开题报告

主要设计内容:本系统有三大模块:销售管理模块、库存管理模块和用户管理模块。库存管理模块包括:库存查看,在客户进行咨询或者需要购买的时候可以通过库存查询知道当前库存中有没有货。配件信息管理,管理系统中所有的配件信息。配件进货,对库存更新,增加配件的库存。销售管理模块包括配件销售,对配件进行销售。配件退还,用户不满意或者在退换期内可以进行配件退还操作。利润统计,对系统中销售的利润进行统计和查看,也可以导出EXCEL。用户管理模块包括:员工信息管理,该部分包含管理员、普通员工的信息。客户信息录管理,该部分可以管理销售系统中所有买过配件和咨询过的客户信息,方便后期进行跟踪记录和回访等。
设计的环境、方法及措施:硬件环境:CPU:2.0GHz及以上。内存:2GB及以上软件环境:(1)系统软件:操作系统为Windows 2000及以上;(2)开发软件:Tomcat,MySql,PhotoShop等 (3)后台数据库:MySql数据库; 方法措施: ①用户需求分析; ②进行数据库分析,画出E-R图,设计数据库; ③构建程序模块图,根据模块图建立程序主体与框架; ④设计并实现各模块功能; ⑤链接程序与数据库,调试运行; ⑥多次测试,直至程序稳定运行。
指导教师意见及建议:签字: 年 月 日

注:1. 此表由学生填写后交指导教师签署意见,否则不得开题;此表作为毕业论文(设计)评分的依据。 2. 学生填写部分可以用电脑输入,教师填写部分必须手填。

 

1引言11

2开发工具及技术22

2.1JSP简介22

2.2MYSQL介绍22

2.3SQL语句22

2.4AngularJS技术22

3需求分析22

3.1功能需求分析22

3.2可行性分析33

3.3数据库需求分析33

4总体设计55

4.1功能模块设计55

4.2数据库逻辑结构设计55

5详细设计66

5.1数据库的详细设计66

5.2界面的详细设计77

5.3个人信息模块设计88

5.4员工管理模块设计99

5.5配件管理模块设计99

5.6进货模块设计1111

5.7配件销售模块设计1212

5.8退货模块设计1515

5.9数据统计模块设计1616

6系统测试1717

6.1测试目的1717

6.2测试方法说明1717

6.3测试用例设计1717

6.4系统测试1818

6.5测试结果分析1818

7结论1818

参考文献1919

华柳挖掘机配件营销中心销售系统的

设计与实现

摘要:伴随着中国发展,各个城市的建设速度也快得惊人,随之而来的挖掘机的使用当然是必不可少的,接踵而至的商机也不言而喻,各类零配件的种类也多起来。随着工作量和业务的更加精细化,之前的人工处理方式在业务和财务方面难免出现漏洞,由于现在各类销售系统已逐步走向成熟,因此它的投入使用可以减轻企业员工的劳动强度,提高员工工作效率的同时又方便财务的统计。

本次的华柳挖掘机配件营销中心销售系统主要采用了JSP语言来进行来开发,所设计的功能有包括库存管理、销售管理、用户管理和查询统计等。从需要分析出发,先进行分析再进行程序开发,完成后的系统界面美观,功能完善,会给华柳企业带来非常大的方便。

关键词:配件 挖掘机 销售 管理系统

  1. 引言
    大家都有目共睹,现在的科学技术发展很迅速。而如今,计算机应用已经完全融入到人们的生产和生活当中,特别是企业,现在的企业几乎都是离不开计算机管理的,文档的编辑、图片的制作、表格的统计等等。而另一方面,人们越来越喜欢使用计算机进行信息管理,方便而又快捷。互联网时代的到来,人们获取信息的渠道已不仅仅是报纸或者电视,而是一些高科技电子产品,如手机、电脑等设备。现在的网络购物也特别火热,转而实体店的生意已经越来越不好做。现在,优先利用信息系统的企业,就会在市场中占有绝对的优势。利用信息系统,不仅可以强化管理企业,还可以有效地维护客户信息,扩大经营范围。
    本次毕业设计的课题是华柳挖掘机配件营销中心销售系统,那么首先给大家介绍一下课题背景。据统计,美国是使用信息管理最早的国家,现在80%的管理基本上都是由计算机来完成。可见随着互联网时代的到来,信息管理已成为计算机行业的核心地带。目前我国是挖掘机大国,各个地方都会使用到挖掘机,因此挖掘机配件的生产厂商已不下千家。并且现在我国挖掘机配件的需求量也在增长,整个挖掘机配件行业的竞争还是很激烈的。对于部分配件公司来说,要想在这个领域争得一个席位,那么就一定要与社会相接轨,跟上社会的进步。再谈谈挖掘机配件的业务模式,由于配件本身种类多、维护繁琐,以前都是由人工来对这些进行管理,在时间和人力的成本上投入都比较大。如果运用信息管理系统就完全可以轻松完成这些工作,节约人工成本。并且运用计算机对于企业来说它带来的优势是不言而喻的,比人工更高效,更便于管理,更快捷与透明化。信息管理系统的投入使用,给企业带来极大的便捷的同时也提高了员工的工作质量。因此,挖掘机配件营销中心销售系统的开发是非常有必要的。开发本系统主要解决的问题就是对于配件的管理及配件的销售。这是两个核心部分。我将利用JSP语言与MySQL数据库一起来进行实现。
  2. 开发工具及技术
    华柳挖掘机配件营销中心销售系统是通过myeclipse这款开发工具实现的。环境的搭建采用的是JSP+JDK1.6+TOMCAT6.0+MySQL。服务器是Tomcat,JDK是java所必备的开发环境虚拟机,MySQL是该系统所使用的数据库。
    1. JSP简介
      JSP发展很久了,很多方面都已经非常的完善了。Jsp的全称是JAVA SERVER PAGER,也就是说可以在页面上运行java程序。它的扩展性非常的好。
    2. MYSQL介绍
      Mysql作为数据是一款非常清凉的数据库了。它的占用空间很小,5.0的版本只有区区不到30M。Mysql虽然很小,但他的性能却很好,能很效率的实现关系的查询等操作。使用的时候我们会基于一些第三方插件来对他进行管理,例如sqlyog、navicat等等软件。
    3. SQL语句
      SQL语句作为我们使用mysql数据的基本语句和语法。SQL语句包含增、删、改、查等等基本功能,使用这些命令能完成对数据库的绝大多数数据库操作。
    4. AngularJS技术
      AngularJS 诞生于2009年,它有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。

  1. 需求分析
    “需求分析”,就是分析客户的需求。我们的对象就是使用这个网站的客户,我们要分析的就是她们要使用这个网站想要哪些功能,为她们提供哪些方面的便利。界面怎么设计他们最方便,以前我们要开发这个程序所要涉及到的一些经济等方面的可行性。这就是需求分析。
    1. 功能需求分析

挖掘机配件销售管理系统是根据挖掘机配件销售的过程来分析该系统,系统分为三大模块。

库存管理模块包括:

  1. 库存查看,在客户进行咨询或者需要购买的时候可以通过库存查询知道当前库存中有没有货。
  2. 配件信息管理,管理系统中所有的配件信息。
  3. 配件进货,根据实际情况,及时更新库存,扩大配件的供应量,增加库存。

销售管理模块包括:

  1. 配件销售,对配件进行销售。
  2. 配件退还,用户不满意或者在退换期内可以进行配件退还操作。
  3. 利润统计,对系统中销售的利润进行统计和查看,也可以导出EXCEL。

用户管理模块:

  1. 员工信息管理,该部分主要包含管理员和普通员工的信息。

(2)客户信息录管理,该部分主要管理系统中所有的新老客户信息,方便后期进行跟踪记录和回访等。

  1. 可行性分析
    (1)技术可行性
    分析技术的可行性,首先需要介绍的是开发这个系统我所用到的技术。本次用到的开发技术为JSP,JSP相信大家不会陌生,现在它已经非常成熟运用率非常高,现在市场上很大一部程序都是运用这个系统来进行开发的。并且我们在大学所学过JSP技术,图书馆也有很多关于JSP技术的资料,所以在开发技术上来说是非常可行的。
    (2)经济可行性
    这个程序的资金投入不会太多,前期由于是作为毕业设计,所以由我一个人开发就可以完成,在硬件方面,本人有电脑,所以也不用再单独去购买设备,开发这个系统所涉及到的软件很多也都是可以直接从网上下载,都是免费的,所以它目前不会需要太多的资金,如果后期运用到市场上要开发这样一个系统,运用到的费用也不会太多,算上网站域名和服务器等等的价格,一年可能几千元就能解决。所以综合以上分析,这个系统的经济方面也是可行的。
    (3)操作可行性
    在一开始的性能分析里面我们有提到系统界面的设计要做到精美并简洁,设计完成的系统也做到了这一点,整个系统的界面非常直观,各个模块的设计也非常清楚,用户登录系统可以非常容易找到他所想了解的模块,并且对于后台来说,只需要管理员会基本的电脑操作就完全可以维护系统了,所以在操作方面来说也遇非常可以行。
  2. 数据库需求分析

本系统涉及到的实体有:订单详情、配件类型信息、配件信息、配件库存信息、订单明细信息、用户信息等。

  1. 订单详情实体E-R图如图1所示:
    图1 订单详情实体E-R图
  2. 配件类型实体E-R图如图2所示:
    图2 配件类型实体E-R图
  3. 配件信息实体E-R图如图3所示:
    图3 配件信息实体E-R图
  4. 配件详情实体E-R图如图4所示:
    图4 配件详情实体E-R图
  5. 用户信息实体E-R图如图5所示:
    图5 用户信息实体E-R图
  6. 订单实体E-R图如图6所示:

图6 订单实体E-R图

  1. 总体设计
    总体设计即是对相关系统进行整体布局的设计,也就是对设计相关系统总的一个处理方案,又称系统概要设计。
    此次系统的总体设计包括功能模块设计和数据库逻辑结构设计。
    1. 功能模块设计
      本系统用户主要分普通员工和管理员,管理员主要是增加了一些管理操作,普通员工主要是面向客户的操作。其主要模块包括:配件销售、配件退还、库存查看、客户信息录入、用户管理、配件类型管理、配件信息管理、库存更新和利润统计。
      系统功能模块图如图7所示:


图7 系统功能模块图

    1. 数据库逻辑结构设计
      本系统选用的数据库管理系统为MySql数据库管理系统,MySql数据库为关系型数据库[1]。
      根据规则,将数据库的概念结构设计转换为的关系模式如下:
      配件信息(ID,名称,价格,数量,备注,生产地址,联系电话,类型);
      配件详情(ID,数量,配件,生产日期,过期日期,编号,价格);
      订单详情(ID,编号,数量,价格,订单);
      订单信息(ID,金额,用户,备注,时间,角色);
      用户信息(ID,用户名,密码,姓名,电话,性别,角色);
      配件类型(ID,类型名称);

  1. 详细设计
    该销售系统的详细设计包括以下内容:数据库的详细设计、界面的详细设计、个人信息模块设计、员工管理模块设计、配件管理模块设计、进货模块设计、配件销售模块设计、退货模块设计、数据统计模块设计。
    1. 数据库的详细设计
      本系统使用的数据库管理系统为MySQL,数据库中共有6个表,各表说明如下:
      表1 订单信息表
列名 数据类型 允许空 说明
Id int(11) ID
Money double(200) 金额
Fkuid int(11) 用户
Remaerk text(25) 备注
Otime varchar(200) 时间
Status int(11) 角色

表2 配件信息表
表3 配件详情表

列名 数据类型 允许空 说明
Id int(11) ID
Pname varchar(100) 名称
Price double(100) 价格
Pcount int(11) 数量
Remark text(100) 备注
Address varchar(100) 生产地址
Phone varchar(100) 联系电话
Typeld int(11) 类型
列名 数据类型 允许空 说明
Id int(11) ID
Pdcount int(11) 数量
Fkpid int(11) 配件
starTime varchar(100) 生产日期
endTime varchar(11) 过期日期
Pno varchar(11) 编号
Price double(100) 价格

表4 订单详情表
表5 用户信息表

列名 数据类型 允许空 说明
Id int(11) ID
Pno varchar(100) 编号
Pcount int(11) 数量
Price double(100) 价格
Fkoid int(11) 订单
列名 数据类型 允许空 说明
Id int(11) ID
Username varchar(11) 用户名
Password varchar(11) 密码
Nickname varchar(100) 姓名
Phone varchar(11) 电话
Sex varchar(11) 性别
Status int(11) 角色

表6 配件类型表

    1. 界面的详细设计
列名 数据类型 允许空 说明
Id int(11) ID
Typename varchar(11) 类型名称


整个系统的界面需要达到整洁、各主体良性交流与互动的要求。

      1. 登录界面设计


图8 登录界面
登录界面是打开本系统的初始界面,界面上有用户、密码、验证码3个输入框,输入信息后点击登录会由程序进行验证。

      1. 系统主界面设计
        通过登录页面登录后系统会自动跳转到系统的主界面的个人资料页面,以下是权限为管理员的操作登录的主界面图例。如图9所示。


图9 后台主界面
后台主界面采用的是左右布局,左边是我们的菜单栏,右边则是我们的内容页,通过frameset框架进行加载展示。界面是模仿windowsXP文件管理的样式,看起来非常好看。

    1. 个人信息模块设计
      1. 个人中心
        在系统主界面点击左侧操作栏中的“我的资料”就可以进入该页面,个人中心可以修改个人资料。程序效果图如图10所示。


图10 个人中心

      1. 修改密码
        用户在系统主界面点击左侧操作栏中的“修改密码”进入该页面,该页面可以修改用户密码。在修改密码的时候angularjs会通过表单验证用户输入的信息是否符合标准。如图11所示。


图11 修改密码

    1. 员工管理模块设计
      1. 员工管理
        在系统主界面点击员工管理模块下的“员工管理”链接后,右边的内容页就会展示出员工管理列表,该列表通过angularjs的http.get方法进行获取列表数据,通过返回的json数据进行解析然后利用静态分页的原理展示到页面上。在页面上可以根据姓名和角色来进行数据过滤,数据过滤采用的anguljs的filter。程序效果图如图12所示:


图12 员工管理界面

      1. 员工添加
        在系统主界面点击员工管理模块下的“员工添加”链接后,右边的内容页就会展示出员工添加界面。在员工添加界面需要输入各种不同的信息,输入完成之后点击添加按钮表示员工添加成功,该页面如图13所示。


图13员工添加

    1. 配件管理模块设计
      1. 配件类型管理
        在系统主界面点击配件管理模块下的“配件类型管理”链接后,右边的页面就会显示出配件类型管理列表。该界面也是采用的angularjs的数据获取以及静态分页效果,同时使用了bootstrap的分页样式表,程序效果图如图14所示。


图14配件类型管理

      1. 配件管理
        在系统主界面点击配件管理模块下的“配件管理”链接后,右边的页面就会显示出配件管理列表。该界面也是采用的angularjs的数据获取以及静态分页效果,同时使用了bootstrap的分页样式表。在界面上可以根据配件类型、配件名称进行filter过滤,同时可以导出表格中的数据为excel。程序效果图如图15所示。


图15配件管理

      1. 配件添加
        在配件管理界面点击“添加配件”按钮进入配件添加页面。界面上需要填入配件名称、配件类型、销售价格、备注、生产厂家、厂家电话,表单验证采用的是angularjs的表单验证,信息输入无误后点击添加表示添加成功。程序效果图如图16所示。


图16配件添加

      1. 库存明细
        在配件管理界面可以点击每一行后面的库存明细查看进行浏览该配件的库存明细。也可以点击配件管理模块下面的库存明细,这里是展示所有的配件配件库存,可以根据配件编号和配件进行数据过滤。程序效果图如图17所示。


图17库存明细

    1. 进货模块设计
      1. 填写进货单明细
        在系统主界面点击进货管理模块下的“填写进货单”链接后,右边的页面就会显示出进货单明细添加页面,依次输入进货数量、配件、生产日期、进价信息,点击添加即可完成进货。程序效果图如图18所示。


图18填写进货单明细

      1. 本次进货单明细查看
        在上一步填写进货单明细后会自动跳转到进货单明细查看界面,该界面可以查看本次进货单所有的配件明细。程序效果图如图19所示。


图19本次进货单明细

      1. 进货单登记
        确认本次所有的进货单明细都填写完毕后,点击进货管理模块下的“进货单登记”链接,右侧内容页会展示出当前进货单的总价,输入备注后点击添加按钮即可完成本次进货单登记的流程。程序效果图如图20所示。


图20进货单登记

      1. 进货单查看
        在系统主界面点击配件管理模块下的“进货管理”链接后,右边的内容页就会展示出进货单管理列表,列表中会展示出所有的进货单,可以根据创建时间进行数据过滤。每一条进货单记录右边有查看明细按钮,点击该按钮可以查看该进货单的进货明细数据。程序效果图如图21,22所示。


图21进货单查看


图22进货单明细

    1. 配件销售模块设计
      1. 配件销售设计
        在系统主界面点击出货管理模块下的“配件销售”链接后,右边的内容页就会展示出配件销售界面。在该销售界面需要填入配件编码和数量,如果不填的话angularjs会进行红色字体提示。填好后点击“添加”按钮,程序会使用angularjs的$http.get函数去后台进行查询,如果编码不对则会提示“没有该编码对应的配件”,如果输入的数量超过了库存则会提示“该配件库存不足了”,添加成功后会调用angularjs的列表刷新函数刷新我们下方的销售列表。需要销售的配件添加完后点击“结账”按钮进行结账,程序会计算该批次销售的配件的总额。程序效果图如图23所示。


图23网站公告列表
配件销售核心代码如下:
<script type="text/javascript">
var contentApp = angular.module('myApp', []);
contentApp.controller('myContent', function($scope, $http) {
$scope.delx = function($index){
if($index>=0){
$http.get("orderDetailDel.do?id="+$index).success(function(response) {
$scope.loadInfo();
});
}
}
//添加配件
$scope.addOrderDetail = function(){
if ($scope.loginForm.$valid) {
$http.get("angularOrderDetailInsert.do?pno="+$scope.pno+"&pcount="+$scope.pcount).success(function(response) {
var obj = angular.fromJson(response.result);
if(obj.status=="nocount"){
alert("该配件库存不足了");
}else if(obj.status=="nopno"){
alert("没有找到该编码的配件");
}else if(obj.status=="error"){
alert("系统内部错误");
}else{
$scope.loadInfo();
$scope.pno = "";
$scope.pcount = "";
$scope.loginForm.pno.$dirty = false;
$scope.loginForm.pcount.$dirty = false;
}
});
} else {
$scope.loginForm.pno.$dirty = true;
$scope.loginForm.pcount.$dirty = true;
}
}

$scope.loadInfo = function(){
$http.get("angularSellList.do").success(function (response) {
var obj = angular.fromJson(response.result);
//数据源
$scope.data = obj;
//分页总数
$scope.pageSize = 5;
$scope.pages = Math.ceil($scope.data.length / $scope.pageSize); //分页数
$scope.newPages = $scope.pages > 5 ? 5 : $scope.pages;
$scope.pageList = [];
$scope.selPage = 1;
//设置表格数据源(分页)
$scope.setData = function () {
$scope.items = $scope.data.slice(($scope.pageSize * ($scope.selPage - 1)), ($scope.selPage * $scope.pageSize));//通过当前页数筛选出表格当前显示数据
}
$scope.items = $scope.data.slice(0, $scope.pageSize);
//分页要repeat的数组
for (var i = 0; i < $scope.newPages; i++) {
$scope.pageList.push(i + 1);
}
//打印当前选中页索引
$scope.selectPage = function (page) {
//不能小于1大于最大
if (page < 1 || page > $scope.pages) return;
//最多显示分页数5
if (page > 2) {
//因为只显示5个页数,大于2页开始分页转换
var newpageList = [];
for (var i = (page - 3) ; i < ((page + 2) > $scope.pages ? $scope.pages : (page + 2)) ; i++) {
newpageList.push(i + 1);
}
$scope.pageList = newpageList;
}
$scope.selPage = page;
$scope.setData();
$scope.isActivePage(page);
console.log("选择的页:" + page);
};
//设置当前选中页样式
$scope.isActivePage = function (page) {
return $scope.selPage == page;
};
//上一页
$scope.Previous = function () {
$scope.selectPage($scope.selPage - 1);
}
//下一页
$scope.Next = function () {
$scope.selectPage($scope.selPage + 1);
};
});
}
$scope.loadInfo();
});
</script>

      1. 出货单管理
        在系统主界面点击出货管理模块下的“出货单管理”链接后,右边的内容页就会展示出出货单管理列表,列表中会展示出所有的出货单,可以根据创建时间进行数据过滤。每一条出货单记录右边有查看明细按钮,点击该链接可以查看该出货单的出货明细数据。程序效果图如图24所示。


图24出货单管理

    1. 退货模块设计
      1. 配件退货设计
        在系统主界面点击退货管理模块下的“配件退货”链接后,右边的内容页就会展示出配件退货界面。在该退货界面需要填入配件编码和数量,如果不填的话angularjs会进行红色字体提示。填好后点击“添加”按钮,程序会使用angularjs的$http.get函数去后台进行查询,如果编码不对则会提示“没有该编码对应的配件”,添加成功后会调用angularjs的列表刷新函数刷新我们下方的退货列表。需要退货的配件添加完后点击“退货”按钮进行统一退货。程序效果图如图25所示。


图25配件退货

      1. 退货单管理
        在系统主界面点击退货管理模块下的“退货单管理”链接后,右边的内容页就会展示出退货单管理列表,列表中会展示出所有的退货单,可以根据创建时间进行数据过滤。每一条退货单记录右边有查看明细按钮,点击该按钮可以查看该出货单的退货明细数据程序。效果图如图26所示。


图26退货单管理

    1. 数据统计模块设计
      1. 进货统计
        在系统主界面点击统计管理模块下的“进货统计”链接后,右边的内容页就会展示出进货统计的数据列表。程序效果图如图27所示。


图27进货统计
进货统计的核心代码其实就是sql语句,其核心代码如下:
String sqlString = "select c.pname,sum(a.pcount) as allcount,sum(a.price*a.pcount) as allprice from t_OrderDetail a left join t_ProductDetail b on a.pno=b.pno left join t_Product c on b.fkpid=c.id left join t_Order d on a.fkoid=d.id where a.id<>0 ";
if (null != map.get("status")) {
sqlString = sqlString + " and d.status = '" + map.get("status")+ "'";
}

sqlString = sqlString + " group by c.pname";
Query query = ht.getSessionFactory().getCurrentSession()
.createSQLQuery(sqlString);
query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);

      1. 出货统计
        在系统主界面点击统计管理模块下的“出货统计”链接后,右边的内容页就会展示出出货统计的数据列表。效果图如图28所示。


图28出货统计

  1. 系统测试
    1. 测试目的
      每一个项目的最后都要经过反复无数次的测试才能放心的投入使用。通过测试我们可以了解到系统存在哪些不足,哪些功能还不能够实现,哪些性能还可以再优化。其实在程序开发的过程中,我们一般也是边写程序边测试的,每做完一个模块,就会刷新页面看是否能实现,这也叫测试。测试的目的就是为了更好的呈现系统,使系统达到我们的预期效果。
    2. 测试方法说明
      当然 ,测试的方法有很多种,在大学的课程中,我们听到的最多的就是白盒和黑盒测试,下面对这两种方法进行说明:
      黑盒测试是在程序接口进行的测试,它只检查程序是否能适当的接收输入的数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。黑盒测试又称为功能测试[9]。
      白盒测试法和黑盒测试法相反,它的前提是可以把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理算法。白盒测试又称为结构测试[10]。
    3. 测试用例设计
      本次介绍的用例是验证用户名和密码错误时,系统是否提示并阻止登录。如果说登录功能都有问题的话,那后面的大块功能则无法正常使用,所以我们进行了这个测试用例的设计。测试表如表7所示。
      表7 用户名密码错误的测试用例
用例名称 用户名密码错误的测试用例 用例标识 YL-01
用例说明 验证用户名和密码输入错误,系统是否自动提示错误。
操作过程
序号 输入及操作说明 期望的测试结果 实际结果 备注
1 输入用户名admin 可在文本框中显示输入内容 可在文本框中显示输入内容
输入密码000 可在文本框中显示输入内容 可在文本框中显示输入内容
点击“登录”按钮 登录失败,系统弹出“用户名或密码错误”的提示框 登录失败,系统弹出“用户名或密码错误”的提示框
前提和约束 系统能成功打开并显示登录页面
过程终止条件 登录成功或者登录失败
结果评价标准 登录失败,并弹出信息提示框
设计人员 设计日期 2017年04月20日
    1. 系统测试
      1. 功能测试
        (1)对用户登录模块的功能测试。用户首先进行登录,登录的时候需要验证用户,每个员工都有自己对应的用户名和密码,只有当用户名和密码都正确时才能登录成功。用户登录时还会有验证码,验证码为2个数字,随机给出。
        (2)数据删除测试。点击删除按钮时可以删除数据,
        (3)数据编辑测试。点击编辑按钮时可以修改相关数据,
      2. 页面交互测试
        经过页面交互测试,华柳挖掘机配件营销中心销售系统中的所有功能都可以按照要求链接到应当跳转的页面。
      3. 系统性能测试
        在稳定性方面,采用多人多次登录该系统的方式,每次登录后进行用户及简单应用的扫描,等全部功能的测试。经过多次测试,系统功能总体比较稳定,但由于环境限制,无法测试更多。

    1. 测试结果分析
      通过不断的对每一个模块进行测试,还是发现了一些问题,比如有时候提示404,进入不了页面,有时候按钮点击没反应,在发现这一些错误和漏洞后,会及时将这些错误加以修改,并且这些问题解决之后,再对系统进行集成测试。测试结果表明系统可以达到所需要求,各部分测试都能达到理想状态。其实不光是最后的测试,在系统的开发过程中,我也边开发边测试,只要做好了一个功能,都会运行看看,如果有错误就及时修改。通过对这些错误的修改,发现更多的错误来源于对语法的理解不够透彻,所以在以后的开发过程中会尽量避免类似的错误。

  1. 结论

经过数月程序的开发学习,我把以前在课堂上所学的知识都运用在了系统上,且对数据库也进行了系统的研究,终于完成了我的毕业设计华柳挖掘机配件营销中心销售系统。经过测试,网站已经全部实现了一开始所设计的所有功能,如注册登录、重置密码、销售管理、配件管理和查找统计等。系统性能良好,运行正常,具有较强的可移植性和安全性。通过对华柳挖掘机配件营销中心销售系统的开发,体会了一次完整的项目开发后,使得我对软件开发有了更加真实的感受。

论文一开始从管理系统的现状出发,再结合目前挖掘机配件销售市场的情况,总结出目前开发这个系统的必要性与它能起到的实际作用。然后通过做需求分析,从多个方面来剖析开发这个系统需要做哪些前期准备,也罗列出了自己的需求分析细节。再次向大家介绍了整个系统的结构,以及数据库怎么设计表的,以及具体到每张表的字段设计。然后再介绍个整个系统的实现,通过各个模块截图的方式向大家进行了展示。最后是测试结果。系统虽然已经完成,但是还是有很多不完善的地方,这在以后还需要继续进修与学习,一开始我根本不知道从哪方面下手,在纠结之际,多亏了我的指导老师和同学,在他们的帮助下,我开始有了方向,着手进行项目的开发。在项目开发的过程中,我也遇到了很多难题,不过通过我的不断探索,在图书馆查询资料最终一一解决。通过这次毕业设计,我发现要开发一个程序不是一个简单的事情,它所涉及到的知识有很多,需要不断的学习。当然这个系统也还有很多不足的地方,在系统的界面方面还可以多设计,让整个界面系统可以更美观。

参考文献

[1]肖金秀.JSP程序设计教程[M].冶金工业出版社,2003.9.

[2]施伯乐等.数据库实用教程(第二版).清华大学出版社 2003.11.

[3]史济民 顾春华等.软件工程——原理、方法与应用(第二版).高等教育出版社,2002.12.

[4]飞思科技产品研发中心.JSP应用开发祥解(第二版).电子工业出版社,2004.01.

[5]王国立、李国立等.JSP数据库系统开发完全手册.人民邮电出版社,2006.03.

[6]林杰斌,刘明德.MIS管理信息系统:交叉与发展[M].北京:清华大学出版社,2006.

[7]卫红春,方明.信息系统分析与设计[M].西安:西安电子科技大学出版社,2003,

[8]王克宏,郝建文.Java技术教程(基础篇) [M] .北京:清华大学出版社,2002,

[9]David Flanagan著,林剑、王宇飞译.Java实例技术手册[M].北京:中国电力出版社,2005.

[10]汤化平.SQL Server实训教程[M].北京:清华大学出版社,2005.

Design and Realization of Sales System of Hua Liu 's Excavator Parts Marketing Center

Abstract: Along with the development of Chinese, each city construction speed is faster, the use of the excavator is of course essential, the ensuing opportunities are self-evident, the kinds of various accessories are also many. With the workload and the business is more refined, artificial processing before inevitably in the business and financial aspects of a loophole, because now all kinds of sales system has been gradually mature, so it can be put into use to reduce the labor intensity of employees, improve work efficiency and convenient financial statistics.

In the whole system development process, the use of the basic concepts of software engineering, related technologies and methods. And the use of the system life cycle of the structured programming method, which will be the entire system development stage (demand analysis, system design, basic realization) of the basic activities throughout.

Key Words:Accessories; excavator; sales management system

猜你喜欢

转载自blog.csdn.net/m0_66999594/article/details/128665951