我有一个想法,我想将其制作到一个应用程序中(我有一个C/C ++,C#和Java编程背景,因此我将在QT Creator中开发以跨补偿的缘故)。所以现在我问您高级开发人员,下一步该怎么办?我知道所有好的程序都来自一个主意。那我该怎么办?原型UI?然后开发代码?是否存在应用程序开发的圈子?
我并不是说这个问题是主观的或有争议的

有帮助吗?

解决方案

好的,从经验丰富的开发人员的角度来看,我为遵循至少一种过程驱动的方法而工作的大多数公司。我所看到的开源项目可能会有所不同,从临时到极端流程驱动。总的来说,至少在企业界,即使在小型项目中,下面的方法也对我和与我合作的团队都有效。当然,使用不同的范式有很多变化,但是通常,这些是我在大多数范式中看到的步骤的类型(而且我敢肯定我已经留下了一些细致的步骤):

  • 首先,对您的要求有良好的处理。如果您的用户不确定自己想要什么,那么@michael Herold从UI原型开始的方法绝对是一个很好的建议。您可能还想采用某种类型的迭代方法,例如 敏捷/混乱.
  • 接下来,定义某种类型的高级体系结构,应该足够灵活以实现您的目标。您的应用程序会成为客户服务器吗?它需要数据库吗?多个线程?多个过程?如果两个是“是”,那么这些线程/过程将如何通信。回答上述问题后绘制框图。
  • 如果您的项目中等大小或更大,则可能还需要绘制一些类或UML型图。考虑一下您需要什么样的课程及其关系。
  • 如果您想尝试 测试驱动的开发 方法,现在可能是将您的需求转变为单位测试的好时机。
  • 一旦您对要解决的问题有了一个很好的了解,以及如何处理解决方案,您最终就可以开始编码解决方案。

一些方法是迭代的,例如 增量发展 或者 敏捷/混乱. 。在敏捷/混乱中,您的迭代将非常快,就像每隔几周的完整周期。在增量开发中,周期通常更长:数月甚至数年。在Scrum和增量开发中,要记住的主要问题是,在每次迭代的末尾,您都希望拥有一个可用的软件(即使它没有做太多)。这有助于保持真正的或潜在的客户甚至开发人员感兴趣。

无论您的方法如何,您可以通过查看UI原型或通过 可用性测试, , 更好。

其他提示

我要说的是,这取决于应用程序的主要部分。大多数工作会来自设计用户界面(即“哇因素”来自的地方?),还是将主要是数据操作或其他一些“繁重的抬起”(即这些是我的结果简单的用户界面)?

如果该应用程序旨在“惊叹”人们,则原型制作用户界面并获得意见会很长一段路。这可以在开始代码之前完成,然后在收到反馈时可以应用增量更新。当您要求反馈时,您可以开始对应用程序的其余部分进行编码,因此每件作品都在不等待一个或另一个的情况下进行。

好事是,如果做得正确,这两件事应该完全(或几乎完全)脱钩,彼此独立。

最后一个注意:通过制作您的用户界面,它可能有助于巩固您的脑海中的想法,从而轻松设计用户界面背后的代码。不同的方法对不同的人有用,但是根据我的经验,原型界面非常有用。

与之破解。只是陷入困境。

尝试设计要灵活的东西,以便当您意识到自己走了错误的道路时可以轻松地重构。保持UI,业务逻辑和数据层分开,以便稍后您可以确切地了解其要做什么时,可以轻松地刷新UI等。

总是很难知道从哪里开始,所以我能提供的最好的建议就是全部思考,选择一点并开始工作。预计您将不得不重构甚至重写一些位 - 不要害怕这一点,这是正常的。但是,您可以永远坐在那里,试图决定首先要做哪一位,甚至从未开始。只要您有一个总体计划,您首先要做的事情并不重要,以便您实现的位置在最后一致在一起。

(我并不是建议您不首先挖掘或原型任何东西就弄乱了一团糟。这只是开发新应用程序最困难的部分之一。暴跌并开始游泳)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top