2015版 第00章 模型与建模

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

吉林省优秀课程 长春工业大学精品课程:软件建模与分析
CCUTSE 2012
27
4. 软件的复杂性
造成软件复杂性的因素
D、表征离散系统行为的困难
软件系统的状态是离散的,离散系统的状态转换是无法用连续 函数模拟出来的。
可能出现的一个场景:想像一架商用飞机的表面和机舱内的环境
都是由同一台计算机管理的,此时当38J座位上的乘客打开他的顶 灯,飞机就会突然往下一冲。 一个例子: 向空中投出一个球,可以可靠地推算出它的轨迹,因为有适用 于它的确定的物理定律。 如果再增加一点劲儿来扔这个球,若这个球在飞行中突然停下 来并向空中直冲上去那就太奇怪了。
CCUTSE 2012
15
3. 建模基本原理
人类应对复杂性的途径
卡尔·马克思(Karl.Marx)在《资本论》(卷1)中的一段话: 一只蜘蛛就像一个编织工人一样从事着它的工作,一只蜜蜂所
构造的巢穴令许多的建筑师们都会感到羞愧。但是,能够把最糟糕
的建筑师与最好的蜜蜂区别开来的是:建筑师在真正建立一个结构 之前,已经在自己的大脑里有了他的构想。
单一模型不能表示系统的全部。 定义3:模型是对问题的书面上的无歧义的文字或图形描述。 定义4:模型是对系统的一种抽象,从某个视点,在某种抽象 层次上详细说明被建模的系统。
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
CCUTSE 2012
3
1.什么是模型
精美的诗句
刻画
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
不同角色具有不同的视角
吉林省优秀课程 长春工业大学精品课程:软件建模与分析 CCUTSE 2012 18
3.建模基本原理
应对复杂性的途径-抽象(分层)
抽象要在多个层次上进行
吉林省优秀课程 长春工业大学精品课程:软件建模与分析 CCUTSE 2012 19
3.建模基本原理
应对复杂性的途径-抽象
结构化开发的基本方法
基本出发点:
面向机器世界
基本策略:
基于功能的分解
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
CCUTSE 2012
30
5. 结构化回顾
结构化开发的基本方法
主要流程: DFD 层次图 程序流程图 源代码
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
CCUTSE 2012
大:看不全,复杂。
智力范围
体力范围
小:看不清,复杂。
吉林省优秀课程 长春工业大学精品课程:软件建模与分析 CCUTSE 2012 9
2. 模型与复杂性
什么是复杂性 看不透 力不从心
需要
可视化 多方合作
想不明白
交流沟通
事前测试
结论:降低复杂度
建模最主要的目的是为了处理过于复杂而难以直接理解的系统
2. 模型与复杂性
汽车设计
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
CCUTSE 2012
13
2. 模型与复杂性
汽车设计
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
CCUTSE 2012
14
2. 模型与复杂性
汽车设计
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
远---近,大---小,高---低: 10层楼的象屋罗娜,站在象屋下看到什么? 蚊子停在大象身上能看到什么? 飞鸟在高空看到的象背,站在地上的人能看到吗?
抽象要从多个视点进行
吉林省优秀课程 长春工业大学精品课程:软件建模与分析 CCUTSE 2012 20
3. 建模基本原理
应对复杂性的途径-多视图 瞎子摸象
25
4. 软件的复杂性
造成软件复杂性的因素
B、管理开发过程的困难
面对一个开发小组,管理上的主要挑战就是如何保持一个整 体以及设计上的完整性。 1. 有时需要将整个软件版本恢复到以前的某一时间的状态 2. 控制某一程序在同一时间只能一个开发人员修改 3. 限制随意修改程序
4. 对每个开发人员编写的程序质量进行评估
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
CCUTSE 2012
24
4. 软件的复杂性
造成软件复杂性的因素
A、问题领域的复杂性
1. 2. 行业内部自身的复杂 不同行业之间的互不了解
3.
需求在开发过程中不断发生变化
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
CCUTSE 2012
CCUTSE 2012
4
1.什么是模型
精确的地图
抽象
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
CCUTSE 2012
5
1.什么是模型 抽象的符号
沟通能力
危机意识
概括
日积月累 取之有道
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
平凡之心
CCUTSE 2012 6
1.什么是模型 严谨的公式
版本控制、过程管理、质量保证
吉林省优秀课程 长春工业大学精品课程:软件建模与分析 CCUTSE 2012 26
4. 软件的复杂性
造成软件复杂性的因素
C、软件可能的灵活性
开发人员有可能表述出几乎所有的抽象,很少有标准, 想怎么干就怎么干,一种比较随意的状态。 建房公司一般不会建立自己的林场来获取木材,建筑 公司更不太可能为了获得建造新建筑物所需的钢材就在现 场建一个炼钢厂,但在软件工业中,这样做是很平常的。 开发人员制造出高层抽象所需的几乎所有的基本构件, 却极少有标准。
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
CCUTSE 2012
16
3.建模基本原理
应对复杂性的途径-抽象
抽象
抓住事物的主要矛盾(特征)而忽略次要矛盾(特征)
吉林省优秀课程 长春工业大学精品课程:软件建模与分析 CCUTSE 2012 17
3. 建模基本原理
应对复杂性的途径-抽象(视角)
吉林省优秀课程 长春工业大学精品课程:软件建模与分析 CCUTSE 2012 10
2. 模型与复杂性
汽车设计
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
CCUTSE 2012
11
2. 模型与复杂性
汽车设计
半轴
变速箱
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
整体式驱动桥
CCUTSE 2012 12
软件工程专业
软件建模与分析
2015.9-2015.10
模型与建模
1. 什么是模型 2. 模型与复杂性
3. 建模基本原理
4. 软件复杂性 5. 结构化回顾
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
CCUTSE 2012
2
1. 什么ቤተ መጻሕፍቲ ባይዱ模型 定义1:模型是现实世界的简化。
定义2:模型是现实世界某些重要方面的表示。
吉林省优秀课程 长春工业大学精品课程:软件建模与分析 CCUTSE 2012 34
6. UML
“4+1”视图
逻辑视图 配置视图
组件视图 用例 视图
并发视图
(1)用例视图 强调从系统的外部参与者角度看到的或需要的系统功能。 —— 用例图 (2)逻辑视图 从系统的静态结构和动态行为角度显示如何实现系统的功能。 —— 类图、对象图、状态图、时序图、协作图、活动图 (3)组件视图 显示代码组件的组织结构。 —— 组件图 (4)并发视图 显示系统的并发性,解决在并发系统中存在的通信和同步问题。 —— 状态图、协作图、活动图 (5)配置视图 显示系统的具体部署。 —— 配置图
31
5. 结构化回顾
结构化开发的基本方法
旋转信号 燃烧流 传感器信号
读 旋转 信号
▲信号/S 信号/S 收集 和求 平均
确定 加速/ 减速
箭头指示
产生 加 /减 速 显示
信号/S
读和 校核 转换 成转/ 分 r/min 计算 里程 r/min 计算 Cal/h Cal/h mile/h 计算 mile/h 和超速 值 英里 产生 里程 显示
燃烧值
超速值 mile/h 发出 铃声
计算 燃料 消耗 产生 Cal/h 显示 mile/Cal
产生 mile/h 显示
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
CCUTSE 2012
32
5. 结构化回顾
结构化开发的基本方法
#include <stdio.h> int main( ) { int a[10], i, iMax, iMin; printf(”Input 10 numbers:\n”); for(i = 0; i < 10; i++) scanf(”%d”, &a[i]); iMax = a[0]; iMin = a[0]; for(i = 1; i < 10; i++) { if(a[i] > iMax) iMax = a[i]; if(a[i] < iMin) iMin = a[i]; } printf(” = %d\n”, iMax, iMin); return 0; } 吉林省优秀课程 长春工业大学精品课程:软件建模与分析 CCUTSE 2012 33
3. 建模基本原理
结论:
抽象 多视图 分层 可视化 -简化问题、抓住本质 -站在不同视角上进行抽象 -站在不同视点上进行抽象 -更好地为人展现抽象结果
达到:看清、看透、看全
吉林省优秀课程 长春工业大学精品课程:软件建模与分析 CCUTSE 2012 23
4. 软件的复杂性
Brooks的话: “软件的复杂性是一个基本性质, 而不是一个偶然的性质。”
尾巴---绳子 腿 ---树干 鼻子---蛇 耳朵---扇子 身体---墙
多视图的综合是整个系统
吉林省优秀课程 长春工业大学精品课程:软件建模与分析 CCUTSE 2012 21
3.建模基本原理
应对复杂性的途径-可视化
通过图形的可视化表达清晰地展示系统的面貌
吉林省优秀课程 长春工业大学精品课程:软件建模与分析 CCUTSE 2012 22
6. UML

