原型和原型链原型继承_原型还是不原型:这就是问题所在。

原型和原型链原型继承

by Rishal Hurbans

由Rishal Hurbans

原型还是不原型:这就是问题所在。 (To prototype or not to prototype: that is the question.)

I’ve been involved in a number of projects that required the development of prototypes in a short period of time. These prototypes helped evaluate the viability of ideas and the user experience of a specific solution. Sometimes they served as proof that the concept could be developed given the constraints.

我参与了许多需要在短时间内开发原型的项目。 这些原型有助于评估创意的可行性以及特定解决方案的用户体验。 有时,它们可以证明可以在有约束的情况下开发该概念。

什么是软件原型? (What is Software Prototyping?)

Prototyping is the process of creating incomplete versions of a proposed solution. That sounds bad — it’s incomplete! But the aim of prototyping is to simulate only a few key aspects of the solution. This helps us evaluate the viability of potential solutions in terms of cost, complexity, usability, and value.

原型制作是创建提议的解决方案的不完整版本的过程。 听起来很糟糕-不完整! 但是,原型设计的目的只是模拟解决方案的几个关键方面。 这有助于我们从成本,复杂性,可用性和价值方面评估潜在解决方案的可行性。

Projects are often taken on before team members fully understand the effort required to achieve their goals. Sometimes they don’t understand if the solution is what’s required. Prototyping can assist in the analysis of these requirements, and can help the team learn more about the solution domain or problem domain, depending on the approach.

通常在团队成员完全理解实现目标所需的努力之前就进行项目。 有时他们不知道解决方案是否是必需的。 原型设计可以帮助分析这些需求,并且可以帮助团队根据方法来了解更多关于解决方案领域或问题领域的知识。

原型设计思想 (Prototyping and Design Thinking)

Design thinking, as a mindset, is the methodology for crafting solutions to complex problems using creative techniques. You have to account for both the known landscape, and the potential possibilities within that landscape.

设计思维作为一种思维方式,是使用创新技术为复杂问题制定解决方案的方法。 您必须考虑已知的景观以及该景观中的潜在可能性。

Prototyping is a big part of design thinking. Visually representing, understanding, evaluating, and learning from ideas is at the core of design thinking. Design thinkers concern themselves with the solution space, not just the problem space. In design thinking, it is common to uncover or create new problems to solve when evaluating prototypes — and this is a good thing.

原型设计是设计思维的重要组成部分。 视觉上表示,理解,评估和学习思想是设计思维的核心。 设计思想家关注解决方案空间,而不仅仅是问题空间。 在设计思维中,评估原型时通常会发现或创建新问题来解决,这是一件好事。

为什么要原型? (Why Prototype?)

早期用户验收测试 (Early user acceptance testing)

People get a chance to use and experience the solution early in development. This will result in early feedback from the user base, and allows you to implement changes earlier rather than later. The cost of a change in a project increases significantly in later phases of development.

人们在开发早期就有机会使用和体验该解决方案。 这将导致用户群的早期反馈,并允许您尽早而不是稍后实施更改。 在开发的后期阶段,项目变更的成本会大大增加。

实现以前未考虑的要求和约束 (Realize requirements and constraints that were not previously considered)

By simulating some of the functionality of a product, the team may discover side effects, constraints, or additional requirements that were not considered before. This assists in achieving a more complete and robust solution.

通过模拟产品的某些功能,团队可以发现以前没有考虑到的副作用,约束或其他要求。 这有助于实现更完整,更强大的解决方案。

更好的成本,时间和复杂性估算 (Better cost, time, and complexity estimates)

By realizing additional requirements and constraints early, as well as receiving user feedback early, you can make better complexity and time estimates. This results in better cost and time estimates. These estimates impact a range of activities when rolling out a solution to production.

通过尽早实现附加的需求和约束,以及尽早接收用户反馈,您可以进行更好的复杂性和时间估算。 这导致更好的成本和时间估计。 这些估算在推出生产解决方案时会影响一系列活动。

屠龙 (Slaying the dragon)

In software development, we speak about slaying the dragon: A single team of heroes attempts to slay a large project (or “dragon”). With software prototyping, we try to make slaying the dragon more like shooting fish in a barrel — we tackle smaller or more complex features first.

在软件开发中,我们谈论的是屠杀巨龙:一个英雄团队试图杀死一个大型项目(或“龙”)。 通过软件原型设计,我们试图使杀龙更像是在桶中射鱼-我们首先要处理较小或更复杂的功能。

原型制作过程 (A Process for Prototyping)

