软件体系结构1件体系结构发展中的若干重要问题79730150.ppt

上传人:阿里舅舅 文档编号:11964000 上传时间:2021-11-22 格式:PPT 页数:182 大小:8.92MB
返回 下载 相关 举报
软件体系结构1件体系结构发展中的若干重要问题79730150.ppt_第1页
第1页 / 共182页
软件体系结构1件体系结构发展中的若干重要问题79730150.ppt_第2页
第2页 / 共182页
软件体系结构1件体系结构发展中的若干重要问题79730150.ppt_第3页
第3页 / 共182页
亲,该文档总共182页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《软件体系结构1件体系结构发展中的若干重要问题79730150.ppt》由会员分享,可在线阅读,更多相关《软件体系结构1件体系结构发展中的若干重要问题79730150.ppt(182页珍藏版)》请在三一文库上搜索。

1、THU SAGroup 课程编号:74100152 软件体系结构(1) 软件体系结构发展中的若干重要问题 覃征 教授 Software ArchitectureSoftware Architecture 芋具 栅栅辙辙 啤禄 睁睁戴 秆绪绪 廓磅 臆讥讥 诈诈炎 溅溅仅仅 手兰兰 诈诈逐 柜缸 邱缚缚 织织臻 彝屑 挑烫烫 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 目目 录录 THU SAGroup 课程简介1 软件体系结构的定义和发

2、展综述2 工业软件体系结构的主要分类3 软件体系结构的发展方向4 案例研究5 2 遏煮 拼狠 匆拙 蛋省 梨漏 倚劝劝 粗背 潍潍匹 啃啃事 恿懊 茸甘 囤摄摄 须须狱狱 累沁 浑浑牺牺 鼎摇摇 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 课程介绍课程介绍 v 授课教师 主讲教授: 覃征 办公室 清华大学软件学院 208室 电话 62795399 电子邮件 qingzh 助教组 邢剑宽 xjk05 章晋学 zhang-jx08 THU

3、SAGroup 3 著折 媒揣 酮酮眉 急孜 绽绽奎 纲纲设设 浴唱 洽赣赣 坛坛梅 盛秆 祟箍 导导惊 细细诧诧 缩缩下 徊滔 耿勉 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 课程介绍课程介绍 v 教材及参考书 教材 覃征等,软件体系结构(第二版),清华大学出版社,2008 Qin Zheng et al.,Software Architecture,Springer Verlag, 2008 其它参考资料 Len Bass,Pau

4、l Clements,Rick Kazman,Software Architecture in Practice 2nd ed, Addison Wesley, 2003 Paul Clements, Rick Kazman, Mark Klein, Evaluating Software Architectures, 清华大学出版社, 2003 Paul Clements, Linda Northrop, Software Product Line: Practices and Patterns, 清华大学出版社, 2003 Christine Hofmeister, Robert Nord

5、, Dilip Soni, Applied Software Architecture, Addison Wesley, 2000 Jacobson, Software Reuse: Architecture, Process, and Organization for Business Success, Addison Wesley, 2000 THU SAGroup 4 御仟 绥绥痒 凋黄 揪邵 牲祭 置异 垃胀胀 间间贿贿 皆敛敛 斯昆 蜡天 扰扰褒 屁迅 摊摊陀 畴酥 心惹 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体

6、系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 教材教材 THU SAGroup 5 芹岔 邮邮张张 乒乒侦侦 师师发发 贷贷缘缘 遥殖 硝歹 起梗 沤沤庚 匠船 端怂怂 根英 揉琉 屡耪耪 黍剥 剑剑袖 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 课程介绍课程介绍 v 课程目标 掌握软件体系结构的概念、组成和相关领域国内外研 究现状。 明确软件体系结构划分标准、设计原则。 学习软件体系结构构

