润雪观点

将想法与焦点,与您一起共享

润雪观点

应用开发生命周期:基础与创新

2017-09-13 润雪科技:重庆网站建设公司 浏览器:2777

应用程序开发生命周期是用于说明包含应用程序开发中遵循的各种过程的综合过程的术语。它从识别要求开始,经过几个建设性阶段,行动过程最终导致部署和维护。而后者适用于包括高端信息系统和系统工程项目在内的各种发展,前者基本上限于软件应用开发。


应用开发生命周期:基础与创新


应用开发生命周期本质上是系统开发生命周期(SDLC)的一个子集。


构成流程的活动顺序通常包括规划,分析,设计,测试和实施。这些故意的阶段通常在各种其他活动之前和之后。在已有系统的情况下,该过程将从系统的全面评估开始。另一方面,当开始新鲜时,该过程是从各种来源收集的信息开始的。最初的步骤通常在可行性研究之前进行,以评估未来步骤的可行性和整体发展活动。根据客户预算,资源可用性等各种参数,理想的行动方针决定了最终目标的范围。这个过程坚持到基本阶段,其基本上定义了将被使用的模型的类型。一些受欢迎的应用开发生命周期模型包括


瀑布模型

原型模型

敏捷模型

瀑布模型


这种传统模式是在意识形态上构想的,即在开发周期的早期花费足够的时间可以在后期阶段降低成本。如果在初始阶段本身出现问题,那么修复比以后的阶段要容易得多,成本效益更高。


该模型采用顺序过程,并且进度被视为向下流动。由于这可以很容易地识别与瀑布的流动,这个过程已经被称为瀑布模型。瀑布模式“流动”进程的各个阶段包括:


概念化

引发

分析

设计

开发/编码

测试

部署/实施

维护

在概念的主要阶段包括创建需求规范文档。它征集了整体功能和非功能性要求。它还可以允许开发定义应用程序提供的各种用户交互的“用例”。


该文件基本上是客户和开发团队之间确认的各种协议的实施。它允许在开始设计之前对基本要求进行细致的评估。它可以在以后减少不必要的重新设计,并提供对风险,产品成本和时间表的务实估计。随后的步骤是分析这些要求,对项目的成功至关重要。此外,这些要求是必要的可操作和可衡量的,而在根本的业务限制的范式下被定义。


在瀑布模式中,通常在前两个阶段投资20-40%的项目进度。分析,设计和开发的后续阶段将会为应用程序提供一个形成性的结构。大约30-40%的时间用于这些重要阶段,而其余的则用于测试和实施软件。大多数项目包括一个管制整体发展过程的控制和程序的详细清单。


虽然瀑布模式是许多主要组织之后的相当长的时期的选择过程,但现在已经脱离了偏好。有人被批评为高度僵硬和迟钝。此外,客户在项目初期就完全了解其需求的假设已经被贬低。观看最终产品和做出改变的务实选择导致重建和测试的开销,这使得瀑布模型与开发团队不受欢迎。该模型的许多修改版本现在已经出现并在具有多种变体的组织中使用。


原型


应用程序原型的构建是为了方便最终用户通过尝试将其开发人员的产品提案评估为重要。这与基于简单描述的设计评估的传统过程相反。原型基本上是最终应用的不完整版本,并模拟其中的一些主要方面。它可以带来各种好处,因为开发人员可以在项目开始时早日从最终用户那里获得有价值的反馈。它允许所有的利益相关者始终分析规格,并与最终产品匹配。此外,它允许他们对项目的准确性和范围有很多见解。这样可以让利益相关方更好地估计最后期限,并确保成功实现。原型制定有助于描述未考虑的要求,这可能是客户和开发商之间商业关系的关键。以下是原型设计中涉及的基本步骤识别基本要求


要求收集:初始步骤根据客户需求确定可组装的主要要求。如果有的话,也可以从现有的系统采购。


原型开发:初始项目只包含基本的用户界面。它们是基于上一步收集的要求的细节。


评估:最终用户分析原型,并提出一个深刻的反馈列表,需要改变。


改进:输入用于捕获规格。基于这些原型,通过不断的交互改变或改进。随着原型的不断发展,它将演变为总结项目的范围。


实施:根据最终的原型,开发商随后就开发了真正的产品,经过彻底的测试,以符合商定的规范。


该模型允许添加以前无法构想的功能,从而更好地了解客户端和最终用户的实际应用。它也可以节省成本,因为所有的变化基本上都是在原型上完成的,而不是主要的产品。然而,它具有自己的缺点,因为在进阶阶段演变的一些功能可能不会在产品的最终范围内导致用户怨恨。而开发人员可以根据所提供的反馈进行更改,但技术合格的最终用户可能会要求不可行的功能。这也可能导致一些分歧,并可能导致利益相关者脱离接触。


已经开发了几种版本的原型模型,目的是减少缺点并优化过程。虽然,这种技术可以被认为是对瀑布模型的整体改进,但最近开发的创新方法在这种方法中更加动态和务实。目前流行的理想方法之一是敏捷开发模式。


应用开发方法


