5面向对象分析与设计1传统方法学的缺点(补充)问题的表现1)生产效率低2)不能满足用户需求3)软件复用程度低4)软件仍然很难维护(SA:1几个阶段描述工具不一致2数据与操作分离)5面向对象分析与设计2导致传统方法学缺陷的原因(补充)1结构化技术本身缺陷2预先定义的需求可能会过时3系统需求的模糊性4语言鸿沟5面向对象分析与设计3面向对象方法的发展•出发点和原则:模拟人类习惯的思维方式,使得软件开发过程接近人类解决问题的方法和过程•基本思想:使用对象、类、继承、封装、消息等基本概念来进行程序设计5面向对象分析与设计4面向对象方法概述(补充)客观世界的实体->对象•对象的内部特性实体静态属性->对象属性实体动态行为->对象操作(方法)•对象的外在特性:客观世界的实体之间的关系->对象间的关系•面向对象分析任务:标志类和对象,规定类的属性和操作5面向对象分析与设计5面向对象基本概念(补充)对象类和对象对象间的关系(继承,组成,动态,静态)面向对象程序设计风格•封装性•继承性•多态性几何形状5面向对象分析与设计65
1面向对象方法概述1、主要特点(对象及对象间相互关系)⑴用对象表示事务⑵对象的属性和服务⑶封装(属性和服务结合为一个独立实体)⑷类和对象(类似非面向对象语言的类型和变量)⑸一般类和特殊类⑹聚合(学生类与学号(字符串类))⑺用消息通信实现对象之间的动态联系
⑻通过关联表达对象之间的静态关系
5面向对象分析与设计7传统软件工程与面向对象软件工程•传统软件工程OOSE面向对象软件工程问题域需求分析总体设计详细设计测试计算机自然语言编程语言编程分析与设计的鸿沟问题域OOAOODOOT计算机自然语言面向对象的编程语言OOP5面向对象分析与设计85
2面向对象的软件工程方法面向对象的软件工程方法OOSE(ObjectOrientedSoftwareEngineering)定义