首页 > 软件开发 >软件开发阶段的任务 软件开发阶段的任务有哪些

软件开发阶段的任务 软件开发阶段的任务有哪些

IT信息网 2024-05-25 21:19:28 0

大家好,今天小编关注到一个比较有意思的话题,就是关于软件开发阶段的任务的问题,于是小编就整理了1个相关介绍软件开发阶段的任务的解答,让我们一起看看吧。

为什么软件工程特别强调必须先有设计,然后才能编程?

事先亮明身份,我是一个工作了五年的程序员。那么回过头来,我觉得我应该有资格分析一下这个问题。

软件开发阶段的任务 软件开发阶段的任务有哪些

为什么要设计先行?

第一,如果没有设计,程序员没有任何事情是可做的。如果有人跟你说,还能搭个框架。我只能说,他们公司十有八九是外包或者是一套架构走天下的那种。实际上,按照正确的流程,程序员或者架构师需要根据需求进行框架规划。在需求出来之前,什么工作都没法开展。

为什么提到需求呢,需求又跟设计有什么关系?需求是设计的基础,设计是需求的表面特征。一个完整的项目流程,在客户提出需求之前,UI需要根据客户需求确认项目UI,产品经理需要整理需求,分析客户的隐藏需求(这一点很重要,因为大多数客户都没法准确描述自己想要什么),据此出具需求分析或者需求说明书。架构师根据需求说明书,设计(注意)系统架构。然后项目负责人根据需求说明以及架构师设计的架构,规划项目模块划分,然后交由下面的程序员开发。程序员接到领导下发的任务说明,需要以此编写自己负责模块的实现逻辑(也就是设计开发步骤),最后才是开发。

第二,先有设计能有效的防止你后续跟产品经理以及客户二(不定多少)次修改需求引发的撕逼甚至斗殴。

正如前面说的,大部分客户不知道自己想要啥,甚至产品经理都不知道自己想要啥。所以一个完备的设计图或者正规的文档都是跟他们撕逼过程中最重要的证据。

第三,先有设计再实现,更利于实现的提速。因为设计本身就是在思考这个功能该如何完成的过程。这对于程序员来说很重要。

第四,可以显得自己很专业,方便跟甲方爸爸多要钱。

当然,在我看来最大的作用是为了以后撕逼的时候,有他们瞎闹的证据。

所以,设计对于程序员来说很重要。

软件工程或者编程项目,需要先规划设计后编程实施的主要原因还是每个人的编程思路特别是严密性不一样,而且没有明确清晰的控制要求的话,很容易考虑不周全,程序就会不完善。

其实项目如果很小,那么即使考虑不周全,在调试的时候也能发现问题,并及时修正。

而当比较大的项目,控制要求或者任务书,就需要集思广益的不断探讨确认。这个过程相当于编程实施已经预演了一遍,而且多人考虑确认,就可以减少很多考虑不完善的问题。

而且,有确定的控制任务文件,也有利于大家分区域的分工合作,你做A部分,我做B部分,他做C部分。

套用一个成语“凡事预则立,不预则废”,因此任何稍微复杂一点的系统,都应该先有经过广泛意见采集与确认的顶层文件作为指导,后续的工作才能有序的开展,后边检查出错点,也同样有一条主线可循。

所以,有设计文件就可以有效减少编程时的猜测,讨论等时间,也可以组织更多的人同时开展工作,可以说有百利而无一害。

不只是软件工程强调先设计后编程,其实任何的工程都是设计在编程前面,因为没有设计就去编程那就是盲目行动,编程只是整个工程里的一部分,而设计就是整个工程的灵魂,就像盖房子时的框架,其次还有预算,材料,后面才是施工。

我以前做过几年自动化方面的工程,不管是设备改造还是帮人家做一个纯软件方面的项目,基本上在下订单之后,第一步就是设计,因为在选材,造价之后就是下订单,签合同。然后就开始做这个工程了,第一步就是工程设计,目的就是在完成任务的前提下,形成一个完整的计划:怎样降低成本,提高产品的性能,怎样把工程最优化,做到性价比最点,安全性最高。

所以设计是非常重要的,就像打仗时的作战计划,设计就是打仗时的作战计划,编程就像下一步的具体战斗任务。如果没有作战计划,就直接冲向敌人乱打一阵,那必然打败仗,甚至可以说是胡闹。同样没有设计的编程就是没有计划的胡冲乱撞,没有任何的效率。

比如,做用plc控制变频器,用触摸屏做上位机,这个比较小的软件工程,我们肯定不能先去编程,因为你还没做设计呢,你怎么编程?用那种方式去编程?用什么语言去编程?肯定没法下手,我们必须先去设计。

一,我们需要先设计用那种控制方法,因为控制变频器有:端子控制的方法,优点是编程简单,但成本要高一点些,因为变频器的给定需要外加d/a模块,或者其他给定源;通讯控制方式,优点成本低,但编程相对复杂,对技术方面要求稍微高一些,所以这个要提前设计好。

二,选材和防备,同样的性能,肯定选价格最低的,但同时也要保证质量;同时我们要保证万无一失,必须设计第二套方案作为备用。假设第一方案出现了意外,那第二套方案就可以应急,弥补第一方案的漏洞,这样才能万无一失。

三,我们可以编程了,展示我们的才华吧,在设计的框架下面,就像给了我们一个游泳池,你尽情表演吧!

所以说,不管什么样的软件工程,虽然编程很重要,但必须设计在先,编程在后。


到此,以上就是小编对于软件开发阶段的任务的问题就介绍到这了,希望介绍关于软件开发阶段的任务的1点解答对大家有用。