当我开始开发软件,ui设计或数据库设计时,应该是第一个?

时间:2009-10-12 12:54:25

标签: mfc ui-design

我尝试使用一些ui模拟软件设计ui,但我发现很难确定设计的所有细节,因为数据库还没有设计。

但如果我第一次设计软件,那么同样的问题就出现了,我没有UI,我怎样才能创建一个突出的UI?

8 个答案:

答案 0 :(得分:11)

首先

用户界面。

从用户的角度思考一个优雅且易于使用的用户界面(和工作流程)思考,然后再思考将UI带入生活所需的底层数据库/数据结构

如果您因为尚未设计数据库而无法设计UI,那么你做错了恕我直言。你使用了多少烦人的软件,让数据库设计驱动了UI设计?

编辑:正如其他人所指出的那样,您需要启动以及用例/用户故事。 UI设计和数据库设计,无论您采用哪种顺序,都应该只在之后知道您的软件正在尝试做什么以及为谁做。

Bryan Oakley的

编辑

it's not what the software does. it's what the user does
(来源:gapingvoid.com

答案 1 :(得分:5)

如果您尝试使用面向对象语言解决问题,建议您开始考虑所涉及的对象。在确定了可以解决所有用例的实体域模型之前,请不要担心数据库或UI。

您最初不担心数据库或UI。如果需要持久性且没有数据库,则可以将对象序列化到文件系统。能够使用命令行UI驱动您的应用程序是一个很好的练习,可以保证您有一个良好的MVC分离。

从对象开始。

更新:

这种方法的一个优点是它不会损害具有特定数据库设计的UI,反之亦然。该对象与其他两层无关。您根本不需要拥有UI或关系数据库。你只是让对象正确。完成后,您可以创建任何您喜欢的UI或持久性方案,确信域模型可以处理您被要求解决的问题。

答案 2 :(得分:5)

将用户放在他应得的位置。首先设计UI。

数据库只是用户需求的结果。

答案 3 :(得分:4)

首先使用案例,既不是ui也不是数据库。

答案 4 :(得分:1)

你的问题非常主观。

我的观点(而且只是那样)是数据库和底层结构应该首先出现。它通常可以帮助放下键盘和鼠标并在纸上编辑一些笔记。

列出您希望应用程序执行的目标,列出您需要的功能,然后开始考虑如何构建它。

这种方法适用于我的应用程序设计。

答案 5 :(得分:1)

通常您需要操纵您开发的解决方案中的某些数据。因此,您应该首先考虑如何组织这些数据,从一开始就稳定这一层是至关重要的。如果您处于面向对象的世界,我同意duffymo关于首先设计业务对象的评论。将这些对象映射到数据库将是您工作的一部分。然后添加业务功能并在表示层上工作。当然,您不得不经常进行一些重构,但通常重构会比业务和表示层更多地影响数据库。

读这个,这是一个很好的技巧。 DDD - Domain Driver Design

答案 6 :(得分:1)

你会建一座没有基础的房子吗?数据库设计不是很有趣的部分,但它是大多数商业应用程序的基础,如果你弄错了,它的修复成本最高,维护成本最高。

那就是说,我注意到你没有理由不能在两者交织在一起工作。但在您可以做之前,您需要了解您正在编写应用程序的要求和业务。

答案 7 :(得分:0)

以上所有答案都是朝着正确的方向解决您的问题。也就是说,我会彻底遵循SDLC。它可以帮助您了解解决问题的解决方案的必要性。然后是需求收集,然后是设计支持UI的UI /底层结构。这是一个程序,但最终你会受益。