首页 > 编程知识 正文

软件工程各个阶段,软件工程生命周期模型

时间:2023-05-05 17:06:44 阅读:109220 作者:26

软件构建的基本概念之一——软件开发生命周期模型。 或者只是SDLC型号。 SDLC -是一个连续的过程,从决定启动项目的那一刻开始,到从开发中完全删除时结束。 没有单一的SDLC型号。 这些被分成主要群体,每个群体都有特点和弱点。

阶段1 .规划和需求分析(Planning and Requirement Analysis )每个软件开发生命周期模型从分析开始,并与流程相关

讨论对最终产品的要求。 这个阶段的目标是详细定义系统要求。 此外,还必须确保所有进程参与者都清楚了解任务和每个需求如何实现。 讨论通常涉及质量保证专家,必要时也可以在开发阶段进行干预。

阶段2 .项目体系结构设计(Project Architecture )在软件开发生命周期的第二阶段,开发者实际上正在设计体系结构。 包括客户在内的所有利益攸关方将讨论此阶段可能出现的各种技术问题。 它还定义了项目中使用的技术、团队负载、限制、时间范围和预算。 最佳项目的决定是根据定义的要求进行的。

第三阶段。 开发和编程(Development and Coding )批准请求后,此过程将进入下一阶段-实际开发。 程序员从这里编写源代码,并牢记以前定义的要求。 系统管理员协调软件环境、前端程序员开发程序用户界面和与服务交互的逻辑。

假设编程本身有四个阶段

算法开发源代码编写汇编测试和调试阶段4 .测试(Testing )测试阶段包括调试过程。 开发过程中泄露的所有代码缺陷都将在这里被检测、记录并返回给开发人员进行修复。 重复测试过程,直到所有重要问题都已删除并且软件工作流稳定。

阶段5 .“部署”(Deployment )流程最终确定,如果没有关键问题-是时候为最终用户开始了。 新计划发布后,技术支持团队将加入。 该部门在提供用户反馈的使用期间向用户提供咨询和支持。 此阶段还包括对选定组件的更新,以确保软件是最新的,不受安全漏洞的影响。

SDLC模型(softwaredevelopmentlifecyclemodel )由最初、最古老的“瀑布式”SDLC模型演变而来,其种类大幅扩大。 SDLC模式的多样性是由从简单的站点到复杂的医疗软件等多种产品类型预先决定的。 采用以下SDLC模式之一作为基础-无论如何,都必须根据产品、项目和公司的特点进行调整。 以下是最常见、最受欢迎和最重要的SDLC机型:

瀑布模型(Waterfall Model )迭代模型(Iterative Model )螺旋模型(Spiral Model ) V-Shape Model )敏捷模型(Agile Model )瀑布该过程经过严密记录和预定义,在软件开发生命周期模型的每个阶段都具有预期的功能。

利弊简单、易于使用、理解的软件在最终阶段结束之前,由于其刚性,管理起来并不简单。 每个阶段都有明确的结果和过程,逐一确认高风险、不确定性的发展阶段并不复杂,非常适合面向对象的项目。 清晰、毫不含糊的小型或中型项目不适合长期项目。 很难衡量发展周期中关键阶段的进展。 但是,仍处于发展阶段,任务容易分类和决定的优先顺序排在最后,预先识别问题的选项Waterfall SDLC模型的用例:

准确记录这些要求的产品定义的稳定技术堆栈是预定义的,不动态、不含糊,要求在项目开始之前迭代SDLC模型不需要完整的要求列表。 开发过程可以从对功能部件的要求开始,然后进行扩展。 这个过程是重复的,可以在每个周期创建新版本的产品。 每次迭代都包含每2-6周开发一次系统的单独组件,并将该组件添加到以前开发的功能中。 说到数学术语,迭代模型是逐次逼近方法的实现; 这意味着逐渐接近计划最终产品的形式。

