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
Web applications 如何设计/规划web应用程序开发?_Web Applications_Oop_Uml_Project Planning - Fatal编程技术网

Web applications 如何设计/规划web应用程序开发?

Web applications 如何设计/规划web应用程序开发?,web-applications,oop,uml,project-planning,Web Applications,Oop,Uml,Project Planning,我感兴趣的是学习如何在多开发人员团队场景中设计/规划web应用程序开发 担任“项目经理/负责人”: 成功的web应用程序开发需要哪些“文档” 需要什么样的UML图,需要到什么程度 在设计/计划阶段,是否需要根据用例绘制每个类的图表 类图应该有多详细(深度和广度) 如果您有任何有用的书籍/网站推荐,请分享 后续行动(2009年11月18日增补): 编码人员/开发人员在编码过程中使用什么作为指导,即创建类,以及它们各自的方法和属性 如果没有一个完整(但可变)的类及其方法和属性列表,那么这种模糊性是

我感兴趣的是学习如何在多开发人员团队场景中设计/规划web应用程序开发

担任“项目经理/负责人”:

  • 成功的web应用程序开发需要哪些“文档”
  • 需要什么样的UML图,需要到什么程度
  • 在设计/计划阶段,是否需要根据用例绘制每个类的图表
  • 类图应该有多详细(深度和广度)
  • 如果您有任何有用的书籍/网站推荐,请分享


    后续行动(2009年11月18日增补): 编码人员/开发人员在编码过程中使用什么作为指导,即创建类,以及它们各自的方法和属性

    如果没有一个完整(但可变)的类及其方法和属性列表,那么这种模糊性是否会导致严重依赖每个编码人员的知识/经验,从而导致代码质量/可用性/可维护性方面的偏差

  • 在任何情况下,您都必须对准确的要求有全面的最新记录。这包括和要求。它可以是Word文档、电子表格或专门的需求系统。您只需要能够跟踪所有需求以及它们如何随时间变化的东西。关于敏捷需求文档
  • 根据我的经验,用例图被证明是重要的,组件和部署图也很有用。类图和序列图也很有帮助,但在大多数情况下,我认为它们应该更多地用作基本的可变指南,而不是不变的开发需求。类和方法通常会发生更改(特别是在使用TDD的情况下),如果您真的想要一个图,最好在开发代码之后对其进行更新,而不是将代码硬塞进图中
  • 我不认为每个类都需要绘制图表。我认为模型类图对于跟踪数据的位置非常有用,有时一些控制器和视图类图也很有用。但在我的大部分经验中,需求和测试用例一直是类设计方向的主要来源,并且随着系统的增长和变化,它们被重构
  • 在模型类中,我认为通常只需要属性。如果要为控制器类建模,通常明智的做法是同时包含主要属性和方法

  • 取决于web应用程序的类型和大小。如果你正在做一个带有购物车的小型电子商务网站,那么你可能会在设计方面花费更多的精力,而在“应用”功能上花费更少的精力。相反,如果您正在构建一个包含许多数据输入屏幕的大型内部网站,那么您的大部分时间将花在业务逻辑和数据规则上

    就个人而言,我不相信严格的规范格式或流程。我将根据项目和客户进行定制,以便进行清晰的沟通

    假设已经记录了这些要求,我始终希望为基于工作流的数据密集型web应用程序至少生成两种类型的文档:

  • 指示屏幕流程、状态更改和主要操作的高级工作流图。 我发现这是充实应用程序中主要动作的第一步,非常有用。工作流通常与不同的用例相关

  • 每个输入屏幕的屏幕规格,详细说明每个字段的格式和行为。 通常包括字段类型、默认值、列表值、数据验证、可见性规则和可触发的操作等。基本上是一个大表,确保开发人员知道如何构建屏幕

  • 在最近的项目中,我还使用了web应用程序屏幕,屏幕模型是项目规范的重要组成部分——制作速度非常快,它们传达了很多关于屏幕如何工作的信息,这些信息很难在文本文档中传达


    最后,Joel的文章非常有用。

    所有的用例都必须非常详细,客户的持续合作将始终是一个优势,但它可能会产生不可预见的案例

    如果在不同的服务器之间开发交互,在不同的时间轮询/推送消息,您肯定需要

    避免过度设计,在类关系图中,不需要的类往往会急剧增加,减少它们,使用更多的方法,跟踪每个类最终将运行的环境(一些将运行服务器端,一些客户端-javascript-一些将是计划作业并在真正的服务器上运行,一些将是cgi(或模块)由Web服务器封装并按需运行,一些将与数据库接口


    定义边界,使其清晰。服务器端/客户端/数据库工作是不同的,可能需要不同的时间和人员。

    尽可能简单

    第一步是编写一份说明核心功能需求的文件

    就个人而言,由于web应用程序几乎都是基于数据库的,因此我首先根据功能需求对数据库进行建模。ERM图中的实体通常与UML图中的类一一对应,并且已经显示了基本关系

    假设采用MVC体系结构和文档化良好的代码,模型类将在发展过程中进行自文档化(例如,oxygen phpDocumentCenter)

    我发现像wiki这样简单的东西最适合编写文档,而不是正式文档,因为正式文档的编写时间可能比相应的代码要长,特别是在敏捷环境中

  • 需求是一组文档,可以包括图形、Word文档、电子邮件和其他记录事物的方式