- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PAGE1/NUMPAGES1
UML面向对象的分析
第一章面向对象的软件工程简介一、传统软件工程方法存在的问题软件工程提出至今,并没有从根本上解决软件开发问题,软件危机现象依然存在。
就其原因:
主要是随着软件应用范围的扩大,软件问题越来越复杂,但也有传统软件工程本身存在的问题,表现在:
1、预定义需求的假设是不现实的:
需求是模糊的、变化的;需求的沟通是困难的。
2、结构化分析和设计方法存在的问题:
需求以功能为基础,分析和设计以过程为基础。
3、思维方式(认识、分析问题的思想方法)与人们平常的习惯不一致。
为了解决这一问题,软件工程有了新的发展:
快速原型法和面向对象法。
下面只介绍面向对象的软件工程方法。
二、面向对象的软件工程方法简介1、基本思想:
使软件开发的过程、方法和思想与现实问题的结构以及人类认识和解决问题的方法相一致。
要点:
认为客观世界是由各种对象组成的所有对象都划分成各种对象类自然界中的所有类组成类的层次结构对象之间通过消息相互联系????面向对象=对象+类+继承+通讯软件开发的优点:
与人类习惯的思维方式一致??稳定性好:
传统方法基于功能的分析和分解,功能的变化常常会引起软件系统结构的变化。
而在OO方法中,功能的变化往往采用从已有类派生出新的子类的方法以实现功能的扩充和修改。
可重用性好:
对象和类都是可重用的软件预制件,通过参数化和实例化增加重用性。
可维护性好:
独立性好,稳定、易于修改、修改造成的影响小、易于理解。
??2、基本概念:
对象:
是现实中任何可以明确界定和区别的事物或其抽象的实体和概念。
Object=lt;ID,MS,DS,MIgt;其中:
ID:
标识;MS:
操作集合;DS:
数据结构;MI:
消息集合类:
一组对象共同属性(数据和操作)的抽象。
实例:
一个具体的个体。
消息:
对象操作的具体调用说明。
方法:
操作的具体算法。
属性:
描述对象特性的数据。
继承:
子类自动共享父类中定义的数据和方法的机制。
对象之间的关系:
ISA(抽象),PARTOF(聚合),关联(除此之外)。
?????????多态性:
类层次中不同对象对同一消息的响应方式不同的机制(不同动物对叫不同响应)。
重载:
函数重载:
同一作用域内若干参数特征不同的函数可以使用相同的函数名运算符重载:
同一运算符可以施加于不同类的操作数上。
?3、几种主要的面向对象的软件工程方法的概况Coad/Yourdon:
OOA/OOD方法;OOA的过程和步骤:
标识对象,标识结构,标识主题,定义属性,定义服务。
OOD设计:
系统设计和对象设计系统设计:
人机交互部分;问题域部分;任务管理...
文档评论(0)