预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共101页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

主要内容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.发展过程_I1.发展过程_II1.发展过程_III2.定义OOA与OOD的目标、内容 OOA——主要内容是研究问题域和用户需求,运用面向对象的观点和原则发现问题域中与系统责任有关的对象,以及对象的特征和相互关系。目标是建立一个直接映射问题域,符合用户需求的OOA模型。 OOD——主要内容是以OOA模型为基础,按照实现的要求进行设计决策,包括全局性的决策和局部细节的设计。目标是产生一个满足用户需求,并且完全可实现的OOD模型。 全局性设计决策:体系结构、分布方案、并发控制、人机交互、数据管理等。OOD方法应支持用户以OO概念表达对这些问题的设计。 局部细节的设计:对每个对象类的每个属性和每个服务给出详细的定义。3.设计内容4.设计准则_I弱耦合 在面向对象方法中,耦合主要指不同对象之间相互关联的紧密程度。 一般说来,对象之间的耦合可分为以下两类: 交互耦合:——对象之间的耦合通过消息来实现,则这种耦合就是交互耦合。 继承耦合:——继承是一般化类与特殊类之间耦合的一种形式。 在面向对象设计时,应尽量降低交互耦合的程度,提高继承耦合程度。4.设计准则_III4.设计准则_IVOOD模型 从两个侧面来描述1.3.3面向对象实现2.面向对象语言的选择选择面向对象语言或工具的原则一个面向对象的C++程序实例2.面向对象分析[分析]: “显示器荧光屏”是一种输出设备,是运行程序的物质基础(硬件平台),应该从候选对象中删去。 “圆心坐标”和“半径”实质上是圆和弧的基本属性,并不需要独立存在,因此也应该从候选者中删去。 “位置”实际上是指圆心的位置,也就是圆心坐标,没必要重复列出。 “起始角度”和“结束角度”实质上是弧的属性,也应该从候选者中删去。 [结论]: 最后得出的是圆(Circle)和弧(Arc)两类对象。圆的两个基本属性是圆心坐标和半径。 弧的基本属性有圆心坐标,半径,起始角度和结束角度。 [分析]: 由于不可能在需求陈述中找到所有属性,还必须借助领域知识和常识,才能分析得出所需要的全部属性。因此,圆和弧都应该再增加一个属性——可见性。 确定服务[结论]:3.面向对象设计_I3.面向对象设计_II4.面向对象实现_ICircle::Circle(intInitX,intInitY,intInitRadius):Point(InitX,InitY) { Radius=InitRadius; } voidCircle::Show() { Visible=true; circle(X,Y,Radius); }4.面向对象实现_III5.小结 2)面向对象设计: 对分析中得到的准确结果,设计出实现程序的方案。包括: 建立类之间的继承关系:根据对系统中共性和个性的划分建立类等级即类之间的继承关系(提取公共的属性和服务以建立父类) 定义属性:确定属性的数据类型及访问权限。 定义服务:确定实现服务的准确算法以及清晰的接口。 3)面向对象实现: 选择一种合适的编程语言,实现上述设计。1.3.4FormC-->C++1C++程序的基本框架2C++数据类型2.1指针2.2引用2.3常变量(const变量)2.4定义变量初值2.5C++的运算符3.c++中的new/deleten