- 1、本文档共102页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章[C]-面向对象分析和设计初步2011[2h]
第一章 从过程抽象到数据抽象;主要内容;1.3.1 面向对象建模;1. 建模的目的:;2.建立问题模型方法;OMT建模;[分析]:;最核心的模型-对象模型;; 为了建立系统模型,需要定义一组图形符号,并且规定一组组织这些符号以表示特定语义的规则。如对象模型,需要包含下列符号:
表示类的符号(应该既能表示属性又能表示服务);
表示对象(类实例)的符号;
表示继承关系的符号;
表示类和(或)对象 间其他关系的符号。
统一建模语言(UML)为建立系统模型提供了一个图形化的表示手段;UML建模技术;2.UML系统视图;;UML图(preview);2) 时序图:打印;3) 时序图:打电话;4) 协同图:打印;5) 状态图:电梯;6) 封包;7) 活动图:磁盘;8) 构件分布图;9) 构件图的组合;10) 配置图:主机与外围设备;11)类图;类图;;12)对象图;13)关系;;;;;;UML开发工具;1.3.2 面向对象分析(OOA);2. 基本任务;3. 基本步骤;1) 确定类——对象;筛选出正确的类——对象。
找出候选的类——对象之后,还应该严格考察每个候选者,从中去掉不正确的或不必要的。
删除的依据如下:
冗余的:两个类名表示了相同的信息,应该保留较全面的类——对象。
无关的:与目标系统无关的类——对象。
笼统的:用精确的代替模糊、笼统的类——对象。
无关的属性:去掉类——对象中无关的属性。
操作:通常用动词定义类中的操作。
实现:在系统分析阶段应该少考虑或不考虑怎样实现目标系统。;2) 确定关联;3) 确定属性;4) 确定服务;5) 识别继承关系;;1.3.3 面向对象设计(OOD);1. 发展过程_I;1. 发展过程_II;1. 发展过程_III;2. 定义;OOA与OOD的目标、内容
OOA——主要内容是研究问题域和用户需求,运用面向对象的观点和原则发现问题域中与系统责任有关的对象,以及对象的特征和相互关系。目标是建立一个直接映射问题域,符合用户需求的OOA模型。
OOD——主要内容是以OOA模型为基础,按照实现的要求进行设计决策,包括全局性的决策和局部细节的设计。目标是产生一个满足用户需求,并且完全可实现的OOD模型。
全局性设计决策:体系结构、分布方案、并发控制、人机交互、数据管理等。OOD方法应支持用户以OO概念表达对这些问题的设计。
局部细节的设计:对每个对象类的每个属性和每个服务给出详细的定义。;3. 设计内容;4. 设计准则_I;弱耦合
在面向对象方法中,耦合主要指不同对象之间相互关联的紧密程度。
一般说来,对象之间的耦合可分为以下两类:
交互耦合:——对象之间的耦合通过消息来实现,则这种耦合就是交互耦合。
继承耦合:——继承是一般化类与特殊类之间耦合的一种形式。
在面向对象设计时,应尽量降低交互耦合的程度,提高继承耦合程度。;4. 设计准则_III;4. 设计准则_IV;OOD模型
从两个侧面来描述;1.3.3 面向对象实现;2. 面向对象语言的选择;选择面向对象语言或工具的原则; 一个面向对象的C++程序实例;2. 面向对象分析;[分析]:
“显示器荧光屏”是一种输出设备,是运行程序的物质基础(硬件平台),应该从候选对象中删去。
“圆心坐标”和“半径”实质上是圆和弧的基本属性,并不需要独立存在,因此也应该从候选者中删去。
“位置”实际上是指圆心的位置,也就是圆心坐标,没必要重复列出。
“起始角度”和“结束角度”实质上是弧的属性,也应该从候选者中删去。
[结论]:
最后得出的是圆(Circle)和弧(Arc)两类对象。;圆的两个基本属性是圆心坐标和半径。
弧的基本属性有圆心坐标,半径,起始角度和结束角度。
[分析]:
由于不可能在需求陈述中找到所有属性,还必须借助领域知识和常识,才能分析得出所需要的全部属性。因此,圆和弧都应该再增加一个属性——可见性。
; 确定服务;[结论]:;3. 面向对象设计_I;3. 面向对象设计_II;4. 面向对象实现_I;Circle::Circle(int InitX,int InitY, int InitRadius):Point(InitX,InitY)
{
Radius = InitRadius;
}
void Circle::Show()
{
Visible = true;
circle(X,Y,Radius);
};4. 面向对象实现_III;5. 小结; 2) 面向对象设计:
对分析中得到的准确结果,设计出实现程序的方案。包括:
建立类之间的继承关系:根据对系统中共性和个性的划分建立类等级即类之间的继承关系(提取公共的属性和服务以建立父类)
定义属性:确定属
文档评论(0)