Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 如何规划项目_Design Patterns_Oop_Project Management - Fatal编程技术网

Design patterns 如何规划项目

Design patterns 如何规划项目,design-patterns,oop,project-management,Design Patterns,Oop,Project Management,我即将开始一个主要使用C语言的项目,该项目将涉及客户端和服务器通信 我想知道如何计划这样一个项目 我通常只是跳进较小的项目,边做边想,因为我脑子里有一张图表 在了解复杂项目所需的一切之前,我如何设计它 我怎么知道我的设计是好是坏 我知道这听起来很愚蠢,但我已经自学了我所知道的一切,所以我没有任何团队合作或指导的经验。“在了解项目所需的一切之前,我如何设计一个复杂的项目?” 如果这让你担心,那就弄清楚它所需要的一切 读沃克·罗伊斯的书 项目分为四个部分 《盗梦空间》。定义工作范围和您将要交付的内容

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

我想知道如何计划这样一个项目

我通常只是跳进较小的项目,边做边想,因为我脑子里有一张图表


在了解复杂项目所需的一切之前,我如何设计它

我怎么知道我的设计是好是坏

我知道这听起来很愚蠢,但我已经自学了我所知道的一切,所以我没有任何团队合作或指导的经验。

“在了解项目所需的一切之前,我如何设计一个复杂的项目?”

如果这让你担心,那就弄清楚它所需要的一切

读沃克·罗伊斯的书

项目分为四个部分

  • 《盗梦空间》。定义工作范围和您将要交付的内容。你现在在做什么

  • 精化。了解它应该做什么的细节。确定它将如何做到这一点。你下一步需要做什么

  • 建设,,编程、测试、集成

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

    a。技术尖峰,也被称为。尽快对技术进行深入确认

    b、 。始终计划测试您正在构建的内容

    c。渐进式发展。看看从最重要和最有价值的部分开始构建

  • 过渡。通常用于生产,但有时用于集成其他人

  • 三个步骤:

  • 图表,什么做什么,什么去哪里

  • 勾勒和绘制,勾勒出将发生什么,以及它将如何发生,绘制任何GUI的

  • 做吧


  • 如果一和二匹配并且有意义,那么这是一个好的设计!如果东西被浪费了,那么设计就糟透了。

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


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

    在我开始一个大型项目之前,我只是坐在一个文字处理器前,精确地计算出我想要软件做什么。然后我将功能划分为不同的区域。找出依赖关系,并编写一份规范,详细说明如何将所有内容组合在一起并发挥作用(数据的结构等)

    如果我还没有写一行代码的话,这一切都会发生。到了这一点,我确切地知道我需要写什么,如何写,它属于哪里

    最重要的是,书面文档已经基本完成

  • 从中观看前2-3个视频。它包括头脑风暴和写下用户故事、设置PM软件(我喜欢TargetProcess!)、定义任务和迭代等
  • 阅读Joel Spolsky的文章,他解释了功能规范和技术规范之间的区别,以及为什么需要它们
  • 也许我也会推荐阅读简短的电子书,以熟悉构建企业系统的问题(在我看来,它几乎可以应用于任何软件开发),敏捷为什么好,DDD是什么,等等。非常好的高级概述

  • 以下是我在开始为项目编写代码之前采取的步骤:

  • 创建一个Trello板(或您正在使用的其他软件) 任务)
  • 为项目编写用户故事
  • 创建用例模型
  • 创建活动图
  • 创建实体模型
  • 为我们的项目选择正确的技术(这是您现在拥有的-C#)
  • 设计数据库架构(如果使用)
  • 定义用例
  • 设计和测试你的API(如果你有)
  • 开始编写代码,实现设计

  • 下面是我为FreeCodeCamp写的一篇关于这个主题的博文,希望能有所帮助

    可惜现在这种风格已经过时了敏捷的秋天真是太棒了!有一个NHibernate的夏天,这也是一个很好的学习资源。