这是一种意识形态,旨在通过跨职能和自组织团队的共同努力来演变需求和解决方案。它通过适应性规划,迭代开发和不断改进,支持对修订进行快速灵活的回应。在2001年2月设想的敏捷宣言中,讨论了各种方式,使软件开发更加人性化。这导致了工作软件的概念化,动力被转移到客户协作和务实的变革反应而不是合同谈判,而且刚刚符合计划。


虽然有几种敏捷开发方法,但大多数在整个生命周期中促进客户协作,流程适应性和高效团队合作。


大多数敏捷开发方法是增量式,进化型和高度迭代性。他们通过将总体任务分解为小幅增长来实现。这是通过最少的规划和短时间帧迭代(时间框)完成的,时间框架通常在一周内持续,从一周到一个月。迭代涉及跨职能团队执行典型应用程序开发的所有类型的功能。功能主要包括需求分析,规划,设计,开发,验收测试和单元测试。当迭代结束时,操作产品向客户展示。这可能没有所有功能需要发布,但目标是准备一个可释放的版本。尽管风险最小化,但也有助于快速适应变化。


该模型通常包含位于车间的大型显示器,作为信息散热器。它以总结形式提供项目的最新状态。发展过程中遵循的主要学科之一包括所有团队成员的面对面沟通。通常每个团队都包括由客户指定的客户代表。该代表始终可用于回答中间迭代查询。在每次迭代的结论中,所有利益相关者分析进展。他们审查优先事项并重新评估,以最大限度地提高投资回报率(ROI)。


敏捷开发的流行特征之一就是Scrum。这是从项目开始到结束的每天的简短会议。每个scrum旨在实现团队的冲刺目标。所有成员彼此报告前一天的工作,并讨论第二天的工作。他们还讨论并整理解决方案,以有效地解决他们队的冲刺目标的障碍。这些简短的反馈循环可以在推导以质量和适应性为重点的理想方式方面具有建设性。


敏捷软件开发还使用各种技术来保持对质量的关注。其中一些包括 -


持续整合:实践包括将所有团队成员的工作副本合并到共享主线。为了防止整合问题,这一活动通常在一天内连续多次进行。


单元测试:   它是组件测试的基础,包括测试由白盒测试人员创建的代码片段。它涉及测试计算机程序模块和各个单元的源代码。具有相关使用程序和控制数据的操作程序一起进行测试,以查看它们是否适合操作。


配对编程:   这种敏捷的软件开发技术要求两位开发人员在一个工作站上工作。一个人编写代码时,其他开发人员会同时审查每一行代码。观察者侧重于代码的战略过程,注入思想来解决未来的问题。这使作者能够专注于实施任务的战术方面。


测试驱动开发:   该过程涉及持续重复的开发周期短。要开始一个定义一个功能的自动测试用例。之后是通过测试的代码,让程序员创建符合可接受标准的代码。在鼓励简约设计和激发程序员的信心方面有很长的路要走。该概念也适用于改进和调试用旧技术创建的旧代码。


域驱动设计:该技术通过将实现与不断发展的模型相链接来关注复杂的需求。关注核心领域逻辑是这一技术的基本前提。


代码重构:该过程包括重组现有代码,修改因式分解。这样做不会影响外部行为。重构增强了应用程序的非功能属性。增强的代码可读性和精简的复杂性是必不可少的优势,同时也提高了源代码的可维护性,从而创建了一个交互式内部架构来提高可扩展性。


虽然这些是用于提高质量和提高敏捷性的各种技术的一些,但敏捷模型侧重于稳定的规划和早期准确的估计。虽然这些可能在一开始就难以实现,但对计划规划的迭代方法允许通过灵活性将变化的范围改变为不断变化的现实。


随着测试在每次迭代中执行,代码的每一小部分经常被验证以适应新的部分。这有助于团队不断适应计划,从而最大限度地发挥其价值。


当更新的软件的真实价值被用户解密时,它可以帮助他们对软件的未来做出更多的决定。


虽然敏捷方法集中在应用程序开发的各个方面,但主要重点在于管理项目的实践和重要方面。然而,该方法在整个开发生命周期中提供了全面的覆盖。


总结


应用开发生命周期本质上是系统开发生命周期(SDLC)的一个子集。

构成流程的活动顺序通常包括规划,分析,设计,测试和实施。

根据客户预算,资源可用性等各种参数,理想的行动方针决定了最终目标的范围。

瀑布模式是在开发周期早期花费足够时间的意识形态来构想的,以消除错误,从而降低后期成本。

在瀑布模式中,通常在前两个阶段投资20-40%的项目进度。

应用程序原型的构建是为了方便最终用户通过尝试将其开发人员的产品提案评估为重要。

该模型允许添加以前无法构想的功能,从而更好地了解客户端和最终用户的实际应用。

敏捷发展思想旨在通过跨职能和自组织团队的共同努力,不断发展的需求和解决方案。

大多数敏捷开发方法是增量式,进化型和高度迭代性。


本文由重庆网站建设公司润雪科技原创,文章地址:/news/id/1213.html