【问题标题】:Managing my first project [closed]管理我的第一个项目[关闭]
【发布时间】:2010-08-27 09:16:47
【问题描述】:

我收到了一个练习:控制一盘棋。 没有人工智能,只是一场人与人的国际象棋游戏。

这是我正在开发的第一个成熟的项目。

我有 3 周的时间,在此期间我每天大约有 2-4 小时。 我一个人开发。

你建议我如何管理时间和开发流程?

谢谢, 努尔

【问题讨论】:

  • 您是否有详细的设置或要求,或者您正在等待它们。
  • @cvk - 因为这是一个练习,我猜他有一个描述,第一个任务是从文本中开发软件需求。
  • programmers.stackexchange.com 尝试可能会更好。
  • @sandrstar 这是 5 年前提出的问题,OP 提到他们有 3 周的时间来完成这项工作。 Programmers.SE 尚不具备及时发回信息的技术。
  • @MetaFight SO 拥有关闭不属于它的问题的技术。

标签: java project-management


【解决方案1】:

在深入研究细节之前,先在纸上开发逻辑并开始编写一个简单的原型,其中包括基本和核心功能,没有花哨的东西。然后,逐步开发、添加新功能。

【讨论】:

    【解决方案2】:

    我强烈建议您在开始之前编写一些用例

    如果您是 java 编程新手,我还建议您确保您知道如何实现应用程序的每个部分。例如,在实际项目中,弄清楚如何第一次在屏幕上绘制一块,并不是一个好主意。

    编写算法来决定哪些动作是合法的等等可能不是微不足道的,但这不是你会被困住的事情。在 Swing 中使用自定义组件和用户交互可能会。因此,在开始之前,请确保您知道如何解决此类问题。

    【讨论】:

      【解决方案3】:

      我建议 TDD(测试驱动开发),它提倡在编写代码之前先编写测试。几年前我做过一个类似的项目,测试不止一次让我受益匪浅。

      这是一个迭代的过程,它提倡小步骤,逐步构建最终应用程序。

      1) 首先为问题的某些子集编写需求,例如移动。 2) 制作一些测试用例,例如“单位应该能够移动三个街区”或“单位应该不能移动,当轮到其他玩家时”。记住要保持专注,这意味着不断更改相同的问题域,直到它起作用为止。

      3) 伪造它直到你成功,即伪造测试以返回 true 或 false 或其他传递值。 4)做一个小的改变,看到测试失败,然后正确地实现给定的问题。 5) 重复

      主要是保持简单并采取小步骤。

      至于代码的设计,考虑FACADE模式,当然还有其他更琐碎的State、Strategy和AbstractFactory。

      【讨论】:

        【解决方案4】:

        不要再在这里浪费时间了,赶紧开始吧!

        【讨论】:

          【解决方案5】:

          您的项目的输出将是什么。会不会是一款成熟的游戏,可以处理所有案件,并会被世界各地的许多人使用。

          我建议从获取详细要求开始,例如

          1. 用户是否能够编辑棋盘主题。
          2. 是否提供撤消功能
          3. 是否会提供声音等

          一旦你完成了这部分,你必须能够获得关于需要做什么的足够信息,然后你才能做出相应的计划。

          编写游戏的核心逻辑几乎可以随时完成,因为一旦其他要求明确,就不需要太多更改。

          【讨论】:

            【解决方案6】:

            如果只是您自己,请记下您想要做的一些高级目标,快速估算进入第一步的工作,然后执行。达到该点后重新评估,然后重复其余步骤。

            你只有三个星期,你可能没有太多时间来建立一个完整的项目管理结构。

            【讨论】:

              【解决方案7】:

              选择一种软件开发方法并尽量坚持主要原则。在你的情况下,我会看看scrum,重点是solo scrumHere is a guide 但网上有更多的短裤解释。您不必掌握方法,但它的元素(积压、冲刺、燃尽)很有价值。

              in-step scrum edition 是这个方法的一个非常好的工具。

              并且不要忘记构建一个好的软件开发环境 (SDE),至少是一个好的 Java IDE 和一个版本控制系统(subversion,mercurial)。不要忘记实施大量测试(在项目结束时为您节省大量时间),我建议设置一个持续集成工具 (hudson CI)。 (如果您使用 scrum,您在项目中的首要任务之一可能是设置 SDE)

              【讨论】:

                【解决方案8】:

                1- 带上一支铅笔和几张纸,开始编写项目的主要步骤并开始详细说明每一步(实际上每一步都会产生新的步骤),这样你就会以所需算法结尾的树之类的东西结束.. 2- 开始编码!

                【讨论】:

                  猜你喜欢
                  • 2012-08-22
                  • 2010-12-16
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2010-10-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多