第5章总体设计
第5章 总体设计
第 5 章 总 体 设 计
通信内聚:如果模块中所有元素都使用同一个输入数
据和(或)产生同一个输出数据,则称为通信内聚。
25
软 件 工 程
高内聚也有两类: 顺序内聚:如果一个模块内的处理元素和同一个功 能密切相关,而且这些处理必须顺序执行(通常一个 处理元素的输出数据作为下一个处理元素的输入数 据),则称为顺序内聚。
设 计
8
软 件 工 程
5. 设计软件结构
通常程序中的一个模块完成一个适当的子功能。应该把 模块组织成良好的层次系统,顶层模块调用它的下层模块以 实现程序的完整功能,每个下层模块再调用更下层的模块, 从而完成程序的一个子功能,最下层的模块完成最具体的功 能。软件结构(即由模块组成的层次系统)可以用层次图或结 构图来描绘,第5.4节将介绍这些图形工具。
逻辑内聚:如果一个模块完成的任务在逻辑上属于 相同或相似的一类,则称为逻辑内聚。
第 5 章 总 体 设 计
时间内聚:如果一个模块包含的任务必须在同一段 时间内执行,就叫时间内聚。
24
软 件 工 中内聚主要有两类: 程
过程内聚:如果一个模块内的处理元素是相关的,而 且必须以特定次序执行,则称为过程内聚。 (使用程序流程图作为工具设计软件时,常常通过研究 流程图确定模块的划分,这样得到的往往是过程内聚 的模块)
第 5 章 总 体 设 计
如果数据流图已经细化到适当的层次,则可以直接从数 据流图映射出软件结构,这就是第5.5节中将要讲述的面向 数据流的设计方法。
9
软 件 工 程
6. 设计数据库
对于需要使用数据库的那些应用系统,软件 工程师应该在需求分析阶段所确定的系统数据需 求的基础上,进一步设计数据库。 在数据库课中已经详细讲述了设计数据库的 方法,本书不再赘述。
飞机总体设计
13
5.2 民机客舱设计与布置-机身剖面
典型的剖面
其他剖面 —适合于无法采用圆形或多圆剖面的情况,如机 身剖面尺寸较小时,为了满足使用要求而必须采 用其他类型的剖面
5.1 机身初始几何参数估计 5.2 民机客舱设计与布置 5.3 民机货舱布置 5.4 民机驾驶舱布置 5.5 作战飞机座舱布置 5.6 武器装载布置
2
本讲主要参考书目
顾诵芬, 解思适. 飞机总体设计. 北京航空航天大学出版社,2001.
Raymer, D. P. Aircraft Design: A Conceptual Approach, 3rd, 1999. (89年版的中译本:《现代飞机设计》,1992) 詹金森, L. R., 辛普金, P., 罗兹 D. (著), 中国航 空研究院(译). 民用喷气飞机设计. 2001 《飞机设计手册》总编委会. 飞机设计手册第7卷: 民机构型初步设计与推进系统一体化设计.2000
FAR-25对视界的要求 -A310
美国机动车工程师协会(SAE)推荐 的视界图(AS580B) -A320、Boeing767
32
5.4 民机驾驶舱布置 驾驶舱的尺寸与布置
33
5.4 民机驾驶舱布置
驾驶舱的尺寸与布置
A380座舱模型
34
5.5 作战飞机座舱布置
座舱视界要求
座舱视界关系着飞机的作战效能和安全 与飞机机头及两侧的外形、座舱盖形状、尺寸和 结构及翼面布置等因素有关
战斗机座舱在机身上的纵向定位主要取决于 下列几种因素
• • • • • 视界要求 座舱空间要求 气动外形要求 设备舱布置 人员及其他要求
第五章--对外汉语教学四大环节
教学途径
• 划分教学阶段(初级、中级、高级) • 进行课程设计——总体设计的核心内容
对外汉语教学基础阶段的主要课程 (1)汉语技能课(综合技能课、专项技能课) (2)汉语言知识课(语音、词汇、语法、汉字) (3)中国文化知识课(中国基本国情、中国文化 知识)
教学途径
• 制定教学计划
是根据教育目的和培养目标所制定的全面指导某
专业教与学活动的规范性文件 。主要内容是课程
设置。
• 制定教学大纲
是根据教学计划、以纲要形式制定的、对具体课 程的教学目的、教学内容、教学进度和教学方法 进行规范的指导性文件。
对外汉语教师的职责
明确总体设计的精神,把握教学全局, 明了自身的工作性质和任务,充分发挥自 身的作用,能够比较到位地把握教师、学 生与教学任务之间的关系。
对外汉语教学概论
第五章 对外汉语教学的四大环节
对外汉语教学的四大环节
1.总体设计 2.教材编写 3.课堂教学 4.语言测试
第一节 总体设计
一、总体设计的定义 根据“三大规律”,全面分析各项主客观条
件,综合考虑各种可能的教学措施的基础上,选 择最佳教学方案。对教学的对象、目标、内容、 原则、途径以及对教师的分工和要求等做出明确 的规定,以便指导教材编写、课堂教学和语言测 试,使各个教学环节成为一个互相衔接的统一的 整体,使全体教学人员协调行动。
语言教学是一项系统工程
二、对外汉语教学总体设计的方法和程序
1.明确教学类型 2.分析教学对象 3.确定教学目的和目标 4.确定教学内容的范围 5.确定教学原则 6.规定教学途径 7.明确教师职责
教学类型
• 教学期限:长期班、短期班
• 是否为学历教育:学历班(专科、本科、 研究生)、非学历班
第5章 总体设计
8
设计原理(续1)
◆设计示例: “用 AND, OR, and NOT 门构
建的计算机。 ”
chip1
chip2
◆第一种设计:设计师 设计三个功能芯片
chip3
2013-7-16
上海大学计算机学院
9
设计原理(续2)
◆第二种设计:每芯片一种门
2013-7-16
上海大学计算机学院
10
设计原理(续3)
2013-7-16
上海大学计算机学院
16
耦合(续1)
1. 内容耦合
● 一个模块直接引用另一个模块的内容 ● 示例
模块a修改模块b的语句 模块 a的分支转移到模块 b的局部标号
● 缺点
模块b的任何变化都要求变化a
2013-7-16
上海大学计算机学院
17
耦合(续2)
2. 共用耦合
● 两模块存取相同的数据 ● 示例
第5章 总体设计
◆设计任务
◆设计过程
◆设计原理
◆启发规则
◆图形工具 ◆面向数据流的设计
2013-7-16
上海大学计算机学院
1
总体设计的任务
◆“概括地说,系统应该如何实现?”
◆总体设计阶段的任务
●系统划分: 程序、文件、数据库、人工过程和文档等 ●设计软件的结构
每个程序是由哪些模块组成,以及这些模块相互间的关系。
2013-7-16
上海大学计算机学院
26
内聚(续4)
4. 过程性内聚
●一个模块内的处理元素是相关的,而且必须以特定次 序执行. ●示例
Function { read part number from database update repair record on master file }
第5章_总体设计 数据库原理
Contents
5.1 设计过程 5.2 设计原理 5.3 启发规则 5.4 描绘软件结构的图形工具 5.5 面向数据流的设计方法
闽南科技学院计算机系
软件设计宣言:Mitch Kapor • “什么是设计?设计是你站在两个世界——技 术世界和人类的目标世界——而你尝试将这两 个世界结合在一起……”。 罗马建筑批评家Vitruvius提出的观念: • “设计良好的建筑应该展示出坚固、适用和令 人赏心悦目”。
• 耦合衡量不同模块彼此间互相依赖(连接)的紧密
程度。耦合要低,即每个模块和其他模块之间的 关系要简单;
• 内聚衡量一个模块内部各个元素彼此结合的紧密
程度。内聚要高,每个模块完成一个相对独立的 特定子功能。
闽南科技学院计算机系
1. 耦合
• 耦合:是对一个软件结构内不同模块之间互连程 • • •
度的度量。 要求:在软件设计中应该追求尽可能松散耦合的 系统。 可以研究、测试或维护任何一个模块,而不需要 对系统的其他模块有很多了解; 模块间联系简单,发生在一处的错误传播到整个 系统的可能性就很小; 模块间的耦合程度强烈影响系统的可理解性、可 测试性、可靠性和可维护性。
A Flag B Flag
f1
f2
„
fn
闽南科技学院计算机系
• • • • • • • • • • • • • • • • • • • • • • • •
#include <stdio.h> static bool Signal; void AdultOrNot(int age) { if (age > 18) { Signal = 1; } else { Signal = 0; } } void WineOrNot() { if (Signal == 1) { printf("%s\n", "您已到达法定饮酒年龄!"); } else { printf("%s\n","您未到达法定饮酒年龄!"); } }
软件工程导论第5章 总体的设计
⑵内聚:衡量一个模块内部各个元素彼此结合的紧密 程度。
5.2 续
耦合
软件结构中各个模块之间相互关联程度的度量。 常见的耦合: • ⑴非直接耦合 • ⑵数据耦合 • ⑶控制耦合 • ⑷特征耦合 • ⑸公共环境耦合 • ⑹内容耦合 设计原则:尽量使用数据耦合,少用控制耦合, 限制公共耦合的范围,避免使用内容耦合。
划分模块时尽量做到高内聚,低耦合,保持模块相对 独立性,并以此原则优化初始的软件结构。
⑴如果若干模块之间耦合强度过高,每个模块内功能 不复杂,可将它们合并,以减少信息的传递和公共区 的引用。
⑵若有多个相关模块,应对它们的功能进行分析,消 去重复功能。
设计准则
5.3 续
⑵模块规模应该适中
过大的模块往往是由于分解不充分。 过小的模块开销大于有效操作。
设计方法:定义一些不同的“映射”,把数据流 图变换成软件结构。
结构化设计方法——面向数据流的设计方法。
变换流
5.5 续
信息沿输入通路进入系统,同时由外部形式变换 成内部形式,进入系统的信息通过变换中心,经 加工处理以后再沿输出通路变换成外部形式离开 软件系统。当数据流图具有这些特征时,这种信 息流就叫作变换流。
B
C
D
(a) 基 本 形 式
(b) 顺 序
B
C
(c) 选 择
B
(d) 重 复
结构图
5.4 续
判定为真时调用A,为假时调用B
结构图
5.4 续
模块M循环调用模块A、B、C
概念
5.5 面向数据流的设计方法
定义:把信息流映射成软件结构,信息流的类型 决定了映射的方法。
目标:给出设计软件结构的一个系统化的途径。
总体设计
第 5 章 总体设计
a. 偶然内聚 如果一个模块完成一组任务, 如果一个模块完成一组任务,这些任务彼此之 间即使有关系,关系也是松散的, 间即使有关系,关系也是松散的,这种内聚称为偶 然内聚。 然内聚。 b. 逻辑内聚 如果一个模块完成的任务在逻辑上属于相同或 相似的一类,则称为逻辑内聚。 相似的一类,则称为逻辑内聚。 c. 时间内聚 如果一个模块包含的任务必须在同一段时间内 执行,就叫时间内聚。 执行,就叫时间内聚。
第 5 章 总体设计 5.2.2 抽象
在现实世界中一定事物、 在现实世界中一定事物、状态或过程之 间总存在着某些相似的方面, 间总存在着某些相似的方面,把这些相似 的方面集中和概括起来, 的方面集中和概括起来,暂时忽略它们之 间的差异,就是抽象。 间的差异,就是抽象。
第 5 章 总体设计
例 考虑适用于低级CAD的图形软件包 抽象Ⅰ 该CAD软件系统配有能与绘图员进行可 视化通信的图形界面,能用鼠标代替绘图工具,画 各种直线和曲线;能完成所有几何计算以及所有截 面视图和辅助视图的设计。图形设计的结果存在图 形文件中,图形文件可包含几何的、正文的和其他 各种补充设计信息。 抽象Ⅱ 软件任务: 用户界面任务; 创建二维图形任务; 显示图形任务; 管理图形文件任务。
第 5 章 总体设计
总体设计的目的: 总体设计的目的: 回答“概括地说,系统应该如何实现? 回答“概括地说,系统应该如何实现?”。 总体设计的任务: 总体设计的任务: 1. 划分出组成系统的物理元素—— 程序、文件、 划分出组成系统的物理元素—— 程序、文件、 数据库、人工过程和文档。 数据库、人工过程和文档。 2. 设计软件结构,也就是要确定系统中每个程 设计软件结构, 序是由哪些模块组成的, 序是由哪些模块组成的,以及这些模块相互之间 的关系。 的关系。
第五章 船舶舱室设计
( l )满足使用要求。 (2 )符合规范、公约约束。 (3 )紧密地与船体设计配合。 ( 4 )注意船体结构。 (5 )充分考虑船舶制造工艺,特别是现代船舶制
造工艺中壳舾涂一体化和模块化问题。
( 6 )给人以“美感”。这是舱室与区划在美学上 的要求。在设计时要充分体现舱室的特点,形成 其特定的性格和风格。
(1)甲板区域划分与平面布置; (2)舱室防火分隔; (3)甲板敷料布置; (4)绝缘材料布置; (5)舱室内装节点布置; (6)舱室预埋件布置; (7)门窗布置; (8)灯具空调布置; (9)梯道布置; (10)各工作舱室布置; (11)各公共舱室布置; (12)备品、装饰品订货明细表; (13)舱室供应品、备品清单明细表。
舱室的适用性在于最大限度地发挥其使用功能,以多种形 式美融于内在功能之中。这是设计的目的,也是设计的核心。
合理是工程技术最起码的要求。合理应包括结构形式合理、 空间上的合理、用材合理有效,最重要的是符合工艺设计要 求。安全是舱室设计中不可忽视而受约束的问题。国际公约 和各国规范都有严格的规定。舱室设计中直接涉及的安全问 题是防火和应急逃生,此外涉及船舶的性能,如稳性、抗沉 性,涉及设备的安全使用,船员和旅客的安全健康等因素。
舱室设计中着重考虑船舶的结构防火设计。尽 量使船体结构和防火结构两者结合起来,完成防 火主竖区的水平方向和垂直方向的分隔,也尽量 减轻上层建筑的整体重量,保证船舶(特别是客 船)具有足够的完整稳性。
舱室设计的总体原则为适用、合理、安全、舒适和经济。 适用就是设计中充分考虑其使用要求,并研究如何能有效地 发挥舱室的使用功能。如驾驶室能有利于驾驶、操作和全船 指挥;居住舱室利于船员或乘客休息和活动;厨房利于烹调 和配膳。
(l )沟通上层建筑内部的各个区域; (2 )对房舱与邻居住区域或其他区域进行隔音、隔热,并维
第五章 广州大学城总体规划设计修改稿
广州大学城承北启南的地理区位黄埔军校是邻近大学城的重要文化资源第五章广州大学城总体规划设计一、区位与现状条件分析(一)区位条件分析广州大学城西邻洛溪岛、北邻生物岛、东邻长洲岛。
与琶洲岛举目相望,规划研究范围43.3平方公里。
距广州市中心约17公里,距市桥约13公里,距广州新城约17公里。
大学城的区位条件具有以下优势:1.在广州城市空间发展关系上,广州大学城选址正好位于广州的南拓轴上和都会区中,有利于实现良好的城市功能互动,提高广州城市建设的综合效益。
2.在广州产业空间发展关系上,广州大学城位于以IT产业为特色的广州新兴产业轴上,通过轴上的产业实体互动,形成“学、研、产”一体化的城市创新基地,有利于知识创新、产业创新和科技创新,提高广州市的综合竞争力。
3.在交通区位上,广州大学城位于“广州高速公路交通、轨道交通、普通道路交通、宽带网络信息交通”四位一体的城市交通网络体系中,大学城的多元交通需求可以得到最大程度的满足。
4.在文化区位上,广州大学城附近既有以黄埔军校为代表的近代史迹文化,又有以余荫山房和宝墨园为代表的传统与现代岭南园林文化,还有以琶洲国际会展中心和广州生物岛为标志的现代岭南生态文化,更有广州各高校的校园文化,周边地区浓郁的文化氛围有利于广州大学城校园文化的建设。
5.在广州旅游网络体系中,广州大学城正好处在“三线一中心”的东南水乡旅游线上,校园文化与旅游的结合将使广州大学城成为广州旅游的一个新亮点。
(二)现状条件分析1.土地利用现状广州大学城南岸包含了新造、南村两镇的大部分镇区,东南部用地为生态农业保护区,西南侧为南村工业园用地(调整为研发生产基地)。
小谷围岛以低丘陵冲击平原为主, 现状多为农业用地和林地,包含穗石、练溪等6条行政村。
岛上还包括了一些房地产开发项目,如占地500亩的艺术村,华南碧桂园等。
用地情况详见表5-1,表5-2。
2.人口现状根据南村镇和新造镇镇政府提供的有关统计数据,截至2000年,在大学城的研究用地范围(以下简称“大学城用地”)内,南村镇建成区人口为16169人,新造镇镇域内的小谷围岛上人口13658人,大谷围地区(南岸地区)建成区人口13534人,总人口43361人。
第五章 对外汉语教学的四大环节
教学对象的特征
1.自然特征(国别、年龄、文化程度、第一 语言及文化背景) 2.学习目的(受教育、职业工具、职业、学 术、临时) 3.学习起点
4.学习时限
对外汉语教学的目的(P296)
1.掌握汉语基础知识和听、 说、读、写基本技能, 培养运用汉语进行交际 的能力; 2.增强汉语学习的兴趣和 动力、培养汉语的自学 能力; 3.掌握汉语的文化音素, 熟悉基本的中国国情和 文化背景知识,提高文 化素养。
对外汉语教学原则(吕必松)
1.处理好语言要素、言语技能和言语交际技能的关系
2.选择好言语技能训练的方式
3.选择好言语交际技能的训练方式
4.处理好语言要素之间的关系
5.处理好语言与文字的关系 6.处理好目的语和媒介语的关系 7.处理好语言要素和文化知识的关系 8.处理好语言和文学的关系
对外汉语教学原则(刘珣P305 )
②认知练习或理解性练习——在基本功
操练的基础上进一步认识语音、词汇、 语法、句型的基本规律或规则。从整 体上系统地掌握语言,习得语言知识, 形成语言技能。学生在练习中常要进 行分类、归纳、比较、综合。认知练 习和机械练习的常见形式是进行快速 的句型转换练习。
③活用性练习或意义练习——前两个层
次的练习与一定的情景(或真实的、 或想象的,或结合话语上下文的)结 合,就形成了活用练习。如:看图填 空、看图回答问题、看图提问并回答、 用某种结构完成句子、句子翻译、情 景对话等。
• 制定教学大纲
是根据教学计划、以纲要形式制定的、对具体课 程的教学目的、教学内容、教学进度和教学方法 进行规范的指导性文件。
对外汉语教师的职责
明确总体设计的精神,把握教学全局, 明了自身的工作性质和任务,充分发挥自 身的作用,能够比较到位地把握教师、学 生与教学任务之间的关系。
第五章 市场调查方案设计
25
(六)确定调查地点
调查地点与调查对象或单位所处的 地理位置通常是一致的。
26
(七)确定调查方式和方法
在调查方案中,还要规定采用什么组织方式和方法取 得调查资料。
搜集调查资料的方式有普查、重点调查、典型调查、 抽样调查等。具体调查方法有文案法、访问法、观察 法和实验法等。 在调查时,采用何种方式、方法不是固定和统一的, 而是取决于调查对象和调查任务。在市场经济条件下, 为准确、及时、全面地取得市场信息,尤其应注意多
1.用户信息需求的课题界定
用户提出的信息需求及其分类 每类课题的特点、要求各不相同。
知识型、消息型、数据事实与资料型、咨询服务型
2、自我确定调查课题
几种典型的市场调研
消费者调查 市场竞争调查 流通渠道调查
(市场规模、市场结构、购买偏好、行为特征等)
(供应总量、市场份额、主要品牌、品牌忠实度等)
不同的调查方式会产生不同的调查单位
如采取普查方式,调查总体内所包括的全部单位 都是调查单位; 如采取重点调查方式,只有选定的少数重点单位 是调查单位; 如果采取典型调查方式,只有选出的有代表性的 单位是调查单位;
如果采取抽样调查方式,则用各种抽样方法抽出 的样本单位是调查单位。
(三)确定调查项目
包括定性资料和统计数据的整理、分
析的方法。
此外,最新方法:回归分析、相关分
析、聚类分析、主成份分析等方法。
30
(九)确定调研报告递交的方式
调研报告书份数; 报告书的基本内容;
报告书的图表、附录等。
调研报告书递交的形式:如文本、网上电子文本等;
31
软件工程简答题答案 第五版
软件工程简答题第一章绪论1.什么是软件危机?软件危机有什么表现?软件危机产生的原因是什么?答:所谓软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
主要是指如何开发软件,怎样满足对软件日益增长的需求,如何维护数量不断膨胀的先有软件。
表现:(1)对于软件开发的成本和进度的估计很不准确。
(2)开发的软件产品不能完全满足用户要求,用户对已完成的软件系统不满意的现象常常发生。
(3)开发的软件可靠性差。
(4)软件通常没有适当的文档资料。
(5)软件的可维护性差。
(6)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。
原因:软件开发中遇到的问题因找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,导致了软件危机。
2.简述软件的发展过程。
答:软件生产的发展划分为三个年代:(1)程序设计时代:这一时期,软件的生产主要是个体手工劳动的生产方式。
(2)程序系统时代:由于计算机的应用领域不断扩大,软件的需求也不断增长,软件由于处理的问题域扩大而使程序变得复杂,设计者不得不由个体手工劳动组成小集团合作,形成作坊式生产方式小集团合作生产的程序系统时代。
(3)软件工程时代:软件工程时代的生产方式是采用工程的概念、原理、技术和方法,使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。
3.什么叫软件工程?软件工程是如何克服软件危机的?答:软件工程是将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。
为了克服软件危机,人们从其他产业的工程化生产得到启示,采用工程的概念、原理、技术和方法来开发和维护软件。
4.软件工程的目标是什么?软件工程有哪些原则?答:软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。
原则如下:抽象、模块化、信息隐藏、局部化、完整性、一致性和可验证性。
软件工程导论课件第5章
4
主要工作
完成模块分解,确定系统的模块层次结构
文档 数据结构的描述部分
模块说明部分,包括模块结构以及每个模块的 功能说明
5
总体设计的过程
总体设计通常由系统设计和结构设计两个阶段组成。 系统设计阶段确定系统的具体实现方案,结构设计阶段确 定软件的结构。
实施总体设计的过程如下:
1.设想供选择的方案 2.选取合理的方案 3.推荐最佳方案 4.功能分解 5.设计软件结构 6.数据库设计 7.制定测试计划 8.书写文档 9.审查和复审
27
(7)功能内聚 如果一个模块中的所有处理元素都完成一个, 而且仅完成一个功能 比如:一个模块只完成矩阵加法运算或只打印 输出一种特定的表格功能
对于一个模块而言,模块自身的内聚越 强,模块间的耦合就越小,模块所具有的独 立性就越好,可以说高内聚低耦合是我们进 行软件设计的一贯原则。
28
启发规则
12
9. 审查和复审
最后应该对总体设计的结果进行严格的技术 审查,在技术审查通过之后再由使用部门的负责人 从管理角度进行复审。
13
设计原理
模块
模块是数据说明、可执行语句等程序对象的 集合,它是单独命名的,可通过名字来进行访问。 例如:汇编语言中的子程序,Pascal语言中的过程, C语言中的函数等。
32
描绘软件结构的图形工具
在总体设计阶段,我们经常使用以下几种 图形工具: 层次图 HIPO图 结构图
33
(一)层次图
层次图中的每个方框代表一个模块,方框间 的连线表示调用关系,不同于层次方框图那样表示 组成关系。 例如:正文加工系统调用编辑模块,编辑模 块依需要调用添加、删除、插入、修改、合并、列 表模块。
第05章 总体设计
下面看人类解决问题的一般规律: 下面看人类解决问题的一般规律:
设函数C( )为定义问题x的复杂程度 的复杂程度, 设函数 (x)为定义问题 的复杂程度, 函数 E(x)为解决问题 的工作量 。 对于两个问题 1 为解决问题x的工作量 为解决问题 的工作量。 对于两个问题P 和P2,如果 C(P1) >C(P2) 显然 E (P1) >E (P2) 量也大) 量也大) (即复杂程度大,工作 即复杂程度大,
2011-4-2
(8)书写文档 ) 编写总体设计文档(包括系统构成方案、 ※ 编写总体设计文档(包括系统构成方案、 物理元素清单、成本/效益分析 效益分析、 物理元素清单、成本 效益分析、最佳方案的概 括描述、数据流图、软件结构、 括描述、 数据流图 、软件结构、各个模块的算 模块间的接口关系) 法,模块间的接口关系)。 ※ 用户手册 测试计划(测试策略,测试方案, ※ 测试计划(测试策略,测试方案,预期的 测试结果,测试进度计划) 测试结果,测试进度计划) ※ 详细的实现计划 (9)审查和复审 审查和复审 应该进行严格的技术审查和管理复审。
2011-4-2
结构设计是总体设计阶段的任务; 结构设计是总体设计阶段的任务; 的任务 过程设计是详细设计阶段的任务。 过程设计是详细设计阶段的任务。 的任务 为确定软件结构, 为确定软件结构 , 首先把复杂的功能进一 步分解成一系列简单的功能。 步分解成一系列简单的功能 。 功能分解导致数 据流图的进一步细化, 并用IPO图或其他工具 据流图的进一步细化 , 并用 图或其他工具 来描述细化后每个处理的算法。 来描述细化后每个处理的算法。
2011-4-2
局部化的概念和信息隐蔽概念是密切相关的。 局部化的概念和信息隐蔽概念是密切相关的。 所谓局部化 局部化是指把一些关系密切的软件元素物理 所谓局部化是指把一些关系密切的软件元素物理 地放得彼此靠近。 地放得彼此靠近。在模块中使用局部数据元素是 局部化的一个例子。显然, 局部化的一个例子。显然,局部化有助于实现信 息隐蔽。 息隐蔽。 信息隐蔽和局部化的概念是由Parnas提出的。 提出的。 信息隐蔽和局部化的概念是由 提出的 Parnas提出在总体设计时就要注意软件的可维护性和 提出在总体设计时就要注意软件的可维护性和 可靠性的设计措施。这就是信息隐蔽的原则。 可靠性的设计措施。这就是信息隐蔽的原则。 信息隐蔽的原则 为了适应软件在生命周期中的多次修改, 为了适应软件在生命周期中的多次修改, 在模块划分的总体设计阶段就要尽量设法将 可变性因素隐蔽在一个或几个局部的模块中。 可变性因素隐蔽在一个或几个局部的模块中。 2011-4-2
张海藩《软件工程导论》(第6版)(章节题库 第5章 总体设计)【圣才出品】
第5章总体设计一、选择题1.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的()。
A.抽象和信息隐蔽B.局部化和封装化C.内聚性和耦合性D.激活机制和控制方法【答案】C【解析】模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。
耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。
2.在面向数据流的软件设计方法中,一般将信息流分为()。
A.变换流和事务流B.变换流和控制流C.事务流和控制流D.数据流和控制流【答案】A【解析】面向数据流的软件设计方法是以结构化分析阶段所产生的文档(包括数据流图、数据字典和软件需求说明书)为基础,自顶向下,逐步求精和模块化的过程。
它一般将信息流分为变换流和事务流。
①变换流:信息沿着输入通道进入系统,然后通过变换中心(也称主加工)处理,再沿着输出通道离开系统。
②事务流:信息沿着输入通道到达一个事务中心,事务中心根据输入信息(即事务)的类型在若干个动作序列(称为活动流)中选择一个来执行。
3.软件设计一般分为总体设计和详细设计,它们之间的关系是()。
A.全局和局部B.抽象和具体C.总体和层次D.功能和结构【答案】A【解析】软件设计分为总体设计和详细设计,其中总体设计属于全局性的设计,详细设计属于局部性的设计,是概要设计的完善。
4.将几个逻辑上相似的成分放在一个模块中,该模块的内聚度是()的。
A.逻辑性B.瞬时性C.功能性D.通信性【答案】A【解析】逻辑内聚:模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
5.模块中所有成分引用共同的数据,该模块的内聚度是()的。
A.逻辑性B.瞬时性C.功能性D.通信性【答案】D【解析】通信内聚指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。
6.好的软件结构应该是()。
A.高耦合、高内聚B.低耦合、高内聚C.高耦合、低内聚D.低耦合、低内聚【答案】B【解析】耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
形象设计概论 第五章 整体形象塑造
2.妆色和服色的类似调和
妆色和服色的类似调和指化妆色 彩与服饰色彩具有近似的统一感和 适当的变化。这种妆色与服色的调 和所产生的视觉效果既明快又不冲 突,是较为常见的一种调和形式。 当妆色近似于服色,而服色又不过 于明亮时,上妆后的眼睛会显得格 外引人注目;相反,如果服色过于 明亮,那么势必会使眼睛黯然失色。 这样的色彩搭配应注意不同颜色组 合所形成的色彩的视觉倾向,也就 是色调。
3. 短胖体型
短胖体型给人健康、稳健 的感觉。但由于身体过于宽 厚,缺乏灵秀感,需要避免 体积偏大、体量偏沉的发型。 由于短胖体型的人一般脖子 都比较短,也不宜选择披肩 长发。过于蓬松卷曲的头发 会从视觉上拉宽体型,暴露 身形缺点,也要避免选用。 短胖体型的人比较适合留短 发、直发,并且需要修剪出 一定的层次感。
五、发型与年龄
Hairstyle and age
1. 少年时期
少年时期的人处于发育和学习阶段,不宜烫发、漂染, 应以简便为原则,展现出自然美与天真、活泼的气质。
2. 青年时期
青年时期的人朝气蓬勃、注重潮流行性,几乎适 合任何长度、样式的发型。
3. 中年时期
中年时期宜选择整洁、文雅、大方、线条柔和的发型, 根据自己的特点纠正自己在某方面的不足。这个时期宜 梳短发,不留前额刘海或留少许刘海,体现大方、文静 的气质。
二、发型与体型
Hair and body type
4.高胖体型
高胖体型给人以壮实、有力的感觉,但对女性而言却缺少了苗条、纤细的美感。高胖体型的人适合留中 长的直发,利用头发的线条能够增加修长感;要修剪出比较明显的层次,这样能减轻身体的分量感;也可 以尝试自然的卷发,但原则是简洁、明快、线条流畅。
5.头大体型
一、发型与头型、脸型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
12
③ 处理方式设计
包括: 功能设计:确定实现功能法,评估算法的性 能. 性能设计:确定实现性能需求必须的算法和模 块间的控制方式
13
5.1 设计的过程
1)系统设计阶段:确定系统的具体解决方案;
⑴ 设想供选择的方案 ⑵ 选取合理方案 ⑶ 推荐最佳方案
2)结构设计阶段:确定软件结构。
⑷ 功能分解 ⑸ 设计软件结构 ⑹ 设计数据库 ⑺ 制定测试计划
“ 模块”
每个模块完成一个特定的子功能;所有模块 按某种方法组成一个整体,完成整个系统所 要求的功能。 软件系统就是通过这些模块的组合来实现。
21
② 模块化的优点
模块化是软件解决复杂问题所具备的手段, 可降低软件复杂性,减少开发工作量,从而 降低开发成本,提高软件生产率,是模块化 的依据。
22
③ 模块化与软件成本的关系
Байду номын сангаас
40
特征耦合举例
说明: “住户情况”是一个数据结构,图中模块都与此 数据结构有关。 “计算水费”和“计算电费”本无关,由于引用 了此数据结构产生依赖关系,它们之间也是标记偶 合。
41
将特征耦合修改为数据耦合举例
42
公共环境耦合
一组模块引用同一个公用数据区(也称全局 数据区、公共数据环境)。 公共数据区指: 全局数据结构。 共享通讯区。 内存公共覆盖区等
⑻ 书写文档 ⑼ 审查和复审
5.1 设计的过程
15
5.1 设计的过程
一.设想供选择的方案
从数据流图与数据字典出发,分析员自由分析比较 不同的物理实现方案,并且力求从中选取最佳方案。 常用方法:自动化边界分组。
二.选取合理的方案
选取低成本、中等成本和高成本三种方案;
结合问题定义、可行性研究的结果、用户意见;
函数 A – 过程 1 函数 A - 过程2 函数 A -过程3
58
模块间内聚的类型
59
总结:耦合、内聚与模块独立性关系
耦合与内聚都是模块独立性的定性标准, 都反映模块独立性的良好程度。 但耦合是直接的主导因素,内聚则辅助耦 合共同对模块独立性进行衡量。 设计要求:低耦合,高内聚
60
一个复杂的系统先用一些高级的抽象概念构造和理解, 这些高级概念又用较低级的概念构造和理解,如此进 行下去,直到具体元素。
26
5 . 2. 3 逐步求精
逐步求精:为了能集中精力解决主要问题而 尽量推迟对问题细节的考虑。 可把逐步求精看作是一项把一个时期内必须 解决的种种问题按优先级排序的技术。 逐步求精是一种自顶向下的设计策略,按这 种设计策略,程序的体系结构是通过逐步精 化处理过程的层次而设计出来的。
51
逻辑内聚
把几种相关功能(逻辑上相似的功能)组合 在一模块内,每次调用由传给模块的参数确 定执行哪种功能。
52
逻辑内聚模块
53
时间内聚(经典内聚)
模块完成的功能必须在同一时间内执行,这 些功能只因时间因素关联在一起。 例:初始化系统模块 系统结束模块、 紧急故障处理模块等
54
过程内聚(顺序性组合)
5 .3 启发规则
改进原则 :高内聚、低耦合 ① 改进软件结构,提高模块独立性 ② 模块规模适中 ③ 深度、宽度、扇出和扇入适中 ④ 将模块的影响限制在控制范围内 ⑤ 降低模块接口的复杂性 ⑥ 设计单入口单出口的模块 ⑦ 模块功能可预测
61
① 改进软件结构,提高模块独立性
通过模块分解或合并,降低耦合提高内聚
43
公共环境耦合举例
模块 A 、 B 、 C 间存在错综复杂的联系
44
公共耦合存在的问题
( 1 )软件可理解性降低 ( 2 )诊断错误困难 ( 3 )软件可维护性差 ( 4 )软件可靠性差
45
内容耦合
有下列情况之一的。是最不好的耦合形式!
46
模块间耦合强度
47
耦合强度依赖的因素:
一模块对另一模块的引用 一模块向另一模块传递的数据量 一模块施加到另一模块的控制的数量 模块间接口的复杂程度
模块内各处理成分相关,且必须以特定次序 执行。
55
通信内聚
模块内各部分使用相同的输入数据,或产生 相同的输出结果
56
顺序内聚
一个模块内的成分和同一个功能密切相关,
而且这些处理必须顺序执行。
函数 A 函数 B 函数 C
57
功能内聚
模块仅包括为完成某个功能所必须的所有成 分。 模块所有成分共同完成一个功能,缺一不可 内聚性最强
5
软件设计的两个阶段
第一阶段:概要设计(总体设计) 根据软件需求,设计软件系统结构和数据结 构,确定程序的组成模块及模块之间的相互 关系。 回答“概括地说,系统应该如何实现?”。 其重要性是:站在全局高度,从较抽象的层 次上分析对比多种可能的系统实现方案和软 件结构,从中选出最佳方案和最合理的软件 结构,从而用较低成本开发出较高质量的软 件系统。
第五章 总体设计
《软件工程》
第五章总体设计
5 . 1 设计过程 5 . 2 设计原理 5 . 3 启发规则 5 . 4 描绘软件结构的图形工具 5 . 5 面向数据流的设计方法 5 . 6 小结 习题
2
学习要求
掌握: 1 、软件设计过程中应遵循的基本原理和相 关概念; 2 、描绘软件结构的图形工具的运用; 3 、面向数据流设计方法概念;变换分析、 事务分析法过程和应用。 理解: 1 、典型的总体设计过程包括的步骤; 2 、设计中的启发式规则;
为每一种方案都准备四份材料:系统流程图、组 成系统的物理元素清单、成本/效益分析、实现这个 系统的进度计划。
三.推荐最佳方案
推荐一个最佳的方案,并为其指定详细的实现计划。
由用户、技术专家和部门负责人进行严格审查;
四.功能分解
结合算法对数据流图中的处理进一步分解和细化。 分解的原则是: 分解后的功能比较简单(实现); 对大多数程序员来说都是易懂的;
独立的模块比较容易理解和开发; 独立的模块比较容易测试和维护;
模块独立与否是评价一个设计好坏的重要尺
度。
31
3 、衡量模块独立性的两个准则
① 耦合性( coupling ) ② 内聚性( cohesion )
32
① 耦合性( coupling )
1、耦合
耦合是对一个软件结构内不同模块之间互连程度(相互 依赖程度)的度量 。在软件设计时应该追求松散耦合的 系统。 耦合的强度依赖于以下因素:
九.审查和复查
技术专家对总体设计结果严格审查; 使用部门负责人对总体设计结果严格复查。
5.2 软件设计的原理 主 要 内 容
模块化 抽象 逐步求精 信息隐蔽和局部化 模块独立
前一页
5 . 2 . 1 模块化(Modularity )
① 什么是模块和模块化思想?
采取自顶向下的方式,逐层把软件系统划分 成若干可单独命名和可编址的部分- -
模块间引用(调用); 模块间传递的数据量; 模块间施加的控制数量; 模块间接口复杂度。
① 耦合性( coupling )
设计目标:低耦合
34
a 无直接耦合
两个模块没有直接关系,模块独立性最强。
35
b 数据耦合
属松散耦合。一模块访问另一模块时,通过 数据参数交换输入、输出信息。
36
c 控制藕合
27
自顶向下,逐步求精的基本思想
将功能、信息的说明分为多个层次,最高 层也最抽象 ― 仅仅只是概念性地描述功能或 信息,不提供功能的内部工作情况或信息的 内部结构; 设计者从最高层开始,仔细推敲,进行功 能和信息的细化,给出下层实现的细节; 随着每个后续细化逐步的完成,提供越来 越多的细节,最终得出用程序设计语言表达 的程序。
48
降低耦合度的设计原则
1、根据问题特点,选择合适的 耦合类型。 尽量使用数据耦合,少用控制耦合和外部耦 合,限制公共耦合的范围,完全不用内容耦 合 2 、降低模块接口的复杂性。 减少每个模块的参数个数;尽量使用标准过 程调用方式,少用直接引用的方式;传送的 信息以标准、直接的方式提供。 3 、把模块的通信信息放在缓冲区中。
① 制定规范 ② 设计软件系统结构(简称软件结构) ③ 处理方式设计 ④数据结构及数据库设计 ⑤ 可靠性设计 ⑥ 编写概要设计文档 ⑦ 概要设计评审
10
① 制定规范
为软件开发小组制定在进行软件设计,应该 共同遵守的标准,以便协调组内各员的工作。
11
② 软件结构设计
包括: 将系统按功能划分成模块 确定每个模块的功能 确定模块之间的调用关系 确定模块之间的接口,即模块之间传递的信息 评价模块结构的质量
五.设计软件结构
把分解得到的软件模块按照调用关系组织成良好的层 次结构,最上层模块完成完整功能,最下层模块完成 最具体功能。 可以直接从数据流图映射出软件的结构。
六.数据库设计(如果需要) 七.制定测试计划
在设计时提高软件的可测试性;
八.书写文档
记录总体设计的结果: 系统说明:系统组成、最佳解决方案和模块的描述; 用户手册:修改需求分析阶段产生的初步用户手册; 测试计划:测试策略,测试方案,预期的测试结果, 测试进度等; 详细的实现计划 数据库设计结果:数据库的逻辑、物理模型。
28
结合了模块化和逐步细化思想建立的软件结构图
29
5.2.4 信息隐藏和局部化
• 信息隐藏原理:模块中内包含的信息(过程
和数据)不允许其它不需要这些信息的模块访 问。
• 信息局部化:把一些关系密切的软件元素物
理地放得彼此靠近。
• 信息局部化有利于信息隐藏。
30
5. 2 . 5 模块独立
1 、什么是模块独立性( module independence) 模块只完成系统要求的相对独立的功能 符合信息隐蔽原则 模块间关联和依赖程度尽量小 2 、模块独立的优点