构架模式UML与组件设计

上传人:夏** 文档编号:567965728 上传时间:2024-07-22 格式:PPT 页数:136 大小:1.67MB
返回 下载 相关 举报
构架模式UML与组件设计_第1页
第1页 / 共136页
构架模式UML与组件设计_第2页
第2页 / 共136页
构架模式UML与组件设计_第3页
第3页 / 共136页
构架模式UML与组件设计_第4页
第4页 / 共136页
构架模式UML与组件设计_第5页
第5页 / 共136页
点击查看更多>>
资源描述

《构架模式UML与组件设计》由会员分享,可在线阅读,更多相关《构架模式UML与组件设计(136页珍藏版)》请在金锄头文库上搜索。

1、娶征桑唐宣匠尹富腐篡鳞假称触庸笨窃煽摹艳锤抗皱姜骋丝缉铸死迅赃恼构架模式UML与组件设计构架模式UML与组件设计构架模式、UML与组件设计竞争的优势竞争的优势真狮素澳砒遣顷靛岳罪扮拍姚师建带戴坎虱铂宗奈爷了白阁嚏某负篙整彼构架模式UML与组件设计构架模式UML与组件设计1 1Microsoft Architect 2000议程l软件架构与模式lUML:通用建模语言l组件设计过程休策岿碴候勇攻你却辩曳该莱酌匀筏铅说抽波纳蕊爷织窝板越侵棱撼轴茵构架模式UML与组件设计构架模式UML与组件设计2 2Microsoft Architect 2000议程l软件架构与模式架构的定义架构的定义优秀软件的标准

2、优秀软件的标准模式模式lUML:通用建模语言l组件设计过程笋尾净瑞蝶谷膳墓癸绕浪唇陋吓尿搭畦丁块衔员躯脖栅贰汁餐炼吞毯枚交构架模式UML与组件设计构架模式UML与组件设计3 3Microsoft Architect 2000民用建筑中的受力压缩压缩Load拉伸拉伸Load负载的种类负载的种类 - 固定的负载固定的负载 - 变化的负载变化的负载 - 动态负载动态负载防止失败防止失败 - 安全因素安全因素 - 冗余冗余 - 均衡均衡任何时间你必须放弃原有经验任何时间你必须放弃原有经验, 使用使用10倍的力量倍的力量, 再加以再加以10倍的调研倍的调研. 对于大的项目尤为如此对于大的项目尤为如此.

3、亚因瓜彝箔玫爷辜惰沸札为鉴瑚毙总丫崔绩锈低缠侄咀干村鳖抉疏萍郭猎构架模式UML与组件设计构架模式UML与组件设计4 4Microsoft Architect 2000软件构架中的受力性能性能吞吐量吞吐量容量容量功能性功能性可用性可用性恢复力恢复力失效安全失效安全容错能力容错能力Have an architecture that makes sense before you write 3.5 millionlines of code.技术因素技术因素区别区别 - 没有运动的部分没有运动的部分 - 可以创建新材料可以创建新材料 - 可以改变物理现象可以改变物理现象避免失败避免失败 - 将关键部分

4、分散开来将关键部分分散开来 - 语义上的一致性语义上的一致性 - 职责分散职责分散殿空必专中可灶穿漆僳亢桑蘸滓叛虏币挟异栖粒我六疹商逃鬼厄仿辱侨剖构架模式UML与组件设计构架模式UML与组件设计5 5Microsoft Architect 2000复杂性度量更高的技术复杂性更高的技术复杂性 - 内嵌的,实时的,分布的,容错的内嵌的,实时的,分布的,容错的 - 定制的,空前的,结构重新设计定制的,空前的,结构重新设计 - 高性能高性能更低的技术复杂性更低的技术复杂性 - 大多数是大多数是 4GL, 或者是基于组件的或者是基于组件的 - 应用程序重新创建应用程序重新创建 - 交互式性能交互式性能更

5、高的管理复杂性更高的管理复杂性 - 大规模大规模 - 契约的契约的 - 多个资金保管者多个资金保管者 - “工程工程”更低的管理复杂性更低的管理复杂性 - 小规模小规模 - 非正式的非正式的 - 单个资金保管者单个资金保管者 - “产品产品”Defense MIS SystemDefense Weapon SystemTelecom SwitchCASE ToolNational Air TrafficControl SystemEnterprise IS(Family of ISApplications)CommercialCompilerBusinessSpreadsheetIS Appl

6、icationDistributed Objects (Order Entry)Small ScientificSimulationLarge-ScaleOrganization/EntitySimulationAn average software project: - 5-10 people - 10-15 month duration - 3-5 external interfaces - Some unknowns & risksEmbeddedAutomotive SoftwareIS ApplicationGUI/RDB (Order Entry)Walker Royce, Rat

7、ional辈颗褒归郸睹墨渠奖鸳哮辗岿窒冯保每霉普修跟坎申鲸污寥奈湿巩皑版橇构架模式UML与组件设计构架模式UML与组件设计6 6Microsoft Architect 2000构架的定义l软件构架是围绕着一系列关于软件系统组织的重要决定选择组成系统的结构单元和接口选择组成系统的结构单元和接口这些单元之间的协作行为这些单元之间的协作行为这些单元之间的协作行为这些单元之间的协作行为综合这些小的结构和动作单元为较大的子系统综合这些小的结构和动作单元为较大的子系统管理整个组织的结构形式管理整个组织的结构形式爱颖染灵竟扬盆蓉囚陶拒宁伺叭配晌茎段硬滤愤备深葡湃沫挨酌甚玫肌罐构架模式UML与组件设计构架模式

8、UML与组件设计7 7Microsoft Architect 2000构架的定义l软件构架同时包括用法用法功能性功能性性能性能可恢复性可恢复性可重新利用率可重新利用率综合性综合性经济和技术的相互约束和权衡关系经济和技术的相互约束和权衡关系审美学的观点审美学的观点让挛谦伺篮踞呛今幸蝇感驴碴隐朔侗疗群僵匀瞳嚏式忻泡筷椽连援漓衡瞬构架模式UML与组件设计构架模式UML与组件设计8 8Microsoft Architect 2000以构架为中心l目的智能控制智能控制以可重复利用为基础以可重复利用为基础以项目管理和减小危险性为基础以项目管理和减小危险性为基础l表示方法4+14+1视图模型视图模型l步骤迭

9、代的和增量的发展迭代的和增量的发展从可执行的构架中进行连续地提炼从可执行的构架中进行连续地提炼床翰骚逆忍开箱疏滋楼衙怖中敬湿钉酪赏臂掏颠哆汤讲棉需罐界钓府探惨构架模式UML与组件设计构架模式UML与组件设计9 9Microsoft Architect 2000构架的前后联系l选择在什么规章或契约之下组建软件是一个构架级的决定但这绝不是一个完整的构架级决定括难脉收渐置队忧远蹿躯邹瘩铸闭滓川惋夹父屠敛乍拂笆风辙故愁镭蔗砰构架模式UML与组件设计构架模式UML与组件设计1010Microsoft Architect 2000除去变化的层站点站点外表外表结构结构服务服务空间计划空间计划 材料材料悸斯巢

10、堂宵员钙邵恫廷浩祥肤江恐晤禽韭师醇仗赘桶沛毁盅钎辊砌巢炎值构架模式UML与组件设计构架模式UML与组件设计1111Microsoft Architect 2000分层设计的分层设计的 MS Search 2.5l代码的组件化(模块化)是第一位的。相比2.0版本三个主要的搜索功能。而Search2.5由于把应用程序分割为不同模块,分别处理代码的执行和用户界面的表示,从而实现了代码与界面的分离。这是通过XML和XSL来实现的。俯侵焙肢采岔烙保沮央歉涸刻戌昨旅瞄草屈挞沈廉浊芒应讯捅鳃绚纷麓弹构架模式UML与组件设计构架模式UML与组件设计1212Microsoft Architect 2000构架的

11、定义l查询先被提交给解析器(Parser)进行词条分割和词表解析l找到项目的显示术语(DisplayTerm)被传给BestBetsl找到项目的首选术语(PreferredTerm)和剩余项目被传给SearchResultsl使用XSL编译生成并转换为XML格式的结果文档lHTML被提交到用户Web浏览器皆疮册靠哉婆垒匪招右尿啮世孽怜绝柔经瘫妒蛛愚盎晤蜡漫匠咸辈缅肺隅构架模式UML与组件设计构架模式UML与组件设计1313Microsoft Architect 2000完成优秀的设计通过如下方法达到:以用户为中心的方法以用户为中心的方法与企业架构相一致与企业架构相一致构建时规划构建时规划基于解

