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

第五章 UML选择判断.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UML是统一的建模语言 模型是对现实的简化 常见误区:常见误区 UML是一种方法论 UML就是一堆图形 UML只能够应用于面向对象开发中 UML就是Rose里的符号 UML的学习周期很长、很复杂 软件危机概念 软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。 ○ 20世纪60年代中期开始爆发软件危机 人们认识到大中型软件系统与小型软件系统有本质的不同。 ○ 1968年,北大西洋公约组织(NATO)科技委员会在德国Garmisch召开研讨会,商讨摆脱软件危机的办法,第一次提出了“软件工程”的概念。 □ 30多年发展 《软件工程》发展 软件危机依然存在 →更加严重 □ 大量的事实说明 软件的质量和生产率问题远没有解决 □ 与30多年前相比,现在的软件在规模、复杂性等方面远超过以前。 □ 大型软件开发中的许多问题: ① 开发生产率低 ② 产品质量差 ③ 产品难以维护 ④ 软件可移植性差 ⑤ 开发费用超支 ⑥ 开发时间超期 □ 国内外软件开发现状: ○ 小型软件系统: 有比较好的方法,成功率较高 ○ 大型软件系统: 情况不尽人意 □ 针对大型软件系统开发中存在的问题,人们提出了很多方法: ① 瀑布式软件开发方法 ② 快速原型方法 ③ 螺旋式软件开发方法 ④ 变换式软件开发方法 …… 结论:软件危机并没有完全解决 软件危机依然存在 瀑布模型 软件和硬件的区别 □ 为了深入理解软件工程,有必要探讨软件的特点。软件是一个逻辑部件。 较硬件: ① 表现形式不同。 ○硬件:看得见、摸得着 ○软件:没有颜色、形状,只有在计算机上运行后才知道。 ② 生产方式不同。 ○硬件:工业制作 ○软件:和人的智力活动紧密相关,很多人共同完成一个项目,需要相互交流。 ③ 产品要求不同。 ○硬件:可以有误差,只要达到精度 ○软件:不允许有误差。 ④ 维护方式不同。 ○硬件:使用备用件 ○软件:没有备用件。 修改,修改可能带来新错误,继续修改… 解决软件复杂性的四个关键词 分解、抽象、模块化、信息隐蔽 □ 解决复杂问题:“各个击破” 著名的计算机科学家Parnas认为,巧妙地分解系统可以有效地划分系统的状态空间,降低软件系统的复杂性所带来的影响。 结论:对于复杂的软件系统 逐步分解,直到不能分解为止。 这样可以使系统的复杂性,在特定的层次与范围内不会超过人的理解能力。 抽象:抽取系统中的基本特征而忽略非基本的特征,以便更充分地注意与当前目标有关的方面。 过程抽象 抽象 数据抽象 ① 过程抽象:将处理分解成子步骤 ② 数据抽象:数据类型+操作 规定:数据类型的值只能通过这些操作来完成。 □ Parnas对模块化的原则有精辟的论述。 原则:高内聚、低耦合。 ① 高内聚:指在一个模块中应尽量多地汇集逻辑上相关的计算资源。 ② 低耦合:指的是模块之间的相互作用应尽量少。 □ 信息隐蔽的原则是把模块内的实现细节与外界隔离,用户只需知道模块的功能,而不需了解模块的内部细节。 优点: ① 提高软件的可维护性 ② 降低模块间的耦合 概念术语 □ 对象:系统中用来描述客观事物的一个实体,构成系统的基本单位。 对象=一组属性+对这组属性的操作 结论: 类的实例是对象 □ 类:具有相同属性和方法的一组对象的集合。 类:静态的 类的语义和类之间的 关系在程序执行前就 已经定义好了 对象:动态的 对象是在程序执行时 被创建和删除的 □ 封装:把对象的属性和方法结合成一个独立的系统单位,尽可能隐藏内部细节。 对象:① 接口部分 ② 实现部分 封装: ① 保护对象 ② 保护客户端 □ 继承的优点: ① 增加了软件重用的机会 ② 区别于非OO技术 ③ 开发更贴近现实的模型 ④ 保证类之间的一致性 ⑴ 父类为子类定义规则 ⑵ 子类遵守父类的规则 覆盖(override):子类重新定义所继承的属性或方法 重载(overload):一个类中的有多个方法名相同的方法,但参数不同。 单继承:父类只有一个 □ 多继

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档