《建模和uml概述》由会员分享,可在线阅读,更多相关《建模和uml概述(90页珍藏版)》请在金锄头文库上搜索。
1、面向对象技术及其UML实践 第二章 建模和UML概述2 建一个狗窝一个人可以完成 要求: 少量的计划 简单的过程 简单的工具3 建一幢住房需要一组人,进行分工合作 要求: 建模型(画图纸) 很好地制定计划 有力的工具4 建一幢高层大厦必须要庞大的组织机构 要求: 建模型(详细的设计图) 制定周密的计划,完善的管理 功能强大的工具5 建筑行业的建模6 地图模型7 定积分的含义:爱因斯坦引力场方程:数学模型8 软件工程开发模型9 什么是模型 在许多学科中,模型是设计者的语言 模型描述了将要建或已建成的系统 模型是对现实的简化 模型从不同的方面反映了系统 模型可以是结构性的,反映系统的静态方面 模型
2、可以是行为性的,反映系统的动态方面10 教学进程教学进程定义:模型是对现实的抽象或模拟,是对现实系统的本质特征的一种简化、直观、类比和抽象的描述。1 12 23 34 4模型的概念模型的概念11 模型的分类模型的分类(1)(1)从学科分:从学科分:可以从不同方面对模型进行分类:思维模型社会模型工程模型建筑模型软件模型12 从形物化角度分:从形物化角度分:逻辑模型实体模型模型的分类模型的分类(2)(2)13 软件建模的必要性软件建模的必要性 软件的特性软件的特性智能性软件是人智力劳动的产物,具有极高的智能特性。14 教学进程教学进程 软件的特性软件的特性智能性软件是人智力劳动的产物,具有极高的智
3、能特性。无形性软件没有物理实体的物理形态,而是智能、逻辑 和算法的描述。软件建模的必要性软件建模的必要性15 软件的特性软件的特性智能性软件是人智力劳动的产物,具有极高的智能特性。无形性软件没有物理实体的物理形态,而是智能、逻辑 和算法的描述。抽象性软件具有高度抽象性。软件建模的必要性软件建模的必要性16 软件的特性软件的特性智能性软件是人智力劳动的产物,具有极高的智能特性。无形性软件没有物理实体的物理形态,而是智能、逻辑 和算法的描述。抽象性软件具有高度抽象性。复杂性软件开发是高度复杂性工作,软件的规模越来越 大,功能越来越复杂,服务领域越来越广泛。软件建模的必要性软件建模的必要性17 软件
4、的特性软件的特性智能性软件是人智力劳动的产物,具有极高的智能特性。无形性软件没有物理实体的物理形态,而是智能、逻辑 和算法的描述。抽象性软件具有高度抽象性。复杂性软件开发是高度复杂性工作,软件的规模越来越 大,功能越来越复杂,服务领域越来越广泛。综上综上软件的开发和生产必须借助于模型,来反映和 描述软件中间的开发过程和开发状态。软件建模的必要性软件建模的必要性18 软件模型的概念软件模型的概念 软件模型软件模型: : 通过一定的形式和方法用来描述通过一定的形式和方法用来描述 软件的模型。软件的模型。 软件建模:建立软件模型的过程被称为软件软件建模:建立软件模型的过程被称为软件 建模。建模。19
5、 业务模型业务模型描述软件所要服务的业务领域的描述软件所要服务的业务领域的 业务状况和业务关系。业务状况和业务关系。 软件模型的内容软件模型的内容20 业务模型业务模型需求模型需求模型描述软件向用户所能够提供的描述软件向用户所能够提供的 外在特性,包括软件的目标、外在特性,包括软件的目标、 功能、性能等。功能、性能等。 软件模型的内容软件模型的内容21 业务模型业务模型逻辑模型逻辑模型为了实现需求模型所规定的软件为了实现需求模型所规定的软件 需求,软件内部的逻辑构成及逻需求,软件内部的逻辑构成及逻 辑要素和逻辑关系。辑要素和逻辑关系。 需求模型需求模型软件模型的内容软件模型的内容22 业务模型
6、业务模型设计模型设计模型软件的设计方案。软件的设计方案。 包括软件的结构,详细设计,包括软件的结构,详细设计, 界面,数据库,安全性,可靠界面,数据库,安全性,可靠 性,适应性等设计方案。性,适应性等设计方案。需求模型需求模型逻辑模型逻辑模型软件模型的内容软件模型的内容23 业务模型业务模型实现模型实现模型软件的实现方案。软件的实现方案。 包括软件的实现结构,构件,包括软件的实现结构,构件, 文件等。文件等。 需求模型需求模型逻辑模型逻辑模型设计模型设计模型软件模型的内容软件模型的内容24 业务模型业务模型测试模型测试模型测试软件的方案描述。测试软件的方案描述。需求模型需求模型逻辑模型逻辑模型
7、设计模型设计模型实现模型实现模型软件模型的内容软件模型的内容25 教学进程教学进程面向功能的软件建模面向功能的软件建模(1)(1)通过对软件功能的分析通过对软件功能的分析, , 分步、分层建立软件模型分步、分层建立软件模型的方法。的方法。含义含义特点特点 把侧重点放到软件的功能上面;把侧重点放到软件的功能上面; 由上到下,由粗到细分层建模;由上到下,由粗到细分层建模; 包括需求、设计、实现等多种模型;包括需求、设计、实现等多种模型; 属一类建模方法,而非一种方法。属一类建模方法,而非一种方法。26 功能分解功能分解方法方法面向功能的软件建模面向功能的软件建模(2)(2)27 需求建模需求建模方
8、法方法面向功能的软件建模面向功能的软件建模(3)(3)28 设计建模设计建模方法方法 软件结构建模软件结构建模面向功能的软件建模面向功能的软件建模(4)(4)29 设计建模设计建模方法方法 软件详细设计建模软件详细设计建模面向功能的软件建模面向功能的软件建模(5)(5)30 通过对软件所处理的数据及其结构的分析通过对软件所处理的数据及其结构的分析, , 分步、分分步、分 层建立软件模型的方法。层建立软件模型的方法。含义含义特点特点 把侧重点放到软件的数据及其结构上面;把侧重点放到软件的数据及其结构上面; 由上到下,由粗到细分层建模;由上到下,由粗到细分层建模; 包括需求、设计、实现等多种模型;
9、包括需求、设计、实现等多种模型; 属一类建模方法,而非一种方法。属一类建模方法,而非一种方法。面向数据的软件建模面向数据的软件建模(1)(1)31 JSDJSD建模的阶段和步骤建模的阶段和步骤方法方法面向数据的软件建模面向数据的软件建模(2)(2)32 JSDJSD实体结构建模实体结构建模方法方法面向数据的软件建模面向数据的软件建模(3)(3)33 JSDJSD系统实现图系统实现图方法方法面向数据的软件建模面向数据的软件建模(4)(4)34 教学进程教学进程 JSDJSD系统程序结构图系统程序结构图方法方法面向数据的软件建模面向数据的软件建模(5)(5)35 在软件开发中,采用与人的思维过程相
10、一致的,直接面 向客观事物,面向所要解决的需求问题,并用一套对象 、类、继承、消息等机制开发软件的系统性软件建模 方法。含义含义特点特点 对象是软件建模的重心;对象是软件建模的重心; 包括需求、设计、实现等多种模型;包括需求、设计、实现等多种模型; 属一类建模方法,而非一种方法。属一类建模方法,而非一种方法。面向对象的软件建模面向对象的软件建模(1)(1)36 计算机系统商务过程订货物品运输建模是为了捕捉、描述系统的核心.Dr. James Rumbaugh可视化建模就是用标准的图 示化方法来进行建模工作什么是可视化建模?37 用例分析是从用户角度来描述业务过程的方法可视化建模可表示业务过程3
11、8 可视化建模可说明系统的结构和行为可视化建模可用来来描述业务活动及其逻辑可视化建模可用于应用系统的分析和设计39 可视化建模可帮助我们理解复杂系统常人只能同时管理59件事情40 用户界面 (Visual Basic, Java)业务逻辑 (C+, Java)数据库服务器 (C+ public class HelloWorld extends java.applet.Applet public void paint (Graphics g) g.drawString(“Hello, World!“, 10,10); 83 在UML中,对这个applet的建模如下图所 示,类HelloWorld
12、 用一个矩形表示。类 HelloWorld 中给出了paint操作,在一个附 属的note中说明了该操作的实现。一个UML的例子 (2)84 前面这个类图反映出了“Hello World!”这个applet基本部分 ,并没考虑别的事物。根据代码,这个applet还涉及另外两个 类,即Applet类和Graphics类。Applet类是HelloWorld类的父类,Graphics类则在 HelloWorld类的paint操作的特征标记(signature)和实现中被使 用。在UML中,可用下图表示这两个类及与HelloWorld类的关 系。一个UML的例子 (3)85 JBuilder 中的所得到的类图:一个UML的例子 (4)86 如果考虑类库及Applet上的继承关系,可以得到另一 个类图,如下图所示:一个UML的例子 (5)87 为了管理大规模的类层次图,可以用包来组织类,如 下图所示:一个UML的例子 (6)88 HelloWorld的一个顺序图:顺序图89 “HelloWorld!”是一个applet,不能单独运行,通常 是嵌入在Web页中。下面是HelloWorld的构件图:构件图90 (1) (1) 什么是可视化建模?什么是可视化建模?(2)(2) UMLUML有哪些主要的视图?有哪些主要的视图?本章作业本章作业