OOA与OOD的关系
“做什么”和“怎么做”,一句传统的经典的话:分析只解决系统“做什么”的问题,不涉及“怎么做”;设计解决“怎么做”的问题。也描述为“分析是针对问题空间的,设计是针对解空间的”等。
OOD的输出能够告诉开发人员怎么做吗?OOD的结果应该是指导Programmer如何去做,给出了怎么去做的方向,过于具体的基于算法的实现交给程序员 来处理。一个优秀的OOD的输出,对于OOP来说非常地便捷,工作也非常清晰。
我们的现状是,感觉OOA完成了OOD的工作,而忽略OOD的工作,直接地从OOA跳跃到OOD。缺点就是OOA不够细化,在OOP中由程序员大量的自由意识地工作,缺少规范性。简单说我们割裂了OOD,在上下游少量地由局部的人员自由地完成了OOD的部分工作。现在的任何一种OOA方法在分析阶段所建立起来的类图,实际上已经在很大程度上定义了系统如何构造,包括通过对象类体现的系统结构成分,通过类之间的关系刻画出的系统结构框架。这虽然是一个较高层次抽象的模型概述,但是完全称之为问题域描述,并不符合实际。
用“做什么”和“怎么做”来区分分析与设计,是从结构化方法中沿袭过来的一种观点,也就是需求代表“做什么”(功能结构图),设计代表“怎么做”(程序框图 +数据流图)。
分享到:
相关推荐
面向对象分析(OOA)和面向对象设计(OOD)是软件工程领域中两种重要的开发方法,它们在管理信息系统(MIS)的开发中扮演了关键角色。OOA和OOD方法能够帮助系统开发者以更加直观和模块化的方式构建复杂的信息系统,...
在这份《图书管理系统OOA-OOD报告.pdf》中,我们将深入探讨如何通过面向对象的技术方法,设计并开发一个高效、智能的图书管理系统。 本报告首先从需求分析入手,针对图书管理系统的核心功能模块进行了全面梳理。...
面向对象分析(Object-Oriented Analysis,简称 OOA)与面向对象设计(Object-Oriented Design,简称 OOD)作为软件工程中重要的组成部分,在软件开发过程中扮演着关键角色。这两种方法学不仅帮助开发者更好地理解...
**对象导向分析(Object-Oriented Analysis,OOA)与对象导向设计(Object-Oriented Design,OOD)是软件工程中的关键步骤,特别是在复杂系统开发中。这些方法论旨在通过模拟现实世界中的实体和关系来创建高效、可...
在OOA/OOD(object oriented analysis/object oriented design)中,attribute表示对象的特征(feature)。在C++中,attribute称为member variable(成员变量),而在C#中称为field(字段)。例如: ``` public ...
应届生及亚马逊面试必考,IT求职必备基础。 S - Single-responsiblity principle 单一责任原则 O - Open-closed principle 开发封闭原则 L - Liskov substitution principle 里氏替换原则 I - Interface segregation...
一个非常完整UML建模的系统.相信对OOA/OOD人员有很大帮助
面向对象软件开发技术(OOA-OOD-OOP)
《用例培训理论及实例:OOA/D概览》 在软件工程领域,用例(Use Case)是一种描述系统或组件如何与外部参与者交互以实现特定目标的技术。它是一种强大的需求分析工具,广泛应用于对象导向分析与设计(Object-...
3. **面向对象设计(Object-Oriented Design,OOD)**:在OOA的基础上,OOD将这些概念转化为具体的软件设计,包括类的定义、接口设计、继承关系等。OOD关注的是如何实现OOA模型,以满足功能性和非功能性需求。 4. *...
面向对象分析(OOA)、面向对象设计(OOD)与UML的基础教程
UML提供了一套图形化的建模工具,RUP提供了一个完整的开发流程框架,而OOA和OOD则关注于分析和设计阶段。IBM的培训资料通过深入浅出的讲解和实例,帮助开发者掌握这些核心技能,从而提升软件项目的规划、设计和实施...
英文版 内容概要:本文讨论了利用特定模板构建...其他说明:虽然模板方法提高了效率并减少了错误率,但过度依赖可能会导致内容单一化,因此建议与OOA/OOD模型配合使用。此外,需要重视语义定义的一致性和完整性管理。
精通C#.Net、ASP.Net、ADO.Net、AJAX、WEB2.0、XML、JavaScript、SQL Server 2000、Web Service、WSE2.0、.Net Remoting、MultiThread ...Structure、 Algorithm、OOA/OOD、UML 、VSS、Rational Rose、Visio等...
本文档旨在为读者提供面向对象程序设计的相关知识点,涵盖了面向对象的基本概念、设计原则、开发方法、OOA/OOD/OOP 等方面的内容。 一、面向对象的基本概念 1. 对象:从概念层面讲,对象是某种拥有责任的抽象;从...
在本教程中,我们将探索面向对象分析(OOA)和面向对象设计(OOD)的基本概念。这些方法是软件开发过程中的关键步骤,特别是在理解和建模复杂系统时。我们的目标是展示如何通过用例分析、场景定义、顺序图和类图来...
在技术实现方面,本系统采用面向对象分析与设计的方法(OOA/OOD),结合C#语言和ADO数据访问技术,确保了系统的高效性和可靠性。OOA/OOD方法能够帮助开发者更好地理解和抽象业务需求,使得系统设计更加清晰和易于...
### Java OOA & OOD & UML:深入解析与应用 #### 一、引言 在不断变化的商业环境中,软件开发必须采取一种不同于传统的“大爆炸”模式的方法。传统的大爆炸模式,即瀑布模型,几乎不支持需求变更或风险规避,这...