Java开发进销存管理系统

本文主要讲解如何一步步搭建自己的系统框架及系统实现,分享下自己的心得。

一、系统展示

1. 登录页面

2. admin登录后的主页

3. 菜单管理

4. 角色管理>新增角色

5. 用户管理

6. 添加商品

7. 仓库管理

8. 供应商管理

9. 采购订单管理

10. 采购订单导出

11. 库存查看

12. 采购统计

二、系统需求分析

上面简单的展示了完成后的系统测试截图,你可以下载war包部署到自己的tomcat上看,下面开始进入正文。

开发一个(简单)系统,我想首要做的就是进行系统需求分析,弄清楚你为什么要做这个系统,这个系统有哪些功能模块,每个功能具体实现些什么功能。

我的主要想法是以开发这套进销存管理系统为例,详细说明一个系统从确认需求、技术选型、架构设计、系统实现到测试部署的整个开发过程。综合运用自己平时所学的知识、技术,及实习获得的经验等,去完整且较好的实现一个系统。搭建一个基础系统框架,形成一定规范,以后在此基础上做开发,可以省去很多诸如搭建框架、加入依赖、配置等工作。

这次开发所做的主要工作及意义如下: 

  1. 学会站在用户的角度分析用户需求,完成需求分析设计等。
  2. 熟练使用各种类相关开发、设计工具,及开源软件。
  3. 熟练掌握Spring+SpringMVC+Hibernate+ExtJs的开发技术。
  4. 熟练使用maven构建工具。
  5. 站在企业的角度,试着搭建自己的一个底层基础框架。
  6. 建立完整的燃气管进销存管理系统,进行测试并分析结果。
  7. 将系统部署到互联网上,以实现真正的web应用。

1. 问题分析

首先,对系统进行需求分析,首先需要了解的就是什么是进销存系统,进销存系统也称为供应链管理系统,最基本的内容就是采购、库存、销售、退货管理。进销存系统是对企业生产经营中采购、入库、销售进行跟踪管理,从采购单开始,到商品入库,商品销售出库,每一步都跟踪记录。有效解决企业的分销管理等业务问题。那么燃气管进销存系统有何不同呢,其实进销存系统已经具备了一般商品的进销存功能,燃气管就是一种商品。以此为出发点,开始着手设计系统功能模块。

2. 系统模块结构

系统分为6大模块,分别是基础设置、采购管理、销售管理、库存管理、统计分析、系统管理。系统设置的角色有admin、采购员、销售员、库存管理员等。

系统模块结构(使用xmind设计):

3. 系统总体流程

系统的一个整体流程,从初次使用开始,系统设置一个超级管理员(admin),拥有系统的所有权限。admin登录系统,设置角色(系统管理员,采购员,销售员,库存管理员),分配对应的权限。然后进入用户管理,录入系统用户。一般管理员登录系统,录入基础数据;采购员需要录入供应商,采购单,退货单;销售员则需录入销售单,退货单。库存管理员就需要在库存管理中进行采购审核和销售审核,采购审核通过则商品入库,增加库存;销售审核通过则商品出库,减少库存。管理员还可以查看每月的采购统计和销售统计。

系统总体流程(使用visio设计):

三、开发环境简介

需求确定了,就要进入具体的开发阶段,首先确定开发这个系统综合用到哪些技术、开发工具等。

简单说下这个系统的开发环境:    

  • 开发平台:windows 8.1  
  • Java版本:jdk 1.8 
  • 项目管理工具:Maven 
  • 开发工具:Intellij IDEA 
  • 数据库:MySql 5.1
  • 服务器:Tomcat 8.5
  • 开发框架:Spring4 + SpringMVC + Hibernate5
  • 前端框架:ExtJs 4.2 + Jsp
  • 建模工具:PowerDesigner、Visio

1. Maven

