什么是Web应用程序的最佳工作流程?

3
我即将开始一个网络应用程序的开发。在开始之前,我希望能得到一些建议,关于创建这样一个网络应用程序的最佳工作流程/顺序是什么。
我的项目将包括使用PHP和MySQL的服务器端,客户端将使用XHtml、CSS和jQuery,同时还会使用AJAX。
我相信这可能取决于某些情况,但总体来说,使用这些认证信息开发项目的最佳顺序是什么?
我应该先开发服务器端吗?还是应该从客户端开始?或者应该同时进行?数据库呢?它应该是第一优先级吗?然后是DAOs?
4个回答

11

首先要从数据入手。服务器端的数据是应用程序中持久且至关重要的核心。如果数据模型不正确,那么你将一无所有。

你应该能够通过单元测试来证明你拥有正确的属性和关系。这不需要很多。只需要几个测试用例来插入、更新和查询即可。

你将以后端处理支持该数据模型。

同样,应该对此进行单元测试,以证明它能够正常工作并对你的数据模型做出所有正确的操作。这会更加复杂,因为这个处理过程就是应用程序。

然后,你可以考虑通过 web 服务向 Ajax 公开的数据模型。

同样,这也是可以测试的,以证明 JSON 做出了正确的操作。这种测试通常相当复杂,因为这是 GUI 前端所依赖的。这必须是正确的。

一旦你有了 Ajax 数据模型,就可以编写前端 GUI。


7
您所描述的工作流程是我在自己的(独立)项目中使用的。我喜欢折中处理。首先进行数据建模,同时开始原型界面设计。业务规则最后出现并将所有内容整合在一起。我还发现,当有一个GUI可以查看时,这会让我感到“鼓舞人心”,它鼓励我使其发挥作用。此外,GUI通常需要经过最多的修订,因此在过程的早期开始它们可以确保您满意最终产品,并且它将在实施业务逻辑之前完成。

4
如果我为一家不确定自己需要什么的大公司工作,我会从UI开始。这样他们就可以在我投入大量时间到系统的其他部分之前弄清楚他们想要什么。
另一方面,如果我知道确切需要什么,那么我将从一个功能开始,并逐层进行,包括数据库、控制器、视图和ajax,直到完成该功能,然后再转向下一个功能。这样我需要记住的上下文更少,客户也总是有新东西可以玩耍。

1

我不能告诉你什么是绝对最好的,但适合我的做法是...

  • 与业务人员交谈以获得他们的想法。

  • 用纸和笔画出用户界面(UI)。方框代表页面。按钮和链接有箭头指向其他页面。不需要每个微小的细节。有些东西是隐含的。

  • 一旦 UI 被很好地映射出来,设计数据库模式(DB schema)。有时我会像这样在文本文件中写出所有的表...


pets
----
id
name
species
# etc...

  • 然后实现数据库。我使用Rails migrations。你可能需要手动编写DDL。

  • 如果你有模型或DAO或类似的东西,我会实现它们,并进行单元测试。

  • 然后,我通常会逐个实体地处理应用程序。让视图和控制器正常工作。快速在测试代码和实现代码之间切换。

这是一般的顺序,但在整个过程中会有调整等等。你需要回到你的数据库设计,并随着构建实际功能的过程不断演变。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接