欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    软件工程-8-面向对象概述2009.ppt

    • 资源ID:3499335       资源大小:1.10MB        全文页数:37页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件工程-8-面向对象概述2009.ppt

    软件工程,第八章 面向对象基础,一、软件工程主要方法论,结构化分析和设计方法论 也叫数据流建模方法论 把现实世界描绘为数据在信息系统中的流动,在数据流动过程中数据发生转化。 通过自顶向下的程序设计将复杂的程序分解为程序模块的层次图。 存在问题 面向过程方法大多基于瀑布模型 面向过程方法是将用户需求对应到软件功能上,而采用面向过程的处理方式来应对用户提出的功能上的变更造成了系统结构的不稳定。 过程分析和数据分析之间的边界问题始终没解决,面向对象方法论 认为客观世界是由各种对象组成,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成的。 把所有的对象划分成各种对象类(简称类 class),每个对象类都定义了一组数据和一组方法。 按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统。 对象彼此之间仅能通过传递消息互相联系。,传统方法 系统是过程的集合 过程与数据实体交互 过程接受输入并产生输出,面向对象方法 系统是交互对象的集合 对象与其它对象交互 对象发送消息与响应消息,传统方法论与面向对象方法论的比较,例子 设计一个程序,对不同类型的图形求其面积,并打印结果。 请分别采用结构化思想和面向对象思想对问题展开分析。,传统方法论,面向对象方法论,面向对象方法不再把程序看成工作在数据上的一系列过程或函数的集合,而是把程序看作是相互协作而又彼此独立的对象的集合。 每个对象可以看作是一个微型程序,有自己的数据、操作、功能和目的。,面向对象分析和设计解决的两个经典问题 传统的分析和设计方法将处理问题的数据模型和处理模型分离,而面向对象的方法将数据模型和处理模型二者合一。 从系统分析能够平滑地过渡到系统设计。 UML将分析和设计模型统一,使用的符号统一,设计模型是分析模型的完善和扩充。,对象 类 消息 封装 继承 多态,二、面向对象基本概念,对象 定义 可以将问题域中任何事物都视为对象,对象是所有数据及可对这些数据施加的操作结合在一起所构成的独立单位的总称,是具有一定知识和处理能力的独立个体。它可以是具体的物理实体,如一个文件;也可是是人为抽象概念的,如多任务操作系统中的调度策略。 对象包含两个基本要素: 属性:用于描述对象的静态特征,是反映类或对象当前状态本质的数据项。 方法:用于描述对象的动态特征,反映对象的一种行为,是对对象属性的操作、服务。,对象的形象化表示,类 定义 具有相同属性和行为的一组对象的集合 类与对象的关系 类是对象的抽象 对象是类的实例 类的描述方法,消息 定义 消息是用来请求对象执行某一处理或回答某一要求的信息,是对象之间建立的一种通信机制,它统一了数据流和控制流。 通常一个消息由三部分组成: 对象名:接收消息的对象 消息名:要求接收对象完成的操作 参数:执行操作时的参数或操作返回的结果,例如 MyCircle.Show(Green): MyCircle是接收消息的对象的名字,Show是消息名,Green是消息的参数。 MyCircle.ChangeColor(Green);,消息的表示形式 student.read(in books, out report),消息接收者,参数类型,输入参数,操作,消息,封装性 是面向对象的主要特征之一,它是一种信息隐蔽技术,它体现于类的说明。 封装使数据和加工该数据的方法(函数)封装为一个整体,使得用户只能见到对象的外部特性,而对象的内部特性对用户是隐蔽的。 继承性 是子类自动共享父类之间数据和方法的机制。 一个类直接继承其它类的全部描述,同时可修改和扩充。 继承能够直接获得已有的性质和特征,而不必重复定义它们。 多态性 是对象根据所接收的消息而做出动作。 同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。,三、为何使用UML,UML 统一建模语言(UML)是描述、构造和文档化系统制品的可视化语言,1.UML的应用方式,应用方式 UML作为草图 非正式的、不完整的图,借助可视化语言的功能,用于探讨问题或解决方案空间的复杂部分。 UML作为蓝图 相对详细的设计图 逆向工程 前向工程(代码生成),UML只是一种工具 UML并不是面向对象分析和设计的全部,它只是一种手段,一种工具。我们需要通过自己对对象的理解和面向对象分析设计技术的掌握来进行系统的分析和设计,然后通过UML的形式来进行表述。,2.UML的三种透视图,概念透视图 用图来描述现实世界或关注领域中的事物 设计透视图 用图来描述软件的抽象物或具有规格说明和接口的构件,但是并不约束特定实现 实现透视图 用图来描述特定技术中的软件实现,UML的不同视图,四、软件开发过程模型,RUP过程模型,UP阶段(按照时间进行的内容-横轴) UP将其工作和迭代组织为四个主要阶段 初始: 大体上的构思、业务案例、范围和模糊评估 细化: 已精化的构思、核心架构的迭代实现、高风险的解决、确定大多数需求和范围以及进行更为实际的评估 构造: 对遗留下来的风险较低和比较简单的元素进行迭代实现,准备部署。 交付: 进行测试和部署,1.UP的阶段和制品,UP阶段(每个阶段的活动组成-纵轴) 纵轴表示的是在每次迭代过程中都要经历的工作流程(有一定顺序的活动)。 业务建模 理解待开发系统所在的机构及其商业运作,确保所有人员对它有共同的认识,评估待开发系统对结构的影响; 需求 定义系统功能及用户界面,为项目预算及计划提供基础; 分析与设计 把需求分析结果转换为分析与设计模型; 实现 把设计模型转换为实现结果,并做单元测试,集成为可执行系统;,测试 验证所有需求是否已经被正确实现,对软件质量提出改进意见; 部署 打包、分发、安装软件,培训用户及销售人员; 配置与变更管理 跟踪并维护系统开发过程中产生的所有制品的完整性和一致性; 项目管理 为软件开发项目提供计划、人员分配、执行、监控等方面指导,为风险管理提供框架; 环境 为软件开发机构提供软件开发环境。,2.判断你是否理解迭代开发或UP,下面列出一些迹象表明你并没有理解迭代开发和UP的真正含义 在开始设计或实现之前试图定义大多数需求 在编程之前花费数日或数周进行UML建模。 认为初始阶段=需求阶段,细化阶段=设计阶段,构造阶段=实现阶段 认为细化的目的是完整仔细地定义模型,以能够在构造阶段将其转换成代码 试图对项目从开始到结束制定详细计划; 试图预测所有迭代,以及每个迭代中可能发生的事情,目前计算机系有一个系内小型图书馆(资料室)。它主要用来存放系里老师自行购买并由学校报销过的图书资料。这部分图书资料存放在一个资料室中,图书的借阅手续和图书馆的图书借阅手续相同。 但是,目前存在一些问题: 查阅过程中,老师们并不清楚资料室中有什么资料。 由于资料室中的图书借阅期限较长(一般为三个月),很多老师往往忘记归还手中的资料。 老师自己购买的私人图书(藏书),可能会根据研究领域的变化而会出现资源闲置的情况。而此时,其他的老师有可能正在寻找这方面的资料。 老师们在私下里经常相互借阅图书,但经常出现时间长了自己想用书时,又不知到借给谁了,或者是想还书时,忘记从谁那里借的了。 老师之间相互进行图书的借阅只限制在小范围内,其他教研室的资源则很大程度上需要老师之间的相互打听。 是否能够解决这些问题,使这些图书资源尽可能地被充分利用呢,使资源的流动处在一个有序透明的状态之下呢?,五、启动项目,1.过程模型,初始阶段的任务 建立一个项目前景,说明哪些是目标,哪些不是 讨论所组成的系统的用例,写出项目用例的初稿,确定用例的优先级 对系统体系结构重要的用例和/或用例路径 对项目的四个阶段(开始、细化、构造、交付)的高层阶段进行规划,并对前述步骤中识别出来的体系结构重要的需求,制定详细的迭代计划。 确定风险,并估计在风险发生时应该如何解决它们 建立一个开发环境(选择、安装并配置开发工具),2.编写开发案例,定义 一个开发案例是对你如何为自己的项目定制这一开发过程的描述,它将描述如何根据需要采用RUP。,样例项目中使用案例,角色映射,开发案例中的制品 项目前景 风险列表 用例模型 设计模型 构件 测试计划 测试用例 测试结果 产品(交付给用户的完整系统),发布说明 终端用户支持材料 迭代计划 迭代评估 项目计划 开发案例 编程指南 工具,初始阶段的计划,定义 系统需要补充更多的实质性的内容。明确项目前景的描述有助于帮助项目团队理解自己要构建的内容。一个清晰的前景是开发一个满足涉众真正需求的产品的关键 。 对前景的陈述应该能回答以下问题: 我们尝试解决的问题是什么?(问题陈述) 我们需要构建什么而不是构建什么? 涉众是谁?用户是谁?他们各自的需求是什么? 关键术语是什么?(词汇表) 产品的特性是什么? 功能性需求是什么?(用例) 非功能性需求是什么? 设计约束是什么?,3.确定项目前景,业务词汇,本章知识点总结,面向对象基础 软件工程主要方法论 面向对象知识回顾 为何使用UML 软件开发过程模型 项目启动,

    注意事项

    本文(软件工程-8-面向对象概述2009.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开