UML的构成
1)视图——“4+1”视图
视图是表达系统的某一方面特征的UML建模元素的子集。是 由一个或者多个图组成的对系统某个角度的抽象。 2)图
9种图
3)模型元素 UML中的模型元素包括事物和事物之间的联系。事物描述了一 般的面向对象的概念,如类、对象、接口、消息和组件等。 4)通用机制 UML提供的通用机制可以为模型元素提供额外的注释、信息或 语义。
吉林省优秀课程 长春工业大学精品课程:软件建模与分析 CCUTSE 2012 28
4. 软件的复杂性
应对软件复杂性的必由之路—软件建模
现实问题 软件模型
软件建模
应用模型理论
抽象+多视图+分层+可视化
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
CCUTSE 2012
29
5. 结构化回顾
抽象
ZWJ=|x|
Y=f(x)是最伟大的模型
吉林省优秀课程 长春工业大学精品课程:软件建模与分析 CCUTSE 2012 7
1.什么是模型 零件的设计 三 视 图
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
CCUTSE 2012
8
2. 模型与复杂性
什么是复杂性
人的智力或(和)体力受到挑战
吉林省优秀课程 长春工业大学精品课程:软件建模与分析 CCUTSE 2012 35
练习: 1.什么是模型,简要描述模型的主要用途。
2.造成软件复杂性的因素有哪些?
3.举例说明抽象、分层、可视化的应用。
吉林省优秀课程 长春工业大学精品课程:软件建模与分析
CCUTSE 2012
36
Thanks
相关文档
最新文档