12、决方案的设计基于解决方案的设计迭代过程迭代过程完全的完全的MSFMSF团队输入团队输入奏驾门聊灶跺蝎汽株银车煽但性犀粕图逗达盼忍仅磅靛碌柔匠查场拿囚顷构架模式UML与组件设计构架模式UML与组件设计1414Microsoft Architect 2000优秀的设计l有用的 解决商业问题解决商业问题 保证信息、服务和产品的交付保证信息、服务和产品的交付l l可用的可用的 保证生产率保证生产率 直觉的直觉的 无错的无错的l l期望的期望的 性价比高的性价比高的 灵活的灵活的 可扩展的可扩展的 可维护的可维护的诲紫纸耶古价愉几吱匙膨骋概藩奖愉以苫盂习咎龙铀勇坦啃小呵商颊寸笑构架模式UML与组件设计构

13、架模式UML与组件设计1515Microsoft Architect 2000降低设计风险MSF设计过程是一个有效的工具,用以降低那些因为不满足商业需求而产生的设计风险。秘屠尝搅槛甫喇设娘困吓则坏缮嫉槽誓录逃亨驭隔喜淄杏被芥华唆斌决皑构架模式UML与组件设计构架模式UML与组件设计1616Microsoft Architect 2000模式l模式是针对一个特定问题的解决方案l模式是从一个领域的经验中所提炼出来的特定的知识l所有具有良好结构的系统都有非常丰富的模式习惯用语习惯用语设计模式设计模式构架的模式构架的模式邑坤寺颤其朵罚搏巩入堕祸陈阮门件爆按销型搂疼钦暂续啥级冤枷湛头帽构架模式UML与组

14、件设计构架模式UML与组件设计1717Microsoft Architect 2000设计模式l创造性的模式 抽象抽象factoryfactory 原型原型l l构架的模式构架的模式 适配器适配器 桥桥 代理代理l l动作的模式动作的模式 职责链职责链 协调者协调者 访客访客l l机制是构架的灵魂机制是构架的灵魂腊甩榜胶籍吉厕接聋爸艇遂给踊跋投怯溉因生悄辕皂边肚娱滚亮卖穴芝侯构架模式UML与组件设计构架模式UML与组件设计1818Microsoft Architect 2000模式与架构的来源借鉴借鉴方法方法直觉直觉古典的系统古典的系统不可预知的系统不可预知的系统借鉴借鉴方法方法直觉直觉踩酣膝

15、磁膀夜彭亭摔重慷人医挝驰鸡羞匆歇贷疥挺消院材增贴匡响瓜慧慌构架模式UML与组件设计构架模式UML与组件设计1919Microsoft Architect 2000受关注的程度发现发现发明发明实施实施注意力注意力时间时间祈买硕关浴贺谜属课冷唐今夯廷役抒昧命磨起悼走隧蕉盗挫缸税沦惹玫碳构架模式UML与组件设计构架模式UML与组件设计2020Microsoft Architect 2000讨论l一个典型的设计优秀的架构优秀的架构吸取的教训吸取的教训得到的经验得到的经验雇遭软沃氦毡囊而搜欠抠谩亭赞犬朗郎臼戴抓夏刻镭孺恳组酪拒遵罩垣肢构架模式UML与组件设计构架模式UML与组件设计2121Microso

16、ft Architect 2000议程l软件架构与模式lUML:通用建模语言OODA:OODA:面对对象的分析与设计面对对象的分析与设计UMLUML介绍介绍使用案例视图使用案例视图类图表类图表交互图表与行为图表交互图表与行为图表模块与组件模块与组件l组件设计篙箱氦烷缴其逐阅漆媒嗣惹吁逞松和援撩氓婆棱术权贸猾断白拆蹦心值出构架模式UML与组件设计构架模式UML与组件设计2222Microsoft Architect 2000OODA:面对对象的分析与设计l类、对象以及元件l一般概念丢酗烙右旦誉题项栗棺洪驴迟浆贡敛如鸵恨湘馆诀帅道渠枝淄善晌戊歌机构架模式UML与组件设计构架模式UML与组件设计23

17、23Microsoft Architect 2000类、对象以及元件l类:蓝图,对象的模版l对象:类的实例l元件:一个系统的物理执行单元包括一个或多个类,很强的依存关系包括一个或多个类,很强的依存关系物理的、可用二进制表示的应用程序物理的、可用二进制表示的应用程序可运行一个或以上的界面可运行一个或以上的界面包含一个或以上的类别包含一个或以上的类别可替换性可替换性抒钧止歧聪桔坑伞漫哦改脯纯雨札耐救狐瘫究炼瘴盯蔼宴蕉功突母演块熏构架模式UML与组件设计构架模式UML与组件设计2424Microsoft Architect 2000类和对象l对象的状态有时间变化的趋势l类是对象的抽象PersonFi

18、rst nameLast nameDate of birthJaneLewis1/27/56DonSmith7/9/63DebbyBloom6/18/67WarrenJohnson8/28/52罪糊贿技沙淆龄知疥债山辜庶滤戒锗款暮廷斜楼牵鸿谊绘钾锈锣升冀佛瞩构架模式UML与组件设计构架模式UML与组件设计2525Microsoft Architect 2000OOAD的一般概念l抽象l封装l模块l继承含荣糕窘珠素舜磅瘁坟缆燕撅社绦字斥袭陡谱俊圈罪浊智沸拭悯瑚鼓糙忍构架模式UML与组件设计构架模式UML与组件设计2626Microsoft Architect 2000OOAD的基本概念:抽象l管

19、理复杂性l关注实际的特性l忽略详细说明l从不同的角度看待问题AssetValuePersonNameowns烯摹馏万促钙碗送掖霞轿斟隔曳俺拈腊祸奎癌示喀订段归鸟薪导堕显靶吟构架模式UML与组件设计构架模式UML与组件设计2727Microsoft Architect 2000OOAD的基本概念:封装l隐藏信息l黑箱操作l降低连锁反应的影响Buy 100 shares of FM Stocks at market price.购买者不需要了解实购买者不需要了解实现的具体细节现的具体细节成子拈丑枫娶丑偏膛锥蔬知饼乌诽嘲镣揍簇痔瘦湿双泛丰汹嫩谷卖乓跋替构架模式UML与组件设计构架模式UML与组件设计

20、2828Microsoft Architect 2000OOAD的基本概念:模块l分块降低复杂性l各部分协同工作Buy StockClose AccountSell StockCreate Account人欺责碍酪疲榜厉衔牢赏暑拐沟笔敛征枚胖玖酸伏驳磊论陀车串乡懒入除构架模式UML与组件设计构架模式UML与组件设计2929Microsoft Architect 2000OOAD的基本概念:继承l抽象的层次AssetCashStockBondReal estateCommercialResidentialHigher levelof abstractionLower levelof abstra

21、ction撑敞境康揣喧会微弟紊索翠欣陵叮王瘸舆道构挂愧蜡要酌更鞭话幻氦钨博构架模式UML与组件设计构架模式UML与组件设计3030Microsoft Architect 2000议程l软件架构与模式lUML:通用建模语言OODA:OODA:面对对象的分析与设计面对对象的分析与设计UMLUML介绍介绍使用案例视图使用案例视图类图表类图表交互图表与行为图表交互图表与行为图表模块与组件模块与组件l组件设计荐僵溪屿肯繁末嫁美详虚寅藻胯泊密驴诵需剪那窃芦食槽攀泻涸迸法汰捅构架模式UML与组件设计构架模式UML与组件设计3131Microsoft Architect 2000什么是UML?l统一模型语言(

22、UnifiedModelingLanguage)是一种用来定义,形象表示,创建和文档记载软件系统的工业标准语言。它简化了软件设计的复杂流程,为整个的构架建立一个“蓝图”。滓瘫快彦宾喝房秒渤怂师殉伯氯嵌纺势碰牢瞎享栗榜句耘把粱涅绦锤角鹅构架模式UML与组件设计构架模式UML与组件设计3232Microsoft Architect 2000为什么使用UML?l一种形象,准确的表达软件功能和结构的标准方法,有效的避免误解l规划者/开发者/测试者/项目经理并不真正了解我尝试规格化的内容l写作规范很费时,但是产品周期越来越短王碗巫恐渴署渗烦乡某高漳于扶驹彰授东凑绽笆逮冗浑槛磷欲千彰园课葛构架模式UML与

23、组件设计构架模式UML与组件设计3333Microsoft Architect 2000UML使用在什么地方?l高层的介绍总览的文档/规范l规范l开发设计文档慕筏唯撤胁烽批味寂鞘沉裸蔼舵赎找够镁酶倍写箱晤毗揉瑶予童盐稗月牵构架模式UML与组件设计构架模式UML与组件设计3434Microsoft Architect 2000什么是UML图表?l软件系统的蓝图,每个类型的图表都说明了系统的不同的方面l软件代码生成的一种方法l图形化表示系统如何工作,更快,更好l简练易懂的表述,讨论复杂的系统的一种方法惯殴滤艇韭若歧粘前谍争晌爬漫鼓纪设锚缓暖贞捎雕签蓬宠纲臣堡铜足腰构架模式UML与组件设计构架模式U

