




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 9 章 面向对象方法学引论,一. 传统方法学的问题,1. 软件开发效率低 2. 软件不能满足“需求变化”、“需求模糊”和“需求灵活性” 3. 软件重用度低 4. 软件仍然很难维护,二. 快速原型方法,快速原型方法适合用户需求模糊,(一) 快速原型方法开发过程:,修改、完善系统原型,评价系统原型,满意否?,建成系统产品,研制系统原型,确定系统最初需求,N,Y,(二) 快速原型方法优缺点 1. 优点: 尽快拿出一个样品让用户评价 降低开发风险 适合需求模糊, 尽早发现问题. 2. 缺点: 缺乏有力的工具和环境 缺乏有效的管理机制和开发标准 对开发人员水平和环境要求高 费机时, 反复修改使文档跟踪困难,三. 面向对象方法学概述,面向对象是指: 把软件看成一系列离散的对象的集合。这些对象有自己的数据结构和行为(操作)。对象把数据结构和行为封装起来,使其它对象看不见。具有相同数据结构和行为(操作)的对象抽象成类, 类之间具有继承性。 . 这样的软件系统易于理解和维护。,(一) 面向对象方法学的要点:客观世界是由各种对象组成的。所有对象都划分成类(class) 。(3) 按照子类与父类的关系,组成一个层次结构。类具有继承性(inheritance)。(4) 对象彼此之间仅能通过传递消息互相联系。(5) 实现多态性机制 即同一消息发给不同对象,可产生不同结果.,面向对象的方法学可以用下列方程来概括:OO=Objects +Classes +Inheritance + Polymorphism + Communication with Messages,与人类习惯的思维方法一致2. 稳定性好3. 可重用性好4. 较易开发大型软件产品5. 可维护性好,(二) 面向对象方法学的优点,在应用领域中有意义的、与所要解决的问题有关系的任何事物都可以作为对象,它既可以是具体的物理实体的抽象,也可以是人为的概念,或者是任何有明确边界和意义的东西。,(三) 面向对象的概念 1. 对象,对象的特点:以数据为中心。 对象是主动的。(3) 实现了数据封装。(4) 本质上具有并行性。 (5) 模块独立性好。,具有相同性质的对象抽象成类。 类具有属性,它是对象状态的抽象。 类具有操作,它是对象行为的抽象。 3. 实例(instance) 实例就是由某个特定的类所描述的一个具体 的对象。,2. 类(class),4. 消息(message) 消息就是对象之间进行通信的构造。简言之,消息就是向对象发出的操作请求。通常,一个消息由下述3部分组成: 接收消息的对象; 消息名; 零个或多个变元及返回值类型。例如:MyCircle 是 Circle 类的对象,当要求它用绿色在屏幕上显示时,应向它发出一下消息: MyCircle Show (Green) : String,对象名,消息名,参数,返回值类型,5. 方法(method) 方法就是对象所能执行的操作,也就是类中所定义的服务。在C+语言中把方法称为成员函数,在Java中称作方法。6. 属性(attribute) 属性就是类中所定义的数据(又称作属性名),它是对客观世界实体所具有的性质的抽象。类的每个实例都有自己特有的属性值。 在C+语言中把属性称为数据成员,7. 封装(encapsulation) 从字面上理解,所谓封装就是把某个事物包起来,使外界不知道该事物的具体内容。 对象具有封装性的条件如下:(1) 有一个清晰的边界。(2) 有确定的接口。(3) 受保护的内部实现。(4)在OO开发中,封装的最小单位是对象。,8. 继承(inheritance) 在面向对象的软件技术中,继承是子类自动地 共享基类中定义的数据和方法的机制。 继承具有传递性。继承可分成: 单继承:一个类仅有一个父类的继承; 多继承:允许一个类有多于一个父类的继承。,9. 多态性(polymorphism) 同一消息发给不同对象可产生不同结果。(或相同的操作应用到不同类中,可以有不同表现形式) 在C+语言中,多态性是通过虚函数来实现的。10. 重载(overloading) 函数重载是指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字;,1. 搞清问题域和系统责任 2. OOA分析用户需求 创建功能模型-:用DFD (传统方法) 或 Use Case Diagram 表示3) 创建对象模型-用类图(Class Diagram)表示4) 创建状态模型-用状态图(StateChart Diagram) 来表示,(四) 面向对象的软件开发过程,3. OOD,1) 系统设计 设计一种高层策略-系统架构 优化设计-考虑实现策略问题和资源分配问题 2) 设计类 添加细节 实现类的数据结构和算法,OOD具体包括:设计问题域子系统设计人机交互子系统设计任务管理子系统设计数据管理子系统4. OOPOOP是把设计模型转换成某种编程语言。,第 10 章 面向对象分析,(一) 创建类模型 ( 对象模型 ),定义类和对象识别对象对象抽象成类B. 确定属性UML的属性格式2. 类属性和实例属性 ( 概念和表示方法)C. 定义服务(操作),1. UML的操作格式 2. 类范围操作和实例范围操作。D. 建立类图 1. 关联关系,包括: 单向关联和双向关联、关联和链、关联的重数、关联的角色、自反关联、限定关联、关联类。 2. 聚集 (1)聚集表示“整体-部分”关系。 (2)组合:如果部分类完全属于整体类,而且它们有共存亡关系。,3. 泛化 继承可分成单继承和多继承,单继承为“树状结构”,多继承为“网状结构”。,单继承,多继承,,例如:,例如:,4. 依赖 依赖关系描述两个建模元素之间其中一个是独立的,另一个是非独立的。非独立的元素依赖于独立元素。 5. 接口与实现 接口(Interface)定义为“一个类提供对外可见的一组操作的描述符”。 有接口必有实现。注意实现接口的连接符号。,(二) 状态模型,UML使用“状态图”来表示状态模型。 状态图描述一个对象在其生命周期内状态变化序列。 1. 状态图中的概念: 事件(Event)、状态 (State)、转移(Transition )、动作(action) 。 2. 状态图的例子及绘制状态图的练习。,(三) 功能模型,Use Case图的基本概念用例之间的三种重要关系绘制Use Case图练习 (复习所有的案例),第11章 面向对象设计,一. 软件设计的指导原则,二. 软件设计的内容 1架构系统,考虑高层计划或策略。 2考虑与实现有关的问题,1. 模型元素的高内聚、低耦合原则;注*2. 软件重用原则;3. 简单、清晰和易维护原则;4. OOA和OOD之间没有明显的界限。,(一)设计问题域子系统 (1) 多继承的命名冲突 (2) 如果语言不支持多继承 (3) 合并通信频繁的类, 提高效率并避免强耦合 (4) 用聚合关系描述复杂对象 (5) 简化复杂的关联 (6) 调整与完善属性 (7) 构造和优化算法 (8)其它,(二)设计人机交互子系统(1) 人机界面采用“原型方法”为宜。(2)人机界面设计应考虑以下问题: 系统响应时间 简单易用 用户在线帮助 界面一致(三)设计任务管理子系统 1. 进程和线程 2. 设计任务管理子系统,(四)设计数据管理子系统 1. 什么是“永久对象”? 2. 使用UML数据建模的方法。(五)设计类中的服务和类之间的关联(六)设计优化 注意:根据“需求陈述”来创建功能模型(Use Case 图)、类模型(对象模型)和状态模型(状态图)是OOA和OOD的基本功。,第 12 章 面向对象实现,面向对象实现主要包括以下工作: 把面向对象设计结果翻译成用某种程序语言书写的面向对象程序; 测试并调试面向对象的程序。(注意:在OO开发中,测试不是一个单独的阶段,而是贯穿在各个阶段中),一. 了解OO程序设计语言的特点 重点是: Smalltalk、C+和Java面向对象实现 1. 实现类的关联(只要求Java代码) 2. 实现类的聚集 3. 实现类的泛化 4. 综合问题的实现,第13章 软件项目管理,一. 项目管理概述1. 什么是管理?项目为什么要管理?项目管理要管理什么?2. 估算软件规模的方法是什么? 它们各有何优缺点?3. 什么是COCOMO模型?它是如何产生的?4. 软件开发中能否用人员换
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 航空航天复合材料 课件知识点1 金属基复合材料的制备工艺
- 员工的素质培训
- 神经内科痴呆患者护理查房
- 护理质量管理分析讨论会
- 元旦晚会帷幕课件
- 医疗机构消毒技术规范培训
- 肿瘤患者入院宣教
- 夏季高温作业防暑安全培训
- 2025年中国南瓜蜡烛行业市场全景分析及前景机遇研判报告
- 肿瘤患者临终关怀个案研究
- 2024年天津市应急管理局招聘行政执法专职技术检查员笔试真题
- 2025年养老护理员职业考试试题及答案
- 揭阳惠来县纪委监委等部门属下事业单位招聘笔试真题2024
- 春苏教版六年级数学总复习30课时教学设计
- 西安美术学院《舞台编导艺术》2023-2024学年第二学期期末试卷
- 城投公司工程管理制度
- 2025全国农业(水产)行业职业技能大赛(水生物病害防治员)选拔赛试题库(含答案)
- 油浸式变压器 电抗器 检修规范标准
- 2025年中国膨润土猫砂项目投资可行性研究报告
- 职业技术学院2024级智能机器人技术专业人才培养方案
- TSG G7002-2015 锅炉定期检验规则
评论
0/150
提交评论