Maven是Apache软件基金会组织维护的一款自动化构建工具,专注服务于Java平台的项目构建和依赖管理。它提供了中央仓库,能帮我们自动下载构件和第三方的开源类库。你只需要在你的项目中以坐标的方式依赖一个jar包,maven就会自动从中央仓库下载,并同时下载这个jar包所依赖的其他jar包,以及可以下载源码进行阅读。使用maven后每个jar包本身只在本地仓库中保存一份,极大的节约了存储空间,让项目更轻巧,更避免了重复文件太多而造成的混乱。同时maven可以替我们自动的将当前jar包所依赖的其他所有jar包全部导入进来,无需人工参与,节约了大量的时间和精力。使用maven,只需要一条简单的命令,就可以自动完成清理、编译、测试、打包、部署的整个过程。我们的项目一般会分为开发环境和生产环境,不同环境对应不同的配置文件,使用maven,你就可以配置两个环境,打包的时候指定运行的环境,就可以将对应的配置文件替换,以此减少手工操作及可能带来的失误操作等。

2. Intellij IDEA

IDEA是java语言开发的集成环境,Intellij被公认为最好的Java开发工具之一。IDEA在代码自动提示、重构、调试、各类版本工具(maven、svn等)整合等方面都是比较强的。本人是在实习期间转用idea开发的,之前一直使用eclipse,相比eclipse,idea在调试、代码自动提示等方面更显优势。项目在idea中有一个更友好的目录结构,尤其是多工程项目。当然,eclipse比idea更容易上手,使用idea可以提高你的开发速度,但前提是你需要记住大量的快捷键。使用idea的调试功能,比如,你只需要按快捷键Alt+F8,然后输入表达式,就可以快速求值;在调试的时候,idea会在变量的后面以不同的颜色显示变量的值,你就可以很清楚的知道调试的每一步,非常方便。使用好IDEA能在很大程度上提高我们的开发速度。

3. ExtJs

ExtJs可以用来开发富客户端的ajax应用,是用javascript写的与后台技术无关的前端ajax框架,主要用于创建前端用户界面,拥有强大的数据处理功能,以及图表统计等。同时,ExtJs拥有很多个性化的主题供你选择,是开发后台管理系统的一个不错的选择。


由于本文篇幅太长,而微信公众号文章有字数限制,所以只能分成三篇来发,因此大家阅读起来可能比较麻烦,望见谅~

下一篇将讲解底层架构设计!

原文发布于微信公众号 - Java团长(javatuanzhang)

原文发表时间:2018-11-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云加头条

黄荣奎:腾讯云微信小程序解决方案

本文介绍小程序在腾讯云上的解决方案,如何快速帮助开发者快速完成开发和上线。

4.2K200
来自专栏Android 开发者

[译] 从 Android Studio 切换至 D8 dexer

45940
来自专栏SDNLAB

容器和云给网络带来巨大的压力

鉴于开发人员已经开始采用敏捷、方便的可编排技术,因此会越来越多地采用基于容器的应用程序。但是当这些应用程序进入生产阶段时,他们的编排解决方案对操作复杂性产生了相...

36590
来自专栏IT大咖说

分布式数据库企业级功能技术解密与最佳实践

编辑IT大咖说 阅读字数: 2739用时: 10分钟 本文内容来源于彭旸在OSC源创会上海站上的主题演讲,IT大咖说为与开源中国合作的视频知识分享平台。 ? 内...

40050
来自专栏知晓程序

「大众点评点餐」小程序开发经验 07:发布与推广

李超,美团点评前端开发工程,2 年工作经验,主要负责「点评点餐」web 版、「点评点餐」微信小程序开发。

15330
来自专栏Linyb极客之路

模块化与微服务比较

本文比较了微服务和模块化整体架构(modularized monolith )的区别。现在大家一股脑从整体单片monolith迁移到微服务,但是这种转变真的适合...

68730
来自专栏恰童鞋骚年

《大型网站技术架构》读书笔记一:大型网站架构演化

此篇已收录至《大型网站技术架构》读书笔记系列目录贴,点击访问该目录可获取更多内容。

14010
来自专栏Linyb极客之路

初识分布式架构

集群 小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系是集群。

13410
来自专栏编程坑太多

『高级篇』docker之了解CICD和DevOps(41)

PS:CICD和DevOps有了进一步的认识,下次开始针对CICD做个环境跑跑实践一下。

24830
来自专栏芋道源码1024

什么场景应该用 MongoDB ?

月初在云栖社区上发起了一个 MongoDB 使用场景及运维管理问题交流探讨 的技术话题,有近5000人关注了该话题讨论,这里就 MongoDB 的使用场景做个简...

49100

扫码关注云+社区

领取腾讯云代金券