步骤1:了解景观 (Step 1: Understand the landscape)

You must understand the existing technology and business landscape, as well as the future vision and strategy. This is a crucial foundation for developing any solution.

您必须了解现有技术和业务前景,以及未来的愿景和战略。 这是开发任何解决方案的关键基础。

步骤2:确定核心需求 (Step 2: Identify the core requirements)

These are the requirements for the solution. These are usually derived from the ideas at hand, or from the problems you’re attempting to solve. Requirements usually evolve as you learn more.

这些是解决方案的要求。 这些通常来自手头的想法,或源自您试图解决的问题。 需求通常随着您了解更多而发展。

步骤3:研究 (Step 3: Research)

Determine if something already exists that fits the requirements. Look at competitors or similar solutions. Uncover the details not mentioned in the core requirements. These uncovered details could be a blocker for the solution, or could potentially open the door for better, more valuable features.

确定是否已经存在符合要求的东西。 查看竞争对手或类似的解决方案。 发现核心需求中未提及的细节。 这些未发现的细节可能成为解决方案的障碍,或者可能为更好,更有价值的功能打开大门。

步骤4:开发初始原型 (Step 4: Develop an initial prototype)

Prototype the features that are important and have high impact. This depends on the goal of the prototype. If complicated features with unknown possibilities exist, then tackle these first. If there are many simple features, try to simulate an experience across all these features without delving into the complexity in each.

对重要且影响很大的功能进行原型设计。 这取决于原型的目标。 如果存在未知可能性的复杂功能,请首先解决这些问题。 如果有许多简单功能,请尝试模拟所有这些功能的体验,而不必研究每个功能的复杂性。

步骤5:评估和审查原型 (Step 5: Evaluate and review the prototype)

You should review the developed prototype with the target user group and relevant stakeholders. Some prototypes could even be released to production for evaluation.

您应该与目标用户组和相关的利益相关者一起查看开发的原型。 一些原型甚至可以发布到生产中进行评估。

The performance of the features and usability should be evaluated and measured both quantitatively and qualitatively. This means that you gain some knowledge from measurable numbers, and other info from human intuition and observation.

功能的性能和可用性应进行定量和定性评估。 这意味着您可以从可测量的数字中获得一些知识,并从人类的直觉和观察中获得其他信息。

步骤6:修改和增强原型 (Step 6: Revise and Enhance the Prototype)

After reviewing the feedback from the prototype, you gather information. Then you can make enhancements and changes.

查看了原型的反馈后,您便可以收集信息。 然后,您可以进行增强和更改。

步骤7:重复 (Step 7: Repeat)

If unknowns still exist, repeat the above process. In fact, even with solutions in production, this process can be harnessed to test new ideas for the solution.

如果仍然存在未知数,请重复上述过程。 实际上,即使在生产中使用了解决方案,也可以利用此过程来测试解决方案的新想法。

原型尺寸 (Dimensions of Prototyping)

水平原型 (Horizontal Prototyping)

The aim is to provide a broad view of the entire solution. There will be little complexity in individual features. This approach is good for websites and instances where you need to achieve a general feel for the product.

目的是提供整个解决方案的广阔视野。 单个功能几乎没有复杂性。 此方法适用于需要使产品具有一般感觉的网站和实例。

Typically, these are solutions that are targeted to the public, or solutions that require intensive usability testing.

通常,这些是面向公众的解决方案,或者是需要大量可用性测试的解决方案。

垂直原型 (Vertical Prototyping)

The prototype will focus on a small set of features, sometimes even just one or two. The chosen features are explored and researched completely. This approach is good for solutions where you use obscure or complex algorithms, or when you attempt something unusual or unorthodox.

该原型将专注于少量功能,有时甚至只有一两个功能。 对所选功能进行了全面的探索和研究。 对于使用模糊或复杂算法的解决方案,或者尝试不寻常或不合常规的解决方案,此方法非常有用。

This is useful for experimenting with new tech, new approaches, and typically when you desire “disruption.”

这对于尝试使用新技术,新方法很有用,并且通常在您希望“颠覆”的时候。

原型制作类型 (Types of Prototyping)

一次性原型 (Throwaway Prototyping)

This is also known as close-ended prototyping. Rapid Prototyping involves creating a working model of parts of the system, at an early stage of development, after a relatively short investigation.

这也称为封闭式原型制作。 快速原型制作涉及在开发的早期阶段,经过相对较短的调查后,创建系统各部分的工作模型。

