刚毕业那会儿面试的时候,总是一遍遍地死记硬背软件开发流程,现在想想蛮可怕的,就是一个做事的流程而已。那软件开发是个什么样的流程呢,不同的公司可能在流程上有所省略或者侧重,但基本大同小异,我按照具体分工把流程划为几个步骤:
- 1. 首先,搞清楚要做个什么的东西,整理需求(参与人员:产品经理、需求分析人员、核心技术人员)
- 如果公司想推出产品,会先去做市场调研,定位用户,针对种种因素开发自己的需求。不过因要做的东西而异,很多公司没有这步,一般软件开发公司就是跟客户方或者需求提出方沟通,确定以及整理需求,转化为系统的、可行的文案。
- 2. 根据需求制作原型(参与人员:产品经理)
- 根据已整理的需求,设计系统表观,菜单是什么样、用户管理在哪里、内容怎么显示等等,然后制作出原型,供之后的流程参考。原型的制作的方法和工具有很多种,一般要求要会用Axure等等设计工具。
- 3. 设计页面(参与人员:UI设计师)
- 设计页面显示的样子,背景图片了,按钮形状了,每个控件之间的距离了等等。这个部分需要会Photoshop、AI等图片图形处理软件。
- 4.前端开发(参与人员:前端工程师)
- 根据UI设计师给的设计图和材料,开发出相应的html静态页面。前端开发的软件很多,但基础的要会Dreamweaver。
- 5.服务端开发(参与人员:服务器开发工程师)
- 根据需求文档开发出相应功能,并且把静态页面和后台功能结合起来,做出完整可运行的系统。Java web开发,前端处理一般用Jsp,所以这步的话,一般开发人员会把html转化为Jsp来用。这部分的开发工具比较多,前一个博客有提到。
- 6.测试验收(参与人员:测试人员、产品经理、客户)
- 测试人员从功能、性能、用户体验等等方面对系统进行测试,测出的问题让前面流程的人员进行修改,就这样测试、修改、再测试不断迭代,直到没有什么大问题,产品经理和客户进行验收。这部分一般会用bug管理软件,bugzilla、bugfree等。
- 7.上线(参与人员:实施工程师)
- 将测试好的系统部署到生产环境中去,正式运行和使用,一般到这步大家都很紧张,基本全员待命;操作这步的人员,肯定要懂些硬件,然后linux、数据库、部署知识等等。
系统开发的详细步骤如上,一般可以精简地理解为:需求分析、系统设计、系统开发、测试、上线这五个大的步骤。