1、第 2章 软件工程方法与工具 软件工程方法概述 面向对象的概念与开发方法 统一建模语言 UML简介 软件工具概述 UML建模工具 Rational Rose2.1 软件工程方法概述 概念 软件工程包含 技术 和 管理 两方面的内容,是技术和管理紧密结合所形成的工程学科。 通常将软件开发全过程中使用的一整套技术方法的集合称为 方法学 (methedology),也称为 范型 (paradigm)。 目前使用最广泛的软件工程方法学: 传统方法(结构化方法) , 面向对象方法 。2.1 软件工程方法概述 三要素: 方法方法 、 工具工具 和和 过程过程 。 软件工程 方法 为软件开发提供了 “ 如何
2、做 ” 的技术 ; 软件 工具 为软件工程方法提供了自动的或半自动的软件支撑环境 ; 过程 是为了获得高质量的软件所需要完成的一系列任务框架,它规定了完成各项任务的工作步骤。2.1 软件工程方法概述 结构化方法也称为生命周期方法学或结构化范型。将软件生命周期的全过程依次划分为若干个阶段,采用结构化技术来完成每个阶段的任务。特点:(1) 强调自顶向下顺序地完成软件开发的各阶段任务 ;(2) 结构化方法要么面向行为,要么面向数据,缺乏使两者有机结合的机制。2.1 软件工程方法概述l 面向对象方法 是将数据和对数据的操作紧密地结合起来的方法。 软件开发过程是多次反复迭代的演化过程。 面向对象方法在概
3、念和表示方法上的一致性,保证了各项开发活动之间的平滑过渡。 对于大型、复杂及交互性比较强的系统,使用面向对象方法更有优势。 2.1 软件工程方法概述l 形式化方法 形式化方法是一种基于形式化数学变换的软件开发方法,它可将系统的规格说明转换为可执行的程序。 该过程的具体描述如图所示。 2.1 软件工程方法概述l 形式化方法的主要特点(1) 软件需求规格说明被细化为用数学记号表达的详细的形式化规格说明;(2) 设计、实现和单元测试等开发过程由一个变换开发过程代替。通过一系列变换将形式的规格说明细化成为程序。这种细化的过程如图所示。2.2 面向对象的概念与开发方法 现实世界就是由各种对象组成的,如建
4、筑物、人、汽车、动物、植物等。 复杂的对象可以由简单的对象组成。 在研究对象时主要考虑对象的属性和行为,有些不同的对象会呈现相同或相似的属性和行为,如轿车、卡车、面包车。 通常将属性及行为相同或相似的对象归为一类。 类可以看成是对象的抽象,代表了此类对象所具有的共有属性和行为。 2.2 面向对象的概念与开发方法 Coad和 Yourdon给出了 “面向对象 ”的一个定义:面向对象对象类继承消息通信 如果一个系统是使用这样 4个概念设计和实现的,则可认为这个系统是面向对象的。 对象 对象是包含现实世界物体特征的抽象实体,它反映了系统为之保存信息和(或)与它交互的能力。 例如, Student对象的数据可能有姓名、性别、出生日期、家庭住址、电话号码等,其操作可能是对这些数据值的赋值及更改。