从开始(计划)到完成(测试和生产),什么是良好,组织良好的Web开发工作流程?

tim*_*fly 10 php model-view-controller workflow

我已经成为PHP/MySQL开发人员多年了,但不幸的是,到目前为止,它只与小型项目合作过.我现在开始一个非常复杂的新网站,我开始对工作流程感到困惑.我不确定哪个部分首先要照顾,因为它们都是相当交织在一起的.

我很想知道你们中的一些人如何管理新网站的工作流程.我是独立工作的,所以如果没有多个开发人员参与,它会更容易解释.此外,我将使用CodeIgniter框架,因此让工作流程涉及MVC模型会很棒,这实际上应该使工作流程更容易.

经过一番搜索,我发现了这个有用的图表: 工作流程图

但是,我不太清楚每个类别的内容.这是迄今为止我所理解的一般概述.当我错了或有更好的选择时,请随时纠正我.

规划

确保您有明确的项目目标:您提供什么,为谁?它对别人有什么帮助?等等

网站地图

列出将在站点上的所有页面和子页面.

线框

浏览整个站点地图,并对每个页面进行粗略草图.(你有多详细?)你可以使用铅笔和纸,或Axure或Mockingbird等程序.

工作流程图中的下一个主要类别是内容,但我不确定这涉及到什么.这是网站上的所有文字吗?数据库结构?别的什么?

艺术品

网站的实际设计/模板.不过,这真的是这个地方吗?我认为编码和功能更重要,并在此之后进行设计.

编码

这一步似乎无所不包,我认为它需要被打破.首先是数据库结构(或者是在线框之后的内容中完成的吗?)我是否为站点地图中的每个页面的所有函数制作了大纲?我是否只是创建了所有必要的控制器,并对我将要放置的功能和位置进行评论?模型是否遵循控制器概述,反之亦然?我什么时候开始填写所有控制器和型号?

需要进行持续测试以确保您的代码正常运行.

内容人口

这会包含MVC框架中的视图文件吗?换句话说,控制器和模型提供的所有数据?

最终测试

确保一切都适用于所有浏览器.在这里和那里进行调整和更改.全力以赴的众多"假设"案例.

生产

网站上线.

结论

以上是我所理解的开发复杂网站步骤的有组织流程图,但我的理解可以大大改进.应该改变什么?我可以使用所有可能的建议.谢谢.

编辑:这里有人提到"敏捷开发" - 从我到目前为止所读到的,它实际上并没有一个结构.如我错了请纠正我.正如我对这个答案所评论的那样,是否真的有可能以这种方式为复杂的网站开发,例如亚马逊或Ebay?根据我不知情的意见,工作流程应该有一个明确的计划,否则项目就没有重点.

最终编辑:虽然这个问题已经结束,但我想为稍后可能会发现这些问题的人添加一些信息.我发现以下工作流程非常有用:http://www.webassist.com/free-downloads/tutorials-and-training/web-dev-workflow.php.一般工作流程的PDF:http://assets.webassist.com/how-tos/Short-Dev-Checklist.pdf.当然也可以使用敏捷开发,但对于那些不知道从哪里开始的人来说,这可能是一个很好的起点.我可以在这里添加其他工作流程和示例.

The*_*uck 3

研发界正在走向敏捷开发,你不再做太多的规划,从头到尾把所有的事情都写下来,而是做小的迭代,做小的改变,这样你面前总是有一个明确的目标,并且随着您对需求的理解的提高,您可以调整您的方向(真实的需求,基于用户反馈,而不是根据您认为客户想要/使用的内容来估计猜测工作)

我建议你研究敏捷开发和精益创业方法论,它改变了我构建在线服务的方式,并使你更加高效和富有成效。

我可以告诉你,我的在线服务在我开始编码后大约两天就上线了。这并不意味着您从一开始就向真实用户开放,而是您可以从现实世界获得即时反馈,而不是将其全部保留在您的开发计算机上,直到您“准备好上线”。