65.9K
CodeProject 正在变化。 阅读更多。
Home

GUI 原型设计:如何以及为何?

starIconstarIconstarIconstarIconstarIcon

5.00/5 (4投票s)

2012年5月5日

CPOL

7分钟阅读

viewsIcon

46258

如何在软件开发中使用原型设计并选择合适的工具

引言

程序员 vs 用户

软件开发者和用户之间经常出现误解。用户想要一个能解决问题的有效工具,但在大多数情况下,他们甚至对程序员的工作方式一无所知。程序员也很难想象用户必须处理的任务。

对程序员来说看起来非常出色的实现,对用户来说可能极其不舒服。程序员经常不注意用户认为是显而易见的事情。有没有可能克服用户和程序员之间的误解?

内部战争

软件开发和网站创建是一个复杂的过程。参与其中的不同人员,如程序员、设计师、经理,思维方式各不相同……他们每个人都有具体的任务:程序员编写代码,设计师负责视觉设计,经理与客户联系。有没有可能让这些人互相理解?

翻译失误

在分布式项目工作中,误解不仅可能由专业问题引起。也可能是由于文化、语言和行为障碍导致的人与人之间的沟通问题。这样一来,客户的大部分想法和愿望在第一次尝试时都未能成功实现。

原型设计——如此有用

解决沟通问题

原型设计是创建软件交互式模型的过程,旨在向未来用户展示程序界面的运行方式。原型设计技术可以解决上述问题。其优点之一是能够立即获得用户的反馈。开发人员可以在工作的早期阶段考虑所有用户的意见,此时所有更改都可以进行而不会造成严重的损失。原型设计使开发过程的所有参与者之间的对话更加及时,并使他们的合作更有效。

与用户一起改进 GUI

原型设计的目标不仅仅局限于解决沟通问题。最重要的任务之一是提高用户界面质量。图形用户界面(GUI)应该用户友好,适应特定组织的特定需求,并与其他企业信息系统保持一致。否则,用户将花费更多时间学习如何使用新程序并执行一些简单的模式任务;也许他将无法充分利用其所有功能。

在使用原型设计技术时,用户从被动消费者转变为软件开发过程的积极参与者。在系统开发之前(在设计阶段),他可以轻松地将所有愿望和想法可视化。然后他可以带着原型与开发人员交流,展示未来的系统应该是什么样子以及它应该如何工作。

即使用户不参与原型设计,他仍然可以对原型和最终界面的创建拥有强大的控制权。结果,他将获得一个易于使用且涵盖他所有需求的系统。原型设计的广泛分发必将导致用户界面质量的全面提升。

缩短开发时间

原型设计不仅对用户至关重要,对开发人员也同样重要。首先,原型设计有助于降低项目风险,创建满足客户需求和要求的系统。其次,原型设计有助于提高客户忠诚度。第三,它可以缩短整个系统的开发总时间。

下图显示了两种开发风格的比较。

上图显示了没有原型设计的开发过程。在这种情况下,开发在需求规范定义并批准后开始。通常,客户对结果不完全满意;用于额外工作的总时间远大于开发本身的时间。

下图表示包含原型设计的开发过程。在这种情况下,设计需要更多时间,开发也会延迟。但当开发不仅基于需求规范,还基于详细原型时,系统将更能满足客户需求,并且不需要进行重大修改。开发系统的总时间肯定会减少。

原型设计工具的关键功能

易于使用

要在软件开发过程中轻松有效地实现原型设计,需要专门的工具。一方面,原型设计是一个非常复杂的过程;另一方面,大多数参与用户不具备高级技术知识。这就是为什么原型设计工具应该既强大又易于使用。它必须允许没有特殊知识和技能(如编程)的用户创建任何复杂度的原型。

软件市场上有大量原型设计工具,旨在解决各种问题:从制作模型到创建高保真交互式原型。看起来选择如此之多,专家们可以轻松选择合适的工具。但进一步了解所提供的软件后,选择问题似乎变得更加困难。

不仅适用于网页

大多数现有原型设计工具非常适合 Web 应用程序和网站,但不适合桌面应用程序。

可视化

此外,许多工具可以创建简单的模型,如前所述。它们当然在某些情况下确实很有帮助。但是,如果您需要创建详细且吸引人的原型,该怎么办?在这里,我们遇到了选择软件的另一个重要因素——原型保真度。分析表明,并非所有,只有少数提供的软件拥有适当的工具包,包括所谓的原生组件(即,针对特定操作系统进行风格化)。因此,很少有工具能够制作出真正美观且功能丰富的原型。

Interactivity

原型应该是交互式和动态的,这是原型的两个主要特征。软件的视觉外观可以在任何图形编辑器中设计。但原型不仅要展示界面设计,还要展示系统功能和界面逻辑。在创建“实时”和真正动态的原型时,专家们面临着许多问题:例如,许多现有工具甚至不允许连接接口。这就是为什么它们只能在非常有限的场景中使用。许多其他被称为“交互式”的工具,其事件和动作集非常狭窄,不足以构建一个生动的动态原型。

跨平台

原型设计工具的严重和轻微问题清单还可以继续。我们还发现,没有多少跨平台(即,能够在不同操作系统下工作)原型设计工具。如今,许多组织都转向 Linux,这一点确实非常重要。

我们自己的原型设计工具

考虑到上述所有问题,我们决定创建自己的原型设计工具,并将其命名为 GUI Machine。它无需编码即可生成桌面和 Web 应用程序的完全交互式高保真原型。

现在

我们尽最大努力避免了上述大部分问题。现在 GUI Machine 具有以下特点:

  • 易于使用。您无需特殊技能和知识(例如,编程)即可开始使用 GUI Machine。
  • 功能强大,允许创建任何大小、复杂度和细节的详细交互式原型。
  • 通用——易于用于桌面和 Web 应用程序的原型设计。
  • 跨平台,可以在 Windows、Linux 或 MacOS 下运行。
  • 方便实用。我们在 GUI Machine 中加入了一些额外的实用工具,使其使用更加舒适和高效。您可以将原型导出为可执行应用程序,无需安装 GUI Machine 即可在任何计算机上运行。另一个工具允许创建所有原型窗口的屏幕截图。另一个有用的工具是简单的图形编辑器,可帮助您轻松修改图标和任何其他图像。我最喜欢的工具是 Pixel Grabber,它可以捕获屏幕上任何像素的颜色。

那么

我们必须毫不谦虚地说,我们未来的计划确实宏伟。我们决定将我们的原型设计工具转变为一个软件设计环境。我们正在从界面设计转向系统设计。应该怎么做呢?

  1. 我们将创建自己的 UML 建模工具并将其与 GUI Machine 集成。(UML 被选为软件设计的实际通用标准)。
  2. 我们还将实现 UML 模型和原型的集成。因此,我们正在开发我们的 UML 附加组件,即所谓的 UML 配置文件。
  3. 我们将学习如何根据原型和 UML 模型生成程序代码。

然后,GUI Machine 将能够使用生成的代码、原型和 UML 模型创建功能完善的应用程序。这似乎是软件开发领域的一场革命——用户将能够无需编程即可创建应用程序!这听起来令人难以置信吗?时间会证明一切……

原型示例

历史

  • 2012 年 5 月 5 日:初始版本
© . All rights reserved.