导航:首页 > 软件问题 > 计划软件如何看周期

计划软件如何看周期

发布时间:2022-05-22 08:26:52

⑴ 软件的生命周期是什么

软件的生命周期是指软件的产生直到报废或停止使用的生命周期。

具体分为以下阶段:

一、问题定义:要求系统分析员与用户进行交流,弄清“用户需要计算机解决什么问题”然后提出关于“系统目标与范围的说明”,提交用户审查和确认。

二、可行性研究:一方面在于把待开发的系统的目标以明确的语言描述出来,另一方面从经济、技术、法律等多方面进行可行性分析。

三、需求分析:弄清用户对软件系统的全部需求,编写需求规格说明书和初步的用户手册,提交评审。

四、开发阶段:开发阶段由四个阶段组成:

1、概要设计。

2、详细设计。

3、实现:根据选定的程序设计语言完成源程序的编码。

4、测试。

五、维护:维护包括四个方面:

1、改正性维护:在软件交付使用后,由于开发测试时的不彻底、不完全、必然会有一部分隐藏的错误被带到运行阶段,这些隐藏的错误在某些特定的使用环境下就会暴露。

2、适应性维护:是为适应环境的变化而修改软件的活动。

3、完善性维护:是根据用户在使用过程中提出的一些建设性意见而进行的维护活动。

4、预防性维护:是为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。

⑵ 软件生命周期,常说是三个时期八个阶段,请问这三个时期的八个阶段分别是什么

软件计划与可行性研究阶段、需求分析阶段、软件设计阶段、软件编码阶段、软件测试阶段和软件运行与维护阶段。

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

2、需求分析阶段:在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,也是在整个软件开发过程中不断变化和深入的阶段,能够为整个软件开发项目的成功打下良好的基础。

软件常见周期模型:

1、瀑布模型

瀑布模型首先由Royce提出。该模型由于酷似瀑布闻名。在该模型中,首先确定需求,并接受客户和SQA小组的验证。

然后拟定规格说明,同样通过验证后,进入计划阶段…可以看出,瀑布模型中至关重要的一点是只有当一个阶段的文档已经编制好并获得SQA小组的认可才可以进入下一个阶段。

2、迭代式模型

迭代式模型是RUP推荐的周期模型,也是我们在这个系列文章讨论的基础。在RUP中,迭代被定义为:迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。

⑶ .软件生命周期分为哪几个阶段简要说明各阶段的主要任务

软件生命周期分为问题定义、可行性研究、需求分析、开发阶段、维护这5个阶段。各个阶段的主要任务是如下。

1、问题定义

要求系统分析员与用户进行交流,弄清“用户需要计算机解决什么问题”然后提出关于“系统目标与范围的说明”,提交用户审查和确认。

2、可行性研究

一方面在于把待开发的系统的目标以明确的语言描述出来,另一方面从经济、技术、法律等多方面进行可行性分析。

3、需求分析

弄清用户对软件系统的全部需求,编写需求规格说明书和初步的用户手册,提交评审。

4、开发阶段

开发阶段由四个阶段组成:概要设计、详细设计、实现、测试

五、维护

维护包括四个方面:

(1)改正性维护:在软件交付使用后,由于开发测试时的不彻底、不完全、必然会有一部分隐藏的错误被带到运行阶段,这些隐藏的错误在某些特定的使用环境下就会暴露。

(2)适应性维护:是为适应环境的变化而修改软件的活动。

(3)完善性维护:是根据用户在使用过程中提出的一些建设性意见而进行的维护活动。

(4)预防性维护:是为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。

(3)计划软件如何看周期扩展阅读:

软件常见周期模型:

1、瀑布模型

瀑布模型首先由Royce提出。该模型由于酷似瀑布闻名。在该模型中,首先确定需求,并接受客户和SQA小组的验证。然后拟定规格说明,同样通过验证后,进入计划阶段…可以看出,瀑布模型中至关重要的一点是只有当一个阶段的文档已经编制好并获得SQA小组的认可才可以进入下一个阶段。

瀑布模型通过强制性的要求提供规约文档来确保每个阶段都能很好的完成任务。但是实际上往往难以办到,因为整个的模型几乎都是以文档驱动的,这对于非专业的用户来说是难以阅读和理解的。

2、迭代式模型

迭代式模型是RUP推荐的周期模型,也是我们在这个系列文章讨论的基础。在RUP中,迭代被定义为:迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。

