如何在启动代码之前规划我的基于Web的项目?

Ars*_*eep 9 php project-management web

我和我的朋友开始合作,我们决定在网站后制作Kick-as*网站.我们将这些想法写下来就像100个一样(是的,我们首先选择最好和最容易的).

我的朋友做布局设计和安排事情,我的部分是编码和服务器管理.

我面临的一个小问题是缺乏规划项目的经验.我所做的是,我只是直接启动代码,以及我制作数据库的代码,就像我需要一张桌子一样.

我知道这对于中型项目来说是非常糟糕的方法.

在stackoverflow,我看到了很多经验丰富的程序员.需要从你们身上学到很多东西:).

那么你能不能帮助我规划一个项目以及使用什么编码标准/结构/框架(我做PHP代码).

提前致谢.

Jan*_*hek 5

首先定义范围.在页面上写一个段落并尝试描述您的网站.自上而下的方法是开始考虑您想要实现的功能,并通过添加更多细节来改进它.

自上而下的方法(也称为逐步设计)本质上是破坏系统以深入了解其组成子系统.在自上而下的方法中,首先制定系统概述,指定但不详细说明任何第一级子系统.然后,每个子系统都会更详细地进行细化,有时在许多其他子系统级别中进行细化,直到整个规范缩减为基本元素.自上而下的模型通常在"黑匣子"的帮助下指定,这使得操作更容易.然而,黑匣子可能无法阐明基本机制或足够详细以实际验证模型. http://en.wikipedia.org/wiki/Top-down_and_bottom-up_design.

然而,还有许多其他方法.

http://en.wikipedia.org/wiki/Software_project_management#Software_development_process

同样,最重要的一步是能够用语言表达你的想法; 在你能够做到这一点之前,我甚至不会考虑开始编写一行代码.


cly*_*yfe 5

关于编码标准/结构/框架,我建议使用zend框架编码标准,MVC结构Zend框架.

MVC架构的简要指南.这个想法是帮助你记住想法(当你的大脑是蒸代码),并为未来的程序员提供文档.

  • 设计数据库.制作ER图.把它放在一个文件中.
    简要描述重要问题设计背后的原因(为什么你选择多态关系,为什么要使用这个视图,选择你期望的更多三角等等).这将随着您的编码而改变(并且您无能为力).记录变化.要处理更改,请使用数据库的版本控制系统,如rails迁移.

  • 设计您网站的结构(部分,页面,链接,页面流等).记录下来.(例如:"网站2部分,此部分由......组成"等)
    基于此,制作描述您的控制器和视图的文档.("文章控制器,列表视图和文章视图,还可以编辑和创建视图,但仅限管理员"等).
    描述您将如何实施身份验证和授权(在控制器和视图级别).谁被允许在哪里.
    描述您如何在必要时防御主要网络攻击(xss,csrf).(例如:"我使用htmlentities转义所有视图变量,用于xss保护和...")

  • 设计您的模型和辅助功能(发送电子邮件,后台工作等).这些将是大部分代码.记录每个问题并描述主要问题(例如,如何处理时区,如何连接到货币服务,该模型如何解析和操纵某些crone文件,您将使用什么算法来决定前5个文章,取决于你的应用程序.)描述你使用的库,方式和目的(例如:"我们将使用curl废弃SO并生成rss feed")
    描述如何在必要时防止主要的Web攻击(sql-injection,xss).

当你编码时,事情会发生变化.您对系统离散工作的了解不断发展,您将开始根据新发现的启示来改进设计.记录您的更改.