写写大白话,通俗易懂说重点,描述血泪史。。。
1.一个项目后期好不好做,成员做的爽不爽,跟前期的需求调研,以及调研中需求能不能相对确定下来有很大关系
这里说的相对确定,是谈项目需求需要在开发,架构设计经验的基础上,去跟客户聊需求,聊完以后,总结设计
画面,设计的同时要考虑开发的难度,以及用户的实用度,找到平衡点,影响不大的不能确定的需求,可以允许客户变更需求,
如果对系统影响较大,甚至对架构有影响的需求,需要提前跟客户说明。做好需求分析笔记。
2.架构设计对成员实现,以及随着开发量的变化,后边维护的成本体现也是很明显的,如果架构设计,考虑不充足,没有良好的扩展性,系统,子系统之间耦合度太高,会导致开发速度缓慢,成员脾气大,天天抱怨,也很痛苦,所以设计的时候,还是要有所考虑的,设计系统,要遵循,日志系统隔离,地图系统隔离,业务系统隔离的原则,可采用远程调用或者消息队列,对实时性没有绝对要求的业务进行隔离,另外,网关隔离,权限认证隔离,令牌业务隔离,各业务之间相互独立,不要有太多牵扯,具体功能设计上,更要结构清晰,这样后边系统在规划,扩展的时候,才能干着舒服。。。
3.数据库设计:数据库设计刚开始的时候,设计要宽泛,不得已,不要使用各种主外键,一些基础数据采用关系型数据库存储,
但是经常被读的数据,要考虑采用nosql,跟关系型数据库相结合的方式存储。不要有select for update,数据库不要