📜  SDLC-软件原型模型

📅  最后修改于: 2020-12-13 14:34:59             🧑  作者: Mango


软件原型是指构建软件应用程序原型,该原型可以显示正在开发的产品的功能,但实际上可能不具备原始软件的确切逻辑。

软件原型作为软件开发模型正变得非常流行,因为它可以在开发的早期阶段了解客户需求。它有助于从客户那里获得有价值的反馈,并帮助软件设计人员和开发人员了解所开发产品的确切期望。

什么是软件原型?

原型是功能有限的软件的工作模型。原型并不总是拥有实际软件应用程序中使用的确切逻辑,这是在工作量估计中要考虑的额外工作。

原型用于允许用户评估开发人员建议并在实施之前对其进行尝试。它还有助于了解特定于用户的需求,开发人员可能在产品设计期间未曾考虑过这些需求。

以下是逐步解释设计软件原型的方法。

基本需求识别

此步骤涉及了解非常基本的产品要求,尤其是在用户界面方面。在此阶段,可以忽略内部设计和外部方面(如性能和安全性)的更复杂细节。

开发初始原型

在这个阶段开发了最初的原型,展示了非常基本的要求并提供了用户界面。这些功能可能无法在内部开发的实际软件中以完全相同的方式正常工作。同时,解决方法用于在开发的原型中为客户提供相同的外观。

原型审查

然后将开发的原型提交给客户和项目中的其他重要利益相关者。反馈以有组织的方式收集,并用于开发中产品的进一步增强。

修改和增强原型

在此阶段将讨论反馈和审核意见,并根据时间和预算限制以及实际实施的技术可行性等因素与客户进行一些协商。接受的更改再次包含在开发的新原型中,并且重复该循环直到满足客户期望。

原型可以具有水平或垂直尺寸。水平原型可显示产品的用户界面,并提供整个系统的更广泛视图,而无需关注内部功能。另一方面,Vertical原型是产品中特定函数或子系统的详细说明。

水平和垂直原型的目的是不同的。水平原型用于获取有关用户界面级别和业务需求的更多信息。它甚至可以在销售演示中介绍,以在市场上获得业务。垂直原型本质上是技术性的,用于获取子系统确切功能的详细信息。例如,给定子系统中的数据库需求,交互和数据处理负载。

软件原型-类型

行业中使用了不同类型的软件原型。以下是广泛使用的主要软件原型类型-

一次性/快速原型

一次性原型也称为快速原型或封闭式原型。这种原型制作只需很少的工作,只需最少的需求分析即可构建原型。一旦了解了实际需求,便会丢弃原型,并在对用户需求有非常清楚的理解的情况下开发实际系统。

进化原型

进化原型(也称为面包板原型)基于一开始就以最少的功能构建实际的功能原型。所开发的原型构成了未来原型的核心,整个系统将在此基础上构建。通过使用进化原型,将易于理解的需求包括在原型中,并在理解需求时将其添加。

增量原型

增量原型是指构建各个子系统的多个功能原型,然后集成所有可用的原型以形成一个完整的系统。

极限原型

极限原型用于Web开发领域。它包括三个连续的阶段。首先,以HTML格式显示所有现有页面的基本原型。然后,使用原型服务层对数据处理进行仿真。最后,将服务实现并集成到最终原型中。该过程称为极端原型,用于引起人们对过程的第二阶段的关注,在该阶段中,开发功能齐全的UI时很少考虑实际服务。

软件原型-应用

软件原型在开发具有高水平用户交互能力的系统(例如在线系统)中最有用。需要用户在处理数据之前填写表格或浏览各种屏幕的系统甚至可以在开发实际软件之前就非常有效地使用原型来提供准确的外观。

涉及太多数据处理且大多数功能是内部的,几乎没有用户界面的软件通常不会从原型开发中受益。在这样的项目中,原型开发可能是额外的开销,并且可能需要大量的额外工作。

软件原型制作-优点和缺点

在典型情况下使用软件原型制作,因此应非常谨慎地做出决定,以使构建原型所花费的精力为最终开发的软件增加了可观的价值。该模型有其优点和缺点,如下所述。

原型模型的优点如下-

  • 甚至在产品实施之前就增加了用户对产品的投入。

  • 由于显示了系统的工作模型,因此用户可以更好地了解正在开发的系统。

  • 由于可以更早地发现缺陷,因此减少了时间和成本。

  • 可提供更快的用户反馈,从而提供更好的解决方案。

  • 缺少的功能可以轻松识别。

  • 可以识别出混乱或困难的功能。

原型模型的缺点如下-

  • 由于对原型的过多依赖,导致需求分析不足的风险。

  • 用户可能会对原型和实际系统感到困惑。

  • 实际上,由于系统范围可能超出原始计划,因此该方法可能会增加系统的复杂性。

  • 即使在技术上不可行,开发人员也可以尝试重用现有的原型来构建实际的系统。

  • 如果监控不当,在原型制作上投入的精力可能过多。