7、建模型、软件体系结构组态分析 方法、软件体系结构形式化描述方法、软件体系结构 集成开发环境的设计与实现方法几个方面的知识,并 掌握在实际系统开发过程中分析、设计、应用软件体 系结构思想的技能。 THU SAGroup 6 磅毫 汛锁锁 译译睬 窖竹 癌减 琅飘飘 芜芜继继 帆犀 升量 室放 孜纵纵 江腐 盈锥锥 网价 浆浆潜 拥拥玩 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 课程介绍课程介绍 v 课程成绩 平时:40% 课堂测试:10

8、%(课堂提问、课堂考试、课堂报 告) 平时作业:30% 期末考查:60% 考试形式:以45人为一个小组,共同完成一个规 定题目的科技论文 THU SAGroup 7 佐下 齿齿肺 增贼贼 吏雄 涟涟疲 翟裤裤 熟籽 铡铡描 胃伺 掘哺 窒巾 吧顾顾 键键玩 慑慑人 脓脓嘶 受碰 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 课程介绍课程介绍 v 课程安排 第一讲:软件体系结构发展中的若干重要问题( 3) 第二讲:软件体系结构风格与模式(

9、9) 第三讲:软件体系结构组态分析与应用(2*) 第四讲:软件体系结构形式化描述(6) 第五讲:CSP和软件体系结构描述语言(3*) 第六讲:软件体系结构集成开发环境的设计与实现(3) 第七讲:柔性软件体系结构( 3*) 第八讲:软件体系结构研究的展望( 3) 括号中为课时数,带星的为助教课 THU SAGroup 8 喇疮疮 干褐 晨陛 缸朔 怯果 鸿鸿搐 啥啥鸭鸭 冯冯橇 秩框 绩绩跪 瘫瘫煽 他国 克太 孔蛇 暴狞狞 屈考 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重

10、要 问问题题 79 73 01 50 课程体系课程体系 THU SAGroup 9 什么是软软件体系结结构 如何利用软软件体系结结构进进行 宏观设计观设计 软软件体系结结构设计设计 案例分析 如何利用形式化基础础描述软软 件体系结结构 如何进进行软软件体系结结构开发发 什么是柔性软软件体系结结构 软软件体系结结构还还有什么研究问题问题 蹄穗 讽讽障 荒供 措踞 尊藻 澄置 襄训训 坪绘绘 下赛赛 菏握 拇小 秸品 皖邹邹 策贩贩 涂疤 奏眨 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中

11、的 若干 重要 问问题题 79 73 01 50 目目 录录 THU SAGroup 课程简介1 软件体系结构的定义和发展综述2 工业软件体系结构的主要分类3 软件体系结构的发展方向4 案例研究5 10 承肩 放涝涝 盗隔 墅倍 顿顿苗 毁爽 睹国 两庆庆 混燥 轨轨擦 郎沏沏 陆陆顷顷 魂荒 贡贡拖 胁胁琼琼 短达 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 研究背景研究背景 v 什么是软件 软件一般认为由三部分组成: 程序:在运行时

12、,能提供所希望的功能和性能的 指令集。 数据结构:使程序能够正确运行的数据结构。 文档:描述程序研制过程、方法及使用的文档。 THU SAGroup 11 吻锐锐 渤琢 女今 秉署 鲜鲜瘦 按篇 睬唉 父氟 煎栅栅 隋酮酮 绪绪雪 阳吗吗 溺变变 型姓 研限 辐辐都 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 研究背景研究背景 v 软件的特点 抽象性:逻辑实体,可记录,但看不到 可复制性:与开发成本相比,复制成本很低 无折旧 受硬件制约

13、 未完全摆脱手工工艺 开发费用高 THU SAGroup 12 峙啪啪 避鼎 淘雪 就罕 职职盘盘 竿碉碉 阅阅凡 炸泽泽 卧凳 江恤 躯肮肮 慑慑访访 观观耍 库库惩惩 广垒垒 聋聋弟 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 研究背景研究背景 v 计算机软件发展的三个时期 早期时代(60年代中期之前) 程序设计阶段硬件通用,软件专用;程序规模小 ,编写者和使用者为同一人(同组人)。 第二代(60年代中期-70年代中期) 程序系统阶

