武汉理工大学:《软件技术基础》课程教学资源(PPT课件)第三章 软件设计

第三章软件设计 31软件设计的目标和目的 32软件设计的原则 33设计模型 34标准建模语言UML 对论要点 (1)如何将分析模型转换为软件设计? 2)作为软件工程师在软件设计方面应使用哪些基本原则 和概念?
讨论要点 (1)如何将分析模型转换为软件设计? (2)作为软件工程师在软件设计方面应使用哪些基本原则 和概念? 第三章 软件设计 3.1软件设计的目标和目的 3.2 软件设计的原则 3.3 设计模型 3.4 标准建模语言UML

31软件设计的目标和目的 软件需求:解决“做什么” 软件设计:解决“怎么做” 软件设计的任务 问题结构(软件需求)映射软件结构 从软件需求规格说明书出发,形成软 件的具体设计方案
3.1软件设计的目标和目的 软件需求:解决“做什么” 软件设计:解决“怎么做” 软件设计的任务 问题结构(软件需求) 软件结构 从软件需求规格说明书出发,形成软 件的具体设计方案。 映射

软件设计分为两个阶段: (1)体系结构设计(概要设计 确定软件的结构以及各组成成分(子 系统或模块)之间的相互关系。 (2)详细设计 确定模块内部的算法和数据结构, 产生描述各模块程序过程的详细文档
软件设计分为两个阶段: (1) 体系结构设计(概要设计) 确定软件的结构以及各组成成分(子 系统或模块)之间的相互关系。 (2)详细设计 确定模块内部的算法和数据结构, 产生描述各模块程序过程的详细文档

32软件设计的原则 抽象 求精 分解模块化 数据隐蔽 模块独立性(耦合性/内聚性)
3.2 软件设计的原则 • 抽象 • 求精 • 分解/模块化 • 数据隐蔽 • 模块独立性(耦合性/内聚性)

321抽象( Abstraction) 抽象是软件的本质 抽象得出事物的共性 过程抽象 数据抽象 控制抽象
• 抽象是软件的本质 • 抽象得出事物的共性 • 过程抽象 • 数据抽象 • 控制抽象 3.2.1 抽象(Abstraction)

抽象原则应用举例 Windows nt一体化的I/0系统设计 文件管理 抽对虚拟文件 O网络管理 象的字节流, 虚拟文件可 S设备管理 为任何设备 高速缓冲存储器 和实体
抽象原则应用举例 Windows NT一体化的I/O系统设计 文件管理 网络管理 设备管理 高速缓冲存储器 O S 对虚拟文件 的字节流, 虚拟文件可 为任何设备 和实体 抽 象

3.2.2模块化( Modularity) 模块化是好的软件设计的一个基本准则 高层模块——从整体上把握 问题,隐蔽细节 分解 复杂问题-较小问题 分解 可减小解题所需的总的工作
3.2.2 模块化 (Modularity) 模块化是好的软件设计的一个基本准则 从整体上把握 问题,隐蔽细节 复杂问题 较小问题 分解 可减小解题所需的总的工作 分解

例:将问题(1+P2分解为PP2 设函数C(x)定义问题x的复杂程度 函数E(x)确定解决问题x需要的工作量 对问题P1和P2,如: C(P1)>C(P2) 显然:E(P1)>E(P2) 有规律:C(P1+P2)>C(P1)+C(P2) E(P1+P2)>E(P1)+E(P2) 各个击破"理论
例:将问题(P1+P2)分解为P1,P2 设函数C(x)定义问题 x 的复杂程度 函数E(x)确定解决问题 x 需要的工作量 对问题P1和P2,如: C(P1) > C(P2) 显然: E(P1) > E(P2) 有规律:C(P1+P2) > C(P1)+C(P2) E(P1+P2) > E(P1)+E(P2) "各个击破"理论

模块化和软件成本 软件总成本 成本或工作量 最小成本区域 集成成本 成本/模块 模块数量
模块化和软件成本 成 本 或 工 作 量 模块数量 软件总成本 集成成本 成本/模块 M 最小成本区域

3.2.3信息隐蔽 (Information Hiding) 模块所包含的信息,不允许其它不需 要这些信息的模块访问,独立的模块 间仅仅交换为完成系统功能而必须交 换的信息 信息隐蔽的目的:提高模块的独立性, 减少修改或维护时的影响面
3.2.3 信息隐蔽 (Information Hiding) 模块所包含的信息,不允许其它不需 要这些信息的模块访问,独立的模块 间仅仅交换为完成系统功能而必须交 换的信息。 信息隐蔽的目的: 提高模块的独立性, 减少修改或维护时的影响面
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 武汉理工大学:《软件技术基础》课程教学资源(PPT课件)第二章 关系数据库(2-4)分析建模方法.ppt
- 武汉理工大学:《软件技术基础》课程教学资源(PPT课件)第四篇 软件开发活动及过程.ppt
- 武汉理工大学:《软件技术基础》课程教学资源(教案讲义)软件工程.doc
- 武汉理工大学:《软件技术基础》课程教学资源(教案讲义)第四章 资源管理技术.doc
- 武汉理工大学:《软件技术基础》课程教学资源(教案讲义)第四章 资源管理技术.doc
- 武汉理工大学:《软件技术基础》课程教学资源(作业习题)作业二.doc
- 武汉理工大学:《软件技术基础》课程教学资源(PPT课件)操作系统复习.ppt
- 武汉理工大学:《软件技术基础》课程教学资源(PPT课件)第五章 存储器管.ppt
- 武汉理工大学:《软件技术基础》课程教学资源(PPT课件)第四章 进程的调度.ppt
- 武汉理工大学:《软件技术基础》课程教学资源(PPT课件)第三章 进程的同步与通信.ppt
- 武汉理工大学:《软件技术基础》课程教学资源(PPT课件)第二章 进程的描述与控制.ppt
- 武汉理工大学:《软件技术基础》课程教学资源(PPT课件)第一章 操作系统概述.ppt
- 武汉理工大学:《软件技术基础》课程教学资源(PPT课件)第四章 数据库设计.ppt
- 武汉理工大学:《软件技术基础》课程教学资源(教案讲义)第五篇 数据库技术.doc
- 武汉理工大学:《软件技术基础》课程教学资源(PPT课件)第五章 一个数据库应用系统的设计与实现.ppt
- 武汉理工大学:《软件技术基础》课程教学资源(PPT课件)第二章 关系数据库.ppt
- 武汉理工大学:《软件技术基础》课程教学资源(PPT课件)第三章 关系数据库的标准语言SQL(3.6-3.9).ppt
- 武汉理工大学:《软件技术基础》课程教学资源(PPT课件)第三章 关系数据库的标准语言SQL(3.1-3.5).ppt
- 武汉理工大学:《软件技术基础》课程教学资源(PPT课件)算法和数据结构小结.ppt
- 武汉理工大学:《软件技术基础》课程教学资源(作业习题)作业一.doc
- 武汉理工大学:《软件技术基础》课程教学资源(PPT课件)第四章 软件测试.ppt
- 东北师范大学:《计算机系统结构》课程电子教案(PPT教学课件)第1章 计算机系统结构的基本概念.ppt
- 东北师范大学:《计算机系统结构》课程电子教案(PPT教学课件)第2章 数据表示与指令系统.ppt
- 东北师范大学:《计算机系统结构》课程电子教案(PPT教学课件)第3章 总线、中断与输入输出系统.ppt
- 东北师范大学:《计算机系统结构》课程电子教案(PPT教学课件)第4章 存储体系.ppt
- 东北师范大学:《计算机系统结构》课程电子教案(PPT教学课件)第5章 重叠、流水和向量处理机.ppt
- 东北师范大学:《计算机系统结构》课程电子教案(PPT教学课件)第六章 并行处理机和相联处理机.ppt
- 东北师范大学:《计算机系统结构》课程电子教案(PPT教学课件)第7章 多处理机.ppt
- 东北师范大学:《计算机系统结构》课程电子教案(PPT教学课件)第8章 具有现代特色的计算机.ppt
- 东北师范大学:《计算机系统结构》课程电子教案(PPT教学课件)复习纲要(主讲:孙铁利).ppt
- 《ciscocatalyst交换技术》第3章 令牌环和源路由桥接.pdf
- 《ciscocatalyst交换技术》第2章 透明桥接.pdf
- 《ciscocatalyst交换技术》第1章 交换和桥接的概念.pdf
- 《ciscocatalyst交换技术》第4章 虚拟LAN.pdf
- 《ciscocatalyst交换技术》第5章 小型和中型C a t a l y s t交换机.pdf
- 《ciscocatalyst交换技术》第6章 Catalyst 5000系列.pdf
- 《ciscocatalyst交换技术》第7章 配置Catalyst 5000系列交换机.pdf
- 《ciscocatalyst交换技术》第8章 Catalyst 5000系列交换机的高级配置.pdf
- 《ciscocatalyst交换技术》第9章 配置 Catalyst交换机上的令牌环和FDD.pdf
- 《ciscocatalyst交换技术》第10章 为中继配置ATM LAN仿真.pdf