软件体系结构与UML.ppt
软件体系结构和UML,主讲教师:周军海E-mail:,软件体系结构和UML,教学目标:掌握良好软件体系结构的特点熟悉UML的静态和动态建模方法掌握使用UML进行软件体系结构建模教学重点:掌握UML的静态和动态建模方法掌握使用UML进行软件体系结构建模教学难点:掌握使用UML进行软件体系结构建模,构建一个小狗屋,构造一栋房屋,构建一个高层建筑,建筑结构的思考,中国汶川7.8级地震,日本本州岛8.9级地震,早期的结构,过程-有限的理论知识,Pantheon,现代的结构,进步-先进的原材料-先进的分析,范围-Pantheon的五倍范围-Cheops的3倍高度,Architecture of Software,最早指出SA的重要性的是大师Edsger Wybe Dijkstra(1930-2002)“.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/EWD196.PDF,程序=?,程序=算法+数据结构(1960s)程序=子程序+子程序(1970s)对象=算法+数据结构程序=对象+对象(1980s)程序=构件+连接件(1990s),软件中的影响因素,复杂度是我们的敌人,是我们的目标,我们要消灭它。Jan Baan,功能,成本,兼容性,20年之后的挑战不是速度、成本和性能,而是复杂度的问题了。Bill Raduchel,Sun微系统公司策略执行总裁,好的体系结构的特征,可伸缩性的简单亲切的关系清楚明了职责分布明确效益和技术平衡,UML概要,UML是一种语言:可视化详细描述的构造性的文档化的,模型元素,结构元素类,接口,协作,用例,活动类,组件,符号行为元素交互,状态机组元素包,子系统其它元素符号,关系,依赖关联一般化实现,扩展机制,套用类型特征值约束,用例图,捕获用户能够看到的系统功能,类图,捕获系统的词汇表,对象图,捕获实例和连接,组件图,捕获实现的物理结构,分布图,捕获系统硬件的拓扑结构,顺序图,捕获系统的动态行为(面向时间的),协作图,捕获系统的动态行为(面向消息的),状态图,捕获系统动态行为(面向事件的),活动图,捕获动态行为(面向活动的),体系结构和UML,逻辑视图,开发视图,进程视图,组件,类,接口,协作,活动类,物理视图,用例,体系结构中心,建模是使体系结构可视化、详细描述、可文档化、构造的工具手段统一过程指明了可执行体系结构的顺序行为,体系结构设计,标识、选择和验证“体系结构”元素不是所有的事物都是体系结构主要商业类重要的机制处理器和过程层和子系统接口产生软件体系结构文档,物理应用程序体系结构,关系数据库,什么是架构师,经验软件开发领域积极活跃,面向目标领导,权威体系结构小组平衡,Architect,不是最高水平的设计者需要保证可行性不是项目管理者但是“作为熟悉内情的人而加入”不是技术专家对于系统来说是“适合”不是一位科学家交流者,远景,ADL:体系结构描述语言UML,UniCon,LILEAnna,P+,LEAP,Wright,Rapid概念标准化IEEE 工作组体系结构INCOSE 关于系统的工作组体系结构的系统捕获,小结,好的软件体系结构的特征:可伸缩性的、简单亲切、关系清楚明了、职责分布明确、效益和技术平衡。UML是一个开发的标准,支持完整的软件开发生命周期模型,支持不同的应用领域,是基于经验的和用户群体需要的,被许多工具支持。使用UML进行软件体系结构静态和动态建模。,作业和思考题,简述UML的九种建模图形。比较利用UML进行软件体系结构建模的不同方法。简述软件架构师的职责。,