软件开发流程五个流程
1、目标以及可行性分析阶段:此阶段主要用来确定软件开发要达到的目标以及效果是否可行等。
2、需求分析阶段:确定了软件开发的可行性,明确了开发的目标,就要对软件要实现的各个功能进行详细的需求分析了,此阶段十分重要,虽然说现在敏捷的开发方法,软件开发过程随着用户需求的改变而在不断地调整,但是初期的需求分析仍然十分重要,它是整个软件项目的基础。
而且一份完整合理的需求分析能够应付开发过程中的变化,保护整个项目的正常运行。
3、软件设计阶段:软件设计是根据需求分析的结果,对整个软件系统进行设计。
包括系统框架设计、数据库设计等,分为总体设计和详细设计。
软件设计也是为了软件程序编写打下良好基础。
4、程序编码阶段:程序编码就是要将软件的设计结果转化为计算机可运行的程序。
程序编码要注重编码规范,保证程序的可读、易维护,并且注重提高程序的运行效率。
5、软件测试阶段:软件编写完成后要经过严密的测试,软件测试就是要找出程序中还没有被发现的问题,寻找bug,及时纠正。
测试可分为单元测试、组装测试、系统测试三个阶段进行,又白盒测试和黑盒测试两种测试方法。
软件设计出现的较早。由于早期程序变得越来越大,那么模块化程序,让不同的开发人员相互配合就形成了一个主题。多个程序员之间要遵从一定的规范进行编程,然后相互调用,最终使用各个模块进行组合。这种最早的形式也伴随着新的面向过程语言的出现。
软件设计的原始目的是非常简单的,就是我们要去理解一个完成的功能(软件的雏形),然后把不同的功能分化成细节的模块,然后使用一个团队进行协同开发。在这个设计活动中又找出了诸多的开发方法论(如面向过程,面向对象及现在的面向切片等等),同时也发现了诸多开发的模型(如瀑布模型,原型模型,极限编程及敏捷开发等等)。进而形成一个涉及到管理、设计等方面的细化工作,形成统一的软件工程学。同时对于软件设计也相当细化和规范(如算法、时空代价——占用空间及占用运算时间的代价)。所以现在基本上软件设计就是根据系统分师所指派的横块内进行细分(更小的模块),不同的方法论下,不同的开发模型下将功能块分为更细致的小模块(如面向对象的类,结构等)完成更细致的功能。
基本上来说,软件设计与程序设计被混为一谈,狭义的软件设计指就是程序设计,重点在于算法上的设计;广义上的软件设计其实就是对系统进行的设计,要考虑到将来软件的部署及要部署的硬件(包括软件方面与硬件方面)。也就是说,程序员不管是在算法设计上还是程序设计上都是称自己软件设计,而系统分师也在设计整个系统也称为软件设计。这是由于习惯的问题而出现的两种理解——系统设计师与分析师设计的是整个软件系统,涉及内容巨大,从部署到软件性能功能移植性等各个方面的考虑,其目的就是构造一个当前适用并具有一定前瞻性、扩展性的软件系统来支撑整个或大部分公司运行的系统。他们再把系统细分为子系统以对应公司或系统中某个相对独立的系统功能。软件设计师把自身分派到的子系统任务再进行细分,实现不同的层与模块的调用(子系统可以理解为可以相互配合的一个完整的某个方面的功能),其目的就是将理解系统进而设计为可以开发的或进行开发准备的工作;而高程与程序员则对模块功能进行分析,然后进入到开发,开发出相应的功能模块。他们所谓的软件设计设计模块内调用层次(如分层开发等),设计算法与程序以达到指定的功能要求或非功能要求。
本文由用户上传,如有侵权请联系删除!转转请注明出处:https://nongye.s666.cn/bk/6_6572136611.html