24、ML与组件设计3535Microsoft Architect 2000UML图表的类型l使用案例图表l行为图表l类图表l顺序图表l其它类型的UML图表:l协作图表l数据流图表l包装图表l状态图表l物理图表悲喉猴咏绳帛缉洁文燎荚海什补牌恫者谬情袖臻刀砒佐甩控簧市佣旦屋味构架模式UML与组件设计构架模式UML与组件设计3636Microsoft Architect 20004+1视图模式l使用案例视图(“+1”视图) 使用案例模型使用案例模型l l逻辑视图逻辑视图 设计模型设计模型l l实施视图实施视图 实施模型实施模型l l过程视图过程视图 包括在设计模型中包括在设计模型中l l分发视图分发视图

25、逻辑视图实施实施视图分发视图过程视图使用案例视图最终用户:功能性系统工程师:拓扑结构、联系程序员:软件开发管理综合:性能、扩展性序杠让昌棋糜溃缅番莆弊有坐趁孺栈蚌类堂娇酌敝汁瞅腿赞郴阜走邵汇绢构架模式UML与组件设计构架模式UML与组件设计3737Microsoft Architect 2000议程l软件架构与模式lUML:通用建模语言OODA:OODA:面对对象的分析与设计面对对象的分析与设计UMLUML介绍介绍使用案例视图使用案例视图类图表类图表交互图表与行为图表交互图表与行为图表模块与组件模块与组件l组件设计铣判褥邦戏能趴乞拥纱呀镐贪刷弯被贝翔亲锅括绎现诉堕挺舶滋组兴逮厂构架模式UML与

26、组件设计构架模式UML与组件设计3838Microsoft Architect 2000使用案例l情景,在线消费情景l为了一个满足共同的用户的要求,而产生的一系列相互联系的情景l使用案例图表l辅助作用l可以使用其他形式l表达行为者与使用案例,及使用案例之间的关系范壤澎嚎肘乡撩窄茫饮坐蛤讣侮坞星诅稍致德们衬痉槽亦专淡炒版捶毕挪构架模式UML与组件设计构架模式UML与组件设计3939Microsoft Architect 2000使用案例图表优诬唐冬匝伦宇命巩元绣火淌诺刽肌阴命氯酝民汾市汲巩尊鞘井戴曰寅英构架模式UML与组件设计构架模式UML与组件设计4040Microsoft Architect

27、 2000使用案例文本l售票员为顾客买电影票:l主要情景: 售票员在顾客挑选座次售票员在顾客挑选座次, ,电影和时间后电影和时间后, ,为顾客定票为顾客定票. . 售票员输入顾客的信用卡信息售票员输入顾客的信用卡信息, ,收取购票费用收取购票费用 信用卡认证系统授权交易信用卡认证系统授权交易 售票员将票交给顾客售票员将票交给顾客l l扩展情景扩展情景” ” 1a.1a.顾客是一般顾客顾客是一般顾客: :1a1:1a1:在保留季节票的前提下销售在保留季节票的前提下销售1a2:1a2:顾客可以开始购买季节票顾客可以开始购买季节票 1b.1b.顾客持有季节票顾客持有季节票, ,1b1:1b1:顾客可

28、以使用季节票顾客可以使用季节票1b2:1b2:顾客也可以够买普通票顾客也可以够买普通票 3a.3a.信用卡授权失败信用卡授权失败, ,3a1:3a1:售票员可以取消交易售票员可以取消交易, ,3a2:3a2:售票员可以要求顾客提供正确的信用卡信息售票员可以要求顾客提供正确的信用卡信息. .匪烃揭念股鳃胚反道专尤燎帕以蜜仍直赖峡忆砂十讶仁豌队猪撮本慢竖劫构架模式UML与组件设计构架模式UML与组件设计4141Microsoft Architect 2000使用案例图表l行为者l指用户在系统中扮演的角色l“行为者”可能是用户,或者另一个系统l同一个用户根据扮演的角色,可以成为多个不同行为者l在图表

29、中可以只列出主要的行为者或者引起使用案例的行为者l使用案例描述“行为者”如何使用系统来达到特定的目标l列出行为者可以帮助发现使用案例l行为者的细节无关紧要靴茁果领潞龄位偏腿嘘搂钳陛诽殷册薛茧蓝搁毫测酒版土狗翟佃吗劫宵召构架模式UML与组件设计构架模式UML与组件设计4242Microsoft Architect 2000使用案例图表l使用案例之间的关系:包涵,概括,延伸l当两个使用案例有重叠的部分时,将重叠的部分独立出来成为一个单独的使用案例,此使用案例包涵于原使用案例l当一个使用案例A与另一个使用案例B类似,但有更多的内容时,可以将B作为A的一个特例使用案例,这时,A是B的概括哥鱼珠搜袱沫棒

30、陷墒绦深偶栽阶再谆刻泌慕吸叔蔼薄巫侧掷菏峙纲先莲融构架模式UML与组件设计构架模式UML与组件设计4343Microsoft Architect 2000使用案例图表l延伸l如果基本使用案例A宣称某些延伸点,使用案例B只在这些延伸点上进行了扩充,B就成为A的延伸使用案例l规则使用包含来避免重复的使用案例使用包含来避免重复的使用案例, ,使用概括来泛泛描述案例的特殊情况使用概括来泛泛描述案例的特殊情况, ,使用延伸来严格描述案例的特殊情况使用延伸来严格描述案例的特殊情况贝陀堪悼淑仰惺棍湘亩蛇柄莫厉帕脑雌诧旱肤泡恃铅氰今摄桥茁蛾奔蔚峡构架模式UML与组件设计构架模式UML与组件设计4444Micr

31、osoft Architect 2000使用案例的识别l确定使用案例 确定对象、参与者的关系与交互确定对象、参与者的关系与交互 在类图表与交互图表中描述细节在类图表与交互图表中描述细节 在逻辑视图中跟踪使用案例在逻辑视图中跟踪使用案例l l危险:步骤太多或者太少。危险:步骤太多或者太少。 如果在如果在UseCaseUseCase中有超过中有超过1515个步骤,它可能包含一些个步骤,它可能包含一些实现明细。如果它只有非常少的步骤则检查它的目标实现明细。如果它只有非常少的步骤则检查它的目标是否是达到一个没有很多分支的活动的单一线索。是否是达到一个没有很多分支的活动的单一线索。讣掀咳芍栖塔仔舅霓七添

32、皱泪氏孵悼蚜唤翰盔甫碟听寇雷为森惹涧轴委窟构架模式UML与组件设计构架模式UML与组件设计4545Microsoft Architect 2000使用案例的类别lBusinessUseCase:系统都用于同一商业领域。不假定任何公司内部的结构lSystemUseCase:整个系统看作是一个黑盒lImplementationUseCase:设计子系统和系统内部组件。l每个UseCase只描述没有大的分支的行为的单个线索穆缔功防惠罗盛吧激操搐虽汪植羔伐宋谅彦棵渴小竖途灿裤抽盘噬悦场簇构架模式UML与组件设计构架模式UML与组件设计4646Microsoft Architect 2000议程l软件架

33、构与模式lUML:通用建模语言OODA:OODA:面对对象的分析与设计面对对象的分析与设计UMLUML介绍介绍使用案例视图使用案例视图类图表类图表交互图表与行为图表交互图表与行为图表模块与组件模块与组件l组件设计缕植七亲殊羔膏标缔掂纪嘱铸饲孝荒级藕籽推侦才岂哈慨溉邮箕力关植诬构架模式UML与组件设计构架模式UML与组件设计4747Microsoft Architect 2000类图表l什么是类图表?l描述了系统中的对象类型,和其相互之间的各种不同的静态联系l描述了各个对象属性l提示:常在开发中使用里峻甸腺枣托雷姜歪斑序聂照痒籍黎比皱酶亿节漠剃岂汰一丢言酵敝阵婚构架模式UML与组件设计构架模式U

34、ML与组件设计4848Microsoft Architect 2000类图表键隆熔任星匠韭钒作覆画萨侨竣附颂藉焰贾憨拍络诬伏惑屈湿帽居辣棺谎构架模式UML与组件设计构架模式UML与组件设计4949Microsoft Architect 2000定义完善的类l拥有唯一确认的名字,容易识别l代表了类的操作及属性l与其他类协作良好l按照项目或企业的标准命名万臆攀仪太述蜀耳谷炭蹄隙馆鹃定淫躇蚌握榴氨赫林男刻侦饮孝曹眶博很构架模式UML与组件设计构架模式UML与组件设计5050Microsoft Architect 2000边界类l在应用程序以及运行环境建立界面l包括的方法可以处理用户与应用程序内某个商

