第十一章 面向对象设计
1.面向对象的分析与设计方法与结构化的分析设计方法有什么不同?
主要区别是思维上的区别。
结构化设计是面向过程设计,是从计算机处理问题的角度来工作:即“输入——运算——输出”的模式。
面向对象的分析设计是以对象为单位,考虑对象的属性和方法,分析问题时以一个具体的流程(事务过程)为单位,考虑它的实现。
2.面向对象的分析与设计之间有什么样的联系?
面向对象的需求分析对下列步骤进行动态迭代:
需求流:对功能建模,使用UML用例图及用例场景描述、辅以其他UML动态模型( 如活动图)
分析流:
(1)领域与业务建模,从用例描述中应用名词抽取、CRC卡片等方法建模实体类,建立业务类图模型(包括实体类、边界类、控制类等分析类,类
的属性与操作,类与类之间的关系。
(2)系统动态行为建模,使用UML动态模型(如顺序图、通信图、状态图等)对对象间交互行为进行动态建模,进一步精化用例实现。
面向对象的设计以面向对象分析所产生的需求规格说明书为基础,设计出描述如何实现各项需求的解决方案。面向对象的设计是将分析所创建的分析模型转换为设计模型,同时通过进一步细化需求,对分析模型加以修正和补充。
因此,需要在分析模型中为系统实现补充或调整一些新的类、属性或操作。使用合适的设计原则和设计模式。在设计时同样遵循 模块化、抽象、信息隐蔽、功能独立(高内聚低耦合)、可复用等设计准则 。
3.请使用面向对象的设计方法对你的团队项目进行总体设计,构建逻辑体系结构图(包图、类图)。
包图
类图
4.请使用面向对象的构件设计方法对你的团队项目进行详细设计,对构件内部的属性、操作进行建模(顺序图、通信图、状态图、活动图等),并构建物理体系结构图(构件图、部署图)。
hzau小鱼转转吃吃吃软件顺序图
hzau小鱼转转吃吃吃软件通信图
进行一局游戏的软件状态图
hzau小鱼转转吃吃吃软件活动图