请解释瀑布模型和面向对象模型的区别。
因为我看过的书和网站没有提供很多关于它的信息,所以我需要有人向我解释。
发布于 2013-06-30 19:51:03
正如你所看到的,瀑布模型和面向对象的模型是无法比较的.我希望前几段说明这两种模式是关于什么的。如果不是,维基百科有一篇关于瀑布模型的好文章(以及close V-模型),还有一篇关于OOP的详细文章。
发布于 2013-06-30 20:32:51
这些是完全不同的野兽。
瀑布模型是组织软件开发过程的方法之一,它将软件开发过程划分为被称为需求、设计、实现、验证、维护的顺序阶段。例如,你的老板告诉你你必须发展一家网上商店。根据瀑布模型,首先要从内部分析任务,收集所有可能的信息,可以与客户交谈等,以获得有关项目需求的完整信息。然后,你坐下来,写一个详细的项目技术规范,在那里,你试图解释每一个可能的细节和客户的每一个可能的需求。
然后按照您设计软件的计划阶段进行。在这个阶段,您可以为您的软件选择面向对象的设计、功能编程、面向方面的设计或其他模型,并就如何构建它做出一系列其他重要的决定。如果您选择了一个面向对象的范例,那么就可以将所有事物分解为基本实体(客户、仓库、事务等)。通过对象建模,然后使用UML设计它们的接口和数据结构。
而且只有经过这么长时间的准备,才能真正开始编写代码(实现阶段)。在此阶段,您将尽可能地遵循在设计阶段准备的规范。只有在完整地编写了软件过程之后,才会进入验证阶段(在这里,您的测试人员测试您的软件,以确保它完全符合规范,然后由您的客户进行同样的测试)。在您的客户希望接受之后,您的软件就开始了维护阶段,在那里更新软件并纠正错误。
这种方法最常被引用的问题是,实际编写代码的时间很晚。实际上,在编写一行代码之前,您必须先完成大量的官僚工作。一方面,假设您的客户在编写软件时决定进行一些重大更改。使用瀑布模型,实际上意味着您必须停止编写代码,基本上从一开始就开始整个过程,即收集需求,然后更新规范,然后才开始更改软件。正是由于它的刚性,曾经是软件开发领域主要模型的瀑布模型在大多数领域被更灵活的模型所掩盖。
面向对象程序设计是一个编程范例。正如我已经提到的,这是您设计软件的一种方式。它非常适合于模拟现实世界的情况,因为在这里,一切都被视为对象。继续在线商店的示例,您可以使用客户、事务、货币、仓库、产品、ProductCategory、购物车和大量其他对象。在您的代码中,它们将被编码为类。这里的每个对象都有属性。例如,购物车可以将购物车中的项目数作为其属性。此外,对象还具有与其他对象交互的方法。例如,购物车可以有add (允许客户向购物车添加东西)、删除、空方法和其他方法。
https://softwareengineering.stackexchange.com/questions/203259
复制相似问题