标签:注意 类的属性 直接 消费者 使用 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