构架模式UML与组件设计.ppt
《构架模式UML与组件设计.ppt》由会员分享,可在线阅读,更多相关《构架模式UML与组件设计.ppt(136页珍藏版)》请在三一办公上搜索。
1、1,构架模式、UML与组件设计,竞争的优势,2,议程,软件架构与模式UML:通用建模语言 组件设计过程,3,议程,软件架构与模式架构的定义优秀软件的标准模式UML:通用建模语言 组件设计过程,4,民用建筑中的受力,压缩,拉伸,负载的种类-固定的负载-变化的负载-动态负载防止失败-安全因素-冗余-均衡,任何时间你必须放弃原有经验,使用10倍的力量,再加以10倍的调研.对于大的项目尤为如此.,5,软件构架中的受力,Have an architecture that makes sense before you write 3.5 millionlines of code.,区别-没有运动的部分-可
2、以创建新材料-可以改变物理现象避免失败-将关键部分分散开来-语义上的一致性-职责分散,6,复杂性度量,更高的技术复杂性-内嵌的,实时的,分布的,容错的-定制的,空前的,结构重新设计-高性能,更低的技术复杂性-大多数是 4GL,或者是基于组件的-应用程序重新创建-交互式性能,更高的管理复杂性-大规模-契约的-多个资金保管者-“工程”,更低的管理复杂性-小规模-非正式的-单个资金保管者-“产品”,Walker Royce,Rational,7,构架的定义,软件构架是围绕着一系列关于软件系统组织的重要决定选择组成系统的结构单元和接口这些单元之间的协作行为这些单元之间的协作行为综合这些小的结构和动作单
3、元为较大的子系统管理整个组织的结构形式,8,构架的定义,软件构架同时包括用法功能性性能可恢复性可重新利用率综合性经济和技术的相互约束和权衡关系审美学的观点,9,以构架为中心,目的智能控制以可重复利用为基础以项目管理和减小危险性为基础表示方法4+1 视图模型步骤迭代的和增量的发展从可执行的构架中进行连续地提炼,10,构架的前后联系,选择在什么规章或契约之下组建软件是一个构架级的决定,但这绝不是一个完整的构架级决定,11,除去变化的层,12,分层设计的 MS Search 2.5,代码的组件化(模块化)是第一位的。相比2.0版本三个主要的搜索功能。而 Search 2.5 由于把应用程序分割为不同
4、模块,分别处理代码的执行和用户界面的表示,从而实现了代码与界面的分离。这是通过 XML 和 XSL 来实现的。,13,构架的定义,查询先被提交给解析器(Parser)进行词条分割和词表解析找到项目的显示术语(Display Term)被传给 Best Bets找到项目的首选术语(Preferred Term)和剩余项目被传给 Search Results使用 XSL 编译生成并转换为 XML 格式的结果文档HTML 被提交到用户 Web 浏览器,14,完成优秀的设计,通过如下方法达到:以用户为中心的方法与企业架构相一致构建时规划基于解决方案的设计迭代过程完全的MSF团队输入,15,优秀的设计,
5、有用的解决商业问题保证信息、服务和产品的交付可用的保证生产率直觉的无错的期望的性价比高的灵活的可扩展的可维护的,16,降低设计风险,MSF设计过程是一个有效的工具,用以降低那些因为不满足商业需求而产生的设计风险。,17,模式,模式是针对一个特定问题的解决方案模式是从一个领域的经验中所提炼出来的特定的知识所有具有良好结构的系统都有非常丰富的模式习惯用语设计模式构架的模式,18,设计模式,创造性的模式抽象factory原型构架的模式适配器桥代理动作的模式职责链协调者访客机制是构架的灵魂,19,模式与架构的来源,20,受关注的程度,发现,发明,实施,注意力,时间,21,讨论,一个典型的设计优秀的架构
6、吸取的教训得到的经验,22,议程,软件架构与模式UML:通用建模语言 OODA:面对对象的分析与设计UML介绍使用案例视图类图表交互图表与行为图表模块与组件组件设计,23,OODA:面对对象的分析与设计,类、对象以及元件 一般概念,24,类、对象以及元件,类:蓝图,对象的模版对象:类的实例元件:一个系统的物理执行单元包括一个或多个类,很强的依存关系物理的、可用二进制表示的应用程序可运行一个或以上的界面包含一个或以上的类别可替换性,25,类和对象,对象的状态有时间变化的趋势 类是对象的抽象,JaneLewis1/27/56,DonSmith7/9/63,DebbyBloom6/18/67,War
7、renJohnson8/28/52,26,OOAD的一般概念,抽象封装模块继承,27,OOAD的基本概念:抽象,管理复杂性 关注实际的特性 忽略详细说明 从不同的角度看待问题,28,OOAD的基本概念:封装,隐藏信息 黑箱操作 降低连锁反应的影响,Buy 100 shares of FM Stocks at market price.,购买者不需要了解实现的具体细节,29,OOAD的基本概念:模块,分块降低复杂性 各部分协同工作,30,OOAD的基本概念:继承,抽象的层次,Asset,Cash,Stock,Bond,Real estate,Commercial,Residential,High
8、er levelof abstraction,Lower levelof abstraction,31,议程,软件架构与模式UML:通用建模语言 OODA:面对对象的分析与设计UML介绍使用案例视图类图表交互图表与行为图表模块与组件组件设计,32,什么是 UML?,统一模型语言(Unified Modeling Language)是一种用来定义,形象表示,创建和文档记载软件系统的工业标准语言。它简化了软件设计的复杂流程,为整个的构架建立一个“蓝图”。,33,为什么使用UML?,一种形象,准确的表达软件功能和结构的标准方法,有效的避免误解 规划者/开发者/测试者/项目经理并不真正了解我尝试规格化
9、的内容 写作规范很费时,但是产品周期越来越短,34,UML 使用在什么地方?,高层的介绍总览的文档/规范规范开发设计文档,35,什么是 UML 图表?,软件系统的蓝图,每个类型的图表都说明了系统的不同的方面软件代码生成的一种方法图形化表示系统如何工作,更快,更好简练易懂的表述,讨论复杂的系统的一种方法,36,UML 图表的类型,使用案例图表行为图表类图表顺序图表,其它类型的UML图表:协作图表数据流图表包装图表状态图表物理图表,37,4+1 视图模式,使用案例视图(“+1”视图)使用案例模型逻辑视图设计模型实施视图实施模型过程视图包括在设计模型中分发视图,38,议程,软件架构与模式UML:通用
10、建模语言 OODA:面对对象的分析与设计UML介绍使用案例视图类图表交互图表与行为图表模块与组件组件设计,39,使用案例,情景,在线消费情景为了一个满足共同的用户的要求,而产生的一系列相互联系的情景使用案例图表辅助作用可以使用其他形式表达行为者与使用案例,及使用案例之间的关系,40,使用案例图表,41,使用案例文本,售票员为顾客买电影票:主要情景:售票员在顾客挑选座次,电影和时间后,为顾客定票.售票员输入顾客的信用卡信息,收取购票费用信用卡认证系统授权交易售票员将票交给顾客扩展情景”1a.顾客是一般顾客:1a1:在保留季节票的前提下销售1a2:顾客可以开始购买季节票1b.顾客持有季节票,1b1
11、:顾客可以使用季节票1b2:顾客也可以够买普通票3a.信用卡授权失败,3a1:售票员可以取消交易,3a2:售票员可以要求顾客提供正确的信用卡信息.,42,使用案例图表,行为者指用户在系统中扮演的角色“行为者”可能是用户,或者另一个系统同一个用户根据扮演的角色,可以成为多个不同行为者在图表中可以只列出主要的行为者或者引起使用案例的行为者使用案例描述“行为者”如何使用系统来达到特定的目标列出行为者可以帮助发现使用案例行为者的细节无关紧要,43,使用案例图表,使用案例之间的关系:包涵,概括,延伸当两个使用案例有重叠的部分时,将重叠的部分独立出来成为一个单独的使用案例,此使用案例包涵于原使用案例当一个
12、使用案例A与另一个使用案例B类似,但有更多的内容时,可以将B作为A的一个特例使用案例,这时,A是B的概括,44,使用案例图表,延伸如果基本使用案例A宣称某些延伸点,使用案例B只在这些延伸点上进行了扩充,B就成为A的延伸使用案例规则使用包含来避免重复的使用案例,使用概括来泛泛描述案例的特殊情况,使用延伸来严格描述案例的特殊情况,45,使用案例的识别,确定使用案例确定对象、参与者的关系与交互在类图表与交互图表中描述细节在逻辑视图中跟踪使用案例危险:步骤太多或者太少。如果在Use Case中有超过15个步骤,它可能包含一些实现明细。如果它只有非常少的步骤则检查它的目标是否是达到一个没有很多分支的活动
13、的单一线索。,46,使用案例的类别,Business Use Case:系统都用于同一商业领域。不假定任何公司内部的结构 System Use Case:整个系统看作是一个黑盒 Implementation Use Case:设计子系统和系统内部组件。每个Use Case只描述没有大的分支的行为的单个线索,47,议程,软件架构与模式UML:通用建模语言 OODA:面对对象的分析与设计UML介绍使用案例视图类图表交互图表与行为图表模块与组件组件设计,48,类图表,什么是类图表?描述了系统中的对象类型,和其相互之间的各种不同的静态联系描述了各个对象属性提示:常在开发中使用,49,类图表,50,定义
14、完善的类,拥有唯一确认的名字,容易识别 代表了类的操作及属性 与其他类协作良好 按照项目或企业的标准命名,51,边界类,在应用程序以及运行环境建立界面包括的方法可以处理用户与应用程序内某个商业流程的交互主要用于界面窗体以及其他与用户交互的建模,52,定义边界类,在使用案例中,每个脚色至少定义一个边界类。脚色可以是外部系统 边界类的最后实现可能是一个ASP页面,也可能是程序窗体,53,控制类,封装了商业逻辑层的的事务复杂性 通常用于在应用过程协调行为在使用案例中控制事件流,Control class name,Control class name,54,定义控制类,每个复杂的使用案例 至少定义一
15、个控制类 控制类相当于一个控制者,不应当关注内部的过程 复杂的使用案例需要更多的控制类,55,实体类,为应用程序存储信息的模型 稳定的数据模型 通常用于商业逻辑层,56,定义实体类,Noun-Verb-Adjective(NVA)方法分析使用案例文档,寻找潜在的实体类确定使用案例的场景,在文档描述中确定句子的主语(名词)将潜在的实体类列出检查使用案例的其他要求或数据字典已确定是否有附加的实体类与客户以及开发人员共同确定最后清单,57,对象的例子,58,服务的例子,59,属性的例子,60,UML 中类图表的表示,类的关联与关系:关联描述了对象之间的协作关系。集合与合成概括实现关联的属性:描述了类
16、的关联的细节。名称脚色浏览方向,61,关 联,表示了类之间的使用关系 包括了两类:”uses a”“knows of a”方向表示了数据之间的交换性,62,议程,软件架构与模式UML:通用建模语言 OODA:面对对象的分析与设计UML介绍使用案例视图类图表交互图表与行为图表模块与组件组件设计,63,交互图表,表示对象类型之间的协作关系对应一个使用案例两种格式顺序图表协作图表表示单一顺序过程,无复杂的条件和循环分支,64,交互图表,顺序图表强调事件间的次序,表示对象类的激活和消灭协作图表强调对象类之间的静态联系弱点对对象类的行为描述不能深入状态图表,65,顺序图表,描述在某一个场景下消息在对象之
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 构架 模式 UML 组件 设计

链接地址:https://www.31ppt.com/p-6241934.html