我觉得软件设计与实现可以分为三个部分:
系统分析: 首先,需要对用户的需求分模块,每个模块的IPO是什么,他们应采用什么架构,需要和那些模块交互,互相之间的接口是怎样的,需要使用什么技术。每个模块的运行环境是什么样子的,对效率,安全或者容错等特性是否要着重考虑。
系统设计:每个模块的数据库要怎么设计,所用技术和架构决定后,要确定不同层次有哪些接口,比如说表现层,业务逻辑层,数据库访问层,相互之间怎么调用,定好框架和开发模式和格式,剩下的就是编码了。
编码部分:首先团队要有一个良好的编码规范。并且对每个人提交的代码要review,我发现程序编多了,自己就成了一台计算,看到程序就会知道会出现什么结果,根本都不用跑起来。