您的位置:首页 > 其它

第一章:面向对象开发方法概述

2012-05-21 08:37 211 查看
软件开发经历的生命周期:软件分析、软件设计、软件编码、软件测试、软件部署、软件维护。
优良的软件系统应具备的特点:可重用性、可扩展性、可维护性。
如何才能使软件系统具备以上特点:分解软件系统。使软件系统分解成多个小系统,每一个系统相对独立。分解出来的子系统应该具备以下特点:结构稳定、可扩展性、内聚性、
可组合性、松耦合性。
软件开发的主流开发方法:结构化开发和面向对象开发。结构化开发:主要按功能来划分软件的结构,是属于自顶向下的设计,在设计阶段都需要考虑实现系统的功能,所以说分解的过程其实也是功能实现的过程。结构化开发,程序的主体是方法,方法是最小的功能模块。面向对象开发:是把软件系统看成各种对象的集合,对象就是最小的子系统,一组相关的子系统组成更复杂的子系统。建立对象模型的过程是自底向上的抽象过程和自顶向下的分解过程。UML是普遍适用的可视化建模语言。
面向对象的核心思想:抽象、封装、接口、多态和继承。
对象的特性:万物皆对象、每个对象都是唯一的(保证每个对象唯一性的手段是在内存中分配唯一的地址)、对象具有属性和行为、对象具有状态、对象都属于某一个类,每个对象都是某个类的实例。
java中接口有两种意思:一种是概念性的接口,是指系统对外提供的所有服务,在对象中表现为public类型方法的声明。另一种是指interface关键字定义的实实在在的接口,用于描述系统对外提供的所有服务。
面向对象主要通过访问机制来进行封装,这种机制控制对象的属性和方法的可访问性。有四种访问控制级别:public,对外公开,访问级别最高。protected,只对同一个包的类或者子类公开。默认,只对同一个包中的类公开。private,不对外公开,只对在对象内部访问,访问级别最低。
继承和扩展提高了系统的可重用性和可扩展性。
多态是指当系统A调用系统B的服务时,系统B可以通过多种实现方式来提供服务,而这一切对A是透明的。
动态绑定:是指在运行时环境中,虚拟机会根据对象实际的类型调用其的方法。比如狗和老虎的父类都是动物,而都继承了叫的方法。在运行时,都声明动物类型的狗和老虎,调用叫方法时,是动态的。也就是狗调用时是狗叫,老虎调用时是老虎叫,而不是抽象的动物叫。
UML:采用标准的图形来直观的显示对象模型。包含以下几种框图:用例图,列框图,时序图和协作图,状态转换图,组件图,部署图。其中用例图,类框图,组件图,部署图构成了系统的静态模型。状态转换图,时序图和协作图构成了系统的动态模型。
用列图:描述了系统提供的功能,用可视化的方式来理解系统的功能需求。类框图:主要包括类和类的关系(关联,聚集,依赖,泛化,实现)。时序图:用来显示用例的详细流程,包括了水平维度和垂直维度。水平维度用来显示发送消息的过程,垂直维度用来显示发送消息的时间循序。协作图:是和时序图包含相同的信息,可以由Rational Rose工具自动生成。区别在于协作图不参照时间,直接西那是对象和角色之间的交互过程。状态转换图:表示对象在它的生命周期中所处的不同状态,以及状态之间的转换过程。组件图:显示系统软件之间的依赖关系,以及和其他第三方组件的依赖关系,还能包括源代码的文件的物理组件结构。部署图:表示软件如何部署到硬件环境中。
UML类之间关系:关联,类A和类B实例之间存在特定的对应关系。依赖,类A访问类B提供的服务。聚集,类A为整体类,类B为局部类,类A的对象由类B的对象组合而成。泛化,类A继承类B。实现,类A实现了B的接口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: