《现代软件工程》PPT

上传人:镜花****ul 文档编号:95943544 上传时间:2019-08-23 格式:PPT 页数:83 大小:1.31MB
返回 下载 相关 举报
《现代软件工程》PPT_第1页
第1页 / 共83页
《现代软件工程》PPT_第2页
第2页 / 共83页
《现代软件工程》PPT_第3页
第3页 / 共83页
《现代软件工程》PPT_第4页
第4页 / 共83页
《现代软件工程》PPT_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《《现代软件工程》PPT》由会员分享,可在线阅读,更多相关《《现代软件工程》PPT(83页珍藏版)》请在金锄头文库上搜索。

1、现代软件工程,第五部分 软件体系结构与系统概要设计,现代软件工程,本部分主要参考书 软件工程-实践者的研究方法 现代软件工程概论 软件体系结构的原理、组成与应用 需求分析与系统设计 设计模式-可复用面向对象软件的基础,体系结构的基本问题-1 软件系统的框架与体系结构-2 面向对象的设计模式-3 MVC结构与用户界面设计-4 基于构件的软件体系结构-5 从需求分析到系统设计过程-6,第五部分 软件体系结构与系统概要设计,第五部分 软件体系结构与系统概要设计,第一章 体系结构的基本问题 体系结构的意义-1.1 体系结构的定义-1.2 体系结构的基础-1.3 抽象与求精-1.4 模块化与信息隐蔽-1

2、.5,5.1.1 体系结构的重要性和意义,软件设计与建筑设计在某些方面是类似的: 搭建一个小狗屋,可以由一个人来完成: 最小的整体结构 最简单的过程 最原始的工具 整体结构和精化都在一个人脑子里完成、并由本人亲自实现,构造一栋房屋,需要一张设计图纸或模型 需要具有规划良好的过程 需要具备一定功能的工具,需要由一个小型团体完成,并且需要更明确的目标和计划、更高的效率、更精确的时间限制,构建一个高层建筑?复杂!,软件体系结构的复杂性=技术的+管理的,更高的技术复杂性 - 嵌入式,实时的,分布式的,不可出错的 - 定制的, 空前的,可复用的 - 高性能的,较低的技术复杂度 - 大部分是4GL, 或基

3、于组件技术的 - 应用反向工程 - 基于交互式的对性能要求不高,较高管理复杂度 - 大范围 - 合同契约性 - 受很多人制约的 - “项目”型的,较低的管理复杂度 - 小范围 - 非正式的 - 简单的资金运作 - “产品”型的,一个中等的项目 - 5-10 人 - 10-15 个月的开发周期 - 3-5 个外部界面 - 一些不可知的事情 & 风险,理解软件系统的复杂性因素,新技术融合,软件体系结构的重要性,已经比算法和数据结构更重要,灵活性与可扩展性,处理能力与吞吐量,负载与容量,可用性,失败安全与稳固性,出错容忍程度,功能,成本,兼容与可移植性,现在的挑战已经不是速度、成本和性能,而是复杂度

4、的问题了。 Bill Raduchel, Sun微系统公司策略执行总裁,体系结构的域,体系结构 元素/关系,处理,体系结构 集成/约束,体系结构是“什么”,体系结构“为什么”,体系结构“如何”,“谁”保证体系结构,系统 功能,结构,S/W 需求,系统 质量属性,满足,限制,组织,构建,技巧,风险承担人,定义规则,生产,跟踪,技术,定义,为什么体系结构在软件系统中具有如此的重要性? 一个表现体系结构作用和价值的典型案例 软件无线电与体系结构 Software Radio Architecture,5.1.2 体系结构定义,软件体系结构是:由结构和功能各异、相互作用的部件集合,按照层次构成。它包含

