【软件工程】第十一章 面向对象设计思考题
- 面向对象的分析与设计方法与结构化的分析设计方法有什么不同?
- 面向对象的分析与设计之间有什么样的联系?
- 请使用面向对象的设计方法对你的团队项目进行总体设计,构建逻辑体系结构图(包图、类图)。
- 请使用面向对象的构件设计方法对你的团队项目进行详细设计,对构件内部的属性、操作进行建模(顺序图、通信图、状态图、活动图等),并构建物理体系结构图(构件图、部署图)。
1. 面向对象的分析与设计方法与结构化的分析设计方法有什么不同?
结构化方法在程序设计时,先考虑问题大的方面,在确定了主要方向后,再由表及里深入到问题具体的细节,由易到难,逐层解决问题,使得整个程序设计过程由模糊到清晰,由概括到具体。结构化方法强调功能抽象和模块化,采取了分块处理问题的方法,可以把一个比较复杂的问题分解为若干个容易处理解决的部分,从而降低了问题处理的难度。
面向对象方法与人类习惯的思维方法一致,使得使用者和维护人员都容易理解,在用户使用时不会理解困难,在软件维护中可维护性也较高,并且易于测试和调试。它的稳定性好,对软件的局部进行修改时,不会引起整体的变化,而且对局部修改容易实现。它的可重用性好,并且由于它是把大的问题分解成相互独立的小问题处理,降低了开发的技术难度,开发工作的管理也变的容易。
2. 面向对象的分析与设计之间有什么样的联系?
每个构件的类定义或者处理说明都转化为一种详细设计,该设计采用图形或基于文本的形式来详细说明内部的数据结构、局部接口细节和处理逻辑。
在面向对象软件工程环境中,构件包括一个协作类集合。构件中的每个类都应得到详细阐述,包括所有属性和与其他实现相关的操作。作为细节设计的一部分,必须定义所有与其他设计类相互通信协作的接口。
为此软件设计师需要从分析模型开始,详细分析实体类的属性和方法,对于构件而言,实体类与问题域相关,从分析类到设计类,需要增加更多实现所需的属性,方法以及接口的详细设计。