导航:首页 > 程序命令 > 程序员的生存周期

程序员的生存周期

发布时间:2023-05-05 02:53:07

❶ 可将软件生存周期划分为哪3段个过程和哪9个阶段

一个软件从开始计划起,到废弃不用止,称为软件生存周期。一般来说,软件生存周包括计划、开发、运行三个时期,每一时期又可分为若干更小的阶段。计划时期的主要任务是分析用姿兆户要求,分析新系统的主要目标以及开发该系统的可行性。开发时期要完成设计和实现两大任务具体。具体分为需求分析、概要设计、详细设计、编码、测试。其中编码和测试是软件开发期的最后两个阶段。运行时期是软件生存周期的最后一个时期,软件人员在这一时期的工作,主要是做好软件维护。

统计表明,开发较大规模的软件,有40%以上的精力是耗费在测试上的,即使富有经验的程序员,也迹昌租难免在编码中发生错误,何况,有写错误在设计甚至分析阶段早已埋下祸根,无论是早期潜伏下来的错误或编码中新引入的错误,若不及时排除,轻者降低软件的可靠性,重者导致整个系统的失败。为防患于未然,强调软件测试的重要性是必要的。


一个软件从开始计划起,到废弃不用止,称为软件生存周期。一般来说,软件生存周包括计划、开发、运行三个时期,每一时期又可分为若干更小的阶段。计划时期的主要任务是分析用户要求,分析新系统的主要目标以及开发该系统的可行性。开发时期要完成设计和实现两大任务具体。具体分为需求分析、概要设计、详细设计、编码、测试。其中编码和测试是软件开发期的最后两个阶段。运行时期是软件生存周期的最后一个时期,软件人员在这一时期的工作,主要是做好软件维护。

统计表明,开发较大规模的软件,有40%以上的精力是迅迟耗费在测试上的,即使富有经验的程序员,也难免在编码中发生错误,何况,有写错误在设计甚至分析阶段早已埋下祸根,无论是早期潜伏下来的错误或编码中新引入的错误,若不及时排除,轻者降低软件的可靠性,重者导致整个系统的失败。为防患于未然,强调软件测试的重要性是必要的。


❷ 软件生命周期各阶段的任务是什么

软件生存周期可以分成6个阶段:可行性与计划研究阶段、需求分析阶段、设计阶段、实现阶段、测试阶段、运行与维护阶段。

各阶段任务:

1、在可行性分析(研究)与计划阶段的任务:

要确定该软件的开发目标和总的要求,要进行可行性分析、投资收益分析、制订开发计划,并完成可行性分析报告、开发计划等文档(输出)。

2、在需求分析阶段的任务:

由系统分析人员对被设计的系统进行系统分析,确定对该软件的各项功能、性能需求和设计约束,确定对文档编制的要求,作为本阶段工作的结果,输出有:软件需求规格说明(也称为:软件需求说明、软件规格说明)、数据要求说明和初步的用户手册应该编写出来。

3、在设计阶段的任务:

系统设计人员和程序设计人员应该在反复理解软件需求的基础上,提出多个设计,分析每个设计能履行的功能并进行相互比较,最后确定一个设计,包括该软件的结构、模块(或CSCI)的划分、功能的分配,以及处理流程。

系统比较复杂的情况下,设计阶段应分解成概要设计阶段和详细设计阶段两个步骤。在一般情况下,完成的文档包括:结构设计说明、详细设计说明和测试计划初稿。

4、在实现阶段的任务:

要完成源程序的编码、编译(或汇编)和排错调试得到无语法错的程序清单,要开始编写进度日报、周报和月报(是否要有日报或周报,取决于项目的重要性和规模),并且要完成用户手册、操作手册等面向用户的文档的编写工作,还要完成测试计划的编制。

5、在测试阶段的任务:

该程序将被全面地测试,已编制的文档将被检查审阅。一般要完成测试分析报告。作为开发工作的结束,所生产的程序、文档以及开发工作本身将逐项被评价,最后写出项目开发总结报告。

6、运行和维护阶段的任务:

软件将在运行使用中不断地被维护,根据新提出的需求进行必要而且可能的扩充和删改、更新和升级。软件维护分为改正性维护、适应性维护和预防性维护,分别对应于前面的三个问题。

改正性维护就是修改原有的缺陷、适应性维护就是使软件适应新的软硬件环境,预防性维护就是把今天的技术用在昨天的软件上,以期软件在明天还能使用。

(2)程序员的生存周期扩展阅读:

每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。

生命周期的每一个周期都有确定的任务,并产生一定规格的文档(资料),提交给下一个周期作为继续工作的依据。按照软件的生命周期,软件的开发不再只单单强调“编码”,而是概括了软件开发的全过程。

软件工程要求每一周期工作的开始只能必须是建立在前一个周期结果“正确”前提上的延续;因此,每一周期都是按“活动 ── 结果 ── 审核 ── 再活动 ── 直至结果正确”循环往复进展的。

❸ 简述软件生存周期各个阶段的任务

软件生命周期各阶段的任务:

1、问题定义

确定好要解决的问题是什么(what),通过对客户的访问调查,系统分析员扼要的写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到客户的确认。

2、可行性研究

确定该问题是否存在一个可以解决的方案。可行性研究的结果是客户做出是否继续进行这项工程的决定的重要依据,一般来说,只有投资可能取得较大的效益的那些工程项目才值得继续进行下去。

3、需求分析

深入具体的了解用户的需求,在所开发的系统要做什么这个问题上和用户想法完全一致。明确目标系统必须做什么,确定目标系统必须具备哪些功能。通常用数据流图、数据字典和简要的算法表示系统的逻辑模型。用《规格说明书》记录对目标系统的需求。

4、概要设计(总体设计)

概括的说,应该怎样实现目标系统,设计出实现目标系统的几种可能方案,设计程序的体系结构,也就是确定程序由哪些模块组成以及模块之间的关系。

5、详细设计

实现系统的具体工作,编写详细规格说明,程序员可以根据它们写出实际的程序代码。详细设计也称模块设计,在这个阶段将详细的设计每个模块,确定实现模块功能所需的算法和数据结构。

6、软件维护

通过各种必要的维护活动使系统持久的满足用户的需求。主要分为 改正性维护、适应性维护、完善性维护、预防性维护。

(3)程序员的生存周期扩展阅读

软件生存野历周期基线

1、功能基弊脊瞎线(functional baseline)

功能基线是指在系统分析与软件定义阶段结束时,经过正式评审和批准的系统设计规格说明书中对待开发系统的规格说明;或是指经过项目委托单位和项目承租空办单位双方签字同意的协议书或合同中所规定的对待开发软件系统的规格说明;

或是由下级申请经上级同意或直接由上级下达的项目任务书中所规定的对待开发软件系统的规格说明。功能基线是最初批准的功能配置标识。

2、指派基线(allocated baseline)

指派基线是指在软件需求分析阶段结束时,经过正式评审和批准的软件需求的规格说明。指派基线是最初批准的指派配置标识。

3、产品基线(proct baseline)

产品基线是指在软件组装与系统测试阶段结束时,经过正式评审的批准的有关所开发的软件产品的全部配置项的规格说明。产品基线是最初批准的产品配置标识。

❹ 软件一般是多久程序员检查一遍

软件维护是持续一直进行的。
在软件交付后的整个运行期间都可能发生软件的维护活动,所以,在整个软件生存周期中,软件维护阶段的时间通常要比软件开发阶段的时间长得多。同时,软件维护需要对现有的软件进行修改,而这种修改可能会影响到软件中未被修改的部分,因此,在整个软件生存周期的总成本中维护的代价是昂贵的。通常,维护的成本约占生存周期总成本的三分之二,而软件开发的成本约占三分之一。
软件维护(Softwaremaintenance)指软件产品在交付之后,为改正错误、改进性能或其他属性,或者为适应变化了的环境而对其进行修改的活动。软件维护大致分为四类:改正性维护、适应性维护、完善性维护和预防性维护。

❺ 程序员纯靠技术能一直生存下去吗

作为一名IT行业的从业者,同时也是一名大数据、机器学习方向的研究生导师,我来回答一下这个问题。

首先,程序员完全可以靠技术来不断延长自己的职业生命周期,目前IT行业内也有大量的“70后”程序员一直奋斗在技术研发的第一线。

对于程序员来说,如果想一直从事程序开发工作,需要面临三大问题,其一是软件开发技术更新速度较快;其二是软件开发工作压力较大;其三是软件开发岗位升级难度较大,要想解决这三大问题,需要通过以下几个手段:

第一:重视基础知识结构。 程序员的基础知识结构往往能够决定程序员的成长空间,基础知识结构越扎实则上升空间就越大,职业生命周期也会越长。基础知识涵盖两大块内容,一部分是数学和物理知识,另一部分是计算机操作系统、计算机网络、算法设计等内容。从应用级程序员向研发级程序员过渡一个重要的条件就是数学基础是否扎实,而研发级程序员的职业生命周期要远长于应用级程序员。