利弊一些功能可以在开发生命周期的最初阶段比瀑布模型更快地开发迭代模型。 应用并发开发需要持续的管理进展,并且很容易衡量可能会出现的体系结构和设计问题。 因为在短期计划阶段,没有预测到所有要求都是短暂的迭代。 在测试和调试容易的阶段,小项的不良选择首先完成高风险的任务,因此容易管理风险,难以在下一个sprin中管理

t中可以防止在一次迭代中定义的问题和风险即使在项目的最后阶段,风险也可能无法完全确定灵活性和准备变化的要求风险分析需要高素质专家的参与

迭代模型的用例:

最终产品的要求是严格预定义的适用于大型项目主要任务是预定义的,但细节可能随着时间而推进螺旋SDLC模型

螺旋模型 - 是SDLC模型,它分阶段结合了架构和原型。它是Iterative和Waterfall SDLC模型的组合,具有重要的风险分析重点。螺旋模型的主要问题是确定进入下一阶段的正确时机。建议将初步设定的时间范围作为此问题的解决方案。即使前一阶段的工作尚未完成,也将根据计划完成向下一阶段的转变。该计划是根据统计数据引入的,即使从个人开发人员的经验来看,也可以在之前的项目中收到。

好处劣势生命周期分为小部分,如果风险集中度较高,则可以提前完成阶段以解决问题可能相当昂贵开发过程准确记录,可根据变化进行扩展风险控制需要高技能专业人员的参与可伸缩性允许在相对较晚的阶段进行更改并添加新功能对小项目可能无效早期的工作原型已经完成 - 用户可以更快地指出这些缺陷大量的中间阶段需要过多的文档

旋模型的用例

客户不确定要求预计在开发周期中会进行重大编辑具有中级或高级风险的项目,防止这些风险非常重要应该在几个阶段发布的新产品,以获得足够的客户反馈V形SDLC模型

V形SDLC模型是经典瀑布模型的扩展,它基于每个开发阶段的相关测试阶段。这是一个非常严格的模型,下一阶段仅在前一阶段之后开始。这也称为“验证和验证”模型。每个阶段都有当前的过程控制,以确保可以转换到下一个阶段。

好处劣势V形模型的每个阶段都有严格的结果,因此很容易控制缺乏灵活性测试和验证在早期阶段进行小项目的糟糕选择适用于需求稳定且清晰的小型项目相对较大的风险

V形模型的用例:

对于需要进行准确产品测试的项目适用于中小型项目,其中严格要求严格要求获得所需资格的工程师,特别是测试人员,可轻松到达。敏捷SDLC模型

在每次开发迭代之后的敏捷方法中,客户能够看到结果并理解他是否满意或不满意。这是敏捷软件开发生命周期模型的优势之一。其缺点之一是,由于缺乏明确的要求,很难估计资源和开发成本。极限编程是敏捷模型的实际应用之一。这种模型的基础包括每周短暂的会议 - Sprint是Scrum方法的一部分。

 

好处劣势功能需求的更正被实施到开发过程中以提供竞争力由于永久性变化而无法衡量最终成本项目按短而透明的迭代划分团队应该是高度专业和客户导向的灵活的变更过程使风险最小化新要求可能与现有架构冲突快速发布第一个产品版本通过所有更正和更改,项目可能会超出预期时间

敏捷模型的用例:

用户需求动态变化由于许多迭代,实施的更改的价格更低与瀑布模型不同,它只需要初始计划来启动项目更多推荐的Scrum文章

敏捷中的三个Amigos发展战略是什么?

Three friends refer to the main perspective of testing and inspecting increments in business, during and after development. They review each story in informal start-up meetings to provide a shared vision of what will be delivered and help ensure that it is the voice of the team, not a single opinion. (三个朋友指的是在业务、开发期间和开发之后测试检查工作增量的主要视角,例如,业务分析师、开发人员、测试人员在非正式的启动会议中回顾每个故事,以对将要交付的内容给出一个共同的共享愿景,并帮助确保它是团队的声音,而不是单一的意见。)

什么是敏捷?什么是Scrum?

Agile is the software development methodology that focuses on customer satisfaction by delivery shippable software frequently. Scrum is one of the many approaches to implement Agile. Scrum is suitable for certain type of projects where there are rapidly changing requirements. (敏捷是一种软件开发方法,它通过频繁交付可交付的软件来关注客户满意度。Scrum是实现敏捷的众多方法之一。Scrum适用于需求变化迅速的特定类型的项目。)

什么是Scrum中的速度?

Velocity in Scrum is a measure of the amount of work a Team can tackle during a single Sprint and is the key metric in Scrum. Velocity is calculated at the end of the Sprint by totaling the Points for all fully completed User Stories. (速度是一个团队在一次冲刺中可以完成的工作量的度量,也是Scrum中的关键度量标准。在冲刺结束时,通过对所有完全完成的用户故事的点进行合计来计算速度。)

为什么Scrum易学难精?

Scrum is a framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value. Whilst it is lightweight and simple to understand it is difficult to implement and hard to master. This article tell you why?(Scrum是一个框架,人们可以在其中解决复杂的适应性问题,同时富有成效和创造性地交付具有最高价值的产品。虽然它是轻量级的,易于理解,但很难实现,也很难掌握。这篇文章告诉你为什么?)

传统项目管理 vs 敏捷项目管理

Traditional project management emphasizes on conducting detailed upfront planning for the project with emphasis on fixing the scope, cost and schedule - and managing those parameters. Whereas, Scrum encourages data-based, iterative decision making in which the primary focus is on delivering products that satisfy customer requirements. (传统的项目管理强调对项目进行详细的前期规划,强调确定范围、成本和进度,并管理这些参数。然而,Scrum鼓励基于数据的、迭代的决策,其中主要关注的是交付满足客户需求的产品。)

Scrum如何演变?

Scrum has not been immune to controversy, and its history of invention is a topic of frequent debate. Some professionals believe that Jeff Sutherland, John Scumniotales, and Jeff McKenna invented Scrum in 1993. And then there are others who vouch for Hirotaka Takeuchi and Ikujiro Nonaka as inventing Scrum in 1986. (Scrum并没有不受争议,它的发明历史是一个经常争论的话题。一些专业人士认为Jeff Sutherland、John Scumniotales和Jeff McKenna于1993年发明了Scrum。还有其他一些人也许相信, 在1986年Hirotaka Takeuchi和Ikujiro Nonaka发明了Scrum。)

什么是5个Scrum的核心价值?

Less known than the process of Scrum and probably under-highlighted, but therefore not less important, are the 5 core Scrum Values upon which the framework is based: Commitment – Focus – Openness – Respect – Courage. These values relate to the ethics of Scrum, thereby -from a social point of view- turning Scrum into a value system. (与scrum的过程相比,人们对scrum知之甚少,而且可能低估了这一点,但同样重要的是,该框架所基于的5个核心scrum价值观:承诺——关注——开放——尊重——勇气。这些价值观与Scrum的伦理有关,因此从社会的角度来看,将Scrum转变为一个价值体系。)

什么是敏捷软件开发?

When talking about Agile, we often talk about ''Agile'' and ''Scrum,'' but, how exactly are related, and how are they different? We take a look of this issue in this Article. (在谈到敏捷时, 我们经常谈论 "敏捷" 和 "scrum", 但是, 它们到底有什么关系, 它们有什么不同?我们在本文中介绍了这一问题。)

Scrum在3分钟内完成

This article covers all the key concept of Scrum framework that make you easily be recalled and apply anytime from your mind as systematic knowledge structure (本文涵盖了 scrum 框架的所有关键概念, 使您可以轻松地被召回, 并从您的头脑中随时作为系统的知识结构应用)

什么是Scrum的三大支柱?

什么是Scrum的三大支柱? SCRUM使用经验方法(或有时称为经验主义)以适应客户不断变化的需求。经验主义是根据实际经历的内容做出决策的行为。经验方法意味着以事实为基础,以经验为基础,以证据为基础的方式开展工作,特别是,进展是基于对现实的观察,而不是基于大量前期要求的虚构计划。 […]

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。