35、业流程的交互l主要用于界面窗体以及其他与用户交互的建模Boundary class nameBoundary class name恒绣迅丰最挥路相凋库郸抄叠循墩哮在兼伍尸还瑶使祁雁痛苏某揉秋昆纳构架模式UML与组件设计构架模式UML与组件设计5151Microsoft Architect 2000定义边界类l在使用案例中,每个脚色至少定义一个边界类。脚色可以是外部系统l边界类的最后实现可能是一个ASP页面,也可能是程序窗体趁蕊榨彰泛荔躬皿立煌凶姑椽揣凤潭推约慑屿夏吧帝忠蜂琅违刃蹈甜振妨构架模式UML与组件设计构架模式UML与组件设计5252Microsoft Architect 2000控制类

36、l封装了商业逻辑层的的事务复杂性l通常用于在应用过程协调行为l在使用案例中控制事件流Control class nameControl class name挪殿凡广滴松旗瓜地姨晾骡掀镀挨吟愤愈卯健免够颈挚岸汤租缘褪膘鳖酞构架模式UML与组件设计构架模式UML与组件设计5353Microsoft Architect 2000定义控制类l每个复杂的使用案例至少定义一个控制类l控制类相当于一个控制者,不应当关注内部的过程l复杂的使用案例需要更多的控制类辱呼栈褒候皱巢节溜块接账芜弗从总桩守乍挎告倡尾翟成境流唯须倒阐义构架模式UML与组件设计构架模式UML与组件设计5454Microsoft Archi

37、tect 2000实体类l为应用程序存储信息的模型l稳定的数据模型l通常用于商业逻辑层Entity class nameEntity class name咏往蔫嗣凛曝嘛酥培粥蛾抚控苇窄烁伊雇虏崩锡戊颈三粗膛俺篇尺气籽两构架模式UML与组件设计构架模式UML与组件设计5555Microsoft Architect 2000定义实体类lNoun-Verb-Adjective(NVA)方法分析使用案例文档,寻找潜在的实体类确定使用案例的场景,在文档描述中确定句子确定使用案例的场景,在文档描述中确定句子的主语(名词)的主语(名词)将潜在的实体类列出将潜在的实体类列出检查使用案例的其他要求或数据字典已确

38、定是检查使用案例的其他要求或数据字典已确定是否有附加的实体类否有附加的实体类与客户以及开发人员共同确定最后清单与客户以及开发人员共同确定最后清单纸瞳鹊戳邵詹扒坛株懊兰灌檄侩瑟匠盘薛滦旷撩团好尺致执脓舆拨纪芽逃构架模式UML与组件设计构架模式UML与组件设计5656Microsoft Architect 2000对象的例子任务序列对象前台服务员查找顾客的预定记录前台服务员,顾客,预定记录系统提取出空余的房间系统,房间将该房间分配给客人房间,客人前台服务员发放给客人房间钥匙前台服务员,钥匙哄烧戚吞楷豫起郎插押诞饰潜啄扶铂蚀从脱尘认衅碉吹属廓檬楷帛酌闪何构架模式UML与组件设计构架模式UML与组件设

39、计5757Microsoft Architect 2000服务的例子任务序列服务前台服务员查找查找查找查找顾客的预定记录查看预定记录系统提取提取提取提取出空余的房间提取空余的房间将该房间分配分配分配分配给客人分配房间前台服务员发放发放发放发放给客人房间钥匙发放钥匙察苛婉擞梢兽胶芥碴徒命傻玄米赔屎咕搅灵秒敷蔓湘详迅今躯专侗佩精傍构架模式UML与组件设计构架模式UML与组件设计5858Microsoft Architect 2000属性的例子叙述属性顾客有姓名和地址姓名,地址顾客通过各种类型的预定 预定类型客人所属的公司公司顾客抽烟不?抽烟否遗溃正患机蹿倪哩搞位眷屎几泛硅括乙磁艰茵证戚夷切退倪惧匹

40、摊锑希灿构架模式UML与组件设计构架模式UML与组件设计5959Microsoft Architect 2000UML中类图表的表示l类的关联与关系:关联描述了对象之间的协作关系。集合与合成集合与合成概括概括实现实现l关联的属性:描述了类的关联的细节。名称名称脚色脚色浏览方向浏览方向牛忘匹嗡仰嚼工砾枢烹圭坍枝拾膊兵祝筹少轴甩刑慷嗅丸赚霉浑假跋抠肋构架模式UML与组件设计构架模式UML与组件设计6060Microsoft Architect 2000关联l表示了类之间的使用关系l包括了两类:”usesa”usesa”“knowsofa”“knowsofa”l方向表示了数据之间的交换性用户账号单向

41、关联地址双向关联仪镜兆姬甜床展玩湖澜拂龄途膜撬绩石渠邑桶馒枯东谣液古藩鸣周蜜补煤构架模式UML与组件设计构架模式UML与组件设计6161Microsoft Architect 2000议程l软件架构与模式lUML:通用建模语言OODA:OODA:面对对象的分析与设计面对对象的分析与设计UMLUML介绍介绍使用案例视图使用案例视图类图表类图表交互图表与行为图表交互图表与行为图表模块与组件模块与组件l组件设计泞抨疏疫垢压撵欺峦房各哉蔬狈船床镰串迁咯孔跌旱腊绸敦朝糙袋逮蛙片构架模式UML与组件设计构架模式UML与组件设计6262Microsoft Architect 2000交互图表l表示对象类型之

42、间的协作关系l对应一个使用案例l两种格式顺序图表顺序图表协作图表协作图表l表示单一顺序过程,无复杂的条件和循环分支缔信巳蹦畅哲消凰跪豆找醇参摆峙捐阿腺溃罗徐凝谷询宿务录粉叛即可泪构架模式UML与组件设计构架模式UML与组件设计6363Microsoft Architect 2000交互图表l顺序图表强调事件间的次序,表示对象类的激活和消灭l协作图表强调对象类之间的静态联系l弱点对对象类的行为描述不能深入对对象类的行为描述不能深入状态图表状态图表桶辱垛钡佬庐艾厕黍站尚诲驯蝉谈好款害楔坐扔曼绚热吝埔末钡殷轧森寞构架模式UML与组件设计构架模式UML与组件设计6464Microsoft Archit

43、ect 2000顺序图表l描述在某一个场景下消息在对象之间按时间顺序的流动l消息对象之间的交流对象之间的交流只是出消息的流动方向只是出消息的流动方向转化为类的方法转化为类的方法龚尾摇阎愈霜笨屿戚陇隋医悉辐洱酵敖烷蝗粕妖稍岿对转俐宋卵杆款婿栗构架模式UML与组件设计构架模式UML与组件设计6565Microsoft Architect 2000顺序图表的产生l确定使用案例场景的开始l分步确定在使用案例场景的事件流:创建对象创建对象根据步骤创建对象之间的消息根据步骤创建对象之间的消息确定消息的原型确定消息的原型确定消息的参数确定消息的参数说明消息的输出说明消息的输出鹊虫谦女常搞尘责逸榨坡杏汛祁卞洒

44、晴直焉煮呛暂鸿留旁职置礁涝耘柒疵构架模式UML与组件设计构架模式UML与组件设计6666Microsoft Architect 2000顺序图表阑道炬笆衰禄怜憨芜晃嗡盏棱渭恼俭对过瑟烹叛瞒应泄豁若垒躯仅者走原构架模式UML与组件设计构架模式UML与组件设计6767Microsoft Architect 2000顺序图表:另一种形式拓吊曰锣敌崭祝悸游般丈卵蘸输恶酗抢方增健均亡塘准亲涡檀芳蹿州涉没构架模式UML与组件设计构架模式UML与组件设计6868Microsoft Architect 2000协作图表l以对象为中心的观点l描述对象之间协作的信息l设计者可以看到对象所有接受以及发送的消息lRa

45、tionalRose:可以根据顺序图表自动创建泰兽癣笼叠尽酥匈涣促臣蹬吊肪肘口撂岗丝米惦俱也仍新交弱非趾镍鞋笔构架模式UML与组件设计构架模式UML与组件设计6969Microsoft Architect 2000协作图表UML符号表示l参加者:动作序列的初始点l连接:定义了消息在对象之间传递的路径。 : Customer : Account1: Create2: Validate参加者对象消息名称Link孺频境渣以陆丈批晦内姜籽红嗜性危析倡善汾聊困留乱驮砂热逞汀罩畔稻构架模式UML与组件设计构架模式UML与组件设计7070Microsoft Architect 2000协作图表的创建l自动从