所以,在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。实质上,它类似小型的瀑布式项目。RUP认为,所有的阶段(需求及其它)都可以细分为迭代。

3、快速原型模型

快速原型模型在功能上等价于产品的一个子集。瀑布模型的缺点就在于不够直观,快速原型法就解决了这个问题。一般来说,根据客户的需要在很短的时间内解决用户最迫切需要,完成一个可以演示的产品。这个产品只是实现部分的功能(最重要的)。

它最重要的目的是为了确定用户的真正需求。在我的经验中,这种方法非常的有效,原先对计算机没有丝毫概念的用户在你的原型面前往往口若悬河,有些观点让你都觉得非常的吃惊。在得到用户的需求之后,原型将被抛弃。

因为原型开发的速度很快,设计方面是几乎没有考虑的,如果保留原型的话,在随后的开发中会为此付出极大的代价。至于保留原型方面,也是有一种叫做增量模型是这么做的,但这种模型并不为大家所接受的。

⑷ 软件生命周期

一般软件的生命周期(开发):
1、需求获取;
竟可能详细的获取需求,也就是客户需要做哪些事情,哪些想用软件实现,对每个关键点的细节越详细越好;
需要获取不可能一次获取的;在与客户交流前要制定相应的计划,这次要获取哪些需求,哪些优先级高,哪些一定要搞清楚,哪些可以放到后面再细化.......;在多次获取需求后,要对需求整理,分类,文档要尽可能标准一些,详细记录好各种需求变化,对一些模糊点也要注明,为后期的需求管理打好基础;

2、需求分析;
需求分析就是要将前面获取的需求信息,尽可能的转化为技术需求,是对前面获取到得需要一个整理过滤和重新划分与定义的过程;相应文档要非常清晰,明了,不要采用模糊的语言;同时要做好后期需求修改的维护准备,需求维护对整个项目的进度、质量都有很大关系,要非常重视;

3、设计;
1)架构设计;
2)数据库设计;
3)功能细化;
4)详细设计;
文档要尽可能的标准(框架结构图、数据流图、各功能模块流程图、......);

4、开发;
1)编码;
2)UT测试;

5、测试;
主要是集成测试和系统测试;
很重要,是保证产品质量的重要环节(基础是前面几个环节不能太糟糕);

6、上线及维护;
试运行;(对出现的问题修改,再使运行,反复多次后才可正式发布,有些人将这个环节归为测试中,也是可以的,侧重点不一样;)
正式交付使用,之后进入后期的维护期;

上面是个人实战经验的总结,希望能提供帮助!!!

⑸ 软件生命周期划分成哪些阶段

软件计划与可行性研究阶段、需求分析阶段、软件设计阶段、软件编码阶段、软件测试阶段和软件运行与维护阶段。

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

2、需求分析阶段:在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,也是在整个软件开发过程中不断变化和深入的阶段,能够为整个软件开发项目的成功打下良好的基础。

3、软件设计阶段(概要设计和详细设计):主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。

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

5、软件测试阶段:在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。

6、软件运行和维护阶段:是软件生命周期中持续时间最长的阶段,包括纠错性维护和改进性维护两个方面。

(5)计划软件如何看周期扩展阅读

早期的软件生命周期往往是说“软件从计划、需求开始,经历分析设计、实现、部署、维护,直到最后逐渐消亡的”。

这是受到了第一个软件生命周期模型---瀑布模型影响,上述语句实质上简要的描述了瀑布型生命周期。

软件生命周期不再只考虑瀑布型生命周期,另外常见的软件生命周期模型有原型模型、螺旋模型、迭代模型。所以软件生命周期说明应当不再包括瀑布型生命周期中的典型阶段。

因此,对软件生命周期及软件生命周期模型采用如下定义:

1、软件生命周期是指软件的产生直到成熟的全部过程。

2、软件生命周期模型是指人们为开发更好的软件而归纳总结的软件生命周期的典型实践参考。

⑹ 如何选择软件开发的生命周期

