软件开发成本最高的阶段(软件开发成本最高的阶段是什么)

软件开发 1624
本篇文章给大家谈谈软件开发成本最高的阶段,以及软件开发成本最高的阶段是什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、软件开发的成本 2、

本篇文章给大家谈谈软件开发成本最高的阶段,以及软件开发成本最高的阶段是什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

软件开发的成本

软件开发成本主要指软件开发过程中所花费的工作量及相应的代价。

在对一个软件项目进行开发成本估算时,应该包括从项目立项直至项目研发活动结束所花费的资源总和,并且可以按阶段进行估算或测量。

软件开成本估算的过程可分为:估算规模、估算工作量、估算工期和估算成本这4个过程,最终确定软件成本。其中成本估算需要对直接人力成本、间接人力成本、间接非人力成本及直接非人力成本分别进行估算。 

开发平台

软件开发平台源于繁琐的实践开发过程中。开发人员在实践中将常用的函数、类、抽象、接口等进行总结、封装,成为了可以重复使用的“中间件”,而随着“中间件”的成熟和通用,功能更强大、更能满足企业级客户需求的——软件开发平台应运而生。

平台是一段时间内科研成果的汇聚,也是阶段性平台期的标志,为行业进入新的研发领域提供了基础。由于平台对企业核心竞争力的提升非常明显,国内的管理软件市场,软件开发平台的应用已经成为一种趋势。

以上内容参考:百度百科-软件开发

软件开发阶段有哪些

软件开发阶段包括软件设计、编码、调试、测试和验收几个阶段。

一、软件设计,软件设计分为概要设计(总体设计)和详细设计(模块设计)两阶段。详细设计对概要设计中产生的功能模块,设计其内部细节。

二、软件编码,由详细设计容易得到软件的代码文件,但这阶段也有两个问题要引起重视,一是编程语言的选择,二是程序设计风格。程序质量主要取决于软件设计的质量,但编程风格对程序质量的影响也很大。

三、软件测试,软件测试至今乃是保证软件质量的最重要的手段,因此它在软件工程中占有十分突出的地位。它表现为4-2-4规则,即需求分析、软件设计占40%的工作量,编码为20%,而测试则为40%。对可能会产生重大后果的软件,如核反应堆控制,飞行器控制,水库阀门控制等软件,甚至花费比软件开发其他阶段多三至五倍的资金进行软件测试,希望最终的软件能万无一失。

四、软件维护,软件维护费用的急剧增长使软件成本失去控制。这要求软件爱你开发时就要十分重视软件爱你的可维护性。另外,维护中作的修改往往考虑得不够周密,带来很多新的问题。所以必须对软件的维护进行严格的管理。

五、软件工程管理,包括软件项目管理、软件工程标准、软件文档管理和软件质量管理。

软件生存周期中花费最多的阶段是( )。

软件生存周期中花费最多的阶段是软件维护。

软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。常见的软件生存周期模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。

软件维护(Software maintenance)是一个软件工程名词,是指在软件产品发布后,因修正错误、提升性能或其他属性而进行的软件修改。

软件维护活动类型总起来大概有四种:改正性维护(纠错性维护)、适应性维护、完善性维护、预防性维护。除此四类维护活动外,还有一些其它类型的维护活动,如:支援性维护(如用户的培训等)。针对以上几种类型的维护,可以采取一些维护策略,以控制维护成本。

软件维护的类型介绍:

1、改正性维护:软件交付后,如果开发时的测试没有彻底的进行,一些隐藏的错误将被留下。这些隐藏错误将在某些特定的使用环境中暴露。为了发现和纠正软件错误,纠正软件性能缺陷,消除在实施中的错误使用, 诊断和纠正错误的过程应称为改正性维护。

2、适应性维护:在使用过程中,外部环境(新的硬、软件配置)数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化 。

3、完善性维护:在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为满求了足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。

4、预防性维护:采用先进的软件采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编制和测试。

软件生命周期中所花费用最多的阶段是

软件生命周期

中科永联高级技术培训中心()

软件生命周期(SDLC,软件生存周期)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。

一、软件生命周期(SDLC)的六个阶段

1、问题的定义及规划

此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。

2、需求分析

在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。"唯一不变的是变化本身。",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。

3、软件设计

此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。

4、程序编码

此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。

5、软件测试

在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。

6、运行维护

软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。

二、软件生命周期模型

任何软件都是从最模糊的概念开始的:为某个公司设计办公的流程处理;设计一种商务信函打印系统并投放市场。这个概念是不清晰的,但却是最高层的业务需求的原型。这个概念都会伴随着一个目的,例如在一个"银行押汇系统" 的目的是提高工作的效率。这个目的将会成为系统的核心思想,系统成败的评判标准。99年政府部门上了大量的OA系统,学过一点Lotus Notes的人都发了财(IBM更不用说了),但是更普遍的情况是,许多的政府部门原有的处理模式并没有变化,反而又加上了自动化处理的一套流程。提高工作效率的初衷却导致了完全不同的结果。这样的软件究竟是不是成功的呢?