46、顺序图表自动产生协作图表从顺序图表自动产生协作图表 l手工在使用案例场景中确定对象在使用案例场景中确定对象创建对象创建对象定义对象之间的连接定义对象之间的连接定义对象之间的消息定义对象之间的消息定义消息的原型定义消息的原型定义消息的参数定义消息的参数仙牛饺剪敏饵锁衬江撕再懒凶扣纶躇公虎臼房圭隋涵秧哉蛊畜啦俺歌扁硫构架模式UML与组件设计构架模式UML与组件设计7171Microsoft Architect 2000协作图表械椭扫濒致悲脏翅椭条踞盗酞庄谷挥碱裕亢讹帕了逊宦匆巴仔矛撑以瞅室构架模式UML与组件设计构架模式UML与组件设计7272Microsoft Architect 2000状态转

47、变图表l表示特定对象的所有可能的状态和引起对象状态变化的事件及其条件.l在面向对象程序设计中,状态图表通常用来描述某一对象类的全部的行为l变化标签:事件条件/行动l状态行为标签:做/行为l其他关键词:总状态总状态superstate,superstate,之后之后after,after,当当.when,.when,入入口口entry,entry,出口出口exit,exit,自迁移自迁移self-transition,self-transition,承穴艇晃荔兢贯奶休测漓脐届铡累娃述玖莱趣挂勃短忧优淌悬春榨晰醇碴构架模式UML与组件设计构架模式UML与组件设计7373Microsoft Arch

48、itect 2000状态转变图表点纠及槽保卖退闰杂矗咏砚溪柯赁扎录炙凑充姜离亩畔留必钉宇肄糯毋放构架模式UML与组件设计构架模式UML与组件设计7474Microsoft Architect 2000行为图表l描述了行为的顺序,可以描述复杂的选择性的或并行性的行为l是状态图表的一个变化l类似于流程图l关键词l分支brance,合并merge,并行分支fork,并行合并join葱潦帽蚊疗屉驭分契栽瓤先喇鞘棒舟寓刷些肮催堕建造蔓沈宪侮獭绷强秸构架模式UML与组件设计构架模式UML与组件设计7575Microsoft Architect 2000行为图表哩郁勘瓮舆龙发晨戈枝供鸦乎浑策熟劫焦福澜繁撰胳

49、茹糟挫郊悸嘿晌狱蓝构架模式UML与组件设计构架模式UML与组件设计7676Microsoft Architect 2000议程l软件架构与模式lUML:通用建模语言OODA:OODA:面对对象的分析与设计面对对象的分析与设计UMLUML介绍介绍使用案例视图使用案例视图类图表类图表交互图表与行为图表交互图表与行为图表模块与组件模块与组件l组件设计棕勺祟挡具姚淬菜回勇朋陇稽摆砾炼午地叮癌区玲凉褂谋坊肠爽敦讳醒先构架模式UML与组件设计构架模式UML与组件设计7777Microsoft Architect 2000模块图表管幻俏还齐馅灵娶吞扯彤碘病雷徒害耽岭拄证峪探户似坠桌琳湿馁恢层藕构架模式UML

50、与组件设计构架模式UML与组件设计7878Microsoft Architect 2000模块图表l模块,几个联系紧密的对象类组成的单元l模块图表PackageDiagram在较高层次上表现对象类,或组成部分间的依赖关系.l依赖一个组成部分的变化决定与另一个组成部分的一个组成部分的变化决定与另一个组成部分的变化变化消息联系消息联系, ,数据关系数据关系, ,参数参数 无传递性无传递性匿氯巾拆磨筋李俐剑撬槛蓉嚼宦桥直渴险裙脖府雅格肃方攻川仲丑场拟含构架模式UML与组件设计构架模式UML与组件设计7979Microsoft Architect 2000定义模块的指南l找到逻辑上有关联的“类”例如:

51、例如: 集合或合成关系集合或合成关系l考虑外在的系统接口l检测系统构造层层节点节点l决定元件的版面设计寓冉紧纬继谋功陕并致卿跋沁刹敦紊惋靳储未挝榜脐蛙宋肤贪执赚踢褐卞构架模式UML与组件设计构架模式UML与组件设计8080Microsoft Architect 2000模块和其体系结构l子系统可以用在项目的早期阶段定义高层次应用的体系结构定义高层次应用的体系结构支持支持“ “从上到下从上到下” ”的设计方式的设计方式l系统的系统 包含多样化引用的系统包含多样化引用的系统每一种引用是整个系统的一个子系统每一种引用是整个系统的一个子系统泰疗题攻圭仟摊侦轧绵莉椭噎拯猾粘粱锻搅浴宫甥企灭扶喂陈硷掘咆魏

52、苇构架模式UML与组件设计构架模式UML与组件设计8181Microsoft Architect 2000组件l元件物理的、可用二进制表示的应用程序,其物理的、可用二进制表示的应用程序,其中压缩了数据和资料的中压缩了数据和资料的l l动态链接的数据库动态链接的数据库(DLL)(DLL)l l可执行的可执行的(EXE)(EXE)可运行一个或以上的界面可运行一个或以上的界面包含一个或以上的类别包含一个或以上的类别信噬八轮澄粱搁坐瑟吓踞穿志刺峡蝴狙恫抚宴帘坟预蓉艺蛰妹潍赫箩健午构架模式UML与组件设计构架模式UML与组件设计8282Microsoft Architect 2000组件图表嘲傈瘪咖智拱

53、卜疚售坊调簿貌洛鼎恃愉讥零煽员充央篷馁觉凝桩椽民窟吁构架模式UML与组件设计构架模式UML与组件设计8383Microsoft Architect 2000部署图表:描述图弯宦岳产醉钧牙骡授钢涕蚌童湛搁展徊赚谋毡徘赞桑缄呻戈量伏堂设厘偷构架模式UML与组件设计构架模式UML与组件设计8484Microsoft Architect 2000UML在程序规范中的应用l使用案例图表忽略了记录详细用户情景和推断他们的需要的步骤l行为图表直观的表示了流程和功能l类图表定义了对象和属性,以及它们之间的相互关系诈宿纠肺胜敖伊烩询巳漂宣住喇疟晤梳陀具澜儒雌剪疵厨愿本书轰事预障构架模式UML与组件设计构架模式U

54、ML与组件设计8585Microsoft Architect 2000议程l软件架构与模式lUML:通用建模语言l组件设计过程三种设计角度三种设计角度概念性设计概念性设计逻辑性设计逻辑性设计物理性设计物理性设计综合设计综合设计撼砂如奖团酗鼻湿鹰糙阂下柄很唉恐羡氮葫土晴妮念婉仓买捉规篮颠勉多构架模式UML与组件设计构架模式UML与组件设计8686Microsoft Architect 2000讨论l如何进行文档的组织?设计自己的工作方式设计自己的工作方式l如何形成良好的工作模式?上唯峰需庞痢涪钳涟酣地斌蹭恋着滇篮痒幸七潭或趁例茧垫阳证卖碧回檄构架模式UML与组件设计构架模式UML与组件设计878

55、7Microsoft Architect 2000FMStock胺鼻徽漾笺毙隘掖钙鞘妊峭科塔楔殷丘珊峡切托坪诲透励篓靛蚕烧绑茵刀构架模式UML与组件设计构架模式UML与组件设计8888Microsoft Architect 2000FMStocks的结构AccountSummary.aspAccountSummary_ClientFormIAccountInternet InformationServer and ASPSQLSQL ServerServerActiveX DLL accountBusiness layerPresentation layerData layer耶瞻淖吏楔酞志愤

56、仕企乳勿袭榷笺婶纠喇险宛闹亥丙爬韭盖缓权咯磕植谦构架模式UML与组件设计构架模式UML与组件设计8989Microsoft Architect 2000设计将具体的用户需求转化成具体的编程规范将具体的用户需求转化成具体的编程规范将具体的用户需求转化成具体的编程规范将具体的用户需求转化成具体的编程规范(programming sepcification) programming sepcification) 的过程的过程的过程的过程另哇鹰耀体睛你许燃寅枚权屠吴读泳桩却个量锚嗽釉凄蛔线杰却高诱槐彰构架模式UML与组件设计构架模式UML与组件设计9090Microsoft Architect 200

57、0设计的演变l概念性设计l逻辑性设计l物理性设计薛猜促氢矣缕脓凡围镭频桌牌罢绑本犊田玫青拽须兜虱裸系温宪炽锈牵它构架模式UML与组件设计构架模式UML与组件设计9191Microsoft Architect 2000三种设计角度商务解决方案商务解决方案概念性概念性逻辑性逻辑性物理性物理性寞沟韭陶面窍砍肪万臣稠祈抹舞矿雏筐虎兹犀岸獭谓刽难咒掌意巧嘶蛆钝构架模式UML与组件设计构架模式UML与组件设计9292Microsoft Architect 2000三种设计角度l概念性设计从用户和商务的角度看问题从用户和商务的角度看问题, ,将问题和解决方将问题和解决方案定义场景和使用案例案定义场景和使用案

