Java Swing项目专栏

项目前言

这个超市管理项目是从八月初开始的,原以为像我这样的小菜比是完全掌控不了这样的项目的。原因是因为大一大二还是没怎么好好学自己的专业课,这次项目做完,我给自己建立了很强大的信心,原来你也可以,这里如果有和我一样荒废了大片的大学时光的同学,又不想大学就这样浑浑噩噩的过去的同学,可以和我一起来做这个项目呀。相信我,虽然这不是很高大上的项目,但是做完这个项目,你会和我建立起很强大的信心的。

这个项目我打算持续更新,尽可能的详细的把我这一个月所花费的心血,以及遇到的问题,获得的经验全部记录下来。首先这一篇文章先给大家介绍一下软件开发的基本流程:从需求分析到业务流程,再到数据库建表,mvc三层架构,业务逻辑的代码书写。将全部给大家一五一十,缓缓道来。

业务流程

  • 工具介绍

    • 微软的visio,画流程图神器,入门简单,一个小时就能画出漂亮的流程图,前提是你的业务逻辑能走通。
  • 业务流程简介
    • 做一个项目,首先你要明白这个项目的业务流程是怎么样的,很多时候,我们的项目并不是和技术打交道,而是和业务逻辑打交道,据我所知,金融业的逻辑最是麻烦,不过这都是后话了,下面咱们来讲讲这个超市管理系统的业务流程
  • 业务流程
    • 仓管员制定采购计划,采购计划只能是仓库里面原有的商品。
    • 采购员接受采购计划采购商品,同时可以添加新商品,采购完给出采购订单给仓管员。
    • 仓管员审核采购订单,如果审核通过,商品入库。如果审核不通过,商品退货。审核部分通过,那就部分退货。
    • 采购员接受审核过的订单,执行部分退货或者全部退货操作。
    • 销售员的操作比较简单,由于这个项目只是后台,没有前台,所以销售只能制定销售订单,以及进行部分退货,全部退货。
    • 财务统计这块其实是最难的,因为一旦和钱打交道了就难免繁琐。这里我做的比较简单,就只有采购统计,以及销售统计。
    • 库存那块有五个功能,前面已经讲过两个了,还有三个分别是库存报警,这个我使用的技术是多线程,一旦当仓库里的商品低于最低库存时,登入系统就会弹窗显示。第二个是库存查询,这个就是简单的增删改查技术,最后一个库存调拨是用的数据库更新技术。
    • 系统维护主要包括两个部分:员工管理,供应商设置。这里都是简单的增删改查,接下来的博文更新我会详谈这里面的技术点。
  • 业务流程图

需求分析&&功能结构图

  • 工具介绍

    • xmind,一款很强大的思维导图工具,入手及其简单,花半个小时就知道如何使用,我的项目的功能结构图全靠它了。
  • 功能结构
    • 项目分为五个模块分别是:

      • 系统维护

        • 员工管理
        • 商品管理
        • 超市管理
      • 采购模块
        • 采购进货
        • 采购订单
        • 采购退货
        • 供应商设置
      • 销售模块
        • 订单管理
        • 用户退货
        • 库存查询
      • 库存模块
        • 采购计划
        • 审核采购订单
        • 库存盘点
        • 库存调拨
      • 统计模块
        • 采购统计
        • 销售统计
        • 销售排行
        • 盈亏
  • 功能结构图预览