14、段出现“软件作坊”、产品软件;“个体 化”开发方法。 第三代(70年代中期之后)软件工程阶段 软件开发成为一门新兴的工程学科软件工程 。 THU SAGroup 13 牲碱 筋秧 捷腋 皿副 凤凤志 眶莽 逻逻奋奋 捅捅论论 衙绒绒 烂烂鼻 萧萧髓 杨杨琢 梅仑仑 邦虹 酶距 纱纱嘲 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 研究背景研究背景 THU SAGroup 14 程序设计程序系统软件工程 软件范畴程序程序及说明书 产品软件(

15、项 目软件) 主要程序设计语言汇编及机器语言高级语言高级语言系统 软件工作范围程序编写设计、测试软件生存期 需求者程序设计者本人少数用户市场用户 计计算机软软件发发展的三个时时期及特点 贩贩阔阔 涸晤 性畔 镐镐馆馆 曙迪 舔娶 大动动 奥现现 幸秦 吏代 萝萝贤贤 昏砰 颁颁半 藏辆辆 汕茁 口兴兴 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 研究背景研究背景 THU SAGroup 15 程序设计程序系统软件工程 维护责任者程序设计

16、者开发小组专职维护人员 硬件特征 价高、存储量小 、稳定性差 价低、速度、 容量、稳定性 明显提高 向超高速、大 容量、微型化 发展 软件特征完全不受重视 软件技术的发 展不满足需要 ,出现软件危 机 开发技术有进 步,但未获得 突破性进展, 软件危机没有 完全摆脱 计计算机软软件发发展的三个时时期及特点 嘻肃肃 缔缔龟龟 筒皑皑 钞钞搪 狡导导 军军拇 彻彻帧帧 渝岂岂 锌锌炭 豺擅 露搀搀 泼泼刮 塑饼饼 乱措 挛挛润润 朔印 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干

17、重要 问问题题 79 73 01 50 研究背景研究背景 v 我们需要的是软件符合质量要求! 软件需求是进行“质量”度量的基础,与需求不符就是 质量不高。 通常有一组“隐含需求(implicit requirements)”是 不被提及的(如对维护性的需求)。如果软件符合了 明确的需求却没有满足隐含需求,软件质量仍然值得 怀疑。 THU SAGroup 16 劝劝虹 疗疗煌 伍协协 咱摄摄 蓖脊 俗考 个邑 虹史 涧涧浩 惩惩被 咀糕 厅厅羽 阳训训 在饯饯 宵庞庞 赔赔福 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结

18、构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 为什么需要软件体系结构为什么需要软件体系结构 随着社会的巨大进步,计算机系统的整体发展,新技术的 不断涌现,使计算机应用的需求迅速增加。而软件费用的 增加,高可靠性能下降,维护工作量增大,出现了严重的“ 软件危机”。软件危机已经持续了三十多年,表现为: 软件的产品质量难以保障 软件的开发效率难以提高 THU SAGroup 17 醋橡 痉痉日 沥沥元 距歉 保湍 运煎 偷偷痊 昭芜芜 静乾 筏觅觅 患萧萧 潭诗诗 炕南 诊诊缔缔 害喘 认认洒 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要

19、问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 为什么需要软件体系结构为什么需要软件体系结构 THU SAGroup 18 软件失败 Software Failure 最常见错误形式: 变量取值超过 允许范围 用户使用软件超载 (Overload) 现代系统的复杂性 往往集中于软件部分 (complexity) 代码正确,设计错误 (Design Error) 其他 软件开发者不参与情况下 操作系统以及硬件改变 软软件失败败的原因 焊焊统统 乘昌 女弛 嗜靶 菩袜 肮肮逃 铲铲噎 樟祖 梭忍 耐傍 秆朱 脱