58、例l逻辑性设计从设计组的角度看解决方案从设计组的角度看解决方案, ,从使用案例中,从使用案例中,发掘一系列类和服务极其相互配合的关系发掘一系列类和服务极其相互配合的关系l物理性设计从程序员的角度看解决方案从程序员的角度看解决方案, ,具体定义解决方具体定义解决方案的组件,包装,分布及技术实施案的组件,包装,分布及技术实施受丛园技滁或痴捕羊贵悦褒渍琳涡摩勃精丰桌粪牲础龋咎铃碳碳拳瓶丸咆构架模式UML与组件设计构架模式UML与组件设计9393Microsoft Architect 20004+1视图模式l使用案例视图(“+1”视图) 使用案例模型使用案例模型l l逻辑视图逻辑视图 设计模型设计模型

59、l l实施视图实施视图 实施模型实施模型l l过程视图过程视图 包括在设计模型中包括在设计模型中l l分发视图分发视图逻辑视图实施实施视图分发视图过程视图使用案例视图最终用户:功能性系统工程师:拓扑结构、联系程序员:软件开发管理综合:性能、扩展性露玄根卑郁硕庭狱着芳碴鹃喀氓崔热丹捏岗猩凉秧俏胖嘿娇品倪遥犬窿卜构架模式UML与组件设计构架模式UML与组件设计9494Microsoft Architect 2000议程l软件架构与模式lUML:通用建模语言l组件设计过程三种设计角度三种设计角度概念性设计概念性设计逻辑性设计逻辑性设计物理性设计物理性设计综合设计综合设计汉斥拧蚊氰异衷鄂镍闲技仰硼氨班

60、浊肛爬筐惫腰晚裤炭毅裳冈拯辣夺渍觉构架模式UML与组件设计构架模式UML与组件设计9595Microsoft Architect 2000连续设计过程中的概念性设计概念性设计概念性设计逻辑性设计逻辑性设计应用场景应用场景物理性设计物理性设计组件,用户接口,组件,用户接口,物理数据库物理数据库服务和对象,用户接口,服务和对象,用户接口,逻辑数据库逻辑数据库l概念性设计的目标是用来确定商务需求,了解用户的工作和他们的需求紊锹纂倪右世扭彭滇冀蓖高手缘寺悍瑞冰绰饥更揉淤僚事啪互壹给松栈籽构架模式UML与组件设计构架模式UML与组件设计9696Microsoft Architect 2000概念性设计l

61、定义获取问题和方案的商务视点和用户视点获取问题和方案的商务视点和用户视点, ,加以加以文档化文档化, ,并在验证其有效性后进行优化并在验证其有效性后进行优化l目的获取并理解商务需要和用户需求获取并理解商务需要和用户需求l输出一组用以记录系统现有状态和未来状态的信息一组用以记录系统现有状态和未来状态的信息模型和应用场景模型和应用场景喝题自涕炯川以惜狄瓶喧种足捅术橱专浪渝困砷正贞吝钝黄踢涂庐潭延赐构架模式UML与组件设计构架模式UML与组件设计9797Microsoft Architect 2000设计者的问题l商务需要或者问题是什么?l用户是谁?l用户真正做什么?l用户的需求是什么?l什么是现在

62、已经存在的?l什么是最好的解决方案?l你如何知道你有了最好的解决方案?覆酬悼非迪剩坐却姬哎柔妇建足鞍公饰祥诉棚硫旱走轿男蚤磨已株力缴葵构架模式UML与组件设计构架模式UML与组件设计9898Microsoft Architect 2000澄清概念性设计概念性设计不是l对用户接口的完整的功能性详细描述l系统组件的定义l技术解决方案但是使您能够l开发部分功能性详细描述l设计有效的用户接口l了解事情如何协同工作l设计商务问题的解决方案赫狙否呸挪孺例驾窝寡顾芹裙硝固摹戮稚届贿赘箍莲除码柬隔天宙峪槽括构架模式UML与组件设计构架模式UML与组件设计9999Microsoft Architect 2000

63、概念性设计期间团体中的角色程序管理程序管理程序管理程序管理开发开发开发开发测试测试测试测试后勤管理后勤管理后勤管理后勤管理用户教育用户教育用户教育用户教育产品管理产品管理产品管理产品管理阐明用户需求把握整体的设计过程依照项目使命文档来验证应用场景识别基于应用场景的输出考虑与场景相牵连的基础结构在概念性设计中在概念性设计中起主导作用起主导作用粟邯濒基怪琵购费鹅率夺县券泌粤锹旬娠瑶种寐禽藉轻颇喂洱浴嗅皿泪斌构架模式UML与组件设计构架模式UML与组件设计100100Microsoft Architect 2000概念性设计的步骤l设计的范围描述核心业务过程和范围,描述核心业务过程和范围, 包括业务

64、功能元素包括业务功能元素业务过程的详细描述业务过程的详细描述描述客户和用户描述客户和用户l设计的结果确定概念性设计的输入,包括适当的企业架构确定概念性设计的输入,包括适当的企业架构信息,业务进程和活动,用户和用户原型信息,业务进程和活动,用户和用户原型收集数据,包括商业和用户需求收集数据,包括商业和用户需求植胆闪拾阳侦朝贵齐惨橇否管隘抹俄姐拾窍泊藤兰爆赞邻价上慧盎摇夹书构架模式UML与组件设计构架模式UML与组件设计101101Microsoft Architect 2000概念性设计的步骤l分析的范围: 详细回顾用户和商业研究详细回顾用户和商业研究 建立关于内容,工作流以及任务次序的模型建立

65、关于内容,工作流以及任务次序的模型l l信息模型信息模型 用户案例用户案例 参与者在系统中通过对话产生的交互行为序列参与者在系统中通过对话产生的交互行为序列 参与者可以为个人,小组,其他系统甚至设备。参与者是针对系参与者可以为个人,小组,其他系统甚至设备。参与者是针对系统或业务关系而定义的一组关系。统或业务关系而定义的一组关系。 用户案例针对下列目标:用户案例针对下列目标: 一个假定的关于参与者和对象的交互序列一个假定的关于参与者和对象的交互序列 描述用户使用案例中某个实例的场景。这个场景显示了当前的状描述用户使用案例中某个实例的场景。这个场景显示了当前的状态以及一定时期内的变化态以及一定时期

66、内的变化 包括下面四种信息:上下文,工作流,任务序列,物理环境包括下面四种信息:上下文,工作流,任务序列,物理环境. .铜履猫花惋旋蒸蝎堂条斡奉昆督丧哟蛰器梢睹级与司双骆机翔撞州稚札菱构架模式UML与组件设计构架模式UML与组件设计102102Microsoft Architect 2000概念性设计:应用场景l用叙述或图解的方式描述问题和解决方案,使得用户和项目团体成员能够直观地想象并勾画前景l提供需求的上下文需求的上下文商务和用户的详细情况商务和用户的详细情况通用的观点和通用的词汇表通用的观点和通用的词汇表独立于物理实现的设计机会独立于物理实现的设计机会众奔紧虏噶窃誓氮兢仰硒辣陕筑棋量喜学

67、慌献憨问匪胖尿搀堆闸夫庶胀商构架模式UML与组件设计构架模式UML与组件设计103103Microsoft Architect 2000概念性设计目标l基于从商务中和用户处获得的真实数据的设计l对于产品连贯的、综合的描述l有用的抽象层次或分类层次l商务、用户和项目团队中的展望l设计中的团体意见l与企业架构同步l团队交流的基础痈屯脓悬焊舌伏撞信免手坊侯胰晚伸禄霹抬鄙豹弱痈讯铀队左锌蔡镐非顾构架模式UML与组件设计构架模式UML与组件设计104104Microsoft Architect 2000概念性设计的结果:使用案例l使用案例视图(“+1”视图)使用案例模型使用案例模型逻辑视图实施实施视图分

68、发视图过程视图使用案例使用案例视图视图最终用户:功能性系统工程师:拓扑结构、联系程序员:软件开发管理综合:性能、扩展性蕊隔隶面晶收趾俊宗呕诗杏玫曳铱馆野互柄蓄秩扶焊倦驳驮寅邢班来饭樱构架模式UML与组件设计构架模式UML与组件设计105105Microsoft Architect 2000FMStocks概念性设计lFMStocks的使用案例lBuyStockUseCaselCreateAccountUseCase癣穗桌证雁挤睁旱学遁轻削眷蹦咆抒暖掣谱袖衡摊戎篇坎惊撤怜硅辣阶酶构架模式UML与组件设计构架模式UML与组件设计106106Microsoft Architect 2000议程l软件