Java Swing项目专栏之项目业务流程与业务逻辑的更多相关文章

  1. java中异常处理机制 throw抛出自定义业务逻辑异常 throws继续抛出 catch捕获后会自动继续抛向调用方法

    package com.swift; public class Exception_TestC { public static void main(String[] args) { /* * 第5题: ...

  2. .NET大型B2C开源项目nopcommerce解析——项目结构

    .NET大型B2C开源项目nopcommerce解析——项目结构 编写本文档是为了向程序员说明nopcommerce的解决方案结构,亦是程序员开发nopcommerce的居家必备良书.首先nopcom ...

  3. Java swing项目-图书管理系统(swing+mysql+jdbc) 总结

    (一)java Swing的学习. (1)学习如何安装windowbuilder插件的安装. <1>在eclipse中点击help <2>在help的下拉选中选择install ...

  4. Java Swing客户端小项目

    记录一下两个用java swing写的客户端. 项目1: 关键词:swing  jtable 代码如下: 1.主类: package com.my.agent.client; import java. ...

  5. Java项目专栏之数据库建表

    Java项目专栏之数据库建表 数据库建表前期准备 1. 安装mysql:数据库语言,语法和sql server差不太多,如果习惯于sql server可以不用mysql. 2. 安装navicat:可 ...

  6. java学习之即时通信项目实战

     项目总结:这次项目主要是根据视频来的,结果跟到一半感觉跟不上,慢慢自己有了自己的想法,决定自己先不看学习视频,自己先试着写. 总结写前面,算是写的第一个项目吧.项目中遇到几点问题,首先Scoket对 ...

  7. eclipse中 将java项目转换为web项目

    来自:http://jadethao.iteye.com/blog/1331308 eclipse中 将java项目转换为web项目 1.找到项目工作空间目录,打开.project文件,并修改文件,  ...

  8. JAVA必背面试题和项目面试通关要点

    一 数据库 1.常问数据库查询.修改(SQL查询包含筛选查询.聚合查询和链接查询和优化问题,手写SQL语句,例如四个球队比赛,用SQL显示所有比赛组合:举例2:选择重复项,然后去掉重复项:) 数据库里 ...

  9. eclipse中 将java项目转换为web项目 博客分类: Tomcat

      1.找到项目工作空间目录,打开.project文件,并修改文件, 修改如下:      找到:<natures> </natures>代码段,在代码段中加入如下内容并保存: ...

随机推荐

  1. GitHub 入门教程

    一.前言 编程进阶的道路是坎坷的,没有任何捷径.这个时期只能是积累.吸收.学习.坚持,做到量的积累,到质的飞跃 古语有云:'书山有路,勤为径'.'不积跬步,无以至千里' 编程是一个动手实践性的学科,多 ...

  2. nodejs之url模块

    鄙人初步学习nodejs,目前在读<nodejs入门>这一本书,书很小,但是让我知道了如何用nodejs创建一个简单的小项目.例如如何创建一个服务器啦,例如http.createServe ...

  3. Phpcms整理

    一.先去官网下载一个pc(http://www.phpcms.cn/)进行安装 把下载的pc包放在服务器www目录下: 在地址栏访问localhost/project/install/install. ...

  4. Struts2入门项目开发小步骤

    Step1: Struts2的获取和添加到项目中: 在官方网站:http://struts.apache.org 获取Struts的其中一个版本. 在开发项目之前,需要添加struts2的类库支持,也 ...

  5. Docker进阶使用1

    容器间共享文件 Docker 的容器和外部环境是相对隔离的,并且容器是一次性的,运行结束后并不会有任何的持久化的文件或者数据.所以当我们需要做应用数据的持久化,或者保留应用的日志文件时,我们需要用到 ...

  6. forget Alinx * quena

    生活片段linux与queena进入我的生活 今天来分享一下学习心得与在生生活当中遇到的情况!..属于基础与小白该看的的文章 ,学长们多多给建议... 学习是一个循序渐进不断坚持的一个过程,贵在坚持, ...

  7. 小程序server-3-搭建WebSocket 服务

    小程序server-3-搭建WebSocket 服务: 1.安装 Node 模块 使用 ws 模块来在服务器上支持 WebSocket 协议,下面使用 NPM 来安装: cd /var/www/wxp ...

  8. 数据结构随笔-php实现队列

    队列(Queue): 满足先进先出(FIFO)的规则: 下面使用php实现一个简单的循环队列模型: 初始状态的队列,队列长度为0,队头和队尾的指针相同均位于队列的开始: 入队操作:队尾指针向后移动,长 ...

  9. Samba服务部署

    Samba,是种用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS(Server Message Block/Common Internet File System)网络协议做 ...

  10. 表达式求值(二叉树方法/C++语言描述)(二)

    表达式二叉树节点的数据可能是运算数或运算符,可以使用一个联合体进行存储:同时还需要一个变量来指示存储的是运算数还是运算符,可以采用和栈方法求值中一样的枚举类型TokenType: typedef en ...