从概念提出的那一刻开始,软件产品就进入了软件生命周期。在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。这样的一个过程,称为"生命周期模型"(Life Cycle Model)。

典型的几种生命周期模型包括瀑布模型、快速原型模型、迭代模型。瀑布模型(Waterfall Model)首先由Royce提出。该模型由于酷似瀑布闻名。在该模型中,首先确定需求,并接受客户和SQA小组的验证。然后拟定规格说明,同样通过验证后,进入计划阶段…可以看出,瀑布模型中至关重要的一点是只有当一个阶段的文档已经编制好并获得SQA小组的认可才可以进入下一个阶段。这样,瀑布模型通过强制性的要求提供规约文档来确保每个阶段都能很好的完成任务。但是实际上往往难以办到,因为整个的模型几乎都是以文档驱动的,这对于非专业的用户来说是难以阅读和理解的。想象一下,你去买衣服的时候,售货员给你出示的是一本厚厚的服装规格说明,你会有什么样的感触。虽然瀑布模型有很多很好的思想可以借鉴,但是在过程能力上有天生的缺陷。

迭代式模型

迭代式模型是RUP推荐的周期模型,也是我们在这个系列文章讨论的基础。在RUP中,迭代被定义为:迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。所以,在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。实质上,它类似小型的瀑布式项目。RUP认为,所有的阶段(需求及其它)都可以细分为迭代。每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。迭代的思想如上图所示。

迭代和瀑布的最大的差别就在于风险的暴露时间上。"任何项目都会涉及到一定的风险。如果能在生命周期中尽早确保避免了风险,那么您的计划自然会更趋精确。有许多风险直到已准备集成系统时才被发现。不管开发团队经验如何,都绝不可能预知所有的风险。"(RUP)二者的区别如下图所示:

由于瀑布模型的特点(文档是主体),很多的问题在最后才会暴露出来,为了解决这些问题的风险是巨大的。"在迭代式生命周期中,您需要根据主要风险列表选择要在迭代中开发的新的增量内容。每次迭代完成时都会生成一个经过测试的可执行文件,这样就可以核实是否已经降低了目标风险。"(RUP)

快速原型(Rapid Prototype)模型是我喜欢采用的另一种模型。快速原型模型在功能上等价于产品的一个子集。注意,这里说的是功能上。瀑布模型的缺点就在于不够直观,快速原型法就解决了这个问题。一般来说,根据客户的需要在很短的时间内解决用户最迫切需要,完成一个可以演示的产品。这个产品只是实现部分的功能(最重要的)。它最重要的目的是为了确定用户的真正需求。在我的经验中,这种方法非常的有效,原先对计算机没有丝毫概念的用户在你的原型面前往往口若悬河,有些观点让你都觉得非常的吃惊。在得到用户的需求之后,原型将被抛弃。因为原型开发的速度很快,设计方面是几乎没有考虑的,如果保留原型的话,在随后的开发中会为此付出极大的代价。至于保留原型方面,也是有一种叫做增量模型是这么做的,但这种模型并不为大家所接受,不在我们的讨论之内。

上述的模型中都有自己独特的思想,其实现在的软件组织中很少说标准的采用那一种模型的。模型和实用还是有很大的区别的。

软件生命周期模型的发展实际上是体现了软件工程理论的发展。在最早的时候,软件的生命周期处于无序、混乱的情况。一些人为了能够控制软件的开发过程,就把软件开发严格的区分为多个不同的阶段,并在阶段间加上严格的审查。这就是瀑布模型产生的起因。瀑布模型体现了人们对软件过程的一个希望:严格控制、确保质量。可惜的是,现实往往是残酷的。瀑布模型根本达不到这个过高的要求,因为软件的过程往往难于预测。反而导致了其它的负面影响,例如大量的文档、繁琐的审批。因此人们就开始尝试着用其它的方法来改进或替代瀑布方法。例如把过程细分来增加过程的可预测性。

软件生命周期中所花费用最多的阶段

根据我所在公司的情况分析,工程维护阶段的耗费是最大的,其次是需求分析阶段。工程维护阶段包括大量的问题平台上报、问题确认和解决、以及需求变更和新需求的开发等。一般来讲,软件的生存在3-5年时间,对于产品级的软件,可能更短,那么在工程维护的时间耗费理想情况是越来越短,但事实上,产品的质量直接导致工程维护的成本,这是国内大多数企业面临的挑战--提升质量,提高客户满意度

软件生命周期中成本最高的是在哪个时期

一般是在开发,但是和具体使用的开发模型有关,比如如果之前把需求没有搞清楚,后期(deliver的时候发现和人家要求的不一样,很可能要大改),或者没有充分考虑系统的可扩展性,后期维护成本就是灾难性的。

软件开发成本最高的阶段的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于软件开发成本最高的阶段是什么、软件开发成本最高的阶段的信息别忘了在本站进行查找喔。

扫码二维码