代码之家  ›  专栏  ›  技术社区  ›  Olumide

先设计哪个?软件GUI或架构[关闭]

  •  2
  • Olumide  · 技术社区  · 14 年前

    “在未来某个时候计划一个软件产品,我想知道设计一个软件产品的最佳方法。首先是体系结构(即组件和组件之间的关系)还是GUI?

    谢谢。

    5 回复  |  直到 8 年前
        1
  •  11
  •   doug    8 年前

    有一段时间我认为正确的答案是 建筑学 .

    真实故事:大约四年前,我向执行团队介绍了一个软件项目的体系结构,作为我们季度预算审查过程的一部分。这个项目没有得到资助。后来,我问为什么,一个执行官告诉我,没有人知道我在说什么,也不清楚他们做了多少工作,还有多少工作要做。-- 太不确定 他们总结道。

    大约一年后,我在季度预算审查中给出了另一组项目摘要。在吸取了宝贵的经验之后,这一次,对于我所在小组最重要的早期项目,我展示了一个图形用户界面——比主仪表板的一个线框略多一点,其中只有几个按钮实际上是可点击的,而这些按钮只会导致加载其他线框。我们为每个主要的子目录做了这个。在两天(和两夜)的工作中,我们的人做得非常出色——很明显,我能够向执行团队展示应用程序的具体功能。

    结果: 不资助 . 我问一位高管为什么——他的回答是:

    从你的演示中——顺便说一下,我们很喜欢——我们以为你已经完成了它。

    当然这里有一个教训,我只是不知道它是什么。

        2
  •  3
  •   bezmax    14 年前

    我想说没有区别。如果您的团队中有一个熟练的架构师,那么在同时开发这两个架构师不会有任何问题。如果你的建筑师没有经验,你会遇到很多麻烦。

    补充: 鉴于您的评论,以下是您的选择的驱动因素:

    1)如果您的项目是高度面向特性的(例如一些自助服务系统,可能是一些bugtracker引擎等——任何具有复杂功能的东西)——您应该首先使用体系结构。否则,您将发现您的复杂体系结构与您所做的GUI不匹配,从而导致GUI和体系结构发生变化,并在将来出现许多问题。

    2)如果您的项目旨在高度用户友好,比如Facebook、Last.fm甚至StackOverflow.com——您应该先使用GUI,然后再使用体系结构。通过这种方式,您将确保所有用户友好性与它的设计保持一致,这是由于架构(架构师需要在给定的GUI下设计架构)带来的一些额外麻烦所造成的。

        3
  •  2
  •   Xavier Young    14 年前

    我认为这取决于你的软件类型。通常我想先确认最困难的部分。如果您的软件GUI(和交互?)将是复杂和重要的,我建议首先设计GUI(和交互)。(例如,您正在设计绘图工具或文本编辑工具)

        4
  •  2
  •   chiccodoro    14 年前

    绘制或原型化图形用户界面,并与您的团队(或客户项目的客户)讨论它,可以澄清背后的领域模型,并揭示出许多业务规则和需求,否则这些规则和需求将被忽略。

    无论您以后是否进行最终的GUI设计,仍然是开放的,但是在设计架构之前根本不考虑接口是有一定风险的。

        5
  •  0
  •   Jagmag    14 年前

    图形用户界面可以帮助架构师捕获和理解业务需求,尤其是那些用户可能无法作为需求文档的一部分明确捕获的需求。

    举一个例子:在我们的一个应用程序需求中,用户提到了根据一些业务逻辑将数据输入字段集合在一起。 因为在执行GUI时,决定了组不应该同时可见,并且首选选项卡页面类型的结构用于显示,可用性问题(如在选项卡之间移动时应用程序保留的数据)、技术问题(如是否应立即加载所有选项卡或按需加载等)对archi来说是显而易见的。泰特 对这些问题的澄清用户界面导致体系结构必须适应各种方法来满足这些需求。

    我确实认为,如果可以选择的话,首先设计UI并将其作为架构工作时的参考是更好的选择。