Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在设计系统的其他部分之前开发一个原型GUI是否明智?_Java_User Interface - Fatal编程技术网

Java 在设计系统的其他部分之前开发一个原型GUI是否明智?

Java 在设计系统的其他部分之前开发一个原型GUI是否明智?,java,user-interface,Java,User Interface,在设计系统的其他部分之前开发一个原型GUI是否明智 我正在为这个小项目使用Java。它将是一个带有GUI和数据库连接的程序。假设数据库有表A和表B,用户可以选择与哪个表交互。然后程序在GUI中显示表A的内容,并允许用户更改内容和提交更改、删除或插入。我会说是和否 否,因为您应该将应用程序设计为足够模块化,以便您的逻辑和数据不依赖于UI设计 是的,因为在你真正开始实施之前设计所有东西总是很明智的 因此,我的意思是,您应该制定一个概念,但在实现逻辑时,不要让您的UI概念“束缚您的双手”。因此,如果您

在设计系统的其他部分之前开发一个原型GUI是否明智

我正在为这个小项目使用Java。它将是一个带有GUI和数据库连接的程序。假设数据库有表A和表B,用户可以选择与哪个表交互。然后程序在GUI中显示表A的内容,并允许用户更改内容和提交更改、删除或插入。

我会说是和否

否,因为您应该将应用程序设计为足够模块化,以便您的逻辑和数据不依赖于UI设计

是的,因为在你真正开始实施之前设计所有东西总是很明智的


因此,我的意思是,您应该制定一个概念,但在实现逻辑时,不要让您的UI概念“束缚您的双手”。因此,如果您的经理客户不喜欢您的概念性UI,您可以随时更改它,而不必实际更改您的应用程序逻辑。

我认为在任何后端开发开始之前,应该先开发GUI。这样做有两个原因:

  • 您可以清楚地了解模型对象应该如何交互

  • 可用性对提取数据的方式有很多限制。在100%确定有哪些约束条件后,您可能会想要开发和构建。

  • 在业务方面,经理们喜欢在任何开发开始之前拥有一个哑功能UI。很多时候,反馈会导致后端假设发生重大变化。这比后端开发结束后收到更改请求时的痛苦要小得多

我个人的经验是,同时开发GUI和后端有点混乱。另外,GUI提供了对后端行为的可靠预期。此外,这种方法确保所有开发人员、客户和经理都在同一个页面上。

在开始编程之前向您展示GUI BR是一个非常好的主意,特别是让最终用户(客户)能够检查UI是否符合其期望,这可以节省您大量的时间

为了做到这一点,你不一定需要开发一个“真实”的原型,你可以使用一些程序来快速设计你的应用程序的UI,包括一个最小的工作流模拟,而不是完整的功能


我有一个非常好的经验:我真的可以推荐它

我同意Joel Spolsky的观点,即在编写代码之前先编写代码是个好主意。该规范的一部分应该包括一组屏幕模型@O.D.是对的,是一个很好的工具。这在过去为我节省了很多时间

一旦您有了一个业务用户满意的功能规范,您就可以更好地了解如何设计系统以满足需求。e、 高性能是一个要求,领域模型与简单crud等


然后,您应该从单个用例开始,构建应用程序的垂直部分。在一次迭代中构建GUI、服务层、持久层和数据库模式。这将有希望指出您的设计中存在的任何问题,并在开始构建水平功能之前为您提供修改它的机会

在编写代码之前编写规范总是一个好主意,因为它会让您思考。但我见过的大多数规格都不太好。如果规范太过技术化,用户最终会在没有真正理解他们将得到什么的情况下签署您的规范

当我向客户展示用户手册,或者每次讨论一个场景的系统模型时,我看到了最好的结果

请注意,半生不熟的实体模型不会起作用。你需要用相关数据完全填充你的实体模型(当屏幕上的数字不匹配时,你是否尝试过与会计讨论一些屏幕?你根本无法向他们解释这些只是虚拟数字…)

使用实体模型需要注意的是,无论你做什么或说什么,用户通常都会认为应用程序“几乎完成了”。这一定是某种潜意识的东西,我不确定。但为了避免这种情况,大多数专用工具要么只有“黑白”外观,要么有多个可切换的皮肤

这里有一个非常完整的模型工具列表。其中许多是免费的:


我自己的工具很受欢迎:,我很久以前就创建了它,正是因为我自己对上述问题感到沮丧。

是的,为什么不呢。GUI可以驱动部分设计。嗯,无论如何,我认为这个问题是主观的。为什么要投票?它与SDLC直接相关。我们应该看看所有的方法都是什么,这些方法的理由是什么。从什么时候开始,一个健康的讨论主题成为了一个接近投票的候选人?+1,特别是显示GUI的部分经常会暴露分析中的缺陷。