已阅读5页,还剩115页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件设计 4 第四章 4 1软件设计阶段的任务与目标 软件设计是对实现软件的结构 系统的数据 系统组件之间的接口以及所用算法的描述 软件设计是软件开发的关键步骤 直接影响软件的质量 在软件需求分析阶段已经完全弄清楚了软件的各种需求 较好地解决了所开发的软件 做什么 的问题 并已在软件需求说明书中详尽和充分地阐明了这些需求以后 下一步就要着手实现软件的需求 即软件设计阶段要解决 怎么做 的问题 4 1软件设计阶段的任务与目标 4 1 2软件设计阶段的任务 4 1 2软件设计阶段的任务 一 软件设计的任务 总体设计 概要设计 和详细设计 概要设计的主要任务 1 设计软件结构 1 采用某种设计方法 将一个复杂的系统按功能划分成模块 2 确定每个模块的功能 3 确定模块之间的调用关系 4 确定模块之间的接口 即模块之间传递的信息 5 评价模块结构的质量2 数据结构及数据库设计 1 数据结构的设计 设计抽象的数据结构 2 数据库的概念设计 逻辑设计和物理设计3 编写概要设计文档文档主要有 1 概要设计说明书 2 数据库设计说明书 主要给出所使用的DBMS简介 数据库的概念模型 逻辑设计结果 3 用户手册 对需求分析阶段编写的用户手册进行补充 4 修订测试计划 对测试策略 方法 步骤提出明确要求 详细设计 确定模块内算法 数据结构详细设计 JACKSON方法 接口内部的细节 4 1 2软件设计阶段的任务 二 软件设计的目标在设计阶段应达到的目标是 提高可靠性 提高可维护性 提高可理解性 提高效率 衡量该目标的准则 1 软件实体有明显的层次结构 利于软件元素间控制 2 软件实体应该是模块化的 模块具有独立功能 3 软件实体与环境的界面清晰 4 设计规格说明清晰 简洁 完整和无二义性 常用的设计方法有 SD法 Jackson法 HIPO法 Parnas法 Warnier法等 4 2软件结构与软件结构图 4 2软件结构与软件结构图 软件结构是软件模块之间关系的表示 它决定了整个系统的结构 也确定了系统的质量 模块之间的关系可有多种 但都可以归结为一种层次关系 软件结构图是总体设计阶段的主要描述工具 它描述了构成系统的基本元素 模块及模块之间的调用关系 模块之间的数据传递关系 本节讨论如何进行软件结构的设计 设计的准则以及为了提高软件系统的质量 如何对软件结构进行改进的技术 4 2 1软件结构的基本概念 二 模块化模块化就是将系统划分为若干个模块 每个模块完成一个子功能 模块化的目的是将系统 分而治之 模块化能够降低问题的复杂性 使软件结构清晰 易阅读 易理解 易于测试和调试 因而也有助于提高软件的可靠性 4 2 1软件结构的基本概念 软件结构表示软件系统的构成 是软件模块间关系的表示 下图则为软件结构示意图 下面先介绍几个相关的的概念 一 模块 Module 模块是程序对象有名字的集合 例如 过程 函数 子程序 宏等 是构成软件系统结构的基本元素 软件结构图 模块化降低软件复杂度的简单证明 4 2 1软件结构的基本概念 模块化降低软件复杂度的简单证明 令 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后 其工作量和复杂度都降低 并非模块分得越小越好 因为模块之间接口的复杂度和工作量增加 显然 每个软件系统都有一个最佳模块数M 注意选择分解的最佳模块数 右上图描述了模块化与软件成本的关系 软件的层次结构 4 2 1软件结构的基本概念 顶层 1层 2层 扇入为2 扇出为3 扇入为3 3层 4层 软件结构示意图 有关指标 深度 表示软件结构中从顶层模块到最底层模块的层数 宽度 表示控制的总分布 扇出数 指一个模块直接控制下属的模块个数 扇入数 指一个模块的直接上属模块个数 一个好的软件结构的形态准则是 顶部宽度小 中部宽度大 底部宽度次之 在结构顶部有较高的扇出数 在底部有较高的扇入数 软件结构图表示软件的系统结构 它是软件模块间关系的表示 软件之间的各种关系 均可表示为层次结构 如图所示 4 2 2软件的树状结构和网状结构 4 2 2软件的树状结构和网状结构 由模块连接而得到的软件结构最普通的形式就是树状结构和网状结构 在树状结构中 位于最上层的根部是顶层模块 它是程序的主模块 与其联系的有若干下属模块 各下属模块还可以进一步引出更下一层的下属模块 如图所示的树状结构 树状结构的特点是 整个结构只有一个顶层模块 而对于任何一个下属模块来说 它只有一个上级模块 而且同一层模块之间不发生关系 网状结构 在网状结构中 任何两个模块间都可以有双向的关系 不分层次 任何两个模块都是平等的 没有从属关系 网状结构 a b 4 2 2软件的树状结构和网状结构 比较两种结构的特点 对于不加限制的网状结构 由于模块间相互关系的任意性 使得整个结构十分复杂 处理起来势必引起许多麻烦 这与原来划分模块为便于处理的意图相矛盾 所以在软件开发的实践中 人们通常采用树状结构 而不采用网状结构 模块5 模块5 模块4 模块4 4 2 3软件结构图 SC图 模块1 模块3 模块2 values values data data 模块1 模块2 模块3 values values data data 4 2 3软件结构图 SC图 结构图 StructureChart 简称SC图 是精确表达软件结构的图形表示方法 它以特定的符号表示模块 模块间的调用关系和模块间信息的传递 结构图的主要构成有 模块 Module 数据 模块调用图 调用 data 例 画出打印报告的软件结构图 调用次序为上层调用下层 同层按照数据传递关系确定 一般从左到右执行 执行过程即按照数据流向进行 报告 计算 获得编辑 确认数据 读入 编辑 打印报告头 打印报告尾 打印 输入EOF 输入 已编辑 已编辑 已编辑 已确认 已确认数据 已确认数据 计算结果 结果 日期 总结果 行 行 行 4 2 3软件结构图 SC图 打印报告 予以确认 4 3模块的独立性 4 3模块的独立性 上一节讨论了关于软件结构与软件结构图的概念 本节进一步讨论影响软件系统质量的另一个关键问题 模块的独立性问题 模块化方法已经为所有工程领域所接受 模块化的主要优点是 模块化设计降低了软件系统的复杂性 使得系统容易修改 同时使得系统各个部分可以并行开发 从而提高了软件的生产率 提高模块质量在于提高模块独立性 模块的独立性用耦合性和内聚性来衡量 4 3 1模块独立性 moduleindependence 4 3 1模块独立性 模块 又称 构件 一般指用一个名字可调用的一段程序 它一般具有如下三个基本属性 功能即指该模块实现什么功能 做什么事情 必须注意 模块功能 应是该模块本身的功能加上它所调用的所有子模块的功能 逻辑即描述模块内部怎么做 状态即该模块使用时的环境和条件 所谓模块的独立性 是指软件系统中每个模块只涉及软件要求的具体的子功能 而和软件系统中其他模块的接口是简单的 即功能专一 模块之间无过多的相互作用的模块 这种类型的模块可以并行开发 模块独立性越强 开发越容易 独立性强的模块 还能减少错误的影响 使模块容易组合 修改及测试 4 3 1模块独立性 moduleindependence 4 3 1模块独立性 模块独立性的度量标准是两个定性准则 耦合性用于描述模块之间联系的紧密程度 内聚性用于描述模块内部联系的紧密程度 模块独立性比较强的模块应该是具有高内聚性和的低耦合度 模块间耦合的类型 低无直接耦合耦数据耦合合标记耦合性控制耦合外部耦合公共耦合高内容耦合 模块独立性 弱 低耦合 强 中耦合 较强耦合 强耦合 1 无直接耦合 两个模块没有直接关系 模块1和模块2 模块独立性最强 模块1 模块2 模块3 模块4 2 数据耦合 一模块调用另一模块时 被调用模块的输入 输出都是简单的数据 若干参数 属松散耦合 数据耦合举例 开发票 计算水费 单价数量 金额 3 标记耦合 特征耦合 如两个模块通过传递数据结构 不是简单数据 而是记录 数组等 加以联系 或都与一个数据结构有关系 则称这两个模块间存在标记偶合 标记耦合举例 计算水电费 计算水费 计算电费 住户情况 水费 电费 住户情况 住户情况 是一个数据结构 图中模块都与此数据结构有关 计算水费 和 计算电费 本无关 由于引用了此数据结构产生依赖关系 它们之间也是标记偶合 将标记耦合修改为数据耦合举例 计算水电费 计算水费 计算电费 本月用水量 本月用电量 水费 电费 4 控制耦合 一模块向下属模块传递的信息 开关量 标志等控制被调用模块决策的变量 控制了被调用模块的内部逻辑 控制耦合举例 A 计算平均分或最高分 B 平均 最高 控制信号 成绩 读入分数 输出结果 计算平均分 计算最高分 平均 最高 B 控制耦合增加了理解和编程的复杂性 调用模块必须知道被调模块的内部逻辑 增加了相互依赖去除模块间控制耦合的方法 1 将被调用模块内的判定上移到调用模块中进行 2 被调用模块分解成若干单一功能模块 改控制耦合为数据耦合举例 A 计算平均分 B1 平均成绩 最高成绩 计算最高分 B2 5 外部耦合 一组模块共享全局简单变量而不是同一全局数据结构 而且不是通过参数表传递该全局变量的信息 C语言Extern 6 公共耦合 公共数据区耦合 一组模块引用同一个公用数据区 也称全局数据区 公共数据环境 公共数据区指 全局数据结构共享通讯区内存公共覆盖区等 公共耦合举例 公共数据区 C B 模块A B C间存在错综复杂的联系 1 软件可理解性降低 2 诊断错误困难 3 软件可维护性差 4 软件可靠性差 公共数据区及全程变量无保护措施 慎用公共数据区和全程变量 公共耦合存在的问题 7 内容耦合 一模块直接访问另一模块的内部信息 程序代码或数据 最不好的耦合形式 A B A B 模块代码重叠 Entry1 Entry1 多入口模块多个功能 如何降低模块间耦合度 1 尽量使用数据耦合少用控制耦合限制公共耦合的范围坚决避免使用内容耦合 2 降低接口的复杂性 2 模块独立性的度量之二 内聚性 一个模块内部元素在功能上相互关联的强度设计目标 高内聚 模块在软件过程中完成单一的任务 模块的内聚性类型 低偶然内聚内逻辑内聚聚时间内聚性过程内聚通信内聚信息内聚高功能内聚 模块独立性 弱 功能分散 强 功能单一 1 偶然内聚 巧合内聚 模块内各部分间无联系 A B C M MOVEOTORREADFILEFMOVESTOT 模块M中的三个语句没有任何联系缺点 可理解性差 可修改性差 例 2 逻辑内聚 几个逻辑上相关的功能被放在同一模块中 则称为逻辑内聚 如一个模块读取各种不同类型外设的输入 尽管逻辑内聚比偶然内聚合理一些 但逻辑内聚的模块各成分在功能上并无关系 即使局部功能的修改有时也会影响全局 因此这类模块的修改也比较困难 逻辑内聚模块 A B C E F G A B C EFG A1 B1 C1 EFG模块内部逻辑 E F G逻辑功能相似 组成新模块EFG 缺点 增强了耦合程度 控制耦合 不易修改 效率低 公用代码段 公用代码段 3 时间内聚 经典内聚 模块完成的功能必须在同一段时间内执行 这些功能只因时间因素关联在一起 例如 初始化系统模块 系统结束模块 紧急故障处理模块等均是时间性聚合模块 4 过程内聚 模块内各处理成分相关 且必须以特定次序执行程序流程图划分模块通常是过程内聚的 过程内聚模块 读入成绩单 审查成绩单 统计成绩 打印成绩 读入并审查成绩单 统计并打印成绩单 5 通信内聚 模块内各部分使用相同的输入数据 或产生相同的输出结果 通信内聚模块例 产生工资报表 计算平均工资 职工工资记录 职工工资报表 平均工资 产生职工工资报表并计算平均工资模块 6 顺序内聚 一个模块内的处理元素和同一个功能密切相关 而且这些处理必须顺序执行 通常一个处理元素的输出数据作为另外一个处理元素的输入数据 数据流图划分的模块 7 功能内聚 模块仅包括为完成某个功能所必须的所有成分 模块所有成分共同完成一个功能 缺一不可 内聚性最强 内聚与耦合密切相关 同其它模块强耦合的模块意味者弱内聚 强内聚模块意味着与其它模块间松散耦合 设计目标 力争强内聚 弱耦合 4 4结构化设计方法 软件设计分为两个阶段 1 概要设计 总体设计 确定软件的结构以及各组成成分 子系统或模块 之间的相互关系 2 详细设计确定模块内部的算法和数据结构 产生描述各模块程序过程的详细文档 4 5概要设计 总体设计 主要确定 软件系统的结构各模块功能及模块间联系 接口 表示软件结构的图形工具结构图层次图和HIPO图 面向数据流的设计方法 结构化设计方法SD 4 5 1 面向数据流设计方法的基本概念SD以数据流图为基础 它定义了把DFD变换成软件结构的不同映射方法 映射 DFD 问题结构 软件系统的结构 程序结构 系统结构特征可归纳为两种典型形式 变换型结构事务型结构数据流图可分为两种类型 变换型数据流事务型数据流 变换中心 输入 输出 变换型结构 事务中心 接受路径 动作路径 基本模型特征 事务型结构 由输入 变换中心和输出三部分组成 具有在多种事务中选择执行某类事物的能力 变换型数据流结构 事务型数据流结构 传入 变换 传出 变换中心 传入部分 传出部分 事务分析 事务中心 动作1 动作2 动作3 接受 接受部分 变换型数据流举例 输入信息 物理输入 格式检查 处理 显示 正确信息 结果 物理输出 数据 变换中心 逻辑输入 逻辑输出 传入部分 传出部分 特点 具有明确的传入 变换 或称主加工 和传出界面的DFD 事务型数据流图举例 I M L N O A B C D F E G H 大型系统DFD中 变换型和事务型结构往往共存 T 事务中心 传入 变换 传出 4 5 2面向数据流设计方法的设计步骤 1 精化DFD 2 确定DFD类型 3 把DFD映射到系统模块结构设计出模块结构的上层 4 基于DFD逐步分解高层模块设计出下层模块 5 根据模块独立性原理 精化模块结构 6 模块接口描述 面向数据流方法的设计过程 精化数据流图 区分事务中心和数据接收路径 映射成变换结构 流类型 区分输入和输出分支 映射成事务结构 用启发式设计规则精化软件结构 导出接口描述和全程数据结构 复查 详细设计 事务 变换 事务分析 变换分析 SD方法的两种映射过渡方法 变换型DFD 事务型DFD 初始SC 初始SC 变换分析 事务分析 初始的SC 主模块 输入模块 主加工模块 输出模块 事务控制模块 接受模块 动作发送模块 动作1模块 动作2模块 动作3模块 由变换分析产生 由事务分析产生 1 变换分析设计方法 步骤 1 区分传入 变换中心 传出部分 在DFD上标明分界线 B C A D E Q P R W U V a b c e d r p u w v 变换中心 传入部分 传出部分 变换分析设计方法步骤 2 第一级分解 建立初始SC框架 设计顶层和第一层模块 第一级分解的方法 MC MT MA ME 第一级分解后的SC MC MT MA ME 第一层 顶层 c e c e u w u w 传入模块 传出模块 中心变换模块 变换分析设计方法步骤 3 第二级分解 分解SC各分支 自顶向下分解 设计出每个分支的中 下层模块 传入分支的分解 MA C B A b a c E D d e c e 传出分支的分解 W v ME U w u w u V 1 中心加工分支的分解 MT P Q R e c p r u w p r 任何情况下都可使用变换分析方法设计软件结构 但如数据流具有明显的事务特点时 有一个明显的事务中心 以采用事务分析方法为宜 2 事务分析设计方法 事务分析设计方法步骤 1 在DFD上确定事务中心 接收部分和发送部分 2 画出SC框架 把DFD上的三部分分别映射为事务控制模块 接收模块和动作发送模块 3 分解细化接收分支和发送分支 完成初始SC 用户命令交互子系统 密码命令 密码 显示信息 系统参数数据 用户命令 读系统数据 配置信息 显示信息和状态 命令分析处理 命令类型 开 关命令 建立配置文件 原配置数据 格式化配置数据 配置命令 重试信息 四位数字 检验信息 检验信息 A D信息 格式化配置数据 格式化配置数据 初始的SC 主模块 输入模块 主加工模块 输出模块 事务控制模块 接受模块 动作发送模块 动作1模块 动作2模块 动作3模块 由变换分析产生 由事务分析产生 事务分析的映射方法 总控 调度 B路径 C路径 接收路径 用户命令交互子系统初始的SC 用户执行模块 读用户命令 命令处理 用户命令交互子系统 密码 显示信息 系统参数数据 用户命令 读系统数据 配置信息 显示信息和状态 命令分析处理 命令类型 建立配置文件 原配置数据 格式化配置数据 重试信息 四位数字 检验信息 检验信息 A D信息 格式化配置数据 格式化配置数据 密码命令 开 关命令 配置命令 用户命令交互子系统的SC 用户执行模块 读用户命令 命令处理 用户命令交互子系统 密码 显示信息 系统参数数据 用户命令 读系统数据 配置信息 显示信息和状态 命令分析处理 读密码 命令类型 建立配置文件 原配置数据 与文件中密码比较 格式化配置数据 检验信息过程 重试信息 四位数字 检验信息 检验信息 A D信息 配置数据 格式化配置数据 密码命令 开 关命令 配置命令 用户命令交互子系统的SC 用户执行模块 读用户命令 命令处理 4 5 2层次图和HIPO图 IBM公司发明的HIPO图 层次图 输入 处理 输出图 H图 IPO图 HierachyInputProcessOutput 1 层次图 H图 表示软件的层次结构 正文加工系统 输入 输出 编辑 加标题 存储 检索 编目录 添加 删除 插入 修改 合并 列表 带编号的层次图 H图 正文加工系统 输入1 0 输出2 0 编辑3 0 加标题4 0 存储5 0 检索6 0 编目录7 0 添加3 1 删除3 2 插入3 3 修改3 4 合并3 5 列表3 6 2 HIPO图 H图中每一方框 模块 均有一张IPO图对应航线调度系统HIPO图举例H图 命令监控器1 0 取得输入1 1 输入确认1 2 请求确认1 3 更新处理1 4 传统的IPO图举例 输入 处理 输出 读口令请求 口令文件 1取得输入 2口令确认 3请求确认 请求记录 权限文件 4更新处理 权限记录 状态报告 响应 命令监控器 1 0 的IPO图 改进的IPO图格式 IPO图 系统 模块 编号 作者 日期 被调用 调用 输出 输入 输入 局部数据元素 注释 4 6详细设计 过程设计 模块设计 主要任务 编写详细设计说明书为此 设计人员应 1 确定每个模块的算法 用工具表达算法的过程 写出模块的详细过程性描述 2 确定每一模块的数据结构 3 确定模块接口细节 详细设计是编码的先导 4 6 1详细设计的描述方法 详细设计工具 1 图形工具 2 表格工具 3 语言工具 1 程序流程图 2 盒图 N S图 3 问题分析图 PAD 4 过程设计语言 PDL 伪码 5 判定表 1 盒图 N S图 用方框图代替传统的流程图描述五种基本控制结构的图形构件 1 顺序型 A B C 2 选择型 If then else If then elseIf then A B F 条件 T A F T 条件 then 部分 then 部分 else 部分 3 多分支选择型 CASE型 A1 值1 A2 An 条件 值2 值n 4 WHILE重复型 5 UNTIL重复型 S 循环体 DO WHILEP S 循环体 REPEATUNTILP 先测试循环 后测试循环 循环条件 6 并行结构 A1 A2 An 7 移出标记 A C B F X6 T A D 调用结构 2 问题分析图 PAD ProblemAnalysisDiagram 基本控制结构 1 顺序结构 2 选择结构 A B C A B T F 条件 3 重复结构 WHILEC S UNTILC S 先测试循环 后测试循环 等价的PASCAL语言 REPEATCUNTILS 等价的PASCAL语言 WHILECDOS 4 多分支选择型 CASE型 A1 值1 值2 值n A2 An 条件 3 判定表 决策表 描述多条件 多目标动作的形式化工具 判定表举例 计算机票折扣率 旅游时间 订票量 折扣量 7 9 12月 20 20 20 20 15 5 20 30 条件类别 四种条件组合 操作 条件组合下操作的执行 1 6 10 11月 判定树 Decision决策树 条件1条件2结果计7 9 订票量 20 15 算12月订票量 20 5 折扣1 6 订票量 20 30 量10 11月订票量 20 5 4 PDL 1 关键字的固定语法 它提供了结构化控制结构 数据说明和模块化的特点 为了使结构清晰和可读性好 通常在所有可能嵌套使用的控制结构的头和尾都有关键字 例如 if fi 或endif 等等 2 自然语言的自由语法 它描述处理特点 3 数据说明的手段 应该既包括简单的数据结构 例如纯量和数组 又包括复杂的数据结构 例如 链表或层次的数据结构 4 模块定义和调用的技术 应该提供各种接口描述模式 1 可使用性 使用简单 用户界面中所用术语的标准化和一致性 具有HELP功能 快速的系统响应和低的系统成本 具有容错能力2 灵活性 考虑用户的特点 能力 知识水平 提供不同的系统响应信息 提供根据用户需求制定和修改界面 3 界面的复杂性与可靠性复杂性 界面规模及组织的复杂程度 应该愈简单愈好 可靠性 指无故障使用的时间间隔 用户界面应该能够保证用户正确 可靠地使用系统 及程序 数据的安全 4 7 1用户界面应具有的特性 4 7用户界面设计 1 用户特性分析 用户模型了解所有用户的技能和经验 针对用户能力设计或更改界面 从以下方面分析 用户类型 通常分为 外行型 初学型 熟练型 专家型 用户特性度量 与用户使用模式和用户群体能力有关 包括 用户使用频度 用户用机能力 用户的知识 思维能力等 4 7 2用户界面设计的任务 这部分工作应该与软件需求分析同步进行 包括以下内容 2 用户界面的任务分析 任务模型 DFD图 是对系统内部活动的分解 不仅要进行功能分解 用DFD图描述 还要包括与人相关的活动 每个加工即一个功能或任务 3 确定用户界面类型 1 菜单 menu 按照显示方式正文菜单 图标菜单 正文和图标混合菜单 如 开始菜单 4 7 3用户界面的基本类型 字符界面 GUI界面 无交互界面 设计原则 以人为本 以用户的体验为准 GUI界面的主要元素如下 按屏幕位置和操作风格固定位置 浮动位置 弹出 下拉式 嵌入式 混合菜单 2 图象在用户界面中 加入丰富多彩的画面 将能够更加行象地为用户提供有用的信息 以达到可视化的目的 主要的处理操作有 图象的隐蔽和再现 屏幕滚动和图案显示 动画等 3 对话框对话框是在需要时 显示在屏幕上一个矩形区域内的图形和正文信息 通过对话 实现系统和用户之间的通信 对话框显示的方式与弹出式菜单类似 即瞬时弹出 同时 系统还应将对话框所覆盖的原图象进行保存 以便在对话结束后能立即恢复 有三种对话形式 必须回答式如图3 58所示无需回答式如图3 59所示警告式如图4 58所示 必须回答式对话框 无需回答式对话框 警告式对话框 4 窗口 window 图形学中称为视图区 Viewport 视为虚拟屏幕 一个实用窗口 可包含部件 菜单区 menubar 图标区 iconbar 标题区 titlebar 移动区 movebar 大小区 sizebar 退出区 quitbar 用户工作区 user sworkbar 横向滚动区 horizontalscrollbar 纵向滚动区 verticalscrollbar 窗口 数据I O界面 是系统的重要组成部分 主要从输入速度和减少出错率考虑 1 尽量减少输入工作量对相同内容输入设置默认值自动填入列表选择或点击选择 2 屏幕显示与输入匹配即屏幕显示按照数据使用频率 重要性 次序等组织 3 数据输入的一般规则确定输入交互动作确定删除提供反馈 4 7 4数据I O界面设计 4 7 5软件设计规格说明与复审 二 设计复审必要性统计表明 软件开发过程中50 60 的错误是在设计阶段引入的 一 软件规格说明书软件设计阶段完成 应提交设计文档 1 改进后的模块结构图 包含模块说明 2 各模块的详细说明 流程图 N S图 PAD图等 复审方式1 正式复审 会议详细审议 2 临时性复审 对局部问题进行讨论 补充 软件体系结构1 什么是软件体系结构 对系统结构的总体设计与说明是一种高层设计关注三方面问题 构件 构件间关系 关系约束构件 软件系统由哪些部分构成例如 程序模块 数据库 服务器等构件间的关系 这些部分之间的交互关系是什么例如 RPC 远程过程调用 共享内存等关系的约束 这些关系有什么约束例如 互斥 依赖 2 目前软件体系结构的研究热点 1 软件体系结构描述ADL 2 软件体系结构分类原理 模式 3 特定领域的框架框架 4 体系结构形式化的基础过程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届山东省平邑县曾子学校高三上化学期中联考试题含解析
- 2026届河南省郑州市第十九中学化学高一上期末学业水平测试试题含解析
- 博物馆文物展厅施工方案
- 粮库安全生产的培训方案
- 具身智能+深海探索自主机器人方案可行性报告
- 具身智能+智能家居老年人生活安全监控方案可行性报告
- 具身智能在农业机器人种植的应用方案可行性报告
- 具身智能+特殊教育环境下的辅助沟通工具方案可行性报告
- 商业物业物业服务质量监控方案可行性报告
- 2026届陕西汉中市汉台区县化学高二上期末学业质量监测试题含答案
- TDS1000B和TDS2000B 系列示波器使用手冊
- 铝屑清扫安全管理制度
- 金融调解知识培训课件
- 运动鞋购销合同
- DB33-T 1406-2024 职务科技成果转化管理规范
- 2025年陕西省职教高考《英语》考前冲刺模拟试题库(附答案)
- 灭火器安全知识培训课件
- 老年期谵妄的护理
- 农村宅基地转让合同
- 《三伏天前与三伏天穴位贴敷治疗过敏性鼻炎的临床研究》
- 肺癌治疗进展2024
评论
0/150
提交评论