文本Tag:软件开发 随着用户需求的多样化,软件系统开始越来越复杂了,而复杂性带来的结果是软件开发管理越来越困难。然而,许多软件开发团队却没有适时地改变其管理模式。因此,越来越多的软件开发项目呈现出管理失控和混乱的迹象,软件开发的整个生命周期已经越来越成为人们关注的焦点。 为什么软件开发项目的管理是这么困难呢?原因在于许多软件开发团队没有选择合适的管理工具。一般来说,在软件开发过程中会有许多不确定的、经常变化的因素,如果在软件开发过程中缺乏合适的管理工具,这将会导致开发人员无法统一开发行为和思路。例如,在实现项目的各阶段和各种角色(架构师、项目经理、开发人员、测试人员等)的方法和思路并不一致,不但会对设计、质量、代码管理和部署产生负面影响,而且还会导致开发成本增加。 那么,我们应该怎样管理好软件开发的各种因素呢?就像教科书上经常所说的一样,如果我们能够很好的管理软件生命周期每一个阶段的质量,也就很好的管理了整个软件开发的整个过程。因此,如何最大程度地管理好开发过程成为目前业界讨论的焦点。本文介绍了在软件开发过程中一种常用的管理工具:软件生命周期模式,以及其概念和选择方法。 软件开发工作本身是需要一个周期来完成的,而在周期的内部则包含了很多因素。一个因素的不稳定,在周期推移的过程中都很可能会造成类似生物学领域的蝴蝶效应----非洲的一只蝴蝶扇动翅膀可能会造成美洲大陆的一场龙卷风。这说明每一个事情都可能会对其它的事情产生连锁反应。因此,任何软件开发项目都必须进行适当的组织和管理,然后才能按预期计划成功地执行项目。也说是说,规划良好的软件开发生命周期将能够实现在更短的开发周期内构建软件的愿景。 同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,这一般称为软件生命周期。软件开发生命周期(SDLC)是指软件开发的全部过程、活动和任务的结构框架。许多软件开发工具厂商都提出过各种软件生命周期方法论,它们有人将SDLC解释为一组步骤或者里程标(Milestone)。但无论是谁的解释,SDLC的一般步骤包括:确定问题、可行性分析与开发计划、收集需求、分析与设计、编码开发、测试、安装、维护。 生命周期法也称结构化系统开发方法,是目前国内外较流行的软件系统开发方法。尤其在开发复杂的大系统时,显示出无比的优越性。它的基本思想是:将软件工程学和系统工程的理论和方法引入到软件系统的开发中,按照用户至上的原则,采用结构化、模块化自顶向下对系统进行分析和设计。具体的说,是通过把整个软件生命周期划分为若干阶段,使得每个阶段有明确的任务,使规模大、结构复杂和管理复杂的软件开发变的容易控制和管理。它的优点是强调系统开发过程的整体性和全局性,强调在整体优化的前提下考虑具体的分析设计问题,即自顶向下的观点。它从时间角度把软件开发和维护分解为若干阶段,每个阶段有各自相对独立的任务和目标,从而降低了系统开发的复杂性,提高了可操作性。 (2)软件生命周期模式 对于不同的软件系统,可以采用不同的开发方法、以及运用不同的管理方法和手段。实际上,软件生命周期法在开始的时候只是一个概念。因此,在应用软件开发生命周期法时,许多开发团队会把这一个概念进行工具化,这一个工具化就是软件开发生命周期模式。通过软件开发生命周期模式,我们能清晰、直观地看到软件开发的全过程。 在过去的10年中,软件生命周期模式及其许多变体获得了广泛的认可。在各种软件开发方法和过程改进模式中的技术革新也得到了承认,如Rational Unified Process(RUP)、Capability Maturity Model(CMM)、ISO 9000-3 等。典型的几种生命周期模式包括:瀑布模式、演化模式、螺旋模式、快速原型模式、喷泉模式和混合模式等。在这里只介绍其中最常用的几种模式: ①瀑布模式:它首先是由Royce提出,该模式由于酷似瀑布闻名。在该模式中首先确定需求,然后拟定规格说明,在通过验证后方可进入计划阶段。因此,瀑布模式中至关重要的一点是只有当一个阶段的文档获得认可才可以进入下一个阶段。瀑布模式通过强制性规约来确保每个阶段都能很好的完成任务,但是实际上却往往难以办到。因为整个瀑布模式几乎都是以文档驱动的,这对于非专业的用户来说是难以阅读和理解的。虽然瀑布模式有很多很好的思想可以借鉴,但是在过程能力上有天生的缺陷。内容导航 ②演化模式:它主要是针对事先不能完整定义需求的软件开发。它的方法是用户先给出待开发系统的核心需求,并且在核心需求实现后,再提出反馈以支持系统的最终设计和实现。也就是说:开发人员首先会根据用户的需求开发核心系统,然后提供给用户试用;用户试用后再提出增强系统能力的需求;最后开发人员再根据用户的反馈,实施迭代开发。实际上,这个模式可看作是重复执行的多个瀑布模式。演化模式要求开发人员把项目的产品需求分解为不同组,以便分批循环开发。但这种分组并不是随意性的,而是要根据功能的重要性及对总体设计的基础结构的影响而作出判断。 ③螺旋模式:它是瀑布模式与演化模式相结合,并加入两者所忽略的风险分析所建立的一种软件开发模式。螺旋模式基本的做法是在瀑布模式的每一个开发阶段之前,引入非常严格的风险识别、风险分析和风险控制。直到采取了消除风险的措施之后,才开始计划下一阶段的开发工作。否则,项目就很可能被暂停。另外,如果有充足的把握判断遗留的风险已降低到一定的程度,项目管理人员还可作出决定让余下的开发工作采用另外的生命周期模式,如演化模式,瀑布模式或自定的混合模式。 ④过程开发模式:它又叫混合模式或元模式,是指把几种不同模式组合成一种混合模式,它允许一个项目能沿着最有效的路径发展。因为上述的模式中都有自己独特的思想,现在的软件开发团队中很少说标准的采用那一种模式的,因为模式和实际应用还是有很大的区别的。实际上,许多软件开发团队都是在使用几种不同的开发方法组成他们自己的混合模式。 最后,我们来总结一下。螺旋模式是典型的迭代式生命周期模式,而RUP则是近代迭代式生命周期的代表。与螺旋模式相比,RUP将风险管理放在更重要的地位。最新的迭代式生命周期模式的代表是模式驱动架构(MDA)和敏捷(Agile)软件开发。MDA模式是基于可执行规格说明的思想,是现代转换模式的代表,其核心技术是组件技术。而敏捷开发生命周期的典型代表是XP编程,是把传统的系统设计和实现由敏捷软件开发过程中的验收测试、重构和测试驱动所取代;把传统的集成和部署由敏捷软件开发中的持续集成和短周期所取代。 其实上,无论是瀑布开发模式还是螺旋开发模式,软件生命周期模式的发展实际上是体现了软件工程理论的发展。在最早的时候,软件的生命周期处于无序、混乱的情况。一些人为了能够管理和控制软件的开发过程,就把软件开发严格的区分为多个不同的阶段,并在阶段间加上严格的审查,这就是软件开发模式产生的起因。它们体现了人们对软件过程的一个希望:严格控制、确保质量。 (1)评估软件开发范围和需求 当软件所有参与人员都能理解软件开发的范围和需求时,就能为软件开发可能遇到的突发事情和未来变化建立一个技术基线。这个技术基线、基础规则和假设应该包含识别和评估软件的功能性。一般来说,在前期需求明确的情况下可尽量采用瀑布模式或改进型的瀑布模式。而在不确定性因素很多时或很多需求无法计划的情况下,应该尽量采用增量迭代模式或螺旋模式。 (2)确定软件开发规模和阶段划分 确定软件的开发规模是决定开发管理工具的重要一步,也是最为关键的步骤。因为确定开发规模和阶段划分是明确软件开发生命周期的驱动动力,它可用来约束在开发过程中所采用的行动和资源,以及限制可以提供的选项。例如,对于规模小的建议采用瀑布模式;而在资金和成本无法一次到位情况下可以采用增量模式;而对于完全多个独立功能的开发可以在需求阶段就分功能并行,但每个功能内可以遵循瀑布模式原则;而其他项目一般可采用迭代模式。 (3)选择合适的软件开发生命周期模式 一个定义良好的软件生命周期模式,可以很好的指导我们的开发工作,使漫长的开发工作易于控制。事实上,我们也可以任意定义自己喜欢的软件生命周期模式。但是,如果生命周期模式定义不合理,却会制约我们的开发过程。因此,选择一个软件开发模式不应当将其作为一次性的活动来考虑。因为随着开发项目的进展,未知内容会逐渐变为已知内容,并且新的和意料之外的问题和风险都会随之出现。所以,选择开发模式应该要根据实际情况来进行,然后在此基础上再加以裁减以作出适当的修改和改良。 (4)跟踪和度量开发模式的效率 在软件开发模式选定后,应该要定时跟踪和度量开发模式的效率。例如,记录那些相关的信息和得到的经验教训。通过这样做的目的是为了记录一个最佳开发模式的选择过程,以获得选择开发模式的经验性。因此,跟踪信息应当被不断的收集起来,并且同原始模式和基线进行比较。

