软件不等于编码,具备一定的全局架构思维可以更好的设计软件,一般接到软件设计任务马上开始编码的同志都会多次返工。软件设计不仅仅是技术的提现,更艺术的提现。好的设计架构清晰,业务逻辑清楚完整,程序鲁棒性好,而差的设计就反之了。在软件设计的这个流程中,从需求到设计方案,从设计方案到设计流程,从流程到编码,从编码到测试,每一步都要认真对待。尤其在流程设计阶段,不但是对业务的梳理,也是对设计方案的验证。
我个人认为软件设计的好坏主要有2大部分因素:
1.业务的理解与熟悉程度
2.自身技术实现的能力
所有下图展示了软件设计是基于业务到开发测试的整体流程中需要关注的能力与注意点
软件设计开发涉及到的相关岗位人员 :
软件项目开发人员分配(参考,具体根据项目大小与复杂的决定):
开发团队的推荐角色应该是这样的。 PM 1个 UI 1个 CSS/js 1~2个 Java 2~4个 Android 1~2个 IOS 1~2个 1个QA
这是一个相对平衡的模板,这样的一个8~10人的小Team,是可以复制的。在敏捷开发中支持多个Team并行开发。理论上来讲。这种方式,可以支持五到六个小Team同时启动,特别适合微服务系统开发。
我的项目人员分配(PM 1,UI 1,前端(CSS/JS)1,后端Java 3,Android 1,IOS 1,QA 1)
下图是人员的具体职能: