SDLC - 软件原型模型
软件原型是指构建软件应用程序原型,显示正在开发的产品的功能,但实际上可能不包含原始软件的确切逻辑。
软件原型制作作为一种软件开发模型正变得非常流行,因为它可以在开发的早期阶段了解客户需求。 它有助于从客户那里获得有价值的反馈,并帮助软件设计人员和开发人员了解对正在开发的产品的确切期望。
什么是软件原型设计?
原型是具有某些有限功能的软件工作模型。 原型并不总是包含实际软件应用程序中使用的确切逻辑,并且是在工作量估算中需要考虑的额外工作量。
原型设计用于让用户评估开发人员的建议并在实施前试用它们。 它还有助于了解特定于用户的需求,并且开发人员在产品设计期间可能没有考虑到这些需求。
以下是设计软件原型的逐步方法说明。
基本要求确定
此步骤涉及了解非常基本的产品要求,尤其是在用户界面方面。 在此阶段可以忽略更复杂的内部设计细节以及性能和安全性等外部方面。
开发初始原型
初始原型是在此阶段开发的,其中展示了非常基本的要求并提供了用户界面。 这些功能在实际开发的软件内部可能不会完全以相同的方式工作。 同时,变通办法用于在开发的原型中为客户提供相同的外观和感觉。
原型审查
然后将开发的原型呈现给客户和项目中的其他重要利益相关者。 以有组织的方式收集反馈,并用于进一步改进正在开发的产品。
修改和增强原型
在此阶段讨论反馈和审查意见,并根据时间和预算限制以及实际实施的技术可行性等因素与客户进行一些协商。 接受的更改再次合并到开发的新原型中,并且循环重复直到满足客户期望。
原型可以有水平或垂直维度。 水平原型显示产品的用户界面,并提供整个系统的更广阔视野,而不专注于内部功能。 另一方面,垂直原型是对产品中特定功能或子系统的详细阐述。
水平原型和垂直原型的目的不同。 水平原型用于获取有关用户界面级别和业务需求的更多信息。 它甚至可以在销售演示中展示,以在市场上获得业务。 垂直原型本质上是技术性的,用于获取子系统确切功能的详细信息。 例如,给定子系统中的数据库要求、交互和数据处理负载。
软件原型设计 - 类型
行业中使用了不同类型的软件原型。 以下是广泛使用的主要软件原型类型 −
一次性/快速原型制作
一次性原型制作也称为快速或封闭式原型制作。 这种类型的原型设计只需要很少的努力就可以通过最低限度的需求分析来构建原型。 一旦了解了实际需求,就可以丢弃原型,并在对用户需求有更清晰的了解的情况下开发实际系统。
演进原型
演进原型也称为试验板原型,其基础是在开始时构建具有最少功能的实际功能原型。 开发的原型构成了未来原型的核心,整个系统都建立在原型之上。 通过使用演化原型,将充分理解的需求包含在原型中,并在需求被理解时添加。
增量原型制作
增量原型设计是指构建各种子系统的多个功能原型,然后集成所有可用的原型以形成一个完整的系统。
极限原型设计
极限原型设计用于网络开发领域。 它由三个连续的阶段组成。 首先,一个包含所有现有页面的基本原型以 HTML 格式呈现。 然后使用原型服务层模拟数据处理。 最后,服务被实施并集成到最终原型中。 此过程称为极端原型制作,用于吸引人们注意该过程的第二阶段,在该阶段开发功能齐全的 UI,而很少考虑实际服务。
软件原型制作 - 应用
软件原型设计在开发具有高水平用户交互的系统(例如在线系统)时最为有用。 在处理数据之前需要用户填写表格或浏览各种屏幕的系统可以非常有效地使用原型制作,甚至在实际软件开发之前就可以提供准确的外观和感觉。
涉及过多数据处理且大部分功能都在内部且用户界面很少的软件通常不会从原型设计中获益。 原型开发可能是此类项目的额外开销,可能需要付出很多额外的努力。
软件原型制作 - 优点和缺点
在典型情况下使用软件原型设计,应该非常谨慎地做出决定,以便在构建原型上花费的努力为最终开发的软件增加可观的价值。 该模型有其自身的优点和缺点,讨论如下。
原型模型的优点如下 −
甚至在产品实施之前就增加了用户对产品的参与度。
由于显示了系统的工作模型,因此用户可以更好地了解正在开发的系统。
减少时间和成本,因为可以更早地检测到缺陷。
更快的用户反馈可带来更好的解决方案。
可以轻松识别缺失的功能。
可以识别令人困惑或困难的功能。
原型模型的缺点如下 −
由于过于依赖原型而导致需求分析不充分的风险。
用户可能会混淆原型和实际系统。
实际上,这种方法可能会增加系统的复杂性,因为系统的范围可能会超出原始计划。
开发人员可能会尝试重用现有原型来构建实际系统,即使这在技术上不可行。
如果没有得到适当的监控,在构建原型上投入的精力可能会过多。