如何规划项目

时间:2009-09-24 00:50:20

标签: design-patterns oop project-management

我即将开始一个主要使用C#的项目,该项目将涉及客户端和服务器通信。

我想知道如何计划这样的项目。

我通常会跳进较小的项目并在我走的时候弄清楚因为我头脑中有一个图表。

如何在知道所需的一切之前设计一个复杂的项目?

我怎么知道我的设计是好还是糟糕?

听起来很愚蠢,我知道,但我已经自学了所有我认识的事情,所以我没有任何团队或指示工作经验。

6 个答案:

答案 0 :(得分:6)

“如何在知道所需的一切之前设计一个复杂的项目?”

如果这让你担心,那就找出它需要的一切。

阅读Walker Royce的Software Project Management

项目分为四个部分。

  1. 启。定义工作范围和您将提供的事项。 你现在在做什么。

  2. 精化。获取它应该做的“什么”的细节。确定它将如何做到这一点。 接下来需要做什么。

  3. 构建。 Architecture,编程,测试,集成。

    您如何验证您的设计?您可以应用几种技术。

    一个。技术峰值,也称为Spike Solution。尽快确认技术深度。

    Test-Driven Development。始终计划测试您正在构建的内容。

    ℃。增量,Agile发展。看看scrum。从最重要和最有价值的作品开始构建。

  4. 过渡。通常是为了生产,但有时也会向其他人进行整合。

答案 1 :(得分:3)

在我开始一个大型项目之前,我只是坐在一个文字处理器上,然后完全找出我想让软件做的事情。然后我将功能划分为不同的区域。弄清楚依赖关系并编写一份规范,详细说明它们如何组合在一起工作(如何构建数据等)。

所有这一切,如果在我写了一行代码之前。到目前为止,我确切地知道我需要写什么,如何写它以及它属于什么。

最重要的是,书面文件已基本完成!

答案 2 :(得分:2)

  1. 观看来自Autumn of Agile的前2-3个视频。它涵盖头脑风暴和写下用户故事,设置PM软件(TargetProcess,我喜欢它!),定义任务和迭代等。
  2. 阅读Joel Spolsky的Functional specification blog posts,在那里他解释了功能和技术规格之间的区别,以及为什么需要它们。
  3. 也许我还建议阅读Foundation of Programming短电子书,熟悉构建企业系统的问题(在我看来,几乎可以应用于任何软件开发),为什么敏捷好,什么是DDD等。非常好的高级概述

答案 3 :(得分:1)

三个步骤:

  1. 图表,什么做什么,什么去哪里

  2. 概述和绘制,概述将要发生的事情,以及它将如何发生,绘制任何GUI

  3. 做到

  4. 如果一个和两个匹配并且有意义那么这是一个很好的设计!如果浪费了东西,那么设计很糟糕

答案 4 :(得分:1)

我最喜欢的一句话来自一位同事,他曾经说过“我喜欢在开始编码之前做尽可能多的编程”,这就是我一直采取的态度。

我喜欢从涂鸦开始,用简单的英语写作,然后开始编写详细的图表,UML或任何你喜欢的东西。找出构造对象的最佳方法,适用的设计模式(如果有的话)。一旦你对应用程序的运行方式有了深刻的了解,就开始编码吧!

答案 5 :(得分:0)

这是我开始在项目上编写代码之前采取的步骤:

  1. 创建一个Trello板(或您正在使用的其他软件) 任务)
  2. 编写项目的用户故事
  3. 创建用例模型
  4. 创建活动图
  5. 创建模型
  6. 为我们的项目选择合适的技术(这是你现在的C#)
  7. 设计数据库架构(如果使用任何)
  8. 定义用例
  9. 设计和测试您的API(如果您有的话)
  10. 开始编写代码,实现设计......
  11. 以下是我为FreeCodeCamp撰写的关于此主题的博文,希望它能帮助http://blog.freecodecamp.com/2015/06/10-steps-to-plan-better-so-you-can-write-less-code.html