本书前几章主要介绍了传统软件工程方法,包括
结构化分析(需求)
结构化设计(建模)
结构化实现(编码、测试)
传统软件工程方法首先正确、完整地理解系统需求,然后将系统功能进行分解成一个个模块,最后编码实现,因此,传统方法是面向过程的设计方法,以算法为核心,把数据和处理过程作为相互独立的部分,数据代表问题域中的实体,而程序代码则用于处理这些数据。
面向对象方法学
6.1.1
而接下来介绍的面向对象的程序设计方法模仿人类习惯的解题方法,用对象分解取代功能分解,也就是把程序分解成一系列对象,每个对象都既有自己的数据(描述该对象所代表的实体的属性),又有处理这些数据的函数(通常称为服务或方法,他们实现该对象应有的行为)。不同对象之间通过发送消息向对方提出服务要求,接收消息的对象主动完成指定功能,提供所要求的服务。程序中所有对象分工合作,共同完成整个程序功能。
6.1.2 设计类等级
类是由一组具有相同数据和方法的对象抽象出来的。例如不同圆心和半径的一组圆,它们具有相同属性(圆心和半径),因此可以抽象出circle这个类。
子类继承父类中定义的所有东西(属性和服务),并加进该子类特有的新内容。
6.1.3 定义属性和服务
①定义属性:确定每个属性(数据类型、数据结构、访问权限)
②定义服务:设计完成每项服务功能算法。设计算法的方法参见传统方法中的结构化设计
6.2.1 面向对象方法4要点
①用对象分解取代传统功能分解
②把所有对象都划分成对象类,每个对象类都定义一组数据和方法
③子类、父类组成一个层次结构的系统(继承性),低层特性屏蔽高层同名特性
④对象间仅能通过传递消息互相通信(封装性)
面向对象=对象+类+继承+通信
6.2.2面向对象软件过程
①陈述对程序的需求
②用面向对象的方法分析需求,确定问题域中对象,并划分成类
③设计出适当的类等级以及每个类的属性和服务
④用面向对象编程语言写出该程序
那么如何用面向对象方法分析需求、定义类、定义类属性、定义类操作呢?这里就涉及到面向对象的建模方法。包括
①对象建模(核心!):描述系统数据结构。定义类,类的属性、类的操作
②动态建模:描述系统控制结构。规定对象模型中的对象的合法变化序列(明确规定什么时候做)
③功能建模:指明系统该干什么
最近居然花痴上了陈伟霆(⁄ ⁄•⁄ω⁄•⁄ ⁄)
不过他真的好帅啊~洗洗睡下花痴一下⁽˙³˙⁾(๑•́ ₃ •̀๑)⁽˙³˙⁾
网友评论