一般软件开发流程是什么样的?
2017年10月16日 09:52供稿中心:兆隆教育
摘要:
对于软件开发而言,我们需要的是一个整个的开发过程,并且需要一个科学合理的软件开发流程图来规定软件开发中各个过程需要做什么,怎么做,谁来做,以及如何平衡软件开发时间,软件质量,软件进度三者之间的平衡。
对于软件开发而言,我们需要的是一个整个的开发过程,并且需要一个科学合理的软件开发流程图来规定软件开发中各个过程需要做什么,怎么做,谁来做,以及如何平衡软件开发时间,软件质量,软件进度三者之间的平衡。在软件开发的准备阶段,只有一个良好的软件开发流程才能保证软件开发工作的正常进行,同时合理的软件开发流程也能对软件的开发周期做一个精准的计划安排,同时也能明确各个开发人员在软件开发过程中的职责等。下面是一些关于软件开发过程的讲解。
1、首先制定项目计划,最初计划是里程碑性质的。可以先按瀑布模型设置,里程碑点主要为需求评审、设计评审、经过代码开发和单元测试后进行集成测试、部署上线是一个很重要的里程碑,一般客户最为关注的就是需要多少时间,软件才能完成开发上线运营。
2、需求开发阶段:怎么样写好需求很关键,如果有项目成员,可以一起做需求,这个阶段对于业务理解、分析、如何开展调研以及文字表述、业务流程图描述还有文档编辑能力都有不少要求。一般分为《用户需求说明书》和《需求规格说明书》,小项目可以写一个《需求分析报告》,《用户需求说明书》是用用户的语言进行描述,让用户和开发团队对于需求的达成一致的理解,《需求规格说明书》,则是对用户需求的分析,形成系统要具有的功能,这个是真正提供用户可交互操作的文档,也就是后期设计和代码开发的重要基线。所以详实的用户需求,需要产品经理与客户进行不断的沟通并对软件工程以及交付日期等做一个规划,根据这些问题,整理软件开发的需求规格说明说,从而保证软件能按照客户要求按时交付。
3、系统设计阶段:
系统总体架构,结合用户对系统环境、开发语言以及运行的网络硬件等要求,确定开发工具等,对应用系统关系进行架构性设计,通过需求阶段对用户的分析归类,用图的方式描述出用户和各子系统或模块的全局视图,以及和其他系统的关系。也就是搞清楚系统的边界问题。概要设计比较重要的还有就是子系统、模块进行合理的划分。模块的名称很大程度上会成为用户的主要菜单,如何用用户的角度去取比较清楚的子系统和模块是很重要的。
4、代码开发和单元测试阶段:这个阶段一般来说需要改进瀑布模型,类似跌代开发,把模块进行合理划分,把项目总体计划的代码开发测试阶段划分为多个时间段,每个时间段都包括代码开发、单元测试和集成测试,这个阶段还需要对需求变更进行跟踪控制,如果需求有变更,那么要把需求文档、设计文档都重新跟上。所以作为几个软件开发程序员来说,最不喜欢的除了程序BUG之外,就是用户改需求了,因为随着需求的改动,从而需要对代码重新设计开发。当下的软件培训机构课程中主要也是培训代码开发编程的人员,同时软件测试人员的需求也随着软件市场需求的增加而增加,
项目经理重要的责任是控制好进度,能及早发现风险,并能拿出好的预防和解决办法的措施。合理安排好开发团队的任务,合时的任务安排和衔接,而一般的程序员都需要五年以上的编程经验才能成为软件开发项目的主管或者项目经理,只有熟悉软件开发中代码开发以及软件测试工作,才能更好的保证软件的质量,才是一名合格的项目经理。
6、测试工作,测试是项目的很重要的环节,怎么测试,怎么准确测试,怎么有效测试,怎么覆盖测试,时间、人手、经验扽个方面都会有制约。高级测试人员能够分析系统各测试要点,在需求、设计阶段都要参与,提早了解如何去测试,能写出测试用例。测试不是在软件完成之后才去进行的环节,而是一直伴随在软件开发的始末,只有这样才能时刻的保证软件在既定的周期内保质保量的完成交付。
7、文档工作,文档在项目开发中也占有重要位置,除非你觉得代码是项目唯一的成果,那么你把文档抛掉吧,什么都在你的脑子里,团队中人员一走,项目的一部分也就带走了。代码开发其实也需要文档,代码是成果,代码注释是成果,模块开发卷宗也是重要的成果,因为程序员在开发时候的逻辑是怎么样的,所以项目完成之后也需要整理好整个项目的开发文档,只有这样才算是一个完整的项目开发流程。