《软件体系结构与UML.ppt》由会员分享,可在线阅读,更多相关《软件体系结构与UML.ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件体系结构和软件体系结构和UML主讲教师:周军海Email:2 软件体系结构和软件体系结构和UML教学目标:掌握良好软件体系结构的特点熟悉UML的静态和动态建模方法掌握使用UML进行软件体系结构建模教学重点:掌握UML的静态和动态建模方法掌握使用UML进行软件体系结构建模教学难点:掌握使用UML进行软件体系结构建模3 构建一个小狗屋构建一个小狗屋4 构造一栋房屋构造一栋房屋5 构建一个高层建筑构建一个高层建筑6 建筑建筑结结构的思考构的思考中国汶川中国汶川7.8级地震地震日本本州日本本州岛8.9级地震地震7 早期的结构早期的结构过程过程 -有限的理论知识有限的理论知识8 9 Pantheon
2、10 现代的结构现代的结构进步进步 -先进的原材料先进的原材料 -先进的分析先进的分析范围范围 -Pantheon的五倍范围的五倍范围 -Cheops的的3倍高度倍高度11 Architecture of Software最早指出SA的重要性的是大师Edsger Wybe Dijkstra(19302002)“.the larger the project,the more essential the structuring!”(1968)http:/www.cs.utexas.edu/users/EWD/http:/www.cs.utexas.edu/users/EWD/ewd01xx/EW
3、D196.PDF12 程序程序=?程序=算法+数据结构(1960s)程序=子程序+子程序(1970s)对象=算法+数据结构程序=对象+对象(1980s)程序=构件+连接件(1990s)13 软件中的影响因素软件中的影响因素技术混合复杂度是我们的敌人,是我们的目标,我们要消灭它。Jan Baan性能吞吐量容量可用性失败安全出错容忍程度功能成本兼容性恢复能力20年之后的挑战不是速度、成本和性能,而是复杂度的问题了。Bill Raduchel,Sun微系统公司策略执行总裁14 好的体系结构的特征好的体系结构的特征可伸缩性的简单亲切的关系清楚明了职责分布明确效益和技术平衡15 UML概要UML是一种语
4、言:可视化详细描述的构造性的文档化的 16 模型元素结构元素类,接口,协作,用例,活动类,组件,符号行为元素交互,状态机组元素包,子系统其它元素符号17 关系依赖关联一般化实现18 扩展机制套用类型特征值约束19 用例图捕获用户能够看到的系统功能20 类图捕获系统的词汇表21 对象图捕获实例和连接22 组件图捕获实现的物理结构23 分布图捕获系统硬件的拓扑结构24 顺序图捕获系统的动态行为(面向时间的)25 协作图捕获系统的动态行为(面向消息的)26 状态图状态图捕获系统动态行为(面向事件的)27 活动图捕获动态行为(面向活动的)28 体系结构和体系结构和UML组织:包,子系统动态交互状态机逻
5、辑视图开发视图进程视图组件 类,接口,协作活动类物理视图节点场景视图用例29 体系结构中心体系结构中心建模是使体系结构可视化、详细描述、可文档化、构造的工具手段统一过程指明了可执行体系结构的顺序行为时间体系结构初始化初始化详细描述详细描述构造提交30 体系结构设计体系结构设计标识、选择和验证“体系结构”元素不是所有的事物都是体系结构主要商业类重要的机制处理器和过程层和子系统接口产生软件体系结构文档31 物理应用程序体系结构物理应用程序体系结构关系数据库关系数据库C客户端客户端WWW BrowserWeb服务器服务器HTMLCGIASPJava商业对象服务商业对象引擎应用商业对象服务A客户端客户
6、端商业对象引擎廋客户端,胖服务器B客户端客户端Application商业对象服务商业对象引擎商业逻辑服务商业逻辑服务器器DCOMADO/RCORBABeansCOMMTSBeansETS32 什么是架构师什么是架构师经验软件开发领域积极活跃,面向目标领导,权威体系结构小组平衡33 Architect不是最高水平的设计者需要保证可行性不是项目管理者但是“作为熟悉内情的人而加入”不是技术专家对于系统来说是“适合”不是一位科学家交流者34 远景远景ADL:体系结构描述语言UML,UniCon,LILEAnna,P+,LEAP,Wright,Rapid概念标准化IEEE 工作组体系结构INCOSE 关于系统的工作组体系结构的系统捕获35 小结小结好的软件体系结构的特征:可伸缩性的、简单亲切、关系清楚明了、职责分布明确、效益和技术平衡。UML是一个开发的标准,支持完整的软件开发生命周期模型,支持不同的应用领域,是基于经验的和用户群体需要的,被许多工具支持。使用UML进行软件体系结构静态和动态建模。36 作业和思考题作业和思考题简述UML的九种建模图形。比较利用UML进行软件体系结构建模的不同方法。简述软件架构师的职责。