工作爬坑记 - 软件开发流程

数据库设计

不要搞大表,要把流程/字段不断细化,目的是提高系统扩展性,保证满足客户不同的需求

例如:选课系统

1、业务需求:张三选了一门英语课,一个人只会选择一门课
数据库设计:

t_user表
name class
张三 英语

2、现在业务需求发生变化,一个人可以选择两门课

数据库设计:

t_user表
name class class2
张三 英语 语文

如果向上面这样设计可以看出,一张表解决业务问题扩展性是及其低下的,当用户需求越来越多,越来越复杂时,数据库表字段会数量直线上线,如此相对的是业务逻辑的复杂度随之上升。

因此,基于以上表,应该参考如下设计:
将name字段单独放一张表记录用户信息,class字段单独放一张表记录选课信息,此时如果增加新的需求要在页面上展示用户名字,选课信息,活动信息时,那么就可以再建立一张活动表。
实际上还可以继续细分,比如用户信息可以对密码password单独设置一张表,记录密码信息等等。。

开发流程

用一个简单的例子来说明:比如我们要盖楼,经过分析讨论,得出一套方案,我们要盖成下面这四栋楼

在这里插入图片描述
然后,我们先盖第一栋,再盖第二栋,按顺序一个一个来,但是当我们盖完第一栋,去盖第二栋的时候,发现第一栋盖错了,应该按照如下方案来盖
在这里插入图片描述
那么现在只能重新从头开始盖了,因此这种方式是很慢的

正确做法应该是,每一栋楼盖一点,看看满不满足需求,满足的话再继续盖,如下
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43186095/article/details/108831882