5、了系统的基础构成单元、它们之间的作用关系、在构成系统时,它们的集成方法以及对集成约束的描述。 软件的体系结构是关于软件系统组织的配置定义 定义了:组成系统的结构(结构元素)和部件; 定义了:结构与部件间特定的构成和协作关系; 定义了:系统继承集成方法和约束; 因此,系统中的子系统定义,是系统体系构建(集成)的结果,而不是开始; 体系结构不但决定了系统的物理构成,也支配了开发的组织行为(需求分配、范围和任务定义、进度计划、测试方案、集成方法、配置项与基线管理),这是现代软件工程更注重的地方。 内容与形式、过程与结果,理解体系结构定义,软件体系结构定义了软件计算部件的局部和总体的构成 以及这些部件

6、之间的相互作用关系 计算部件: 客户、服务器、数据库、中间件、程序包、过程、子程序、进程等切碎、再切碎(粒度) 相互作用关系: 过程调用、共享变量访问、信号灯、进程通信、消息传递、访问/网络协议等 除了描述系统的构成和结构关系外,体系结构还表达了系统需求和构成之间的对应关系,这为系统的设计,提供了分析和评价的依据 体系结构比需求更进一步要面对或满足系统非功能性的内容,如:容量、数据吞吐量、一致性、兼容性、安全性、可靠性,体系结构元模型,视图展现了体系结构的不同视角,一个具体的体系结构构成的例子,当然并不只有窗体,约束来自需求和设计规范,模板提供了设计规范和重用表现了风格,规范制定和成果积累,从

7、具体到抽象的提升,体系结构的类型与作用,体系结构在不同的阶段,依据层次和细节的不同,分为概略型、需求型和设计型 概略型是上层宏观的描述,反映系统最上层的部件和连接关系 需求型是对概略结构的深入表达,以满足用户功能和非功能需求的表达为主 设计型从设计实现的角度,对需求型进行更深入的描述表达,需要从不同的侧面/视图,设计系统的各个层面的各个部件和连接结构。在这个层面上的描述,将直接为系统实现和性能分析服务,体系结构的类型与作用,在项目规划阶段:体系结构是项目可行性、工程复杂度、计划进度、投资规模和风险预测的依据(概略型) 在需求分析阶段:体系结构是开发团队与用户进行需求交互沟通的表达形式和结果(需

8、求型) 在系统设计阶段:体系结构是系统设计分解的基础 在项目实施阶段:体系结构是工作分工、人员安排、组织协调、绩效管理的依据 在项目评估阶段:体系结构是性能测试和评估的依据 在维护升级阶段:体系结构是在保证系统整体合理性、正确性、性能和可控的维护成本的前提下,软件系统修改、扩充、升级的基础模型,好的体系结构的特征,设计灵活和可伸缩性的 考虑全面并可扩展的 思路简单明了、直接可以理解的 结构划分和关系定义清楚的 模块职责明确和分布合理的 效益和技术综合平衡的,不同阶段、不同的人,对体系结构的不同视角,不同的人对体系结构有不同的视角 最终用户 客户 项目经理 系统分析师 编码工程师 架构工程师 维

9、护人员 其他开发人员 体系结构的视图是根据观察者的需要,来进行描述简化(抽象)的,它关注观察者的关注点,而忽略与关注点无关的部分,UML:描绘系统体系结构,逻辑视图,实现视图,面向编程 软件管理,过程视图,分布图,系统拓扑结构 分发, 安装 通信,面向系统实施,概念模型,物理模型,用例图,用例,节点,组件,类, 接口, 协作,活动类,体系结构的视角,对体系结构的不同认识,反映在看待体系结构的视角上,也有不同,形成了不同的体系结构概念和描述形式: 主要的有:结构风格、设计模式、模型和关键部件、ADL语言 体系结构风格(风格:一种现实存在的抽象) 数据流系统:顺序批处理、管道和过滤器 调用-返回系

10、统;主/子程序 面向对象系统:层次结构 独立部件:通信进程、事件隐式调用 虚拟机:解释器、规则系统 以数据(库)为中心的系统:数据库、超文本、黑板 特殊领域风格:过程控制、模拟器 特殊结构风格:分布式处理、状态转移系统,体系结构的层次,系统是由许多层次构成的,每个层次处理不同的问题 每个层次都有二个方面组成:部件和规则 构成系统的原始的或集成的部件 由部件集成为系统的集成规则(静态) 为系统提供语义的行为规则(动态) 软件设计发展过程中,对体系结构认识的三个层次 执行级 包括存储器的映射、数据地址的安排、堆栈和寄存器的分配等,在此,部件是硬件,集成和行为规则是非常明确具体的 代码级 包括算法和