⑺ 怎样估算软件项目周期

项目是指以一定的成本在一定时间内取得预期收益的系列活动。项目的生命期是管理项目的重要指标,而对项目周期的估算则是管理项目的重要一环。本期项目管理介绍对软件项目周期进行估算的技巧。
估算是软件开发中很重要的一个环节:项目周期估算过短会造成人力低估、成本预算低估、日程安排过短,最终人力资源耗尽,成本超出预算,为完成项目不得不 赶工,影响项目质量,甚至导致项目失败;项目周期估计过长表面看来影响不大,但是实际上也会带来成本估计过高、充分效率低下的后果。周期估算如同盖楼房中 打地基,是后续工作的基础,它的影响会贯穿整个项目。
但软件开发是一项非常复杂的工程,不仅包含需求分析、设计、编码、测试、实施、维护等不同的子过程,还涉及到开发工具、开发人员、项目管理、风险等众多因素,不同因素对估算产生的影响不尽相同。在进行软件估算时(包括利用工具辅助估算)必须考虑到这些方面,否则估算结果就会和实际结果有很大的偏差。下面,我们对几个常见的因素做一些探讨。
软件规模是项目估算的基础
软件规模通常指的是软件的大小,可以通过程序代码行的长度、功能函数的数量、数据库中表的数量、数据库的大小等要素来描述软件规模。一般而言,软件规模越大,所花费的开发周期就越长。但这并不是一个简单的线性函数关系,也要考虑代码重用问题。比如一个模块代码很长,但是可能包含了很多公用函数,那么在估算时就应适当减少代码行数量。
软件项目中包含的功能模块越多、越复杂(或者说软件越大),开发周期越长。这个时间绝不是模块开发时间的简单叠加,因为模块功能数量的增加直接带来了软 件模块间相互关联度、复杂度的成倍增加,这导致了在需求、设计等阶段需要花费更多的时间,比单独考虑一个模块复杂得多。另一方面,对于产品化程度高的项目 开发,随着模块数量增加,开发周期的增加却不是特别明显。这是因为相当数量的模块可以完全重用,实际开发量大大减少。
所以,在实际进行软件开发周期估算的时候,软件规模肯定是首先考虑的因素。具体估算时,在考虑软件规模时要去除可重用的部分。另外,软件功能之间的关联所造成的复杂性也必须足够重视。
风险影响周期
任何一个项目都或多或少存在风险,软件项目开发过程中也避免不了这种情况而且有自己的特点。最常见的风险来自于:技术、客户、项目人员等方面。开发周期估算时项目风险应该适当考虑,尤其是技术风险和客户风险技术风险技 术风险主要来自于软件本身的技术难度。对于一套成熟的产品,定制开发的技术风险相对非常小,因为重要的技术已经成型,客户也很少有新的、能带来高难度技术 问题的需求,这种风险较小。但是对于完全重新开发的项目,或是研发类的项目,技术风险必须特别重视。以开发平台为例,开发平台必须适合本项目所涉及的软件 开发、满足最终的需求,平台的错误选择将导致庞大的开发工作量,即便满足了用户需求也可能造成系统效率低下、扩展性差的致命问题,软件可能会很快被淘汰。
在实际估算中,建议将技术难度分为十级,每一级在初次估算的代码行上增加10%,
最终估算代码长度=初始估算代码长度×(1+0.1×n)
假设模块A的初次估计代码行为15000行,但考虑技术难度高的风险,设定技术难度级别为二级,最终代码行的估算数量为15000×(1+20%)=18000。
由于技术风险的分析是一项技术性很强的工作,要求做技术风险分析的人必须是技术专家,在相关技术领域有着丰富的经验。对重大技术风险的分析结果必须要经过评审,保证准确性。
客户风险客户风险存在于客户化项目中,客户行业特点不尽相同,技术、理解水平也相差甚远。在我经历开发的项目中,80%的项目延期是由于客户方的原因,而且这种风险可控性很低,对项目影响超过技术风险。
在开发周期估算前,项目经理要仔细分析客户的具体状况,包括客户方的计算机水平、管理水平、可沟通程度,在此基础上结合以往的经验综合判断是否会对开发 带来明显的影响,可以按照上述的技术风险的方式将客户分级,最终确定开发周期。在这个过程中,项目经理的经验极其重要,对客户的分析基本上要依赖经验做判 断,要求管理人员有大量的客户经验和行业分析能力。
项目团队影响速度
对于软件开发项目来说,人力资源是核心力量。人力资源对估算的影响表现在技术水平、理解能力、沟通能力等几个方面。项目技术人员编程水 平、工作效率、团队适应性、沟通能力等素质,都会对开发进度产生影响,其中技术水平是最关键的因素。评价程序员的技术水平可以从编程熟练程度、编程速度、 解决技术问题的能力等几个因素考虑:编程熟练程度指的是程序员使用编程工具实现软件的功能的熟悉程度;编程速度指的是完成某个功能的速度;解决技术问题的 能力可以反映程序员的技术功底如果以100%作为总和,这三个因素分别占的合适比例为70%、15%和15%。
软件开发周期估算前,应对开发人员定级,建议按新手、初级程序员、中级程序员、高级程序员来划分,每一级人员再评定上述三个因素。初次估算时可以假定开发人员为中级程序员,然后依据项目组实际人员的水平做修正,这样结果的准确度能大大提高。
宝贵的经验依据历史数据估算软件开发周期是一种比较常见的方法,这种方法以历史软件开发周期为依据,在估算时把当前软件项目的情况与历史数据加以对比,从而得出最终结果。
按照历史数据估算开发周期的准确度还是相当高的,但这种方法只适用于对某类软件的开发,比如某个行业业务系统的开发。当要估算的软件与历史软件相差太 多,比如开发工具完全不同、或者项目类型完全不同,就不能再依赖这种方法,最起码应该辅助使用其它估算法。如果没有历史数据或是开发一种新领域软件,可以 使用代码行或功能点估算法,在此基础上再通过其它方法校正。
在实际使用历史数据估算法时,建议项目经理建立一个历史项目数据库。在库中 包含以前所有项目的开发周期、项目规模、开发人员状况、客户状况等详细数据。当估算时根据当前项目的状况在库中寻找最类似的历史项目,然后再比较两个项目 之间在项目规模、项目风险、人力资源之间的区别,我们假定历史项目开发周期为A,当前项目的周期可以依据下列公式得出:
估算项目周期 = A×(2×S+R+P+2×C)/6
S:代表软件规模 R:代表风险 P:代表人力资源 C:代表客户
(以上值均指当前项目与历史项目的比率)
实际的比较因素应该不止这些,但软件规模、风险、人力资源及客户状况是其中最重要的,对软件开发的影响也最大,所以这个公式中只考虑了这些因素。其中软件规模和客户两项占的权重最大,这也是根据项目管理经验得出的,在实际使用历史数据估算法时还可以灵活加入其它因素

