第10章面向对象的分析 本章内容结构 本章引言 学习目标 ●教学内容 本章小结 ●思考和练习 课堂讨论 2021年2月6日 第10章面向对象的分析 第1页
2021年2月6日 第10章 面向对象的分析 第1页 第10章 面向对象的分析 本章内容结构 ⚫ 本章引言 ⚫ 学习目标 ⚫ 教学内容 ⚫ 本章小结 ⚫ 思考和练习 ⚫ 课堂讨论
本章引言 ●需求分析的任务是对目标系统提出完整、准确、清晰、具 体的要求,分析工作主要包括3项内容:理解、表达和验 证。一般地,可通过对象模型、用例(功能)模型、动态 行为模型和物理实现模型来表达分析结果。 本章将主要围绕面向对象的分析过程展开,内容包括面向 对象分析过程概述及4种模型的建立(对象模型、用例模 型、动态行为模型和物理实现模型)。 为实现上述目的,通常需要按照下述步骤完成相关工作: ①在客户和软件工程师之间对基本用户需求进行交流; ②定义类(包含属性和方法);③定义类的层次结构; ④定义类与类之间的关系;⑤为对象行为和物理实现建模; ⑥重复上述步骤直到模型完成。 2021年2月6日 第10章面向对象的分析 第2页
第10章 面向对象的分析 本章引言 ⚫ 需求分析的任务是对目标系统提出完整、准确、清晰、具 体的要求,分析工作主要包括3 项内容:理解、表达和验 证。一般地,可通过对象模型、用例(功能)模型、动态 行为模型和物理实现模型来表达分析结果。 ⚫ 本章将主要围绕面向对象的分析过程展开,内容包括面向 对象分析过程概述及4种模型的建立(对象模型、用例模 型、动态行为模型和物理实现模型)。 ⚫ 为实现上述目的,通常需要按照下述步骤完成相关工作: ① 在客户和软件工程师之间对基本用户需求进行交流; ② 定义类(包含属性和方法);③ 定义类的层次结构; ④ 定义类与类之间的关系; ⑤ 为对象行为和物理实现建模; ⑥ 重复上述步骤直到模型完成。 2021年2月6日 第2页
学习目标 ●掌握面向对象分析的4种模型的特点、用法及相互 作用 ●理解和掌握4种模型在面向对象分析过程中的应用 2021年2月6日 第10章面向对象的分析 第3页
2021年2月6日 第10章 面向对象的分析 第3页 学习目标 ⚫ 掌握面向对象分析的 4种模型的特点、用法及相互 作用 ⚫ 理解和掌握4种模型在面向对象分析过程中的应用
教学内容 101面向对象的分析过程 10.2建立用例模型 10.3建立对象模型 104建立动态行为模型 10.5建立物理实现模型 106面向对象软件开发过程的案例分析 107本章小结和习题 2021年2月6日 第10章面向对象的分析 第4页
2021年2月6日 第10章 面向对象的分析 第4页 教学内容 10.1 面向对象的分析过程 10.2 建立用例模型 10.3 建立对象模型 10.4 建立动态行为模型 10.5 建立物理实现模型 10.6 面向对象软件开发过程的案例分析 10.7 本章小结和习题
101面向对象的分析过程 面向对象的分析就是抽取和整理用户需求并建立问题领域精 确模型的过程; >面向对象分析过程,首要的是先建模,通常需要建立4种形 式的模型: 用类和对象表示的对象(静态)模型; 由用例和场景表示的用例(功能)模型; 由状态机图和交互图表示的动态行为模型; 由构件图和部署图表示的物理实现模型 这4种模型从4个不同的角度描述目标系统,从不同侧面反 映系统的实质内容,总体可以全面反映对目标系统的需求。 其中对象(静态)模型是上述分析阶段几个模型的核心,是 动态模型和功能模型的框架。 2021年2月6日 第10章面向对象的分析 第5页
2021年2月6日 第10章 面向对象的分析 第5页 10.1 面向对象的分析过程 ➢ 面向对象的分析就是抽取和整理用户需求并建立问题领域精 确模型的过程; ➢ 面向对象分析过程,首要的是先建模,通常需要建立4 种形 式的模型: ➢ 用类和对象表示的对象(静态)模型; ➢ 由用例和场景表示的用例(功能)模型; ➢ 由状态机图和交互图表示的动态行为模型; ➢ 由构件图和部署图表示的物理实现模型。 ➢ 这4 种模型从4 个不同的角度描述目标系统,从不同侧面反 映系统的实质内容,总体可以全面反映对目标系统的需求。 其中对象(静态)模型是上述分析阶段几个模型的核心,是 动态模型和功能模型的框架
101面向对象的分析过程 不同的面向对象方法建模的步骤各有不同,有些方法从建立对 象模型入手,而有些方法从建立用例模型入手,在使用各种 工具辅助建模时,用例视图一般位于浏览器的最顶部,预示 着一般地建议首先建立用例模型,当然工具本身并不限制必 须先建立用例模型。目前普遍的做法是从用例建模开始(尤 其是对新项目),在实际建模时往往在几个模型之间交替进 行,多次迭代和反复。 在面向对象分析建模中需注意,首先,必须向领域专家学习领 域知识,必须有领域专家的密切配合;其次,应该仔细研究 以前针对相同的或类似的问题域进行面向对象分析得到的结 果,这些结果在当前项目中往往有许多是可重用的。 2021年2月6日 第10章面向对象的分析 第6页
2021年2月6日 第10章 面向对象的分析 第6页 10.1 面向对象的分析过程 不同的面向对象方法建模的步骤各有不同,有些方法从建立对 象模型入手,而有些方法从建立用例模型入手,在使用各种 工具辅助建模时,用例视图一般位于浏览器的最顶部,预示 着一般地建议首先建立用例模型,当然工具本身并不限制必 须先建立用例模型。目前普遍的做法是从用例建模开始(尤 其是对新项目),在实际建模时往往在几个模型之间交替进 行,多次迭代和反复。 在面向对象分析建模中需注意,首先,必须向领域专家学习领 域知识,必须有领域专家的密切配合;其次,应该仔细研究 以前针对相同的或类似的问题域进行面向对象分析得到的结 果,这些结果在当前项目中往往有许多是可重用的
101面向对象的分析过程 10.1.1用例模型 1012对象模型 1013动态模型 10.14物理(实现)模型 10154种模型之间的关系 2021年2月6日 第10章面向对象的分析 第7页
2021年2月6日 第10章 面向对象的分析 第7页 10.1 面向对象的分析过程 10.1.1 用例模型 10.1.2 对象模型 10.1.3 动态模型 10.1.4 物理(实现)模型 10.1.5 4 种模型之间的关系
10.1.1用例模型 用例(功能)模型往往是从用户需求的角度来描述系统,指明 系统应该“做什么”,直接反映用户对目标系统的需求,描 述数据在系统中的变换过程及系统的功能。 在UML中,把用用例图建立起来的系统模型也称为用例模型 。建立用例模型有助于软件开发人员更深入地理解问题域, 改进和完善自己的分析和设计过程。 通常,用例模型由一组用例图和数据流图组成,数据流图主要 起辅助作用。 UML中的用例图是进行需求分析和建立功能模型的强有力工具 。用例模型的建立是系统开发者和用户反复讨论的结果,描 述了开发者和用户对需求规格所达成的共识。 2021年2月6日 第10章面向对象的分析 第8页
2021年2月6日 第10章 面向对象的分析 第8页 10.1.1 用例模型 用例(功能)模型往往是从用户需求的角度来描述系统,指明 系统应该“做什么”,直接反映用户对目标系统的需求,描 述数据在系统中的变换过程及系统的功能。 在 UML 中,把用用例图建立起来的系统模型也称为用例模型 。建立用例模型有助于软件开发人员更深入地理解问题域, 改进和完善自己的分析和设计过程。 通常,用例模型由一组用例图和数据流图组成,数据流图主要 起辅助作用。 UML 中的用例图是进行需求分析和建立功能模型的强有力工具 。用例模型的建立是系统开发者和用户反复讨论的结果,描 述了开发者和用户对需求规格所达成的共识
10.1.2对象模型 面向对象方法强调围绕对象而不是围绕功能来构造系统。 对象模型是面向对象方法最基础、最核心,也是最重要的模型 。该模型主要关心系统中对象的结构、属性与操作,以及对 象与对象之间关系的映射,是对模拟客观世界的对象及对象 彼此间的关系静态结构的描述,为建立动态模型和用例(功 能)模型提供了实质性的框架。 对象模型通过对象、类的属性、操作及其相互联系的描述,给 出系统静态结构的刻画,在UML中常用类图和对象图来描述 2021年2月6日 第10章面向对象的分析 第9页
2021年2月6日 第10章 面向对象的分析 第9页 10.1.2 对象模型 面向对象方法强调围绕对象而不是围绕功能来构造系统。 对象模型是面向对象方法最基础、最核心,也是最重要的模型 。该模型主要关心系统中对象的结构、属性与操作,以及对 象与对象之间关系的映射,是对模拟客观世界的对象及对象 彼此间的关系静态结构的描述,为建立动态模型和用例(功 能)模型提供了实质性的框架。 对象模型通过对象、类的属性、操作及其相互联系的描述,给 出系统静态结构的刻画,在UML 中常用类图和对象图来描述
10.1.3动态模型 动态模型可以借助于交互(顺序图或通信图)或状态机(状 态图或活动图)进行建模。 交互主要用于对共同工作的群体对象的行为建模,而状态机 则是对单个对象的行为建模。 〉动态模型可以先从简单的顺序图或通信图的建模开始,这将 有助于找出系统中更重要的用例,用以对用例模型进行补充 和扩展。 〉动态模型表示瞬时的、行为化的、系统的“控制”性质,定 义对象模型中对象的合法变化序列,描述系统中不同对象类 之间的交互。 当问题系统涉及交互作用和时序,如用户界面交互和过程控 制时,动态模型是重点 2021年2月6日 第10章面向对象的分析 第10页
2021年2月6日 第10章 面向对象的分析 第10页 10.1.3 动态模型 ➢ 动态模型可以借助于交互(顺序图或通信图)或状态机(状 态图或活动图)进行建模。 ➢ 交互主要用于对共同工作的群体对象的行为建模,而状态机 则是对单个对象的行为建模。 ➢ 动态模型可以先从简单的顺序图或通信图的建模开始,这将 有助于找出系统中更重要的用例,用以对用例模型进行补充 和扩展。 ➢ 动态模型表示瞬时的、行为化的、系统的“控制”性质,定 义对象模型中对象的合法变化序列,描述系统中不同对象类 之间的交互。 ➢ 当问题系统涉及交互作用和时序,如用户界面交互和过程控 制时,动态模型是重点