为单个开发人员

时间:2015-07-27 15:31:12

标签: project-planning

我想知道如何以适当的方式为单个开发人员提供项目。

有很多原因可以解释为什么在没有任何计划或组织的情况下坐下来破解你想要达到的解决方案不是一个好主意。

在专业软件工程中,有许多必要的步骤来规划软件(例如编写vison和范围文档,进行需求工程以及最终规划架构)。

但是,只有一个开发人员为项目规划应用程序开发的常用方法是什么?例如:你是否使用像众所周知的arc42-Template这样的架构tempaltes。如果仅出于意识形态的原因,这样做是不是因为这样做了,或者这是唯一正确的方法吗?

您使用哪种设计/架构模板进行规划项目?

1 个答案:

答案 0 :(得分:2)

虽然您是一名开发人员,但我会考虑使用Methodology进行开发。

当您单独在某个产品上工作时,您将需要担任多个角色以保持概述。

我建议使用RUP-Process。 它是一种敏捷的开发方法,可以用于小型或大型组。虽然您单独工作,但您将从这种方法中获益,因为它将使您的实施更容易。您可以根据自己的需求调整方法,并根据需要决定什么是必要的。

4阶段RUP-Process的同意。

<强>启: 在此阶段,您将收集所有要求。这意味着您在开始编码之前写下您实际想要做的事情。直接编码会很快限制你的创造力,因为你很快就会遇到错误并忘记你真正想要的东西,因为你必须解决一个问题。花一两个星期的时间记下你期望从申请中得到的一切。它必须提供什么或可能是一个加号(例如在下一个版本中)。

<强>精化: 首先,你做出建筑决策。您将使用什么数据库。什么语言等然后你开始编码。你正在编写80%的应用程序,首先要留下硬件。在此阶段,您应该完成GUI的主要部分并绑定GUI使用的方法。它们不必完成。

<强>建筑 现在,您将解决剩下的所有编程问题以及您在精化阶段遗漏的所有小错误。可能是你要求新的要求。估计在此版本中添加它们需要多长时间。然后,您可以决定是要完成它还是将其保存到下一个初始阶段。您还应该完成应用程序中方法的所有注释。

<强>过渡 现在您在交付之前测试产品并修复最后的错误。您还应该编写一份有关实施内容的文档。如果您在Inception中编写了一些内容,那么编写文档并不困难。

完成后,您可以从初始开始再次开始另一个循环。

<强> CONS: - 这可能是仅为一个开发人员提供方法的开销 - 你可能会生气

<强>赞成 - 你会有很好的要求 - 您的开发过程将更快,因为您不必在开发过程中重新考虑您的后续步骤。你在一开始就做到了 - 您将获得有关您所构建内容的详细文档 - 您可以构建时间表并预测何时完成 - 您可以预测此次发布将完成的内容 - 如果您需要帮助,可以向其他开发人员提供零件。如果您在某些方面需要帮助,您已做好准备。

目前我是项目中唯一的开发人员。使用此Methodolgy,我们可以跟踪流程,并有助于协调我的任务。

您还应该明确使用GIT来保护您的流程。

<强>更新 规划架构/软件本身。

首先,您应该检查您要使用本软件的位置。有很多可能性。

一个。 Web应用程序 湾苹果/视窗 C。 Iphone / Android等

您必须首先决定要使用的软件在哪里。如果您在 Mac Iphone 上使用它,您可以使用Apples新语言 Swift 如果您使用 Windows ,则可以使用C# 这些语言的优势在于它们针对系统进行了优化,并为Java或C ++提供了更多的可能性。 现在这只是一个例子。如果你需要一个非常快的程序,你可以在较低级别上进行大量优化,你可以使用C ++。 如果你想要一个理论上可以在两个系统上使用的应用程序,你可以使用Java。虽然根据我的经验,如果你想在多个Plattforms上发布它,你将不得不做很多修改。

您的编码技巧也很重要。这取决于你可以编码什么以及你愿意学习什么。每种编程语言都针对一个porpouse进行了优化。 Python,Javascript,Lisp等也是非常棒的语言。这取决于你需要什么。

第一步
决定操作领域 - &gt;选择拟合语言

第二步
确定是否需要数据库 如果您有一个简单的程序,则可能不需要数据库。但是,数据库是保存数据并提供许多功能的好方法。 对于本地应用程序,您可以使用SQLite。它是一个简单的轻量级数据库,可以使用任何语言加入 如果您需要更多数据库特征。研究数据库提供的内容以及您需要的数据库。

第三步 开始构建应用程序(骨架)并测试您的架构是否持久耐用。如果你认为它是复杂的,你可能仍会改变你的架构。

我将为您提供一个应用程序的简短示例:
您想要构建一个应用程序来对播放列表中的所有Mp3文件进行排序。 Itunes基本上是一个更好的玩家。但是你想在多个系统上使用它。

第一步 - 文件处理(复杂性低) - 多系统(复杂性高) - &GT; node-webkit 您可以使用节点webkit构建跨平台应用程序,您可以在其中访问文件夹等。使用 HTML5 CSS ,Jquery等时,对应的编程语言将是 Javascript

第二步 为了组织MP3,您需要一个数据库。您只会加载指向文件夹中文件的链接,因此条目的复杂性和数据库的负载很低。您可以在此处使用SQLite DB。你可以使用你的应用程序node-sqlite3

第三步 构建一个临时应用程序,您可以在其中上载文件或加载文件夹中的文件。看看你的设置是否有效。如果是,请继续构建您的应用。如果没有从第一步开始,并确定丢失了什么。