至关重要的能力是熟练地为软件对象分配职责。这项技能是必须要执行的一项活动,无论是画UML图还是进行程序设计,并且直接关乎到软件构件的健壮性、可维护性和可重用性。在实际项 目。中,如果只能仓促编码,即使在这种情况下,分配职责也是必不可少。这门课程中,将持续学习分配职责的原则。
什么是分析与设计?
分析强调的是对问题和需求的调查研究,而不是解决方案。
“分析”一词含义广泛,最好加以限制,如需求分析或面向对象的分析。
设计强调的是满足需求的概念上的解决方案(在软件方面和硬件方面)而不是其具体实现。
最终设计可以实现,而实现(如代码)则表达了真实和完整的设计。
也可以概括为:做正确的事(分析)和正确地做事(设计)。
在面向对象分析过程中,强调的是在问题领域内发现和描述对象(或概念)。
例如航班信息中包含了飞机,航班和飞行员等概念。
而在一个电影售票系统中,概念就有电影院,电影,场次甚至电影院座位等概念。
在面向对象设计过程中,强调的是定义软件对象以及它们如何协作以实现需求。
示例流程(也是学习流程):
定义用例——定义领域模型——分配对象职责并绘制交互图——定义设计类图