说说ERP软件的系统设计--开源软件诞生8
赤龙ERP系统设计篇--第8篇
用日志记录“开源软件”的诞生
赤龙 ERP 开源地址:
点亮星标,感谢支持,与开发者交流 kzca2000
码云:https://gitee.com/redragon/redragon-erp
GitHub:https://github.com/redragon1985/redragon-erp
赤龙ERP官网:https://www.redragon-erp.com
如何学习系统设计
笔者是软件专业出身,学了好多的理论知识,但我总结就是理论过于枯燥,而且在实战中基本用不上。所以今天就来说说我是如何学习系统设计的。还记得我刚刚毕业,第一次面对要独立做一个系统或网站时的困惑与迷茫。不知该做什么?不知该从何做起?来看看我的成长历程:
一、借鉴已有系统或网站
(1)没有人可以闭门造车:系统设计的初学者,要做的第一步应该是复刻别人的系统,记住是复刻不是复制。即用你自己的方式做一个尽量功能一致的系统。
(2)复刻并不简单:作为一个初学者复刻一个系统并不简单,这要有强大的系统分析能力。要有在不依赖文档的情况下,分析系统流程、功能及逻辑的能力。如果你无法直接做到,没关系,我们来一步一步实现。
(3)知晓需求:在分析系统前,首先要明确你分析的系统做的是什么内容,解决的什么问题,以及相关的业务流程是怎样的。不管是文档也好,还是网上搜索也好,有很多手段可以获取需求。
(4)抽丝剥茧的拆分:不管任何系统都有一个主流程,就像是大树的主干一样。主流程可以拆分出一个一个的节点,以及节点间的逻辑串联。紧接着再分析每个节点,即一个个的模块。模块再拆分成功能点。只要你拆分的够细,你会发现最后一定是增删改查。到此所有的功能已经展露在你的面前了。
(5)重新组装:经过上面的拆分,我们下面可以把所有拆分得到的功能,重新组装成一个完整流程了。当然在组装过程中一定会涉及到很多连接问题、逻辑问题,如果其中的实现方式并不明确,可以先采用你最了解的方式保证尽量的还原。
(6)过程中学习:复刻系统不是目的,目的是在复刻的过程中,学习别人的系统或网站在面对何种需求是如何设计的,并思考为什么人家会如此设计,如果对于相同需求有不同实现方案那就仔细比较下它们的区别和优劣势。
二、优化已有问题
首先要明确,你认为的问题不一定是真正的问题,那可能仅仅是你认为的问题而已。但为什么还要去做这一步呢?这是一个转化的过程,即把别人的东西转化成自己的东西,即使这是一个曲折的过程。只有发现、思考、解决,才可能在这一过程中打磨自己的系统设计方法和思路,并逐渐形成自己的体系。
三、创造新的亮点
当你逐渐形成了自己的系统设计理念,你就可以尝试创新了。创新并不容易,甚至可能会使你的系统走一些弯路或得到批评,但这才是你成长的基石,如果你可以做到不断坚持,最终的结果一定是你的设计亮点。
【赤龙ERP】的系统设计初探
之前的文章中介绍过,ERP系统的最大特点是流程明确、功能复杂、个性化强。下面我们就以上特点,来谈谈ERP系统设计需要注意的问题。
1、表结构设计
(1)单表字段多:单表字段多在ERP表结构里不可避免,所以没必要为了减少字段而合并。要明确每个字段的业务含义,有助于字段的设立。
(2)多表关系杂:由于ERP功能的复杂性,主表出现多个关联表,甚至关联表再套关联表是常见的现象。明确何时建立1对1、1对多、多对多关系,有助于降低表关联的复杂性。这里特殊说明一下头行结构,即头表和行表是1对多关系。(在业务中也经常见到,比如订单、发票)
(3)处理冗余:我的原则是避免冗余,但又可在场景需要的情况下增加冗余。
2、主流程设计
(1)一根主线:从业务到财务,围绕着对于企业资源的管理,只设计一个核心流程。并保证最少的流程节点,以及明确的流转过程。让用户在使用你系统的时候,永远不能脱离你的主线。
(2)分支清晰:首先设计分支一定是在主线中不能完成的业务,但要保证分支流程尽量的短,实现在一两个节点之内完成分支流转,并最终合并到主线。分支与主线不要出现重复步骤。
3、模块设计
(1)增删改查:对于功能设计来说一定是增删改查的重复使用,但要从整体模块来看,不能割裂的设计成一个个的增删改查,要让系统有业务感,让用户在场景下操作各种功能。
(2)功能解耦:这涉及到功能和功能间,模块和模块间的关联关系的设计。原则上除了主流程外,不设置强制耦合,即在没有一些数据的情况下,用户也可以处理某些业务。
4、交互设计
(1)单页面操作简化:尽量减少单页面的可操作功能,这样用户很容易明确自己在当前页面可以实现哪些功能,步骤是什么。
(2)可培养的用户习惯:设计一些创新的亮点,适当的培养用户的使用习惯,当习惯落成,必定会大大简化用户的操作。(比如:精确与模糊搜索匹配、快速可复制的数据录入)
(3)适配终端:让用户在不同的终端具备一致的操作体验。
【赤龙ERP】设计优与劣
上述设计的目的只有一个:让复杂的事情简单化。当然这其中肯定也各有优劣。
(1)优势:让ERP的使用不再繁重而复杂
(2)优势:让用户使用得更加灵活和个性
(3)劣势:限制少了,业务的严谨程度降低了;逻辑简化了,中大型企业的业务匹配度降低了
希望您读完本文可以帮助笔者进入【码云】或【GitHub】(可搜索“赤龙ERP”)点击星标。等待着您的支持!
说说ERP软件的系统设计--开源软件诞生8的更多相关文章
- 为什么要做一款ERP软件——开源软件诞生7
技术之外的探讨--第7篇 用日志记录“开源软件”的诞生 赤龙ERP开源地址: 点亮星标,感谢支持,与开发者交流 kzca2000 码云:https://gitee.com/redragon/redra ...
- ERP与EHR系统的恩怨纠葛--开源软件诞生13
ERP中需要EHR的存在吗--第13篇 用日志记录"开源软件"的诞生 [点亮星标]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/redragon ...
- ERP订单管理的操作与设计--开源软件诞生19
赤龙ERP订单模块讲解--第19篇 用日志记录"开源软件"的诞生 [点亮星标]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/redragon/r ...
- ERP仓库管理的操作与设计--开源软件诞生20
赤龙ERP库房管理讲解--第20篇 用日志记录"开源软件"的诞生 [点亮星标]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/redragon/r ...
- ERP应收应付的操作与设计--开源软件诞生21
赤龙ERP应收应付讲解--第21篇 用日志记录"开源软件"的诞生 [点亮星标]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/redragon/r ...
- ERP收付款的操作与设计--开源软件诞生22
赤龙ERP收款付款讲解--第22篇 用日志记录"开源软件"的诞生 [进入地址 点亮星星]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/redra ...
- ERP的财务凭证的操作与设计--开源软件诞生23
赤龙ERP财务凭证讲解--第23篇 用日志记录"开源软件"的诞生 [进入地址 点亮星星]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/redra ...
- ERP的权限管理的操作与设计--开源软件诞生24
赤龙ERP用户与权限管理讲解--第24篇 用日志记录"开源软件"的诞生 [进入地址 点亮星星]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/re ...
- ERP的主数据的操作与设计--开源软件诞生25
赤龙ERP主数据管理讲解--第25篇 用日志记录"开源软件"的诞生 [进入地址 点亮星星]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/redr ...
随机推荐
- C#算法设计排序篇之02-快速排序(附带动画演示程序)
快速排序(Quick Sort) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/677 访问. 快速排序由C. A. R ...
- C#LeetCode刷题之#189-旋转数组(Rotate Array)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3700 访问. 给定一个数组,将数组中的元素向右移动 k 个位置, ...
- effective java之使用构建器来创建对象
第二章第2条:遇到多个构造器参数时要考虑使用构建器(builder) 就是建造者模式(不直接生成想要的对象,而是让客户端利用所有有必要的参数调用构造器或者静态工厂)直接上代码 package com. ...
- 存储系列之 从ext2到ext3、ext4 的变化与区别
引言:ext3 和 ext4 对 ext2 进行了增强,但是其核心设计并没有发生变化.所以建议先查看上上篇的<存储系列之 Linux ext2 概述 >,有了ext2的基础,看这篇就是so ...
- day8 文件
添加中文 需要编码 f = open("123.txt",'w',encoding='utf-8') 字符串转化二进制编码 encode() 1.文件: 计算机 ...
- 阿里P8架构师大话设计模式,体会乐与怒的程序人生中值得回味一幕
本书特色 本书有两个特色,第一特色是重视过程.看了太多的计算机编程类的图书,大多数书籍都是集中在讲授优秀的解决方案或者一个完美的程序样例,但对这些解决方案和程序的演变过程却重视不够,好书之所以好,就是 ...
- CSS3动画旋转——(图片360°旋转)
今天在重构网页特效的时候,想着用到一个css3的旋转特效.简单来一个demo. html <div class="box"> <img src="./y ...
- Android 禁止ViewPager左右滑动的功能实现
来来来,各位看官~ Look here!!! Android 禁止ViewPager左右滑动的功能实现!! I think it`s so easy,无需重写ViewPager!!! JUST ...
- MIT 6.828 Lab04 : Preemptive Multitasking
目录 Part A:Multiprocessor Support and Cooperative Multitasking Multiprocessor Support 虚拟内存图 Exercise ...
- 第六篇 Scrum冲刺博客
一.会议图片 二.项目进展 成员 已完成情况 今日任务 冯荣新 购物车列表,购物车工具栏 博客撰写 陈泽佳 静态结构 自定义图片组件,提交功能 徐伟浩 协助前端获取数据 协助前端获取数据 谢佳余 未完 ...