php - 什么是从开始(计划)到结束(测试和生产)的良好、组织良好的 Web 开发工作流程?

标签 php model-view-controller workflow

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8年前关闭。




我多年来一直是 PHP/MySQL 开发人员,但不幸的是,到目前为止,我只参与过小型项目。我现在正在创建一个非常复杂的新网站,我开始对工作流程感到困惑。我不确定首先要处理哪些部分,因为它们都相当交织在一起。

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

经过一番搜索,我发现了这个有用的图表:workflow chart

但是,我不太确定每个类别中的内容。以下是我目前所了解的一般情况。当我错了或有更好的选择时,请随时纠正我。

规划

确保你有明确的项目目标:你提供什么,为谁提供?它将如何对其他人有帮助?等等

网站 map

列出将要出现在站点上的所有页面和子页面。

线框

浏览整个站点地图,并为每个页面绘制一个粗略的草图。 (你应该得到多详细?)你可以使用铅笔和纸,或者像 Axure 或 Mockingbird 这样的程序。

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

艺术品

网站的实际设计/模板。不过,这真的是合适的地方吗?我认为编码和功能更重要,然后进行设计。

编码

这一步似乎包罗万象,我认为它需要分解。数据库结构是首先制作的(还是在内容中制作,在线框之后制作?)我是否为站点地图中每个页面的所有功能制作大纲?我是否只是创建了所有必要的 Controller 并评论了我将要放置的功能和位置?模型是否遵循 Controller 轮廓,反之亦然?我什么时候开始填写所有的 Controller 和模型?

需要不断测试以确保您的代码正常工作。

内容人口

这会包括 MVC 框架中的 View 文件吗?换句话说, Controller 和模型提供的所有数据?

最终测试

确保一切都在所有浏览器中工作。在这里和那里进行调整和更改。全力以赴处理众多“假设”案例。

生产

网站上线。

结论

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

编辑:这里有人提到了“敏捷开发”——从我目前阅读的内容来看,它实际上并没有一个结构。如果我错了纠正我。正如我对该答案所评论的那样,是否真的有可能以这种方式为复杂的网站(例如 Amazon 或 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 .当然也可以使用敏捷开发,但对于那些不知道从哪里开始的人来说,这可能是一个很好的起点。当我找到它们时,我可能会在此处添加其他工作流程和示例。

最佳答案

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

我建议你研究敏捷开发和精益创业方法,它改变了我构建在线服务的方式,会让你更有效率和生产力。

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

关于php - 什么是从开始(计划)到结束(测试和生产)的良好、组织良好的 Web 开发工作流程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13995892/

相关文章:

ruby-on-rails - 我可以获取 View 中当前 Controller 的名称吗?

mysql - 简单的数据库注意事项和 CakePHP

go - 在 Cadence 工作流程中的循环内调用相同的事件

git : Handle multiple variations of th same sofware in a single repo

php - 如何防止我的 WordPress 网站中的评论部分横跨全屏?

php - 1 PDOException::("SQLSTATE[HY000] [2002] 由于目标机器主动拒绝,无法建立连接

php - 如何在 NetBeans 7.0(PHP 的 Linux 版本)中禁用 Javascript 语法检查?

php - 在 Codeigniter 中重用表单和 Controller

php - MySQL 到 PHP 数组

jsf - 如何将 Activiti 工作流与 JSF 应用程序集成