zoukankan      html  css  js  c++  java
  • 面向对象分析和面向对象设计的区别

    http://blog.csdn.net/elegant_design/article/details/9259609

    一、总述

           面向对象分析的输入是用户的功能需求,输出是简单的、理性化的分析模型,此阶段的工作更多侧重于如何理解软件的功能需求;

           面向对象设计的输入是面向对象分析的结果,蔬菜水果最终的、细化后的设计模型,此阶段的工作更多侧重于如何得到一个合适的、完整的解决方案。

    二、主要区别

    (1)  在侧重点上,面向对象分析侧重于理解问题,描述软件要做什么,而面向对象设计侧重于理解解决方案,描述软件要如何做。

    (2) 面向对象分析一般只考虑理想饿设计,不关心技术和实现层面的细节,而面向对象设计需要得到更具体、更详尽,更接近于真实的代码的设计方案。

    (3) 在设计结果的描方式上,面向对象分析阶段侧重于描述对象的行为,而面向对象设计阶段侧重于描述对象的属性和方法。

    (4) 面向对象分析只关注功能性需求,而面向对象设计既关注功能性需求,也关注非功能性需求。

    (5) 面向对象分析产生的系统模型通常规模较小,而面向对象设计产生的系统模型规模较大,内容也比较详尽、完整。

    三、分析设计工具(RationalRose + UML)

    1、需求分析阶段

          常借助于“用例图”、“顺序图”对功能模型进行建模;

          用例描述,一般包括:用例名称,系统范围,用户目标,前置条件,执行过程,扩展情况,后置条件。

          顺序图着眼于整个系统。

    2、面向对象分析阶段(包含需求分析阶段的用例建模)

          常借助于“类图、对象图”,“顺序图、协作图”,“状态图”进行静态模型建模和动态模型建模。

          这里的类图主要指通过用例分析得到的实体类、控制类和边界类。

          顺序图也着眼于各个分析类对象间的协作。

    3、面向对象设计阶段

          常借助于“类图”,“顺序图、协作图”,“状态图”来细化各个类以及对象间的协作、关系的可见性;

          这里的类图,要具体到属性、方法,类之间的关系依赖(继承、组合、聚合)

          这里的顺序图要具体到各个类的实例之间的消息传递、函数调用。

          面向对象设计阶段常借助一些设计模式达到软件的可扩展行,应对软件的可预测到的变化。

  • 相关阅读:
    安卓开发学习日记 DAY1
    安卓开发学习日记 DAY5——监听事件onClick的实现方法
    安卓开发学习日记 DAY3——TextView,EditView,ImageView
    [原] XAF Try an XAF application that uses the Entity Framework as an ORM layer
    [原] XAF 如何使用Top
    [原] Sql Server 获取某年某月有多少个工作日(仅不包含星期日)
    [原] XAF Split View (aka MasterDetailMode=ListViewAndDetailView) improvements
    Sql Server 问题之between and 使用注意事项
    [原] XAF ListView 粘贴行或单元格
    [原] XAF How to see and edit the time part in the DatePropertyEditor for the System.DateTime property
  • 原文地址:https://www.cnblogs.com/feng9exe/p/6764093.html
Copyright © 2011-2022 走看看