- 3
- 0
- 约8.12千字
- 约 57页
- 2019-10-13 发布于湖北
- 举报
软件开发原理 面向对象的概念 面向对象分析(OOA) 面向对象设计(OOD) 事例学习: 电梯控制系统ECS 软件开发原理 20世纪50年代 无规范化设计的概念 20世纪60年代 瀑布方法 软件开发经历一系列规范化阶段 每个阶段的完成需交付一个或多个里程碑文档 20世纪70年代 基于模型的软件工程 首先建立系统的工作模型 再调集资源实现系统 基于模型的软件开发 现代软件工程都是采用基于模型的方法开发软件的。 工程中要考虑的问题是: What : 工程所依据的模型做什么? Why : 为什么要建立模型?(背景) How : 模型如何建立? Who : 模型的建立者是谁? 一个典型的软件开发生存期 软件工程方法的一个重要概念 :事务分离原则 分析模型与设计模型分开建立。 分析模型主要描述系统将要做什么,完全不考虑具体的实现方法和技术细节。 设计模型描述在给定的实现环境下如何创建一个特定的软件系统。 前者确定系统的行为,后者给出系统实现的蓝图。 需求定义模型主要用于获取和处理系统的整体需求。 面向对象的概念 传统的方法强调程序的可理解性。 可理解性强的程序是模块化的程序。 为做到模块化 每个模块做且仅做一件事 每个模块应容纳一个数据结构 每个模块应能识别并对一个事件作出反应,且这个事件是唯一的 面向对象方法则强调要让每个模块对应且唯一对应现实世界中的某一件事。 因此,面向对象(Object-Oriented)不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统与现实世界的关系以及如何进行系统构造的软件方法学。 特点: 面向对象的技术建立的模型与客观世界一致,因而便于理解; 适应变化的需要,修改局限在模块中; 可复用性。 什么是对象 (Object)? 对象: 一般意义来讲,对象是现实世界中存在的一个事物。可以是物理的,如一个桌子,可以是概念上的,如一个开发项目。 对象是构成现实世界的一个独立的单位,具有自己的静态特征(用数据描述)和动态特征(行为或具有的功能)。 例如:人的特征:姓名、性别、年龄等,行为:衣、食、住、行等。 定义: 对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组属性和一组对属性进行操作的服务组成。 对象的分类 外部实体:与软件系统交换信息的外部设备、相关子系统、操作员或用户等。 信息结构:问题信息域中的概念实体,如信号、报表、显示信息等。 需要记忆的事件:在系统运行过程中可能产生并需要系统记忆的事件,如单击鼠标左键、击打键盘“?”键等。 角色:与软件系统交互的人员所扮演的角色,如经理、部长、技术支持等。 组织机构:有关机构,如单位、小组等。 位置:作为系统环境或问题上下文的场所、位置,如客户地址、收件人(机构)地址等。 操作规程:如操作菜单、某种数据输入过程等。 对象间的关系 静态关系:长期存在的关系,两个对象相互知道对方是否存在。 例如:组成关系是一种静态关系,卡车是由车体、底盘、发动机、传动装置和轮胎等组成。为什么将车辆划分成几个组成部分?这样做是为便于理解、实现,可复用(发动机)。 动态关系:对象间互相进行通信。 例如:智能汽车的传感器对象向自动驾驶仪 对象发出“前面有移动障碍物,请左转减速 规避。”的指令。 什么是类和实例? 把具有相同特征和行为的对象归在一起就形成了类(class) 。 类成为某些对象的模板,抽象地描述了属于该类的全部对象的属性和操作。 属于某个类的对象叫做该类的实例(instance)。 什么是继承(inheritance)? 如果某几个类之间具有共性的东西 ( 信息结构和行为 ), 抽取出来放在一个一般类中, 而将各个类的特有的东西放在特殊类中分别描述,则可建立起特殊类对一般类的继承。 各特殊类中的底盘、发动机、轮胎、驱动装置等可以作为共性集中到一般类汽车类中。各个特殊类可以从一般类中继承共性,这样避免了重复。 复用共同的描述,继承性往往被看作是软件复用的核心概念。 建立继承结构的好处: 易编程、易理解 代码短, 结构清晰 易修改 共同部分只要在一处修改即可 易增加新类 只须描述不同部分 怎样建立一个好的继承层次 类可以从父类继承,父类又可以从它的父类继承,形成多层次的继承结构。 当增加一个新类时,不一定在最低层,可能需要插在中间层,这样可能需要调整原来的层次结构。 现要建立一个新类起重车。它的底盘、发动机、轮胎、驱动装置等都在既存类汽车中。关系如右图所示。新类是既存类的特殊情形。这时直接让起重车类作为汽车类的子类即可。 若增加一个新类拖拉机。其底盘、发动机与汽车类不同,但驱动装置、轮胎与汽车类相同。 调整继承结构。建立一个新的一般的车辆类,把拖拉机与汽
您可能关注的文档
最近下载
- 22G101 三维彩色立体图集.docx VIP
- 旅游景区质量等级划分与评价细则.doc VIP
- 深度解析(2026)《ISO 277992016 Health informatics — Information security management in health using ISOIEC 27002》(20标准解读.pptx VIP
- 大学生创新与创业基础教程(大学生创新创业教育课程)全套教学课件.pptx
- 22G101图集下载的文档.pptx VIP
- 《大学生创新创业教育(第三版)微课版》全套教学课件.pptx
- 中国集装箱行业十四五发展分析及投资前景与战略规划研究报告2025-2028版.docx VIP
- gnss全球导航卫星系统.pptx VIP
- 重庆市2026年高二(上)期末联合检测(康德卷)数学+答案.pdf VIP
- 2025年11月26日达州兴川能源有限公司国家电投川东北高效清洁煤电综合利用一体化项目21000MW新建燃煤机组配套500kV升压站工程.pdf VIP
原创力文档

文档评论(0)