⑻ 软件的生命周期

软件生命周期是指从软件定义、开发、使用、维护到报废为止的整个过程,一般包括问题定义、可行性分析、需求分析、总体设计、详细设计、编码、测试和维护。
问题定义就是确定开发任务到底“要解决的问题是什么”,系统分析员通过对用户的访问调查,最后得出一份双方都满意的关于问题性质、工程目标和规模的书面报告。
可行性分析就是分析上一个阶段所确定的问题到底“可行吗”,系统分析员对系统要进行更进一步的分析,更准确、更具体地确定工程规模与目标,论证在经济上和技术上是否可行,从而在理解工作范围和代价的基础上,做出软件计划。
需求分析即使对用户要求进行具体分析,明确“目标系统要做什么”,把用户对软件系统的全部要求以需求说明书的形式表达出来。
总体设计就是把软件的功能转化为所需要的体系结构,也就是决定系统的模块结构,并给出模块的相互调用关系、模块间传达的数据及每个模块的功能说明。
详细设计就是决定模块内部的算法与数据结构,也是明确“怎么样具体实现这个系统”。
编码就是选取适合的程序设计语言对每个模板进行编码,并进行模块调试。
测试就是通过各种类型的测试使软件达到预定的要求。
维护就是软件交付给用户使用后,对软件不断查错、纠错和修改,使系统持久地满足用户的需求。
软件的生命周期也可以分为3个大的阶段,分别是计划阶段、开发阶段和维护阶段。 瀑布模型
有时也称为V模型,它是一种线型顺序模型,是项目自始至终按照一定顺序的步骤从需求分析进展到系统测试直到提交用户使用,它提供了一种结构化的、自顶向下的软件开发方法,每阶段主要工作成果从一个阶段传递到下一个阶段,必须经过严格的评审或测试,以判定是否可以开始下一阶段工作,各阶段相互独立、不重叠。瀑布模型是所有软件生命周期模型的基础。
原型+瀑布模型
原型模型本身是一个迭代的模型,是为了解决在产品开发的早期阶段存在的不确定性、二义性和不完整性等问题,通过建立原型使开发者进一步确定其应开发的产品,使开发者的想象更具体化,也更易于被客户所理解。原型只是真实系统的一部分或一个模型,完全可能不完成任何有用的事情,通常包括抛弃型和进化型两种,抛弃型指原型建立、分析之后要扔掉,整个系统重新分析和设计;进化型则是对需求的定义较清楚的情形,原型建立之后要保留,作为系逐渐增加的基础,采用进化型一定要重视软件设计的系统性和完整性,并且在质量要求方面没有捷径,因此,对于描述相同的功能,建立进化型原型比建立抛弃型原型所花的时间要多。原型建立确认需求之后采用瀑布模型的方式完成项目开发。
增量模型
与建造大厦相同,软件也是一步一步建造起来的。在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成。增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。
一些大型系统往往需要很多年才能完成或者客户急于实现系统,各子系统往往采用增量开发的模式,先实现核心的产品,即实现基本的需求,但很多补充的特性(其中一些是已知的,另外一些是未知的)在下一期发布。增量模型强调每一个增量均发布一个可操作产品,每个增量构建仍然遵循设计-编码-测试的瀑布模型。
迭代模型
早在20世纪50年代末期,软件领域中就出现了迭代模型。最早的迭代过程可能被描述为“分段模型”。迭代,包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。所以,在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。
实质上,它类似小型的瀑布式项目。所有的阶段(需求及其它)都可以细分为迭代。每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。