11、数据结构的选择。在此,部件是程序设计语言的字符、指针、进程控制等,集成的是记录、数组和过程 结构级 包括与部件相关联的系统总体性能。在此,部件是模块、模块的相互关系,它指明从模块到子系统、到系统的集成 在上世纪80年代,软件开发者关注的是代码级的,如今,关注的是结构级,“结构级”体系结构的认识,软件体系结构的“结构”元素:部件 系统的总体组织架构、全局控制、通信协议、同步、数据存取、设计元素的功能、设计元素的组织、规模、性能、设计方案的选择等 部件不只是有形的、物理的程序片段:还包括“结构件” 软件体系结构的集成规则和行为规则 体系结构是关于软件的系统级层次上的组成和行为 体系结构是由软件部件

12、和部件之间的联系组成 部件的描述应包括:部件功能、结构特征、非功能特征 部件的概念,根据设计方法的不同,代表不同的对象:类/对象、库/包、构件/组件、制品/配置项/基线等,RUP的统一过程结构,预备循环,Iter. #1,周期,处理工作流,反复,支持工作流,Iter. #2,Iter. #n,Iter. #n+1,Iter. #n+2,Iter. #m,Iter. #m+1,管理环境,配置管理,详细化,提交,初始化,构造,RUP统一过程,三大要素: 用例驱动源头和全过程驱动 迭代开发过程与基本方法 以体系结构为中心适应需求变更和迭代开发的 需要,以体系结构为基础的 增量开发。,实现,生命周期与

13、重要的里程碑,最初,详细,构造,提交,最初 定义项目的范围和开发商业案例(业务/系统模型) 详细 计划项目,详细说明功能和结构的基线 构造 创建产品 提交 把产品提交给用户 以产品线为目标、以框架为基础的迭代过程,迭代,一个循环是一次确定的计划、评估、标准审查活动的阶段,最终结果是产生可执行发布版本(基线发布与中间版本)。,主要 循环,.,开发 循环,开发 循环,.,提交 循环,.,预备 循环,.,最初,详细,构造,提交,以体系结构为中心,RUP的视图和模型是使体系结构可视化、可详细描述和定义、可文档化的构造工具和手段 统一过程指明了可执行体系结构的顺序行为过程,体系结构和循环,用例模型,设计

14、模型,分布模型,测试模型,实现模型,内容,关系数据库,体系结构的四视图观点,四视图:概念、模块、代码、运行,体系结构的模型和关键部件观点,模型的演变和深入: 过程抽象,关键部件:系统边界、系统服务和客户、系统界面、事务管理,模型的演变和深入: 对象和数据抽象,顺序/条件/循环、分布、并行、激发/响应、应用环境、任务控制,复杂的Internet系统,客户端,WEB 服务器,应用 服务器,认证 系统,财务 系统,库存 系统,数据库 系统,Dynamic HTML, JavaScript, Java plug-ins, source code enhancements,Java, C, C+, Ja

15、vaScript, CGI,Java, C, C+, JavaBeans, CORBA, DCOM,Native languages,复杂的商业系统的体系结构,数据库,用户界面层,ServiceAgent,purchase(customer, product, items),Customer,name : String,Address : String,save(),Customer,name : String,Address : String,save(),getName(),updateName(),Customer,Order Line,*,*,Product,*,*,Order Line,items : Product,getName(),updateName(),Observer,update(),Order,date : Date,Product,name : String,price : Currency,getName(),updateName(),Sales,product : Product,中间件,体系结构的研究范畴,体系结构的研究领域 体系结构的实践经验积累 通用的软件体系结构框架和构件 特殊应用领域的体系结构框架和组件 基于体系结构的软件开发环境和工具 体系结构本身的形式化研究 体系结构的形式化语言描述方法,软件设计经历了4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号