一个项目从客户提出需求,到需求分析,再到设计、开发、测试等,经过一系列的环节后,才能达到正式使用和上线的效果。
为了标准化开发流程,提高开发效率,特将项目开发的一下规范和技巧,做一些说明。
项目开发流程,如下图所示。
这里贴一个流程图:客户提出需求、我们整理需求、设计页面原型、编写功能需求补充文档、与客户沟通核对原型和需求、调整原型与需求、确认原型与需求、数据库UML建模、UML建模确认、数据库表设计、主键外键索引确认、太极平台项目添加、太极平台项目配置、项目开发、发布测试服务器、测试用例编写、功能测试、修复bug更新、测试通过、发布正式服务器。
软件项目开发,虽说是开发,但更重要的是前面的设计。只有前面的UI设计、数据库设计理顺了,后面开发才顺利,返工才少。
在设计上,也有一些技巧和原则。当拿到一个新项目后,我们会按照如下顺序进行设计。
1.功能需求拆分
对整个系统进行大的模块拆分,比如生产、销售、统计、财务、客户、采购、仓库等。每个模块之间可能会有数据关联,也可能是独立的。
功能需求的拆分,一般以企业的使用部门为依据,或者以功能的整体性为依据。
可以使用百度脑图、MindManage等思维导图功能,进行辅助分析。
这里放一个项目的思维导图案例。
2.用户角色设计
角色一般根据企业内部的职务进行划分,比如销售员、销售经理、主管、总经理、管理员等。同一个部门同一个模块,也会有不同的用户去使用,而不同的用户可能使用不同的功能点,于是这些功能就要拆分为各个子功能,分配给相应的用户去使用。把使用相同子功能的用户,归为一种角色。
比如针对订单,销售员只能查看和管理自己的订单,而主管和经理则可以查看和管理所有人的订单。那么就需要有销售员和主管这2种角色。
目前系统只支持一个用户一种角色,以后可能考虑一个用户分配多个角色。即角色可以多选。
可以使用Excel表格、或者思维导图的方式,整理角色和功能。
这里放一个项目的角色功能案例。
3.菜单设计
菜单根据用户角色进行设计,每个角色能使用哪些菜单,都会通过权限进行设置。超级管理员可以看到所有的菜单,所以在超级管理员看来,有些功能菜单名字可能是重复的。但是一旦分配给相应的角色后,该角色用户登录,也只能看到限定的菜单,所以并没有太大影响。
比如下面的菜单结构,一级菜单为接单员和跟单员,下面都有“我的订单”这个2级菜单,但是他们的功能是不一样的。
通过角色设定好功能菜单。作为接单员,登录进去后,看到的是接单员和我的订单;作为跟单员,登录进去后,看到的是跟单员和我的订单。而作为销售主管,登录进去后,能看到接单员、跟单员和这2个我的订单。
一级菜单 | 二级菜单 |
接单员 | |
我的订单 | |
跟单员 | |
我的订单 |
- 菜单设计思路。可以初步看到,菜单的设计,是根据角色来制定。先将某种角色的所有功能菜单设计出来,然后再将所有角色的功能菜单,进行整合和归类。
- 菜单排序。按使用频率,最常用的功能菜单,放到前面;不常用或者设置类的,放到后面。比如商品管理和商品分类管理,分类管理就要放到后面,因为分类不会经常变动,设置完毕后基本上不会修改。
- 菜单命名。命名不要有歧义,要能准确表达功能,还要结合当前的使用用户角色。设计人员要充分沉浸到当前登录的用户中,想象自己就是用户,想象什么样的名字更能贴切自己的使用。比如上面的接单员和跟单员,都有我的订单。如果是接单员用户登录,就只会看到“我的订单”菜单,意义明确简单。
4.列表设计
4.1.列表布局设计
4.1.1.单列表布局
功能页面就是一个列表,最普遍的布局模式。
左右布局
上下布局
多tab标签页布局
在功能菜单里面,要看到多维度的数据,可以采用多tab标签页布局。
4.2.单列表数据设计规范
- 重要字段放前几列,以时间日期为排序的列表,时间日期列放在第1列。
- 数值型字段,列表右对齐。包括整数、小数、货币等。
- 数值计算型,要加入合计项属性,以便在最后一行显示总计数据。
- 字符串型字段,如果数据长度较短(在10个字符以内),默认居中对齐即可。否则一般左对齐。
- 搜索功能。如果列表数据固定较少(100条以内),那么不需要开启搜索功能。否则,列表必须要有搜索功能。
4.2.添加编辑设计
详情页设计
内页设计
弹框页面