码迷,mamicode.com
首页 > 其他好文 > 详细

第一部分绪论 第一章

时间:2018-09-27 20:43:45      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:注意   类的属性   直接   消费者   使用   main   请求   重要   飞行员   

什么是分析和设计

  分析(analysis)强调的是对问题和需求的调查研究,而不是解决方法。例如:如果需要一个新的在线交易系统,那么应该如何使用它?它应该具有哪些功能。

  “分析”一词含义广泛,最好加以限制,如需求分析(对需求的调查研究)或者面向对象分析(对领域对象的调查研究)。

  设计(design)强调的是满足需求的概念上的解决方法(在软件方面和硬件方面),而不是其实现。例如,对数据库方案和软件对象的描述。其设计思想排斥底层或“显而易见的细节”(对于预期消费者来说是显而易见的)。最终,设计可以实现,而实现(代码)则表达了真实和完整的设计。

  与“分析”相同,对于“设计"一词最好也加以限制,如面向对象设计和数据库设计。

  有益的分析和设计可以概括为:做正确的事(分析)和正确地做事(设计)

什么是面向对象分析和设计:

  在面向对象分析(object-oriented analysis)过程中,强调的是在问题领域内发现和描述对象(或概念)。例如:在航班信息系统中包含飞机(Plane),航班(Flight),飞行员(Pilot)等概念。

  在面向对象设计(object-oriented design,简称对象设计)过程中,强调的是定义软件对象以及它们如何协作以实现需要。例如,软件对象Plane可以有tailNumber(飞机尾翼号,标示唯一飞机)属性和getFlightHistory(飞机已经飞过的航班)方法。

  最后,在实现或面向对象程序设计过程中,会实现设计出来的对象,如Java中的Plane类。

  public class Plane{

  private String tailNumber;

  public List getFlightHistory(){

    ......

    }

  }

定义用例:

  需求分析可能包括人们如何使用应用的情节或者场景,这些情节或者场景可以被编写成用例(use case).

  用例不是面向对象制品,而只是对情节的记录。但用例是需求分析中的一种常用工具。例如,下面是一个简单的骰子游戏的用例。

      骰子游戏:游戏者请求掷骰子。系统展示结果:如果骰子的总点数是7,则游戏者赢;否则游戏者输。

定义领域模型:

  面向对象分析的结果可以标示为领域模型(domain model),在领域模型中展示重要的领域概念或者对象。

  需要注意的是,领域模型并不是对软件对象的描述,它使真实世界领域中的概念和想象可视化。因此,它也被称为概念对象模型。

分配对象职责并绘制交互图:
  面向对象设计关注软件对象的定义,它们的职责和协作。顺序图(sequence diagram,UML的一种交互图)是描述协作的常见表达法。它展示出软件对象之间的消息流,和由消息引起的方法调用。

  软件对象设计和程序可从真实世界领域中获取灵感,但它们并不是对真实世界的直接建模或模拟。

定义设计类图

  除了在交互图中显示对象协作的动态视图外,还可以用设计类图(design class diagram)来有效地标示类定义的静态视图。这样可以描述类的属性和方法。

 

 

  

 

 

  

 

第一部分绪论 第一章

标签:注意   类的属性   直接   消费者   使用   main   请求   重要   飞行员   

原文地址:https://www.cnblogs.com/shadow-shine/p/9715302.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!