软件开发
大约 1 分钟
软件通常分为系统软件和应用软件,早期的软件主要就是指程序
如今各种软件越来越复杂(技术复杂度、业务复杂度),需要用工程化思维去进行软件开发,保证软件的质量等,就是软件工程
比如Web应用开发前后端分离方式,整体是一个工程,前后端各自也算是独立工程,需要整体把控
在关注技术和流程的同时,更需要关注:价值、业务、文档能力、英语能力...
任何时候,产品的质量都是第一位的
价值导向,领域知识
- 软件是用来创造价值的,创造 有意义的好的价值
- 领域业务知识: 有一定的业务知识知道业务背后的逻辑很重要
需求收集与分析
概设
详设
设计编码
文档能力
编写文档的能力
代码美学
需要经验、阅读等等获得的
编写干净、文档良好且可维护的(也就是尽量写给别人看的)代码;当有特殊思路时应该写上注释
测试
- 单元测试
- 黑盒
- 白盒
- 自动化测试
集成部署
运行维护
有效的项目管理
- 制定计划(方向与目标)
- 进度把控
- 协调沟通
- 风险管理