网站大量收购独家精品文档,联系QQ:2885784924

Section1UML面向对象技术概述.pptVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Section1UML面向对象技术概述

* 面向对象技术概述 * 软件危机,于20世纪60年代爆发 产生:大型软件的开发过程中出现了复杂程度高、研制周期长、正确性难以保证的三大难题。 表现形式:用户需求不明确、变更过多;软件成本日益增长;开发进度难以控制;软件质量差;软件维护困难。 产生的原因:软件开发无计划性;软件需求不充分;软件开发过程无规范;软件产品无评测手段。 解决途径:应该加强软件开发过程的管理;推广使用开发软件的成功技术与方法;开发和使用好的软件工具。 软件危机与软件工程 * 软件工程,由NATO于1968年提出 发展:软件的需求是软件发展的动力;软件工作的范围从只考虑程序的编写扩展到涉及整个软件生存周期。 软件生存周期一般可划分为计划、开发、运行与维护三个时期,而每个时期又划分为若干个阶段。 软件开发的现状 软件工程学科不断发展 软件危机仍然存在 中小型软件开发较为成熟,大型软件存在问题 软件危机与软件工程 * 常见软件开发方法 瀑布模型 快速原型 螺旋模型 … 软件危机与软件工程 先做试验开发“原型” ,其目标只是在于探索可行性,弄清软件需求;然后在此基础上获得较为满意的软件产品。 * 软件开发的基本认识 大型软件系统的特点 开发代价高、时间长,参与人员多,软件生命周期长。 软件系统开发的两个方面 软件开发过程 软件开发中资源的协调和管理 软件工程的目的 在规定的时间、规定的费用内开发出满足用户需求的高质量的软件系统。 低错误率、好用、易用、可维护、可重用、可移植等 * 软件开发的基本认识 软件产品与硬件产品的区别 表现形式不同 生产方式不同 产品需求不同 维护方式不同 * 软件固有的复杂性 软件开发的复杂性与困难性是由于软件的特点造成的,软件的复杂性是固有的。 软件复杂性的原因 现有硬件系统的体系结构造成的 软件开发是智力活动,很难描述软件的本质规律或特征 软件系统中各元素之间的相互作用关系具有不确定性 软件系统需求的变化性 软件生命周期中需要适应不同的硬件环境 * 控制软件复杂性的基本方法 分解,即“分而治之”或“各个击破” 抽象,抽取系统本质特征,忽略非基本特征 过程抽象 数据抽象 模块化,基本要求是高内聚、低耦合 信息隐蔽,也称封装 * 结构化的基本思想 以过程抽象对待系统的需求,其主要思想是对问题进行功能分解,直到最后分解得到的功能比较方便地处理和理解为止。 Object-Oriented的基本思想 对问题域进行自然分割,以更接近人类思维的方式建立问题域模型,从而使设计出的软件尽可能直接地描述现实世界,具有更好的可维护性,能适应用户需求的变化。 面向对象技术 * 结构化方法 面向对象的方法 问题域 问题域 结构化分析 分析与设计的鸿沟 结构化设计 结构化编程,如C语言 需求工程 OOAD OOP,如Java语言 测 试 计算机系统 测 试 计算机系统 自然语言 编程语言 自然语言 OO编程语言 数据流图 数据字典 模块和过程 需求模型 对象模型 OO方法 OO建模语言 面向对象 VS 结构化 * 面向对象 VS 结构化 传统结构化方法 面向对象方法(UML建模工具为例) 需求模型 面向功能的文档(用户需求规格说明书)需求变化,其功能变化,所以系统的基础不稳固 从用户和整体角度出发。 使用系统抽象出用例图,获取需求;如需求变化,对象的性质相对功能稳定,系统基础稳定 分析模型 面向过程的数据流图DFD、 实体—关系图ERD表示分析模型; 功能分解,数据和功能/过程分开 把问题作为一组相互作用的实体,,显式表示实体间的关系 类、对象图表示分析模型,状态、顺序、协作、活动图细化说明 设计模型 模块结构图表示功能模块,模块之间的连接/调用是模块的附属形式 类和对象实现,类/对象的关联、聚集、继承等连接、连接规范和约束作为显式定义 实施模型 体系结构设计 构件图,配置图 测试模型 根据文档进行单元测试,集成测试,确认测试 单元测试采用类图,集成测试用实现图和交互图,确认测试采用用例图 * 面向对象技术的优点 易于理解 顺应人类思维习惯,让软件开发人员直接模拟问题空间中的对象及其行为 AHare.Run; ALion.Catch(AHare); ALion.Kill(AHare); AHare.Dead; ALion.Eat; ALion.Happy; 在计算机中模拟现实世界的事和物 * 面向对象技术的优点 稳定性较高、适应性好 较小的需求变化不会导致系统结构大的改变 当需求变化时…… 功能:最易变 数据:较易变 对象:较稳定 稳定性增加 用较稳定把不稳定的包起来 * 面向对象技术的优点 可靠性较高 灵活性好 可复用 … * 面向对象领域的基本概念 OO技术领域存在一些基本术语和概念,需要掌握和理解。 面向对象技术的基本观点: 客观世界由对象组

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档