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

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

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

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

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

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

软件工程内容摘要7.1面向对象的基本概念封装(encapsulation)是一种信息隐蔽技术,用户只能看见对象封装界面上的信息,对象的内部实现对用户是隐蔽的。封装的目的是使对象的使用者和生产者分离,使对象的定义和实现分开。 一个对象通常可由对象名、属性和操作三部分组成。2.类(class) 类是一组具有相同属性和相同操作的对象的集合。一个类中的每个对象都是这个类的一个实例(instance)。 类是创建对象的模板,从同一个类实例化的每个对象都具有相同的结构和行为。轿车 型号:字符串 颜色:字符串 牌照号:字符串 ....3.继承(inheritance) 继承是类间的基本关系,它是基于层次关系的不同类共享数据和操作的一种机制。父类中定义了其所有子类的公共属性和操作,在子类中除了定义自己特有的属性和操作外,可以继承其父类(或祖先类)的属性和操作,还可以对父类(或祖先类)中的操作重新定义其实现方法。矩形 长 宽 对角线 计算面积 计算对角线有时,我们定义一个类,它把一些类组织起来,提供一些公共的行为,但并不需要使用这个类的实例,而仅使用其子类的实例。我们把这种没有实例的类称为抽象类(abstractclass)。在抽象类中可以定义抽象操作,抽象操作指:只定义这个类的操作接口,不定义它的实现,其实现部分由其子类定义。交通工具如果一个子类只有唯一一个父类,这个继承称为单一继承。如果一个子类有一个以上的父类,这种继承称为多重继承。4.消息(message) 消息传递是对象间通信的手段,一个对象通过向另一个对象发送消息来请求其服务。一个消息通常包括接收对象名、调用的操作名和适当的参数。消息只告诉接收对象需要完成什么操作,但并不指示接收者怎样完成操作。消息完全由接收者解释,接收者独立决定采用什么方法完成所需的操作。5.多态性(polymorphism) 多态性是指同一个操作作用于不同的对象上可以有不同的解释,并产生不同的执行结果。例如“画”操作,作用在“矩形”对象上,则在屏幕上画一个矩形,作用在“圆”对象上,则在屏幕上画一个圆。也就是说,相同操作的消息发送给不同的对象时,每个对象将根据自己所属类中定义的这个操作去执行,从而产生不同的结果。6.动态绑定(dynamicbinding) 动态绑定是指在程序运行时才将消息所请求的操作与实现该操作的方法连接起来。 在一般与特殊关系中,子类是父类的一个特例,在运行过程中,当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法进行连接,即动态绑定。getArea{abstract}7.2面向对象分析与设计7.2.1面向对象分析1.获取客户对系统的需求 需求获取必须让客户与开发者充分地交流,这里介绍一种采用用况来收集客户需求的技术。分析员首先标识使用该系统的不同的执行者(actor),这些执行者代表使用该系统的不同的角色。每个执行者可以叙述他如何使用系统,或者说他需要系统提供什么功能。执行者提出的每一个使用场景(或功能)都是系统的一个用况的实例,一个用况描述了系统的一种用法(或一个功能),所有执行者提出的所有用况构成系统的完整的需求。 2.标识类和对象 类和对象来自问题领域。 可以先标识候选类,然后进行筛选3.定义类的结构和层次 类的结构主要有两种:一般—特殊(generalization—specialization)结构和整体—部分(whole—part)结构。 一般—特殊结构是一种分类结构,反映了类间的一般与特殊的关系。特殊类还可以分为更特殊的类,这样可形成类的层次结构。 整体—部分结构反映了类间的整体与部分关系。值得注意的是,整体—部分关系是对对象而言的,而不是对类的。整体—部分关系是一种“hasa”的关系,如“汽车”有“发动机”。同样,整体—部分结构也具有层次结构。4.建造对象——关系模型 对象--关系模型描述了系统的静态结构,它指出了类间的关系(relationship)。 类之间的关系有关联、依赖、泛化、实现等。5.建立对象——行为模型 对象--行为模型描述了系统的动态行为,它们指明系统如何响应外部的事件或激励(stimulus)。 建模的步骤如下: 评估所有的用况,以完全理解系统中交互的序列。 标识驱动交互序列的事件,理解这些事件如何和特定的对象相关联。 为每个用况创建事件轨迹(eventtrace)。 为系统建造状态机图。 复审对象--行为模型,以验证准确性和一致性。7.2.2面向对象设计(Object_OrientedDesign)对象设计 在过程级别(procedurallavel)设计每个操作,即设计每个操作的实现细节 定义内部类 为类属性设计内部数据结构 消息设计 使用对象间的协作和对象--关系模型,设计消息模型 复审 复审设计模型并在需要时迭代。1.