第二:重视自主学习。 不论从事应用级开发岗位还是研发级开发岗位,自主学习对于程序员的成长都具有重要的意义,很多程序员就是由于不注重自主学习而导致知识结构逐渐陈旧,最终被行业淘汰。自主学习一方面要紧跟技术发展趋势,另一方面要围绕当前工作内容。

第三:注重提升资源整合能力。 随着程序员年龄的增长,资源整合能力将对于未来的发展起到重要的作用,程序员的资源整合能力包括技术整合能力、方案整合能力和研发资源整合能力。当然,如果再具备一定的人力资源整合能力,那么会进一步提升自身的职场价值。

如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言!

从我过往多年的生涯案例来看,我觉得程序员是否可以一直生存下去,关键在于:“技术是否精湛”。
一般来说,技术除非你是非常稀缺,大部分到了一定阶段,都会面临天花板,学习能力会随着年龄提升慢慢下降,就很难占据技术的前沿,28法则的存在,大约8成程序员需要谋求新的出路。

一般来说,会分为两条路径:
1.横向路径:
技术领域看似专业性很强,但是一部分泛泛之辈,小部分某一个技术领域非常精湛,那么需要深耕,多年打磨,成为某一个细分领域的专家。
2.纵向路径:
还有一部分程序员,本身对于程序非常倦怠,无法继续下去,那么纵向领域寻求突破,打个比方,你在某一方面才艺很强,摄影,营养学,演讲等,但是区别主业本身,可以从纵向里面慢慢打磨,成为你的核心技能,实现新的发展。

所以是否可以生存下去,完全取决你的选择,当你有一技傍身,那么才可以拥有全新的未来。

首先靠技术肯定是可以的,因为无论什么公司都会需要一个经验丰富,技术鼎力的一线程序员,但是这个有两个限制,一是这种程序员的职位需求不会太多,二是这种程序员在某个技术领域必须非常厉害,而且在某一个领域大牛的基础上,要有跟进其他新技术的能力,因为这种级别的程序员,公司不可能白白养着你,跨组协调,跨项目协作是最基本的要求,所以如果技术不在某一个领域达到大牛级别,且这个技术领域要有比较强的生命力,也就是说它的技术前景要比较好,否则想靠技术生存一辈子,还是比较危险的。选定好技术领域,然后耐心学习,很多技术人员本身是对技术痴迷的一类,所以这一类人还是很有竞争力的,他们学习新技术,深化领域技术的主观能动性一般是很强的。相信真正爱技术的人,即使他不靠技术生活一辈子,也会一辈子畅游在技术的海洋中。

首先答案是肯定的,但因人而异。

如果基本功扎实,个人又对技术的提升有着狂热的追求,善于钻研,对新技术不抵触,学习能力很强的话,可以一直靠技术生存下去。可以一直战斗在研发的第一线。这只是本职工作。

另外,可以利用自己的技术能力去做些兼职工作。比如接些外包的项目做做也是蛮不错的!

还有,比如现在很多内容平台上可以发布一些文章,甚至付费课程。生存是一点问题都没有。

如果你足够牛叉,还可以组建团队做技术VC。

其实靠技术不是能不能生存的问题,而是能活得多好的问题!

但,如果上面的优势在你身上不存在,那就另当别论了。

其实现在很多人都在说,技术人员到一定年龄该转管理等等。我的观点是看个人特点再做决定,比如你很健谈,善于交际。可以转做销售,一个懂技术的销售该有多么牛叉?如果你思维缜密,表达清晰。可以转做售前,一个懂技术的售前该有多么牛叉?

总之,你懂技术,转做什么都牛叉

阅读全文

与程序员的生存周期相关的资料

热点内容
在新电脑上怎么注册加密狗 浏览:119
最后一战游戏源码 浏览:1
phpmysql实例下载 浏览:749
传智黑马安卓非加密 浏览:553
服务器如何配置host 浏览:1001
守望执行命令 浏览:371
加密狗插上去了怎么办 浏览:624
锤子m1怎么把文件夹重置 浏览:213
APP的数据会存在哪里 浏览:66
一支轻快又解压的舞 浏览:588
80x86编程手册 浏览:767
android机制使用 浏览:363
国外太空探索网站源码 浏览:645
dotaimba命令大全 浏览:15
手解剖pdf 浏览:735
单片机无法烧写程序 浏览:415
pline命令 浏览:113
760贴片机编程视频 浏览:335
欧姆龙plc编程第36讲 浏览:917
我的世界如何将一个服务器弄崩 浏览:10