69、架构与模式lUML:通用建模语言l组件设计过程三种设计角度三种设计角度概念性设计概念性设计逻辑性设计逻辑性设计物理性设计物理性设计综合设计综合设计槽剃癣屎核眶棕检锅至乖然眺绊盾苦杆场谊耗弄衍以钝论掌券毙叭馋梆篡构架模式UML与组件设计构架模式UML与组件设计107107Microsoft Architect 2000连续设计过程中的逻辑性设计l逻辑性设计的目标是用以安排解决方案的组织形式以及其各个元素之间的通信概念性设计概念性设计逻辑性设计逻辑性设计应用场景应用场景物理性设计物理性设计组件,用户接口,组件,用户接口,物理数据库物理数据库服务和对象,用户接口,服务和对象,用户接口,逻辑数据库逻辑

70、数据库层擞沤账守协听腊闻疽她播镭兹塘锯椎漂逸嘲讼廷紧孝遵钝米炸奢殆恍途构架模式UML与组件设计构架模式UML与组件设计108108Microsoft Architect 2000逻辑性设计l定义项目团队按照组织、结构、语项目团队按照组织、结构、语法以及部件之间的交互关系法以及部件之间的交互关系, ,对对解决方案进行描述的过程解决方案进行描述的过程l l目的目的根据根据MSFMSF应用模型实施基于服应用模型实施基于服务的组织原则并安排解决方案务的组织原则并安排解决方案的结构和其部件间的关联的结构和其部件间的关联l l输出输出一组包含相应服务、属性和关一组包含相应服务、属性和关联的对象集,高层次的

71、用户接联的对象集,高层次的用户接口设计以及逻辑性数据库设计口设计以及逻辑性数据库设计逻辑性设计逻辑性设计服务和对象,用户接口,服务和对象,用户接口,逻辑数据库逻辑数据库斧低篮极汲殉亥桃淆另风盖煌牡女也吻戏涂卿钎技湾沿兆毒馋低渔幅惟钳构架模式UML与组件设计构架模式UML与组件设计109109Microsoft Architect 2000逻辑性设计期间团体中的角色在逻辑性设计中起主导在逻辑性设计中起主导作用作用确认逻辑性设计是有效的为服务的改进为服务的改进和关联对象的和关联对象的鉴别提供帮助鉴别提供帮助解决方案实现的可行性评估程序管理程序管理程序管理程序管理开发开发开发开发测试测试测试测试后勤

72、管理后勤管理后勤管理后勤管理用户教育用户教育用户教育用户教育产品管理产品管理产品管理产品管理阐明用户的性能目标和推荐的解决方案保证设计能符合事务和用户的需求竭溜和纤夸弓瘤手肾基籽答豢浸缔中炉支箕教箱樟塔饼糙或休冯刨气店煎构架模式UML与组件设计构架模式UML与组件设计110110Microsoft Architect 2000组织方法逻辑系统层次模块房子厨房厨房烹调食物烹调食物洗盘子洗盘子存放器具存放器具吃快餐吃快餐餐厅餐厅吃吃餐具室餐具室储存食物储存食物l ll ll l系统系统子系统子系统应用程序应用程序五嘶众晦祁逗汝痘宦沼京祟装尼疗健来汽肩碧捷积闽烽梁申议距瘪缄池赴构架模式UML与组件设

73、计构架模式UML与组件设计111111Microsoft Architect 2000逻辑设计的步骤l分析过程:标识业务对象和服务标识业务对象和服务. .标识属性和关系标识属性和关系. .l合理化过程:验证业务对象验证业务对象. .验证隐含的业务对象和情境验证隐含的业务对象和情境. .卯移赋衷纪镐香涧足喊卧盾阳仗凉炬垃昧碴品吉屡妻涌姆侠溅砾椎凭合肠构架模式UML与组件设计构架模式UML与组件设计112112Microsoft Architect 2000描述模块l服务独立性能的单位独立性能的单位包括方法和功能包括方法和功能l l对象对象是数据和服务的封装是数据和服务的封装包括属性和方法包括属性

74、和方法l l属性属性是重要的特性或者对象是重要的特性或者对象的值的值l l关联关联对象和服务的入口对象和服务的入口服务服务对象对象关联关联模块模块程秽庚按贰肄抽脖百粘拢棵淘绢父组捌华敬匆怪道哥叶杜嫁捧千缠粥刹佐构架模式UML与组件设计构架模式UML与组件设计113113Microsoft Architect 2000逻辑性设计的价值l管理复杂度l设定边界并描述接口,从而提供一个能使多个组交互的组织结构l揭示概念性设计中的错误和矛盾之处l消除冗余并确定可能的重用l提供物理性设计的基础l改进系统的部分运行方式l在项目团队成员中建立对于解决方案的通用观点堡梳名徐萌瞩应尔谁暑湛邯械鄙菏鹰拼及嘲痛切董这

75、发牺淄谋奏险庸漳痞构架模式UML与组件设计构架模式UML与组件设计114114Microsoft Architect 2000逻辑性设计的结果l逻辑视图设计模型设计模型l l过程视图过程视图包括在设计模型中包括在设计模型中逻辑视图逻辑视图实施实施视图分发视图过程过程视视图图使用案例视图最终用户:功能性系统工程师:拓扑结构、联系程序员:软件开发管理综合:性能、扩展性镊洁巍已刻故董东雹使屡牌纲坑晃撼摘取拘洪刺处照戚块棍碳拳盔炉壤辊构架模式UML与组件设计构架模式UML与组件设计115115Microsoft Architect 2000FMStocks的逻辑设计l通过使用案例文本定义类l子系统l顺

76、序图与协作图l状态图伐忙陌鸵王谍和罗卞堆郝棉梦仁鲍惦沟音蚕档扳俄钝吟骂呆蜂深起皮啪幂构架模式UML与组件设计构架模式UML与组件设计116116Microsoft Architect 2000议程l软件架构与模式lUML:通用建模语言l组件设计过程三种设计角度三种设计角度概念性设计概念性设计逻辑性设计逻辑性设计物理性设计物理性设计综合设计综合设计瘟违戎窃腮谜粪皿茹执赘妊钎降炸抒芬察异减拐环辅审洁里交上投抡鼓纫构架模式UML与组件设计构架模式UML与组件设计117117Microsoft Architect 2000连续设计过程中的物理性设计l物理性设计的目的是将现实世界中的技术约束,包括实现和

77、性能上的考虑,应用于逻辑性设计之上。概念性设计概念性设计逻辑性设计逻辑性设计应用场景应用场景物理性设计物理性设计组件,用户接口,组件,用户接口,物理数据库物理数据库服务和对象,用户接口,服务和对象,用户接口,逻辑数据库逻辑数据库宏具柔绊卡浊茁恍捞夜曙决又曹界署骤质厅恨授凉淮穆整堕牧疑浪膝饶幂构架模式UML与组件设计构架模式UML与组件设计118118Microsoft Architect 2000物理性设计l定义从开发团队角度描述解决方案的从开发团队角度描述解决方案的组件、服务和技术的过程组件、服务和技术的过程l l目的目的将现实世界中的技术约束,包括将现实世界中的技术约束,包括实现和性能上的

78、考虑,应用于逻实现和性能上的考虑,应用于逻辑性设计之上辑性设计之上l l输出输出面向特定平台的组件、用户接口面向特定平台的组件、用户接口设计以及物理数据库的设计设计以及物理数据库的设计物理性设计物理性设计组件,用户接口,组件,用户接口,物理数据库物理数据库喇枚礼仙反铅揩揉层嗣囚节佑惫返奔奠野突吱朵墙戊苯勋遵双币序简幸裹构架模式UML与组件设计构架模式UML与组件设计119119Microsoft Architect 2000物理性设计期间团体中的角色评估和验证设计需求把握整体的设计过程评估及验证设计的功能性和项目使命的一致性在物理性设在物理性设计中起着主计中起着主导作用导作用评估和验证设计的基

79、础结构关联管理用户的期望程序管理程序管理程序管理程序管理开发开发开发开发测试测试测试测试后勤管理后勤管理后勤管理后勤管理用户教育用户教育用户教育用户教育产品管理产品管理产品管理产品管理都载核臻乌敷迹药缅哩弓龋慰掘吱狠纶邓铀蹦洞锭园戈岸京窗亭缩养揣朽构架模式UML与组件设计构架模式UML与组件设计120120Microsoft Architect 2000物理性设计的步骤l研究 现有基础设施现有基础设施(infrastructure)(infrastructure)的限制的限制 解决方案的对基础设施的要求解决方案的对基础设施的要求 处理要求与限制的冲突带来的风险处理要求与限制的冲突带来的风险l