⑼ 描述软件,软件项目,软件产品的生命周期以及三者的生命周期之间的关系 在线等

软件生命周期(SDLC,Systems Development Life Cycle,SDLC)是软件的产生直到报废的生命周期

软件项目的生命周期分为以下5种类型:
A: 编码修正模型:未成型的系统规范->不断的编码修正—>发布
¨ B: 渐进模型:最初概念->设计和实施最初原型->不断的精化原型直到可以被接受(开发一个版本->交付该版本->得到用户反馈->并入用户反馈)->完成和交付最终版本
¨ C: 瀑布模型:软件概念<->需求分析<->架构设计<->详细设计<->编码和调试<->系统测试
¨ D: 螺旋模型:确定目标,备选方案,约束条件->识别和解决风险->评价备选方案->计划下一个迭代->交付下一迭代解决方法->确定目标,备选方案,约束条件
¨ E: 没有模型, 完全根据实际情况进行调整

产品生命周期(proct life cycle),简称PLC,是产品的市场寿命,即一种新产品从开始进入市场到被市场淘汰的整个过程。

软件生命周期包括软件项目的生命周期和产品生命周期,

⑽ 什么是软件周期

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

阅读全文

与计划软件如何看周期相关的资料

热点内容
电脑上怎么下载班智达的软件 浏览:1198
无痕迹消除图片软件 浏览:747
免费小票软件 浏览:990
华为在哪里设置软件停止运行 浏览:991
用电脑键盘调节声音大小 浏览:1286
自动刷软件赚钱 浏览:1292
古装连续剧免费版 浏览:1442
工免费漫画 浏览:1176
手机软件专门储存文件 浏览:1535
uos如何用命令安装软件 浏览:1358
有线耳机插电脑麦克风 浏览:674
侏罗纪世界3在线观看完整免费 浏览:1024
单个软件怎么设置名称 浏览:747
凤凰网电脑版下载视频怎么下载视频怎么下载 浏览:1415
明白之后如何免费获得无人机 浏览:855
如何解禁软件菜单 浏览:891
副路由器连接电脑视频 浏览:1379
内置wifi电视如何装软件 浏览:1144
手机换零免费雪碧 浏览:1613
国行苹果如何下载美版软件 浏览:1243