我尝试使用一些ui模拟软件设计ui,但我发现很难确定设计的所有细节,因为数据库还没有设计。
但如果我第一次设计软件,那么同样的问题就出现了,我没有UI,我怎样才能创建一个突出的UI?
答案 0 :(得分:11)
用户界面。
从用户的角度思考一个优雅且易于使用的用户界面(和工作流程)思考,然后再思考将UI带入生活所需的底层数据库/数据结构
如果您因为尚未设计数据库而无法设计UI,那么你做错了恕我直言。你使用了多少烦人的软件,让数据库设计驱动了UI设计?
编辑:正如其他人所指出的那样,您需要启动以及用例/用户故事。 UI设计和数据库设计,无论您采用哪种顺序,都应该只在之后知道您的软件正在尝试做什么以及为谁做。
Bryan Oakley的编辑:
(来源: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 /底层结构。这是一个程序,但最终你会受益。