电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

37页
  • 卖家[上传人]:宝路
  • 文档编号:47670763
  • 上传时间:2018-07-03
  • 文档格式:PPT
  • 文档大小:1.10MB
  • / 37 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、Software Engineering软件工程软件工程第八章 面向对象基础一、软件工程主要方法论v结构化分析和设计方法论 也叫数据流建模方法论 把现实世界描绘为数据在信息系统中的流动,在数 据流动过程中数据发生转化。 通过自顶向下的程序设计将复杂的程序分解为程序 模块的层次图。 v存在问题 面向过程方法大多基于瀑布模型 面向过程方法是将用户需求对应到软件功能上,而 采用面向过程的处理方式来应对用户提出的功能上 的变更造成了系统结构的不稳定。 过程分析和数据分析之间的边界问题始终没解决v面向对象方法论 认为客观世界是由各种对象组成,任何事物都 是对象,复杂的对象可以由比较简单的对象以 某种方式组合而成的。 把所有的对象划分成各种对象类(简称类 class),每个对象类都定义了一组数据和一组 方法。 按照子类(或称为派生类)与父类(或称为基 类)的关系,把若干个对象类组成一个层次结 构的系统。 对象彼此之间仅能通过传递消息互相联系。传统方法传统方法系统是过程的集合系统是过程的集合过程与数据实体交互过程与数据实体交互过程接受输入并产生输出过程接受输入并产生输出面向对象方法面向对象方法系统是

      2、交互对象的集合系统是交互对象的集合对象与其它对象交互对象与其它对象交互对象发送对象发送消息消息与响应消息与响应消息v传统方法论与面向对象方法论的比较v例子 设计一个程序,对不同类型的图形求其面积,并打 印结果。 请分别采用结构化思想和面向对象思想对问题展开 分析。 传统方法论 面向对象方法论 面向对象方法不再把程序看成工作在数据上的 一系列过程或函数的集合,而是把程序看作是 相互协作而又彼此独立的对象的集合。 每个对象可以看作是一个微型程序,有自己的 数据、操作、功能和目的。v面向对象分析和设计解决的两个经典问题 传统的分析和设计方法将处理问题的数据模型 和处理模型分离,而面向对象的方法将数据模 型和处理模型二者合一。 从系统分析能够平滑地过渡到系统设计。 UML将分析和设计模型统一,使用的符号统一 ,设计模型是分析模型的完善和扩充。v对象 v类 v消息 v封装 v继承 v多态二、面向对象基本概念v对象 定义 可以将问题域中任何事物都视为对象,对象是所对象是所 有数据及可对这些数据施加的操作结合在一起所有数据及可对这些数据施加的操作结合在一起所 构成的独立单位的总称构成的独立单位的总称

      3、,是具有一定知识和处理 能力的独立个体。它可以是具体的物理实体,如 一个文件;也可是是人为抽象概念的,如多任务 操作系统中的调度策略。 对象包含两个基本要素: 属性:用于描述对象的静态特征,是反映类或对 象当前状态本质的数据项。 方法:用于描述对象的动态特征,反映对象的一 种行为,是对对象属性的操作、服务。 对象的形象化表示对象 属性方法3方法1操作1方法2操作2操作3界面v类 定义 具有相同属性和行为的一组对象的集合 类与对象的关系 类是对象的抽象 对象是类的实例 类的描述方法v消息 定义 消息是用来请求对象执行某一处理或回答某一要求的信 息,是对象之间建立的一种通信机制,它统一了数据流 和控制流。 通常一个消息由三部分组成: 对象名:接收消息的对象 消息名:要求接收对象完成的操作 参数:执行操作时的参数或操作返回的结果 例如 MyCircle.Show(Green): MyCircle是接收消息的对象的名字,Show是消息名 ,Green是消息的参数。 MyCircle.ChangeColor(Green); 消息的表示形式student.read(in books, out re

      4、port)消息接收者参数类型 输入参数操作消息v 封装性 是面向对象的主要特征之一,它是一种信息隐蔽技术,它体 现于类的说明。 封装使数据和加工该数据的方法(函数)封装为一个整体, 使得用户只能见到对象的外部特性,而对象的内部特性对用 户是隐蔽的。 v 继承性 是子类自动共享父类之间数据和方法的机制。 一个类直接继承其它类的全部描述,同时可修改和扩充。 继承能够直接获得已有的性质和特征,而不必重复定义它们 。 v 多态性 是对象根据所接收的消息而做出动作。 同一消息为不同的对象接受时可产生完全不同的行动,这种 现象称为多态性。 三、为何使用UMLvUML 统一建模语言(UML)是描述、构造和文档化系统制 品的可视化语言1.UML的应用方式v应用方式 UML作为草图 非正式的、不完整的图,借助可视化语言的功能,用 于探讨问题或解决方案空间的复杂部分。 UML作为蓝图 相对详细的设计图 逆向工程 前向工程(代码生成)vUML只是一种工具 UML并不是面向对象分析和设计的全部,它只是一 种手段,一种工具。我们需要通过自己对对象的理 解和面向对象分析设计技术的掌握来进行系统的分 析和设计,然后

      5、通过UML的形式来进行表述。2.UML的三种透视图v概念透视图 用图来描述现实世界或关注领域中的事物 v设计透视图 用图来描述软件的抽象物或具有规格说明和接口的 构件,但是并不约束特定实现 v实现透视图 用图来描述特定技术中的软件实现vUML的不同视图视图四、软件开发过程模型vRUP过程模型vUP阶段(按照时间进行的内容-横轴) UP将其工作和迭代组织为四个主要阶段 初始: 大体上的构思、业务案例、范围和模糊评估 细化: 已精化的构思、核心架构的迭代实现、高风险的解 决、确定大多数需求和范围以及进行更为实际的评 估 构造: 对遗留下来的风险较低和比较简单的元素进行迭代 实现,准备部署。 交付: 进行测试和部署1.UP的阶段和制品v UP阶段(每个阶段的活动组成-纵轴)纵轴表示的是在每次迭代过程中都要经历的工作流程(有一定 顺序的活动)。 业务建模 理解待开发系统所在的机构及其商业运作,确保所有人 员对它有共同的认识,评估待开发系统对结构的影响; 需求 定义系统功能及用户界面,为项目预算及计划提供基础 ; 分析与设计 把需求分析结果转换为分析与设计模型; 实现 把设计模型转换为实现结果,

      6、并做单元测试,集成为可 执行系统; 测试 验证所有需求是否已经被正确实现,对软件质量提出改进意 见; 部署 打包、分发、安装软件,培训用户及销售人员; 配置与变更管理 跟踪并维护系统开发过程中产生的所有制品的完整性和一致 性; 项目管理 为软件开发项目提供计划、人员分配、执行、监控等方面指 导,为风险管理提供框架; 环境 为软件开发机构提供软件开发环境。2.判断你是否理解迭代开发或UPv下面列出一些迹象表明你并没有理解迭代开发和 UP的真正含义 在开始设计或实现之前试图定义大多数需求 在编程之前花费数日或数周进行UML建模。 认为初始阶段=需求阶段,细化阶段=设计阶段,构 造阶段=实现阶段 认为细化的目的是完整仔细地定义模型,以能够在 构造阶段将其转换成代码 试图对项目从开始到结束制定详细计划; 试图预测所有迭代,以及每个迭代中可能发生的事 情v 目前计算机系有一个系内小型图书馆(资料室)。它主要用来存放 系里老师自行购买并由学校报销过的图书资料。这部分图书资料存 放在一个资料室中,图书的借阅手续和图书馆的图书借阅手续相同 。 v 但是,目前存在一些问题: 查阅过程中,老师们并不清楚资

      7、料室中有什么资料。 由于资料室中的图书借阅期限较长(一般为三个月),很多老 师往往忘记归还手中的资料。 老师自己购买的私人图书(藏书),可能会根据研究领域的变 化而会出现资源闲置的情况。而此时,其他的老师有可能正在 寻找这方面的资料。 老师们在私下里经常相互借阅图书,但经常出现时间长了自己 想用书时,又不知到借给谁了,或者是想还书时,忘记从谁那 里借的了。 老师之间相互进行图书的借阅只限制在小范围内,其他教研室 的资源则很大程度上需要老师之间的相互打听。 v 是否能够解决这些问题,使这些图书资源尽可能地被充分利用呢, 使资源的流动处在一个有序透明的状态之下呢?五、启动项目1.过程模型v 初始阶段的任务 建立一个项目前景,说明哪些是目标,哪些不是 讨论所组成的系统的用例,写出项目用例的初稿,确定用例 的优先级 对系统体系结构重要的用例和/或用例路径 对项目的四个阶段(开始、细化、构造、交付)的高层阶段 进行规划,并对前述步骤中识别出来的体系结构重要的需求 ,制定详细的迭代计划。 确定风险,并估计在风险发生时应该如何解决它们 建立一个开发环境(选择、安装并配置开发工具)2.编写开发案例v定

      8、义 一个开发案例是对你如何为自己的项目定制这一开 发过程的描述,它将描述如何根据需要采用RUP。 v 样例项目中使用案例v角色映射角色石冬凌张应博邹启杰贾跃系统分析师X 用户界面设计师 X 数据设计师 X 软件架构师X 集成工程师 X实现人员XXXX测试设计师X X测试人员XXXX部署经理 X 技术文档作者 X 配置经理 X项目经理X 过程工程师 X 工具专家XXXXv开发案例中的制品 项目前景 风险列表 用例模型 设计模型 构件 测试计划 测试用例 测试结果 产品(交付给用户的完整 系统) 发发布说说明 终终端用户户支持 材料 迭代计计划 迭代评评估 项项目计计划 开发发案例 编编程指南 工具v初始阶段的计划v定义 系统需要补充更多的实质性的内容。明确项目前景 的描述有助于帮助项目团队理解自己要构建的内容 。一个清晰的前景是开发一个满足涉众真正需求的 产品的关键 。 v对前景的陈述应该能回答以下问题: 我们尝试解决的问题是什么?(问题陈述) 我们需要构建什么而不是构建什么? 涉众是谁?用户是谁?他们各自的需求是什么? 关键术语是什么?(词汇表) 产品的特性是什么? 功能性需求是什么?(用例) 非功能性需求是什么? 设计约束是什么?3.确定项目前景v 业务词汇本章知识点总结v面向对象基础 软件工程主要方法论 面向对象知识回顾 为何使用UML 软件开发过程模型 项目启动

      《软件工程-8-面向对象概述2009》由会员宝路分享,可在线阅读,更多相关《软件工程-8-面向对象概述2009》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
     
    收藏店铺
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.