This kind of prototyping shows people what the feature will look like. But the code base or project is not necessarily used for the production version of the application.

这种原型向人们展示了该功能的外观。 但是代码库或项目不一定用于应用程序的生产版本。

进化原型 (Evolutionary Prototyping)

The main goal here is to build a very robust prototype in a structured manner and constantly refine it. The prototype forms the heart of the production application, and additional features are added to it.

这里的主要目标是以结构化的方式构建非常强大的原型,并不断对其进行完善。 原型构成了生产应用程序的核心,并向其中添加了其他功能。

增量原型 (Incremental Prototyping)

In incremental prototyping, parts of the system are developed as separate prototypes and plugged together to form a complete application. It is important to develop the interfaces for the separate components early, as integration may turn out to be a nightmare.

在增量原型制作中,系统的各个部分作为独立的原型开发并插入在一起以形成完整的应用程序。 尽早开发单独组件的接口非常重要,因为集成可能会成为噩梦。

极限原型 (Extreme Prototyping)

Extreme Prototyping is employed mainly for web applications and usually in three phases:

极端原型主要用于Web应用程序,通常分为三个阶段:

  1. Static HTML/CSS/JS is created — this gives users an instant tangible feel for the product.

    创建了静态HTML / CSS / JS-这为用户提供了对产品的即时有形感觉。
  2. Thereafter, the service layer is simulated — this includes business rules and logic.

    此后,模拟服务层-这包括业务规则和逻辑。
  3. Lastly, the actual service layer is developed — this involves integrating with real-world systems and plugging that into the front end HTML/CSS/JS views.

    最后,开发了实际的服务层-这涉及与实际系统集成,并将其插入前端HTML / CSS / JS视图。

This gives users an early view of the application without having actual functionality behind it. The backend will gradually come together as the process moves along.

这为用户提供了应用程序的早期视图,而没有背后的实际功能。 随着过程的进行,后端将逐渐融合在一起。

原型设计的缺点 (Disadvantages of Prototyping)

分析不足 (Insufficient analysis)

The confidence in a prototype could cause the team to abandon further analysis of features. This could result in part of the system being well-defined, while the remaining parts are vague and incomplete. This can be controlled through correct processes in requirements analysis.

对原型的信心可能会导致团队放弃对功能的进一步分析。 这可能导致系统的某些部分定义明确,而其余部分仍然模糊且不完整。 这可以通过需求分析中的正确过程来控制。

用户对原型和成品系统的困惑 (User confusion between the prototype and the finished system)

If the final system is completely different than the prototype, users may be confused about how it operates.

如果最终系统与原型系统完全不同,则用户可能对其操作方式感到困惑。

原型制作费用 (Expenses of prototyping)

Although prototyping saves cost in the actual development phase for a solution, there will be costs involved in implementing a prototyping phase.

尽管在解决方案的实际开发阶段中原型制作可以节省成本,但在实施原型阶段时会涉及成本。

The risk of spending money on a prototype that could potentially be thrown away must be understood. What you learn from developing that prototype is still valuable!

必须了解花钱购买可能被扔掉的原型的风险。 从开发该原型中学到的东西仍然很有价值!

原型制作的优势 (Advantages of Prototyping)

减少时间和成本 (Reduced time and costs)

By exploring the requirements and constraints, you can better estimate the upcoming effort.

通过探索需求和约束,您可以更好地估计即将到来的工作。

改善和增加用户参与 (Improved and increased user involvement)

User involvement is important. Prototypes clear up misconceptions and expectations, and they assist in gathering user feedback from early stages of development.

用户的参与很重要。 原型消除了误解和期望,它们有助于从开发的早期阶段收集用户反馈。

质量保证 (Quality assurance)

Realize oversights, additional requirements, and constraints.

实现监督,附加要求和约束。

革新 (Innovation)

Without being brave enough to explore the crazy ideas, an organization can easily stagnate.

没有足够的勇气去探索疯狂的想法,组织就很容易停滞不前。

There’s a range of topics related to prototyping. To learn more, researching these terms will help: design thinking, user experience design, agile.

有很多与原型相关的主题。 要了解更多信息,研究这些术语将有助于: 设计思维,用户体验设计,敏捷

Thanks for reading! If you enjoyed this post, please give me some claps so more people see it.

谢谢阅读! 如果您喜欢这篇文章,请给我一些鼓掌,以便更多人看到。

翻译自: https://www.freecodecamp.org/news/to-prototype-or-not-to-prototype-that-is-the-question-2f85c8cde2b/

原型和原型链原型继承

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值