1 / 15

Chapter 1

Chapter 1. 面向对象分析和设计. 目标. 比较分析和设计的区别 定义面向对象的分析和设计 (OOA/D). 什么是分析和设计 ?. 分析强调的是对问题的理解,而不是如何解决问题。 作正确的事情 (Do the right thing) 设计强调的是给出一个有效的软件实现方案以实现用户的需求。 把事情作正确 (Do the thing right) 为什么要先分析,然后设计 ?  为什么软件开发人员经常会将设计和分析混在一起?. 什么是分析和设计 ( 续 ). 分析和设计之间的界限有时很模糊。 分析和设计处于一个连续的过程中。

len-griffin
Download Presentation

Chapter 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 1 面向对象分析和设计

  2. 目标 • 比较分析和设计的区别 • 定义面向对象的分析和设计 (OOA/D).

  3. 什么是分析和设计? • 分析强调的是对问题的理解,而不是如何解决问题。 • 作正确的事情(Do the right thing) • 设计强调的是给出一个有效的软件实现方案以实现用户的需求。 • 把事情作正确(Do the thing right) • 为什么要先分析,然后设计?为什么软件开发人员经常会将设计和分析混在一起?

  4. 什么是分析和设计(续) • 分析和设计之间的界限有时很模糊。 • 分析和设计处于一个连续的过程中。 • 有些人认为是分析的活动,在另外一些人看来却是设计。 更接近于分析 更接近于设计 -什么 -需求 -对问题领域的理解 -如何 -逻辑方案 -对方案的理解和描述

  5. 面向对象和面向功能(结构化)分析/设计 图书馆信息系统 O-O A&D 从对象和概念的角度来分解系统 Structured A&D 从功能和过程的角度来分解系统 系统 管理员 书目 借还图书 购置图书 报表 书 图书馆

  6. 什么是 OOA/D? • 面向对象分析和设计的精髓在于:从对象(事物/概念)的视角来理解问题领域和解决方案。 • 面向对象分析强调发现和描述问题领域中的对象或概念。 • 面向对象设计强调定义带有属性和方法的软件对象。

  7. 面向对象分析 • 面向对象分析需要目标领域的知识和OO分析的技能 • 因此,在这个阶段需要一个领域专家和一个OO分析专家。 • 通常,领域专家在确定问题领域上具有决定权。 • OO分析的结果: • 问题领域中的概念(不是类)。 • 概念之间的关系。 • 概念具有的属性。

  8. 面向对象设计 • 面向对象设计定义了针对问题领域的软件解决方案 • 解决方案是基于OO分析阶段定义的概念,从这些概念中设计用于软件系统的类。 • 这些类可能包含方法。 • 在设计阶段可能会引入新的概念,属性和关系,有些将反馈到分析阶段。

  9. OOA/D与OOP • 面向对象分析/设计和程序开发是一个渐进的迭代过程。 • 后面阶段的内容可能会影响前面阶段的成果。

  10. 第一个例子

  11. 一个稍复杂些的例子[定义用例] Dice Game use case: 掷骰子游戏: 游戏者掷骰子,两个骰子的点数加起来为7赢,否则输。

  12. 一个稍复杂些的例子[定义领域模型]

  13. 一个稍复杂些的例子[定义交互图]

  14. 一个稍复杂些的例子[定义设计类图]

  15. 需要演化的系统

More Related