一、可行性分析
这部分主要是分析公司技术可行性、人力资源储备、财务储备等方面的分析。由于对我们开发人员关系不大,这里暂略。
二、需求分析
这部分开始就是网站建设的重点工作,通常被认为是一件最困难的工作。需求分析概括来讲就是这个网站应该“做什么”,因该具有什么样的功能,解决什么样的问题。通常是开发组人员和用户多次交流以便了解用户的需求。比如用户需要网站首页展示什么东西、用户可以注册账号、可以充值会员、可以放视频等需求,反复确认记录后按某种模板整理成册。期间伴随着一些文档的产生如《需求调研计划》、《需求规格说明书》等。但软件项目有一个特点就是“渐进明细”,意思就是用户不可能在一开始就确定项目的需求,需要在项目完成的过程中逐步明确。于是才有了与用户各种扯皮的现象,“需求又改变了”这也是大多数程序员工作抱怨和调侃的来源。
三、软件设计
需求完成后,就开始网站设计了。这一部分主要做网站概要设计、网站详细设计以及数据库设计等工作。内容主要就是确定网站的运行环境、技术架构以及根据需求理出系统功能结构,并初步描述出每个功能的设计规则及流程,初步设计数据库表等。
四、编码
这一环节就是程序员接触得最多的内容了,就不多讲了。大致就是根据项目经理划分的模块为每个人分配开发任务,并定期评审,定期给用户演示交流以确保项目实际进度与用户需求不会偏差太多。
五、测试
由于软件项目越来越大,IT岗位中单独衍生出测试人员这一细分岗位。测试环节最好由第三方测试,因为如果项目团队成员自己来测试会下意识的往正确的业务逻辑走,从而不能很好的测出系统的缺陷。测试环节按不同的手段又分为黑盒测试、白盒测试、静态测试、动态测试、压力测试等。测出的缺陷提交给开发团队修正。
六、运维
系统上线后就进入运行维护的阶段。没有哪个系统上线后就是完美的,这也是运维存在的必要性。能多数情况下在企业和客户签订合同的时候会包含一定时间的免费运维期,比如两年,两年后运维需另收费。运维由专人负责。运维的主要目的是解决实际使用中产生的bug、修改小的变更需求、维护服务器稳定等。