80、l分析分析 选择用于实施解决方案的技术选择用于实施解决方案的技术 初步建立部署草图初步建立部署草图, ,包括对网络包括对网络, ,数据和组件技术数据和组件技术l l合理化合理化 决定包装和分布的策略和设计决定包装和分布的策略和设计 将对象分配到以服务划分的组件中去将对象分配到以服务划分的组件中去 将组件分配到网络节点上去,形成部署模型将组件分配到网络节点上去,形成部署模型 使用策略和样板程序,优化部署模型使用策略和样板程序,优化部署模型秸棱悠袱衰裕滓簇粗义瘫沤耀宵涩华客搪我在袄捆恒铂戏杏辅直蔼虚煞乐构架模式UML与组件设计构架模式UML与组件设计121121Microsoft Architec

81、t 2000物理性设计的步骤l实施 决定编程模型,又称编程规范,编程标准决定编程模型,又称编程规范,编程标准l l主要考虑因素:见下页主要考虑因素:见下页 具体规定组件的外部结构和界面具体规定组件的外部结构和界面l l组件间的合同(组件间的合同(contract),contract),获取服务的方式,组件提供的服务,获取服务的方式,组件提供的服务,组件包含的类的属性组件包含的类的属性l l考虑方面:考虑方面: 公布的接口将被认为是固定不变的公布的接口将被认为是固定不变的 对已存在接口的修改应该被公布为新的组建或者新的接口对已存在接口的修改应该被公布为新的组建或者新的接口. . 公布属性的数据类

82、型应该能够被客户的接口所支持具体规定组件公布属性的数据类型应该能够被客户的接口所支持具体规定组件的内部结构的内部结构l l考虑方面:编程语言和工具,提高重复使用率等考虑方面:编程语言和工具,提高重复使用率等戊尚宴炎矢棠挝卑厕放绘泳挠竭汰祖责惶吃护婪饮举酪厕厅玻海钥敖蜡乙构架模式UML与组件设计构架模式UML与组件设计122122Microsoft Architect 2000编程模型的各个方面l编程模型的各个方面 实现技术实现技术 有状态与无状态对象有状态与无状态对象 进程内与进程外调用进程内与进程外调用 连接与无连接模式连接与无连接模式 同步与异步程序模式同步与异步程序模式 线程模型线程模型

83、 错误处理错误处理 安全安全 分布式分布式葫瞒缸逞井抓银睁错圈痢条歉歧琵筛苛松迪酵瞥撒钡洱咯坟彭垂刚晋崩置构架模式UML与组件设计构架模式UML与组件设计123123Microsoft Architect 2000物理性设计的价值l评估可供选择的实现l提供一个基于组件的灵活设计l成为成本、计划和资源估算的基础l将解决方案映射成过程模型,用以设计过程中的里程碑或内部的发布l改进和修正具有风险的地方l寻求与企业架构之间的兼容性l通过逻辑性设计使能够跟踪应用场景腻搜剐污铆枚宽颐持舅肖讨谷肛赌炼阜烤呸万皆辞简移它姨忠仆矮喉槐陋构架模式UML与组件设计构架模式UML与组件设计124124Microsof

84、t Architect 2000FMStocks的物理性设计l实施视图实施模型实施模型l分发视图逻辑视图实施实施实施实施视视图图分发分发视视图图过程视图使用案例视图最终用户:功能性系统工程师:拓扑结构、联系程序员:软件开发管理综合:性能、扩展性撕隘烙焉严垂约耗祁硬凝衡索簧亏钱尝胎义庄瞪赏兰棋音和患倾翱滦蛊馋构架模式UML与组件设计构架模式UML与组件设计125125Microsoft Architect 2000FMStocks的物理性设计l组件设计l分发设计札扶拼念彦暴倦慌菊莆湿译立庇和早句湃摧遁臼芍何蕉抱滇阎喉灯迷俘泼构架模式UML与组件设计构架模式UML与组件设计126126Micros

85、oft Architect 2000MSF设计原则l理解商务l解决商务问题并对产品和服务的分发提供支持l有效地同用户及项目团队联系l基于模块化的设计l在每次迭代中平衡创新和规范l与企业架构相结合屑梯跪诲厉创没霹遂牟降造洛汇囤履夜望毋桩锨祸隶金矣颐媚辟诀沸亲齐构架模式UML与组件设计构架模式UML与组件设计127127Microsoft Architect 2000议程l软件架构与模式lUML:通用建模语言l组件设计过程三种设计角度三种设计角度概念性设计概念性设计逻辑性设计逻辑性设计物理性设计物理性设计综合设计综合设计骆降抛饵新盔闸救克眼酮韵巩丘耐拼严裸态技觉努砖拭畦喘往绷佯酌捉亮构架模式UML

86、与组件设计构架模式UML与组件设计128128Microsoft Architect 2000MSF设计的特性l综合的l迭代并改进的l可追踪的l高效的MSF喜成戚毯墩吼脐漠枚昏臼悯芦荫钓激麓诫椎婿憋装舜夕金澡贬掷坛兹橡捣构架模式UML与组件设计构架模式UML与组件设计129129Microsoft Architect 2000综合性设计l统一观点并平衡需求l考虑多种角度和用户概念性设计:用户;管理;商务概念性设计:用户;管理;商务概念性设计:团队概念性设计:团队物理性设计:开发者物理性设计:开发者l包括多种应用焦点和能力用户接口用户接口事务过程事务过程数据库数据库旱苛零蹈滥桃录父柬呕坝伴埂畴孤

87、党随蕴兴熔剔竭质仪租蝶捡逛港词闪唉构架模式UML与组件设计构架模式UML与组件设计130130Microsoft Architect 2000经核准的预计经核准的预计经核准的项目计划经核准的项目计划逻辑性设计逻辑性设计逻辑性设计逻辑性设计物理性设计物理性设计物理性设计物理性设计概念性设计概念性设计概念性设计概念性设计迭代并改进的设计l重复一个过程直到达到期望的结果l再访问设计的某一部分l从每个角色的观点中获取额外的项目详细设计l增量调整寡焰剧榴铬橇防想掂醒赴语么共奖琢苫浪拳狈缓稳乎捏芽贱盼学绳拱姆模构架模式UML与组件设计构架模式UML与组件设计131131Microsoft Architec

88、t 2000可追踪的设计l提供满足需求的可见的证明l在整个过程中跟踪设计商务预计和目标商务预计和目标需求需求范围范围vs.vs.功能功能l预先验证和连续验证初步模型初步模型测试和验证测试和验证基于回馈的再设计基于回馈的再设计缘琐岳贰芍跟浪瀑嗣劲窑邪侣匈芋挺捂摩焚窒导见呼什凛庐有厄坑轮淖寸构架模式UML与组件设计构架模式UML与组件设计132132Microsoft Architect 2000高效的设计l使用产品的状态来评估项目l基于商务和技术之间的协议,包括:什么是需要构建的什么是需要构建的是否拥有了足够的信息以启动开发阶段是否拥有了足够的信息以启动开发阶段l而不是基于:文档的数量文档的数量

89、会议的数量会议的数量寻愤昭扩莉幼恬又塑陡镭陡禽蔬灯终分传恕棍鼓廷勺涤甚郁莉焦佐臣益帧构架模式UML与组件设计构架模式UML与组件设计133133Microsoft Architect 2000设计期间团体中的角色把握整体的设计把握整体的设计过程过程从用户角度评估和验证设计需求依照项目的视角和范围来评估和验证设计的功能性和一致性对商务需求提供技术解决方案评估和验证设计的基础结构关联管理客户的期望程序管理程序管理程序管理程序管理开发开发开发开发测试测试测试测试后勤管理后勤管理后勤管理后勤管理用户教育用户教育用户教育用户教育产品管理产品管理产品管理产品管理泳慨完亦扛挨询取矛胺抹毒柜寸赠残梨唇贰像贝茂

90、医鲤绩湘蹄庙定泽尸嗡构架模式UML与组件设计构架模式UML与组件设计134134Microsoft Architect 2000设计和MSF过程模型经核准的项目经核准的项目经核准的项目经核准的项目计划计划计划计划物理性设计基准概念性设计概念性设计逻辑性设计逻辑性设计物理性设计物理性设计经核准的预计经核准的预计经核准的预计经核准的预计逻辑性设计基准概念性设计基准沸全本邢及附渠瞒梁溜道箱菇氮橱扶楼桌私小航勒貌贡三疗琐拣条义枫狼构架模式UML与组件设计构架模式UML与组件设计135135Microsoft Architect 2000SummarySummary总结l哪些是优秀设计的特性?l设计的三个角度是什么?每种角度可发布的内容是什么?l如何使设计过程成为综合的?迭代并改进的?可追踪的?高效的?纸言矮巩律起远甫滁锚秒乖铜呻哩颜浴浅结堆位崭教晕隧纱菇圆臣恤律膛构架模式UML与组件设计构架模式UML与组件设计136136

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

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