webWMS开发过程记录(四)- 整体设计
- 分层
- View(Servlet/Action/JSP)--> Service(接口/实现类) --> Dao(接口/实现类)
- 所用技术
- Struts2
- Hibernate
- Spring
- JQuery
- Junit -- 单元测试
- EGit -- 版本管理
- ...
- 开发环境
- OS: Windows
- 开发工具: Eclipse/MyEclipse
- Web容器: Tomcat
- 数据库: MySql
- 浏览器: IE&Google
- 代码规范(简化)
- 代码格式:Ctrl + Shift + F (即使用MyEclipse默认的代码格式)
- 命名规范:使用有意义的名称
- 包 -- 全部小写,由域名定义。cn.adaitech.wms
- 类 -- 名词,驼峰命名法,首字母大写。如果类名称中包含单词缩写,则这个所写词的每个字母均应大写。如:XMLExample,MyDataConverter
- 接口 -- 名称或形容词,驼峰命名法,首字母大写。如:Closable
- 方法 -- 动词,驼峰命名法,首字母小写。如:drawImage
- 变量 -- 名称或形容词,驼峰命名法,首字母小写。如:value
- 常量 -- 名词,全部大写,单词之间用下划线隔开。如:MAX_VALUE
- 参数 -- 名词或形容词,驼峰命名法,首字母小写
- 注释:说明步骤,说明复杂逻辑
- 文档注释:说明类、接口、方法、参数、返回值、异常
- 空行:在代码中加入适当的空行
- 一个Java文件中的代码不要过多,一个方法中的代码不要过多
- 一些约定
- 工程中所有的文件都采用UTF-8编码
- 实体的主键属性的类型统一使用Long型(其他类似方案:统一使用String(UUID))
- 功能模块
- 系统管理
- 个人设置
- 基础数据管理(地点、库位、零件、供应商、客户、员工等)
- 销售模块
- 生产计划模块
- 采购模块
- 库存事务模块
- 条码扫描模块(PDA&WebService)
- 打印模块
- 分析统计报表
- 后台服务模块
- 项目计划(略)
- 需要制定一个具体的计划,并严格执行。(本人时间不受控制,暂不制定,做一点是一点)
webWMS开发过程记录(四)- 整体设计的更多相关文章
- webWMS开发过程记录(一)- 软件开发的流程
前言:计划开发一个webWMS,并将开发过程比较完整的记录下来.希望可以完成这个目标 软件开发的流程: 1. 了解该项目的相关概念. 了解所要开发的软件属于什么产品.该产品的基本定义是什么?基本功能模 ...
- webWMS开发过程记录(五)- 详细设计之系统界面框架设计
界面区域划分 使用frameset分了上中下三个区域 上:显示系统名称和用户信息,以及一些提示信息(需通过Ajax定时更新提示信息),显示高度固定 中:再次使用frameset分成左右区域 左:显示导 ...
- webWMS开发过程记录(二)- WMS是什么
(参考:WMS-百度百科) 简介 WMS是仓库管理系统(Warehouse Management System)的缩写,是一款标准化.智能化过程导向管理的仓库管理软件仓库管理系统,是通过出入库业务.仓 ...
- webWMS开发过程记录(六)- 详细设计之系统管理
一.功能说明 1. 权限管理 (参考“权限管理-百度百科") 定义:一般指根据系统设置的安全规则或安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少. 分类:从控制力度来看,通常分 ...
- webWMS开发过程记录(三)- 需求分析(略)
行业:汽车零部件制造 大方向:非唯一码,需有一套简单.易用.受控的误操作撤回机制 现状(略) 目标(略) 注:由于项目是自己根据以往经验,自己开发的,且开发时间不固定,故需求分析暂略,我会把工作重点放 ...
- [转]Libev源码分析 -- 整体设计
Libev源码分析 -- 整体设计 libev是Marc Lehmann用C写的高性能事件循环库.通过libev,可以灵活地把各种事件组织管理起来,如:时钟.io.信号等.libev在业界内也是广受好 ...
- leveldb 学习记录(四)Log文件
前文记录 leveldb 学习记录(一) skiplistleveldb 学习记录(二) Sliceleveldb 学习记录(三) MemTable 与 Immutable Memtablelevel ...
- RecyclerView源码分析(一)--整体设计
RecyclerView这个控件出来已经有一段时间了,如果看这篇文章的你,还没有使用过这个控件.那请先去学习怎样使用.不然看也白看.这里奉上一些关于介绍RecyclerView使用方法的优秀博客: 鸿 ...
- 望岳物业App开发过程记录
望岳物业APP开发过程记录 ——杜冰青 1.小组讨论,决定模块功能. 2.开始做“社区活动”界面,完成主页面.分享界面.内容界面,但是分享功能暂时没有完成. 3.接着做“一键开门”界面,因为硬件设施跟 ...
随机推荐
- P5663 加工零件 题解
原题链接 简要题意: 给定一个图,每次询问从 \(x\) 节点开始,\(y\) 步能不能达到 \(1\) 号节点. 算法一 这也是我本人考场算法.就是 深搜 . 因为你会发现,如果 \(x\) 用 \ ...
- Diagnostics: File file:/private/tmp/spark-d4ebd819-e623-47c3-b008-2a4df8019758/__spark_libs__6824092999244734377.zip does not exist java.io.FileNotFoundException: File file:/private/tmp/spark-d4ebd819
spark伪分布式模式 on-yarn出现一下错误 Diagnostics: File file:/private/tmp/spark-d4ebd819-e623-47c3-b008-2a4df801 ...
- 2020年PHP 面试问题(二)
一.什么是 CGI?什么是 FastCGI?php-fpm,FastCGI,Nginx 之间是什么关系? CGI,通用网关接口,用于WEB服务器和应用程序间的交互,定义输入输出规范,用户的请求通过WE ...
- TensorBoard中HISTOGRAMS和DISTRIBUTIONS图形的含义
前言 之前我都是用TensorBoard记录训练过程中的Loss.mAP等标量,很容易就知道TensorBoard里的SCALARS(标量)(其中横纵轴的含义.Smoothing等). 最近在尝试模型 ...
- CocoaPods 安装卸载
建议升级10.15的系统,什么都装好了 sudo gem install cocoapods pod setup搞定不能有search命令,可以pod init,下载用的是cdn,打开项目正常使用 问 ...
- 医学图像dcm2d切片文件转3dnii文件
安装 conda: conda install -c conda-forge dicom2nifti pip: pip install dicom2nifti 更新 conda: conda upda ...
- Spring-Cloud-Netflix-Eureka注册中心
TOC 概述 eureka是Netflix的子模块之一,也是一个核心的模块 eureka里有2个组件: 一个是EurekaServer(一个独立的项目) 这个是用于定位服务以实现中间层服务器的负载平衡 ...
- JS事件之onmouseover 、onmouseout 与onmouseenter 、onmouseleave区别
疫情过后回武汉的第一天打卡,今天偶然遇到一个问题onmouseover .onmouseout 与onmouseenter .onmouseleave这些事件的区别,也看了一些博客,感觉不是很清楚,所 ...
- 面试常问的 Java 虚拟机运行时数据区
写在前面 本文描述的有关于 JVM 的运行时数据区是基于 HotSpot 虚拟机. 概述 JVM 在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以 ...
- 【STM32项目笔记】STM32CubeMX+Keil+Proteus联合实现LED闪烁
摘要 利用STM32CubeMx配置STM32芯片的功能,然后将配置后的内容生成代码,并导出成可以使用Keil打开编辑的文件,在Keil中添加控制代码后,下载到Proteus仿真中,使用仿真观察代码执 ...