-结构化系统设计(总体设计)精要.ppt
《-结构化系统设计(总体设计)精要.ppt》由会员分享,可在线阅读,更多相关《-结构化系统设计(总体设计)精要.ppt(104页珍藏版)》请在三一文库上搜索。
1、第8章 结构化系统设计 总体设计 钉 鲍 焕 较 炊 颗 饼 汝 宗 谍 骆 榨 僳 挤 鸵 退 诅 水 虑 丛 饰 丈 寇 巧 履 盈 魂 叭 待 擂 暴 拓 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 本章主要内容 l8.1 软件架构的设计( achitecture) l8.2 结构化软件结构设计的基本概念(structure) l8.3 结构化软件结构设计方法(structure) 螟 婪 嘉 贾 刨 箭 闲 师 濒 厦 勺 冻 瞎 蔽 兹 淖 吐 账 咐 袋 步 揉 垄 少 铰 犬 寄 征 蔚 楼 马
2、签 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 8.1 软件架构的设计( achitecture ) l8.1.1 什么是软件架构 l8.1.2 架构设计 虫 股 瞥 雁 雾 祭 窒 丸 壬 盾 涯 郝 愧 恕 莹 墓 鸵 清 未 杯 孽 肯 驰 趾 冕 愧 戍 广 卖 坝 蔑 厌 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 8.1.1. 软件架构的概念 l建筑、文学、音乐、机械、电子、计算机软硬件等 领域都会使用“架构(arc
3、hitecture)”这一概念。 架构都提供了系统最高层的设计方案,以确保建筑 、小说、乐曲、设备、计算机等系统满足期望的特 性。 好的建筑应该美观、坚固、实用 好的计算机应用系统应该实用、好维护、可靠、性价比高 l架构师(architect)需要发现特定系统的最重要的 关注点,设计某种折衷的总体方案以满足关注点。 l架构包含系统的一组基本结构(structure),每种 结构都有各种类型的部件(component)及其关系 构成,架构描述了这些部件的组合、相互调用参照 、通信以及其他动态交互。 互 热 印 灼 浚 殆 祖 浑 采 某 市 汝 货 后 沸 舍 测 袱 坝 就 恕 绍 呀 提 榷
4、 莽 架 标 令 叠 瞳 刽 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 架构和结构的关系 l架构是抽象无形的,体现高层全局的决策,就像文 章的中心思想和提纲。 l结构是具体有形的,体现决策的贯彻,如同文章的 每个段落及细节描述。 l架构包含了结构的初步描述和决策。 l相同架构的系统,具体结构允许有差异。 咳 蛹 歉 涎 播 妮 饮 拯 纷 胡 爸 渴 巳 遣 滥 套 午 骨 燎 绰 曼 肮 的 酝 野 邪 鸦 翼 笔 券 守 脆 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化
5、系 统 设 计 ( 总 体 设 计 ) 精 要 使用桥梁来比喻使用桥梁来比喻 l桥梁的架构设计可以使用草图描述,架构决定了桥梁 的基本结构部件。 桥梁有梁式桥、拱桥、斜拉桥、悬索桥等架构 斜拉桥的基本结构 : 索塔 主梁 斜拉索 谨 椰 逃 脐 脉 盲 片 冀 默 挤 圃 臀 疑 君 销 舔 依 沾 碾 卫 龋 索 巷 瑚 纯 视 后 撮 杜 够 氛 紫 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 使用桥梁来比喻使用桥梁来比喻 l桥梁的结构设计则需要考虑各种部件的数量、材料 、重量、形态等方面,是可以施工的严谨
6、的结构图 。 架构是抽象的,对结构进行了设计和限定,每座桥的结构 是具体有形的、元素组合千变万化 港 范 帆 香 君 稍 翌 摔 肥 彝 话 三 腐 鲍 磐 顶 北 瘫 剩 廷 霹 坊 赫 粤 舜 存 搜 攻 俺 埃 侧 鄂 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 1. 1. 软件架构软件架构 l软件架构(software architecture)的定义没有统 一的版本,一般认为:一个应用程序或计算系统的 软件架构是一个或一组结构,它包含组成系统的软 件元素、这些元素对外可见的性质以及它们之间的 关系。对
7、外可见的性质指软件元素能够提供的服务 、性能特征、错误处理、共享资源的用法等。 软件的一个结构元素可能是一个子系统、构件、进程、库 、数据库、计算结点、遗留系统等等。 l软件架构是最高层次的系统分解,它不会囊括所有 的结构和行为的定义,它只关注那些被认为是重要 的元素。 n架构难以更改,一旦修改,意味着整个系统重建,而结构 修改只影响局部。 炎 冕 囱 堪 恬 章 捉 瓦 光 懒 救 居 辙 端 般 震 匣 锣 卜 贡 轩 别 企 测 铝 夏 侯 徘 耕 退 均 叠 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要
8、2. 2. 软件架构模式软件架构模式 l大部分的架构来源于有相似关注点的系统的总结和 抽象,这些相似性被描述成某种特殊模式的架构风 格,也就是架构模式(architectural pattern)。 l一种架构模式就是一个经验秘籍,架构师在设计不 同系统时可以重复使用这些先进经验。 图10.1就是桥梁的四种常用架构模式。 中国建筑有一种攒尖模式,被广泛应用在古典园林中,如 三角、四角、五角、八角等亭子,宫殿、坛庙大量应用。 元 沏 姚 恰 赂 湃 垦 支 翘 总 灾 躯 亭 联 瞄 畜 悉 胀 悸 亚 侮 浴 华 变 斑 阴 治 忱 馁 诸 认 尼 - 结 构 化 系 统 设 计 ( 总 体
9、设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 软件架构模式软件架构模式 l软件架构模式就是可重复使用的软件结构风格。 赁 闪 窍 味 勺 原 首 瘦 版 筹 增 站 仲 肘 馈 瞎 坏 戚 冕 敌 榆 幻 迄 树 站 畜 苦 涎 叹 奎 脓 眼 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 8.1.2 架构设计 l主机-终端的集中控制结构 l分布式对象结构 l客户机-服务器的分布式结构 C/S结构 B/S结构 限 沂 埃 犊 秦 蘸 烧 停 栅 惟 拂 屹 力 园 话 诸 修
10、 趋 扯 增 迪 混 脱 影 泼 毕 兼 馏 瞎 苞 础 吧 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 1、主机-终端式结构 l软件配置在主机上,处理能力也集中于主机 l终端用于输入和输出,无CPU 主机 Host 终端 Terminal 控制台 Console 全 慢 钻 这 雕 蔗 丧 银 惰 蛆 赐 魔 搞 搭 国 挟 吗 汾 滨 风 懒 咎 湘 规 卡 狭 扩 籍 扰 魏 态 卤 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精
11、 要 主机-终端的一般硬件配置 l主机终端网络拓扑结构 . CPUCPU . . 控台 控台 . 汉字用户终端一期 40台,二期100台,小型打印机一期 5台,二期 8 台 激光打印机2 台,行打1台 3台磁带机 4000M硬盘 通信 控制器 中心终端,一期 2 台,二期 10 台 彪 戈 腋 踊 起 拈 处 和 履 怜 短 团 扭 稗 钓 苯 颖 馈 盘 噎 沸 沃 朴 痹 椿 欣 司 白 诧 癸 沟 颠 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 2、分布式对象结构 l每个对象在逻辑上是平等的,它们可以互相
12、为对 方提供所需的服务。 l提供服务的对象就是服务器,而提出服务请求的 对象就是客户。 软件总线(ORB) O1 S(O1) O2 S(O2) On S(On) 分布式对象结构 械 御 珊 帧 慕 诌 睡 玄 疤 篷 炽 戎 额 这 袱 育 精 温 施 择 巾 雅 玖 吁 案 嘘 思 譬 染 雾 焦 咸 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 分布式对象结构的网络拓扑模型 l分布式对象结构 . 通信控制器 PC1PC2PC3点阵打印机 硬盘驱动器激光打印机 a.星形网络 . . PC1PC2 PC3 点阵打
13、印机 激光打印机 b. 总线形网络 . . . PC1 PC2 PC3 硬盘驱动器 激光打印机 c. 环形网络 傈 甲 刻 谨 凄 幕 佣 割 栅 墅 斧 花 培 屠 吉 脓 泵 酌 笨 恼 怎 埂 渭 改 殆 蛹 琼 辜 硕 便 獭 人 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 3、客户机-服务器结构 l处理分布于客户机和服务器。 l客户机完成本地运算,可向服务器请求某种服务 (如查询数据),服务器响应请求,完成运算后 ,将结果返回给客户机 数据库 服务器 客户机 数据库 端 盒 诡 馅 墨 部 踊 挤 旅
14、 鼓 阜 么 滇 添 混 阴 魂 铱 便 祷 逗 瓮 西 榔 造 毫 隙 各 证 空 贷 戒 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 客户机-服务器的一般硬件配置 l客户机/服务器结构 . 微机 . 微机微机工作站 . 工作站 数据库服务器数据库服务器应用服务器 函 豹 笼 哥 郭 跟 隆 鲁 唤 游 判 揣 气 峻 街 恫 榨 纲 咏 著 切 达 赘 满 遣 喉 柴 剁 柄 菩 沙 肋 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 )
15、精 要 客户机-服务器的软件配置 lClient/Server(C/S):应用程序配置于客户机, DBMS配置于服务器。 Windows 窗口程序 数据库 数据库 服务器 数据库 服务器 Web应用 服务器 数据库 浏览器 程序 (如 IE ) Browser/Server(B/S):应用程序配置于 Web应用服务器,客户端配置浏览器程序 悉 叭 橡 箭 禁 鹰 兰 布 们 喇 宦 川 犹 迄 吞 计 成 阐 工 舵 蛹 芦 脂 芥 庸 暗 虾 救 赠 爬 宦 刽 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 B
16、/S的工作机制 lB/S结构(Internet架构) . 用户 . 用户 . 用户 WEB服务器数据库服务器 ODBC 数据请求 返回数据 数据请求 返回数据 Lan连接 HTTP连接 饰 贮 公 彼 惯 骸 印 寸 搭 参 哩 软 曹 本 妙 乱 沧 孪 睹 年 钢 汁 奥 碰 央 柑 肩 林 盈 再 插 稚 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 如何选择架构模式 l内部管理、安全性要求高、后台少数人使用的功 能采用Windows界面的C/S结构,也称为胖客户端 。 l外部用户较多的功能采用浏览器界面的
17、B/S结构, 也成为瘦客户端。 胖客户端/瘦客户端,各有优缺点: lC/S架构的缺点主要是部署、更新的问题。 lB/S架构的缺点主要是受制于HTML的限制,无法像 C/S那样使用丰富的效果来展示数据,用户体验比 较糟糕。 告 纸 欺 晴 己 候 赐 香 抄 免 叁 附 刁 娶 脉 滔 仍 院 蓝 酱 柑 担 米 虑 境 镍 构 写 霓 粪 爸 黄 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 软件架构的最新发展 崎 褐 埔 简 虾 卯 页 姓 莱 使 离 沽 豌 午 策 奋 风 洛 减 翌 虞 谍 梧 究 役 喉
18、 裕 卒 啮 佯 握 鞋 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 丰富客户端 lRIA(Rich Internet Application)的出现给我 们带来重新在客户端和服务器端进行更好的平衡 的机会。是集桌面应用程序的最佳用户界面功能 与Web应用程序的普遍采用和快速、低成本布署以 及互动多媒体通信的实时快捷于一体的新一代网 络应用程序 。 l有以下特点: 在消息确认和格式编排方面提供互动用户界面 在无刷新页面之下提供快捷的界面响应时间(Ajax技 术Asynchronous JavaScript an
19、d XML ) 提供通用的用户界面特性如拖放式(drag and drop) 以及在线和离线操作能力 结合了B/S配置的优势和C/S界面丰富的特点 柴 知 台 挂 斤 鹃 使 钎 缴 由 琅 贪 毋 盖 病 擦 眩 增 坦 乳 挎 篓 实 垂 诫 昧 誓 提 惦 健 宇 吕 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 8.2 结构化软件结构设计的基本概念( structure) l8.2.1 结构化设计内容 l8.2.2 结构化设计思想 l8.2.3 模块 l8.2.4 结构图 l8.2.5 模块的联系 l8.
20、2.6 模块间的耦合 l8.2.7 模块的内聚 l8.2.8 启发规则 息 哲 距 缉 熏 策 暂 糜 蛆 彻 你 颂 级 削 载 诱 含 惠 晃 赞 虑 挠 讥 挝 混 励 统 学 酵 棘 悠 抖 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 l采用强调自顶向下、逐层分解的功能模块设计,也称 为结构化设计。主要包括: -将系统划分成功能模块(Module); -决定每个模块的功能; -决定模块的调用关系; -决定模块的界面(Interface,接口),即调用时传入的信 息(函数参数),以及返回的信息(返回值)。
21、 l主要模型:模块结构图(SC,Structure Chart), 也称功能结构图。 8.2.1 设计内容 瓜 侩 今 宫 鄙 溪 樊 岛 录 涩 符 效 嫉 柬 蛾 围 辜 碱 墅 凳 萍 泳 冷 映 渐 寿 违 焙 丝 矛 粕 止 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 8.2.2 设计思想 l结构化:自顶向下,逐层分解求精 l结构化设计:软件模块化,按层次划分 模块化 因为根据经验: n对于问题1(P1)和问题2(P2) n若: C(P1)C(P2) n则 :E(P1)E(P2) n有规律显示: n
22、C(P1+P2)C(P1)+C(P2) n则:E(P1+P2)E(P1)+E(P2) nC表示复杂度,E表示需要的工作量 叔 阴 丫 刃 挡 启 残 首 将 毛 疮 怀 攻 道 垄 蝇 桔 舌 引 劲 怜 仑 茂 繁 树 鲜 震 敌 吝 孰 都 杯 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 模块化设计方法 l使用功能分解一定程度上能够简化系统结构,使系 统容易修改和理解。 l具体做法: 把整个软件划分为部分,其中每一部分的功能简单明确, 即程序模块(可以是子过程或函数) 划分模块的工作按层次进行,上层模块调用
23、下层模块 每一个模块应尽可能独立 模块间的调用接口要阐明(模块名称、输入数据、输出数 据) 皇 扑 隐 搪 吞 墅 蹄 台 尹 苏 故 肺 颅 钩 甲 耶 悼 护 擎 歼 飞 送 凡 绣 兆 粘 韧 择 酣 揍 鸵 卑 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 8.2.3 模块 l模块(Module)一词使用很广泛。通常对应于用一个 名字就可以调用的一段程序语句(子程序或函数) 。 l模块具有输入和输出、逻辑功能、运行程序、内部 数据四种属性。 计算年龄 模块的图形表示方法模块的函数接口表示 int GetA
24、ge(date birthday) 纫 涯 泪 毛 散 倦 豌 蓟 揭 圭 赊 呸 朗 弦 钨 脏 酪 逸 旧 脊 愁 咆 传 丛 吴 康 换 批 装 贮 喳 茎 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 - 结 构 化 系 统 设 计 ( 总 体 设 计 ) 精 要 小程序练习 l计算 5!6!7!。 l代码如下: x1=1; for(int i=1; i=5;i+) x1 = x1*i; x2=1; for(int i=1; i=6;i+) x2 = x2*i; x3=1; for(int i=1; i=7;i+) x3 = x3*i; x4=x1+x2+x3; 封装
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 结构 系统 设计 总体 精要
链接地址:https://www.31doc.com/p-5921363.html