什么是“喷泉发展模式”?
维基百科上的系统开发生命周期页面提到了这一点:
为了管理这一点,创建了许多系统开发生命周期 (SDLC) 模型:瀑布、喷泉、螺旋、构建和修复、快速原型、增量以及同步和稳定。
我在谷歌上找到了一些东西,但我觉得它们很模糊,而且不适合我。 也许这里有人的解释可能更清楚。
It is mentioned on the Systems Development Life Cycle page on Wikipedia:
To manage this, a number of system development life cycle (SDLC) models have been created: waterfall, fountain, spiral, build and fix, rapid prototyping, incremental, and synchronize and stabilize.
I found a few things on Google, but I felt that they were vague and they just didn't click for me. Perhaps an explanation from someone here might be more clear.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
喷泉:站成一圈,向空中扔一些图案和关键词,看看它们落在哪里。 只拾取落在圆圈内的那些。 重复直到取消。
瀑布:把所有人都拉到船上,然后大喊“Geronimo!” 飞越尼亚加拉瀑布时。 捡起碎片,然后冲洗并重复。 确保有详细记录每个人应该坐在船的哪个部分,他们应该抓住什么,喊叫的声音有多大,以及他们应该降落的确切位置。 请参阅表格 3684-B 了解更多说明。
螺旋:选择一名团队成员,让其他人绕圈旋转,直到头晕。
构建和修复:只需将其扔到墙上,看看有什么粘住。 如果有东西掉落,请添加一些胶带。 用过的口香糖也可能有效。 任何不会卡住的部分,就扔掉。
快速原型制作:完全按照客户的要求进行。 重复直到他们弄清楚他们想要什么。
增量:仅构建您想要构建的部分,并且仅在您想要构建时构建。 另一种版本是只建造他们尖叫声最大的部件,并且只有当他们真正站在你的办公桌前等待时才建造。
同步和稳定:与螺旋类似,只是一次只有一个人旋转不幸的团队成员。 当他们的回合结束时,停止旋转一会儿。
Fountain: Stand in a circle and throw some patterns and key words in the air to see where they land. Pick up only the ones that land inside the circle. Repeat until cancelled.
Waterfall: Wrangle everyone into a boat, then yell "Geronimo!" while going over Niagra Falls. Pick up the shattered pieces then rinse and repeat. Make sure it's well documented what part of the boat each individual should be sitting in, what they should be holding on to, how loud to yell, and exactly where they should land. See form 3684-B for additional instructions.
Spiral: Pick one team member and have everyone else spin them around in circles until dizy.
Build and Fix: Just throw it against the wall to see what sticks. If something falls off add some duct tape. Used gum may also work. Any part that won't stay stuck, just throw away.
Rapid Prototyping: Do exactly what the client asked for. Repeat until they figure out what they want.
Incremental: Only build the parts you want to, and only when you want to do it. An alternate version is to only build the parts they scream loudest for, and only when they are actually standing at your desk waiting for it.
Synchronize and Stabilize: Like Spiral except only one person at a time spins the unlucky team member. When their turn is over, stop the spinning for a moment.
瀑布是一种强制控制并避免并行的模型; 在开始任务之前必须满足任务的每个要求。 Fountain 表示,可以在满足所有要求之前开始新任务,因为并非所有要求在任务开始时都是必需的。
想想看:超级马里奥游戏,
瀑布:首先,设计一切,然后完成硬件(硬件团队),然后创建一些测试精灵,然后对引擎进行编码,然后创建艺术品,然后音乐并完成。
Fountain:当硬件团队完成工作时,美术工作开始概念工作,编码开始在现有硬件上进行一些原型设计。 当艺术家和硬件完成后,编码员将它们集成到他们的代码中并继续直到完成游戏......
Waterfall is a model that enforces control and avoids parallelism; every requirement for a task has to be fulfilled before starting the task. Fountain says that a new task can be started before all requirements are met, because not all requirements are necessary at the start of the task.
Think of this: Super Mario Game,
Waterfall: first, design everything, then get hardware done (Hardware Team), then create some test sprites, then code the engine, then create artwork, then music and finish.
Fountain: while the hardware team is doing its job, artwork starts conceptual work, and coding starts some prototyping on preexisting hw. When artists and hw finishes, coders integrate these onto their code and continue 'til finishing the game...
据我了解,它们本质上包含相同的步骤,但喷泉方法更具迭代性,较少关注初始设计,而更多关注分析。
你基本上在事情上犹豫不决。 看看需要发生什么,然后改进它。 看看需要发生什么。 改进它。
它更加敏捷,但以项目稳定性为代价。 瀑布对于大型项目来说要好得多。
As I understand it, they essentially contain the same steps but a fountain approach is much more iterative, with less focus on initial design and more on analysis.
You basically bodge your way through things. See what needs to happen, and improve it. See what needs to happen. Improve it.
It's more agile but at the cost of project stability. Waterfall is a lot better for large projects.