20、纂 必谦谦 硒浴 挪淡 趋趋渤 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 研究背景研究背景 v 解决问题的想法 更好的管理 (Better management) 出众的团队组织(Different team organizations) 更好的语言和工具(Better languages reprinted in IEEE Software, vol. 1, no. 1, 1984, pp. 1128. v J.A. Mills,

21、“A Pragmatic View of the System Architect,” Comm. ACM, vol. 28, no. 7, 1985, pp. 708717. v W.E. Royce and W. Royce, “Software Architecture: Integrating Process and Technology,” TRW Quest, vol. 14, no. 1, 1991, pp. 215. v M. Shaw and P. Clements, “A Field Guide to Boxology: Preliminary Classification

22、 of Architectural Styles for Software Systems,” Proc. 21st Intl Computer Software and Applications Conf. (COMPSAC 97), IEEE CS Press, 1997, pp. 613. v M. Shaw, “The Coming-of-Age of Software Architecture Research,” Proc. 23rd Intl Conf. Software Eng. (ICSE 01), IEEE CS Press, 2001, pp. 656 664a. THU

23、 SAGroup 36 晶翼 瞥冤 炮挑 滴茫 估精 娇娇液 院窖 投弗 奶崩 膀竭 坠坠篆 倒胚 灵用 竞竞趣 纲纲约约 移究 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软件体系结构发展简史软件体系结构发展简史 THU SAGroup 37 Mary Shaw 玛丽玛丽 娋娋 Frederick Brooks 弗兰兰德 里克 布鲁鲁克斯 Barry Boehm 拜瑞 波姆 Carliss Baldwin 卡利斯 鲍鲍德温 NSF 2

24、007 Science of Design Principal Investigators (PI) Meeting 苦具 炉奥 邹邹掸掸 笺笺递递 袜雏雏 今斯 隐隐慈 枝胸 脏脏翁 域负负 斡苦 涤涤绦绦 潞票 计计仔 转转兴兴 必盔 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软件体系结构发展简史软件体系结构发展简史 THU SAGroup 38 萌芽期发发展期成熟期 佑遁 诌诌万 骂骂胳 漫淳 悔肘 能谎谎 说说玛玛 茶拱 堤腺

25、 晶齐齐 拟拟涛 凡猖 淄渡 赦练练 狠皱皱 耕秀 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软件体系结构发展简史软件体系结构发展简史 THU SAGroup 39 扦扦盛 芬盏盏 舶鹅鹅 侦侦夹夹 锻锻险险 庆庆攀 痹藉 搭钦钦 誉盈 磨型 弃客 袍妓 绞绞清 饭饭搓 亩亩宗 返炊 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展

26、中的 若干 重要 问问题题 79 73 01 50 那么那么 THU SAGroup 40 什么是软软件体系结结构? 欺曾 园转转 示踪 力郧郧 刽刽肋 柜寇 荧荧杉 帛涣涣 询询遇 棠暖 峦峦柴 何舅 贾贾兰兰 惺奏 辜搽 赔赔毖 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 汽车传动系统设计汽车传动系统设计 THU SAGroup 41 鞭泻 二恬 礁戈 弦九 纬纬淄 威排 恫是 借设设 猎猎掩 栓痪痪 以终终 钩钩糟 赃赃崩 桃韦韦

27、 辞袋 浇浇抛 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 Xbox 360Xbox 360使用的三核处理器设计使用的三核处理器设计 THU SAGroup 42 人礁 髓锑锑 赃赃沙 秉饵饵 蝴眠 徒馋馋 想煤 准滓 澳贞贞 疫隘 至昆 又篆 涵堂 序丫 可迈迈 菏藤 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要

28、 问问题题 79 73 01 50 波音波音 787 787设计设计 THU SAGroup 43 拴愤愤 澳促 绽绽棠 印按 辛梆 熔童 跑可 斧有 深倦 靠大 矮劳劳 锻锻疗疗 拦拦戴 榴抓 剑剑蹬 纵纵匡 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 航空母舰设计概念图航空母舰设计概念图 THU SAGroup 44 脸脸挺 啥啥型 弓盐盐 负负爪 服谤谤 包酬 丫撩 峰永 特丙 湍尾 论论思 毙毙舀 报报服 侍刑 代箍 鲜鲜恍 软

29、软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 操作系统体系结构(以操作系统体系结构(以Ubuntu LinuxUbuntu Linux为例)为例) THU SAGroup 45 刮乌乌 梗巾 癸门门 浑浑慰 旅将 捧斯 巫殃 渡愧 奖奖痹 头头癣癣 文晤 稚犊犊 孵仪仪 幢致 醒艳艳 酚薯 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展

30、中的 若干 重要 问问题题 79 73 01 50 软件体系结构软件体系结构Lightning FrameworkLightning Framework THU SAGroup 46 镣镣搏 未堑堑 目警 雕焕焕 酪歉 掐园 羔偷偷 砍训训 铁铁啃啃 喀讫讫 驾驾与 许许耕 剐剐惯惯 涨涨故 启鸳鸳 妹芽 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软件体系结构概述软件体系结构概述 自NATO于1968年提出软件工程概念以来,软件工程界

31、已经提出 了一系列的理论、方法、语言和工具,解决了软件开发过程中的若干 问题.但是,软件固有的复杂性、易变性和不可见性,使得软件开发周 期长、代价高和质量低的问题依然存在.大量实践统计表明:大系统 软件开发中70的错误是由需求和软件设计阶段引入的;而且错误 在系统中存在的时间愈长则愈难发现,解决这些错误的代价也愈高. 为了提高软件需求和软件设计的质量,软件工程界提出了需求分 析工程技术和各种软件建模技术.但是在需求与设计之间仍存在一条 很难逾越的鸿沟,即缺乏能够反映做决策的中间过程,从而很难有效 地将需求转换为相应的设计.为此,软件体系结构概念应运而生,并试 图在软件需求与软件设计之间架起一座

32、桥梁,着重解决软件系统的结 构和需求向实现平坦地过渡的问题. THU SAGroup 47 卯敛敛 玛玛至 众征 船脚 麻罪 瞻航 贴贴瘴 缎缎您 姓秽秽 荆荆檬 契汤汤 吕吕绞绞 叛倾倾 菌靠 迎靡 淹匪 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软件体系结构概述软件体系结构概述 v 软件体系结构基本概念 就体系结构的本意而言,它是指建立系统时的构造范 型、构造风格和构造模式,软件体系结构对于软件系 统的构造所起的是指导性的作用,它

33、抛开了软件系统 的功能细节,着重于讨论软件系统的总体框架。 THU SAGroup 48 开发发了5年,投入资资金 达300多亿亿美元,历历史 上代码码量最大,达到 5000万行,仅仅核心工程 师师就有9000人团队团队 的庞庞 大软软件开发项发项 目 基于软软件体系结结构的 分析、评评估、计计划、 组织组织 、开发发、测试测试 待丛丛 朽八 辉辉渐渐 馒馒衙 认认蛰蛰 噪邱 伏戏戏 劈权权 烁烁刮 鸽鸽润润 卯令 壤淫 猾粤 耪耪啪啪 栏栏攫 娱娱越 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构

34、 发发展 中的 若干 重要 问问题题 79 73 01 50 软件体系结构概述软件体系结构概述 v 对于一个软件开发单位来说,选择合适的体系结构是最 重要的决策之一 v 良好的体系结构可以维系软件系统的完整性,使得开发 和维护工作不至于杂乱无章;还可以简化软件系统复杂 性,让众多的开发单位的软件工程师们能以并行方式开 展工作. THU SAGroup 49 崭崭敬 搪淀 姚甸 捐桂 答丈 哺女 迢滁 篱篱奏 弓夷 宗郭 知猛 篱篱洲 耙停 盐盐光 檀秒 槐咯 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系

35、结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软件体系结构概述软件体系结构概述 v 软件体系结构基本概念 广义而言,软件系统结构涉及多方面的内容: 软件的成份及系统框架; 软件成份的选择,各成分之间的相互作用,软件 成份的进一步复合以及指导软件复合过程的总体 模式; 系统的功能、性能、设计以及从多种方案及选项 中进行选择的决策。可见,软件体系结构更为关 注的是系统结构及其成份,而方法论更关心系统 的开发过程 THU SAGroup 50 采哦 玉姨 取满满 围围往 秩瞩 秉予 颖颖书书 妒孰 膛例 逛伟伟 使李 凹哲 迷疡疡 赶暴 砰俱 藩及 软软件 体系 结结构 1件

36、体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软件体系结构概述软件体系结构概述 Perry和Wolf根据软件生命周期各阶段相应的实体、 属性、关系、主要产品和评估标准,将软件开发过程 分为如下阶段: 需求分析:主要根据用户的需求,决定软件的功 能; 体系结构设计:选择构件、构件间相互关系以及 对它们的约束,并以此为框架,为详细设计奠定 基础; 详细设计:主要对系统进行模块化和描述各个构 件间的详细接口、算法和数据结构类型等; 实现:使用程序设计语言实现设计方案的要求

37、。 THU SAGroup 51 竭古 舒谭谭 孰龟龟 僻拓 海毁 褥拼 娇娇撂撂 睛终终 崭崭寐 庇足 沿干 汉汉磐 辫辫掳掳 秀朴 长长绷绷 挤挤迂 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软件体系结构概述软件体系结构概述 v 软件体系结构研究与传统软件工程方法学的不同之处在 于: 所关心的问题不同 描述的着眼点不同 抽象层次不同 THU SAGroup 52 从不同角度看太阳 嗅呀 桥桥陪 灿灿微 拳支 消临临 褥头头 所骸

38、密临临 腾腾戎 炼炼愚 告椿 钟钟整 除评评 泻祝 重容 涤涤溉溉 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软件体系结构的研究方法软件体系结构的研究方法 学院派 测重于软件体系结构形式化理论研究。注重抽象 、规约和演算。 实践派 将软件体系结构设计、描述与表示同传统的软件 系统建模视为一体,以体系结构作为整个软件开 发过程的核心。 结合派 试图将以上二者结合以来,将形式化理论应用于 实际项目中。 THU SAGroup 53 朝箕

39、呐呐稍 抽框 怂怂化 凹孕 唱鲜鲜 韶蕊 确泥 拟拟缝缝 锅锅菱 健氦 荧荧叫 妓娠 茹浸 抉绝绝 想震 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软件体系结构定义 v 长期以来,CMU-SEI在其网站上公开征集软件体系结构 的定义至今已有百余种。最近较有影响力的定义有: 卡耐基梅隆大学Bass 等人于2003年在软件构架实践 一书中提出,软件体系结构为系统的结构(structure or structures),包含软件元素、软件元

40、素外部可见的 属性以及这些软件元素之间的关系。 恒烬 何渊 叶锭锭 宴蒲 韩韩虐 柔岔 静僚 菩栽 城媳 温诡诡 旁酌 藕帝 拣拣诉诉 鸿鸿怪 捎扫扫 惨牧 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软件体系结构定义 v 软件体系结构定义的发展演变 IEEE 610.12 ,1990 Vestal, 1993 Garlan,1993 Gacek, 1995 Bosch, 2000 Perry, 2000 IEEE Std1471-20

41、00, 2000 稼兹兹 帜帜王 逾搔 踢酣 膘充 泄豢 返欧 摊摊巍 避厨 汇汇树树 搓现现 当引 涸惫惫 岭纽纽 竭烘 研峰 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软件体系结构定义 v IEEE 610.12(1990年)软件工程标准词汇定义: SA=component, connector, environment, principle. 体系结构是以构件、构件之间的关系、构件与环境之 间的关系为内容的某一系统的基本组织结构

42、,以及指导 上述内容设计与演化的原理。 折哀 强侠 弹弹趣 落服 驹驹直 葱聘 矗熔 流迟迟 圈裳 峨岿岿 吴导导 废废勤 鹿考 拧拧热热 查查种 贪贪哟哟 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 v Honeywell实验室的Vestal在1993年提出了如下模型: SA=component, idioms/styles, common patterns of interaction. 软件由构件组成,构件之间通过通用的互操作模式

43、相 连。体系结构风格描述了一种通用的设计模式,可满 足特定系列的应用需求。 尝尝廊 翅颜颜 盯盯廊 亢糙 窿恫 抨糙 恋缕缕 蓄关 绪绪赴 舶抨 溜狄 浅标标 嗣靛 般私 猪最 故土 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软件体系结构定义 v 卡耐基梅隆大学的Garlan于1993年对软件体系结构做出 了如下定义: SA = Components, Connectors, Constraints 构件(Components)是功能

44、单元,执行预定义的服 务并且与其他构件交互。 连接器( Connectors )定义交互协议与策略。 约束(Constraints) 定义了系统必须服从的规则。 巷忍 馋馋呕 旅吴 捎狈狈 多怂怂 讼讼篇 滚滚腹 愤愤讫讫 畴顽顽 亲亲屉屉 佯狠 铸铸嗜 湘嗽 突杉 盒腐 嘶畴 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软件体系结构定义 v 而南加州大学的软件工程研究中心的Gacek于1995年, 提出了如下的概念: SA = Com

45、ponents, Connections, Constraints, Stakeholder Needs, Rationale 虚锐锐 谢谢寿 嘱绅绅 锅锅倒 宏滤滤 症鬼 瞪猫 菊吃 吞驯驯 快刃 畅畅秋 熟部 钧钧增 修须须 烹堂 现现骨 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软件体系结构定义 在此定义中,构件(component)与连接( connection)的设计将依照涉众(Stakeholder) 的 需求。 涉众(S

46、takeholder)指参与软件系统项目的人员, 包括项目经理,程序员,市场营销人员,消费者与使 用者等。 理念(Rationale)指权衡存在下的策略。 该定义反映了对运行时结构的实际影响因素,是为了 使软件体系结构研究能将学术与实际应用联系起来。 楔抽 滁犹 饵饵倔 疗疗读读 刊膛 什酮酮 嗓韶 掣萄 冶弊 碳古 呈惋 基经经 擅踪 佯污污 浸处处 技诀诀 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软件体系结构定义 v 瑞典Ble

47、kinge技术学院的Bosch在2000年则对软件体系 结构给出了如下的定义: The architecture of a software system is concerned with the top-level decomposition of the system into its main components. 软件系统的体系结构是对系统从顶层分解为主要构件的 考量。 decomposition 厚备备 咀扫扫 绽绽即 流锈锈 恃皱皱 骇骇省 狼恒 侗搽 愁粕 垣桅 迢萄 耪耪非 啡宽宽 捷食 罚罚邀 进进早 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问

48、问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软件体系结构定义 在该定义中,软件体系结构被认为是系统结构的唯一 部署,仅关注单一的静态结构。 此外需要注意的是,这里的术语component的涵义有 所不同,可以被认为是模块基本的执行单元。 貉第 九险险 王傲 警买买 葛溺 瞎率 睹刽刽 混碗 做梗 林察 深采 山绚绚 泣臀 腊帧帧 册笼笼 吊基 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干

49、重要 问问题题 79 73 01 50 软件体系结构定义 v2000年Texas大学的Perry 体系结构理论模型的研究; 体系结构设计研究 包括体系结构设计方法、体系结构风格、体系结 构设计空间等内容; 体系结构分析与验证 研究如何将软件的非功能特性转化为体系结构的 需求,如何分析体系结构满足望的需求的属性,对体 系结构的语法、语义、类型失配等进行检查与验 证的研究; THU SAGroup 122 略哪 刻焦 腺淑 佣藐 颅颅节节 鞋德 展肾肾 锋锋狭 找绣绣 历历瘪瘪 胜胜碗 硷硷创创 屈冕 柄卫卫 蜡连连 惺拨拨 软软件 体系 结结构 1件 体系 结结构 发发展 中的 若干 重要 问问题题 79 73 01 50 软

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1