简体   繁体   English

为丰富的交互式GUI建模的最佳方法是什么(使用用例或其他方法)?

[英]What is the best way to model a richly interactive GUI (using use-cases or other approaches)?

My company develops a rich GUI from a detailed specification document, written as 100+ Use-cases (UC's). 我公司根据详细的规范文档(称为100多个用例(UC))开发了丰富的GUI。 These detailed UC's drive the development. 这些详细的UC推动了开发。 They are written as tables with actor and description columns. 它们被编写为带有actor和description列的表。 We (me and others) have mangled real UC prose style to support the interactive nature of our application. 我们(我和其他人)已经破坏了真正的UC散文风格,以支持我们应用程序的交互性质。

We also use the specification to generate (manually) a test spec, so the detail (to me) seems important. 我们还使用该规范来生成(手动)测试规范,因此细节(对我而言)似乎很重要。 This test-spec is used in verification to get sign-off. 该测试规范用于验证以获取批准。

Note: There are many more components to our product than just the GUI. 注意:除了GUI,我们产品的组件更多。 The GUI team is 6-10 strong, the project as a whole, about 60. GUI团队有6-10人,整个项目大约60人。

Until recently I used to create a "storyboard" document detailing each panel and its interactions in relation to the specification. 直到最近,我还创建了一个“故事板”文档,详细介绍了每个面板及其与规范的相互作用。 There also used to be a GUI architecture, plus designs for major sub-components. 过去也有一个GUI体系结构,以及主要子组件的设计。 Ouch! 哎哟! It has led to very slow development times, a poor code base (ha!) and a poorly motivated team. 这导致了非常缓慢的开发时间,糟糕的代码库(ha!)和缺乏积极性的团队。

The app is more of an IDE, allowing users to create their own test-cases (for mobile 'phone testing) using a drag'n'drop, flowchart idiom. 该应用程序更像一个IDE,允许用户使用拖放式流程图习惯来创建自己的测试用例(用于移动“电话测试”)。 It is very complex, mature (7+ years) and offers many functions. 它非常复杂,成熟(超过7年)并提供许多功能。 The test-cases are then run and the results analysed. 然后运行测试用例并分析结果。 Being such a free tool (user can follow a nearly infinite number of paths through the tool), it seems to make a nonsense of sequential use-cases. 作为这样的免费工具(用户可以通过该工具遵循几乎无限数量的路径),似乎没有用处的顺序用例。 We use "O" to mean optional, "R" to mean repeatable, nesting and many other "extensions". 我们使用“ O”表示可选,使用“ R”表示可重复,嵌套和许多其他“扩展”。 UC's are fundamentally a poor match for designing an IDE's interactions. 从根本上说,UC在设计IDE的交互方面是不理想的。 Think of this app as offering a blank worksurface (like a word-processor, or spreadsheet), where users can do anything, in any order: this has led to the UC bloat. 可以将这个应用程序视为提供空白的工作界面(例如文字处理器或电子表格),用户可以按任何顺序执行任何操作:这导致UC膨胀。

Currently there is a desire to simplify the specification from 100+ UC's into fundamental UC's: "Develop Test-case", "Run Test-case", "Analyse Results" (or something similar). 当前,人们希望将规范从100多个UC简化为基本的UC:“开发测试用例”,“运行测试用例”,“分析结果”(或类似内容)。

Whilst I understand our UC's are not "true" UC's (focussing on the business value), my concern, as team lead on the GUI and also developer is that without the detailed information, my guys won't know quite what to develop. 虽然我了解我们的UC并不是“真正的” UC(关注业务价值),但由于GUI和开发人员的团队领导是我,我担心的是,如果没有详细的信息,我的伙计们将不知道该开发什么。 Three UC's just seem too abstract. 三个UC似乎太抽象了。

We follow a form of Unified Process, with spec done up-front. 我们遵循统一流程的形式,并且预先完成了规范。 Perhaps we should change to a more agile process, with developers themselves doing the interaction design. 也许我们应该更改为更敏捷的过程,由开发人员自己进行交互设计。

Some kind of drag'n drop based IDE/GUI-tool would have been nice? 某种基于拖放的IDE / GUI工具会很好吗? With capabilities to record the interactions, and put descriptive text on animations. 具有记录交互的功能,并在动画上添加描述性文本。 Instead of UC's design IDE you let IDE do UC's. 您可以让IDE执行UC,而不是使用UC的设计IDE。 With the IDE/GUI in a specific state you can let a pop-up show what happens by write UC or some text on that pop-up, comming up every time that specific state is conditioned by the user or developer. 在特定状态下使用IDE / GUI,您可以让弹出窗口显示通过在该弹出窗口上编写UC或一些文本来显示会发生什么,每次由用户或开发人员确定特定状态时都会弹出该消息。 The pop-up can be connected to more pop-ups depending on what happens in the real world. 弹出窗口可以连接到更多弹出窗口,具体取决于现实世界中发生的情况。 Like those text adventures asking "what do you want to do now?". 就像那些文字冒险问“您现在想做什么?”一样。 And a UC pop-up kan trigg events to change the IDE/GUI or change other states according to test-suites made from the specifications. 以及一个UC弹出式kan trigg事件,以根据规范中的测试套件更改IDE / GUI或更改其他状态。

A test-suite map inputs to outputs. 测试套件映射输入到输出。 Interactions with the IDE/GUI select inputs and the outputs changes the state of a prototype of the data-layer of the program. 与IDE / GUI的交互会选择输入和输出,从而更改程序数据层原型的状态。 Theoretically you can do all functions with in/out-tables (some infinetly large) instead of algorithms. 从理论上讲,您可以使用入/出表(有些很大)来执行所有功能,而不是使用算法。 Practically when a table is big enough, let one programmer use it as a test-suite to do an algorithm and exchange the table. 实际上,当一个表足够大时,让一个程序员使用它作为测试套件来执行算法并交换表。 The table now used as a test-suite reporting errors. 该表现在用作测试套件报告错误。

Let the IDE/GUI-tool generate the code for the final event driven IDE/GUI interacting by events with code, data and user layers, or better you let it be reflective with all in one layer, to get rid of endless restructurings. 让IDE / GUI工具为最终事件驱动的IDE / GUI生成代码,以使事件与代码,数据和用户层进行交互,或者最好让它在所有层中都具有反射性,以摆脱无休止的重组。

That was just some idéas 那只是一些想法

In OpenLaszlo recomend a four steps design process: 1.Wire-frames. OpenLaszlo中,推荐了四个步骤的设计过程:1.Wire-frames。 2.Storyboards. 2.故事板。 3.Animations. 3,动画 4.Engineering prototypes. 4,工程原型

It's very interesting... 很有意思 替代文字
(source: openlaszlo.org ) (来源: openlaszlo.org

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用代号一编写GUI的最佳方法是什么:使用设计器或对GUI进行编码? - What is the best way to write a GUI in Codename One : Use the designer or code the GUI? 对于Python gui,每隔几秒重复执行一次函数的最佳方法是什么,而不需要为其它函数添加其他函数? - What is the best way to repeatedly execute a function every few seconds, without intterupting other functions, for a Python gui? 如何在python GUI中包括交互式图形可视化? - What should I use to include interactive graph visualization in a python GUI? 在没有GUI设计器的情况下实现GUI的最佳方法是什么? - What is the best way to implement a GUI without a GUI designer? 创建不同的GUI显示对象并使用CardLayout在它们之间进行切换的最佳方法是什么? (JAVA) - What is the best way to create different GUI display objects and use CardLayout to switch between them? (Java) 将GUI添加到Pygame应用程序的最佳方法是什么? - What's the best way to add a GUI to a Pygame application? 为Java软件制作美观的GUI的最佳方法是什么 - What is the best way to make a handsome GUI for a Java software 在C ++中创建简单的跨平台GUI的最佳方法是什么? - What is the best way to make a simple cross platform GUI in C++? 创建从SQL数据库到GUI的映射的最佳方法是什么? - What is the best way to create mapping from SQL database to GUI? 开始使用GUI C ++编程的最佳方法是什么? - What is the best way to get started in GUI C++ programming?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM