领域模型概念的可视化53课件.ppt
《领域模型概念的可视化53课件.ppt》由会员分享,可在线阅读,更多相关《领域模型概念的可视化53课件.ppt(128页珍藏版)》请在三一办公上搜索。
1、领域模型概念的可视化,徐迎晓xuyingxiao126复旦大学软件学院,领域模型概念的可视化徐迎晓,outline,什么是领域模型概念类识别和提取概念类创建领域模型步骤几个问题命名概念类or属性?属性与外键数量和单位添加Specification/ description相似概念问题Modeling the Unreal World不同视角的模型Process,outline什么是领域模型,领域模型概念的可视化53课件,领域模型概念的可视化53课件,领域模型概念的可视化53课件,什么是领域模型概念类识别和提取概念类创建领域模型步骤几个问题命名概念类or属性?属性与外键数量和单位添加Specif
2、ication/ description相似概念问题Modeling the Unreal World不同视角的模型Process,什么是领域模型,Use cases:important requirements analysis artifact, but are not object-oriented.emphasize a process view of the domain.Domain modelThe most important artifact to create in OOA,Use cases:,领域模型domain model是概念类或问题领域中实际对象的可视化表达,又称
3、为:概念模型conceptual models领域对象模型domain object models分析对象模型analysis object models.,领域模型domain model是概念类或问题领域中实际对,什么是领域模型概念类识别和提取概念类创建领域模型步骤几个问题命名概念类or属性?属性与外键数量和单位添加Specification/ description相似概念问题Modeling the Unreal World不同视角的模型Process,什么是领域模型,概念模型,领域模型显示问题领域中对建模者有意义的概念类 OOA中创建的最重要的制品 识别大量对象或概念类heart o
4、f OOA领域模型表达的是现实世界中的概念类,而不是软件构件(不是软件类或带有职责的软件对象)识别概念类是问题域调查的一部分UML中的类图可以显示领域模型,概念模型领域模型显示问题领域中对建模者有意义的概念类,使用UML表示法,领域模型用一组不带操作的类图来表示,可显示:领域对象或概念类概念类之间的关联概念类的属性,使用UML表示法,领域模型用一组不带操作的类图来表示,可显示,可视化字典,领域模型将领域中的单词、概念类可视化,并将其相互关联(比文字更容易阅读)领域模型显示了视图或抽象的一部分,而将建模者不感兴趣的细节忽略。创建领域模型同时有助于澄清领域中术语和词汇可视化字典,可视化字典,领域模
5、型概念的可视化53课件,领域模型概念的可视化53课件,领域模型概念的可视化53课件,领域模型概念的可视化53课件,领域模型概念的可视化53课件,领域模型概念的可视化53课件,不是软件设计,领域模型是现实世界问题领域中事物的可视化,而不是软件构件的可视化不是软件制品如window, database不带有职责和方法,不是软件设计领域模型是现实世界问题领域中事物的可视化,而不是,领域模型显示现实世界的概念,领域模型显示现实世界的概念,领域模型避免软件制品或类,领域模型避免软件制品或类,领域模型概念的可视化53课件,什么是领域模型概念类识别和提取概念类创建领域模型步骤几个问题命名概念类or属性?属性
6、与外键数量和单位添加Specification/ description相似概念问题Modeling the Unreal World不同视角的模型Process,什么是领域模型,创建领域模型步骤,列出候选概念类在领域模型中画出候选概念类添加关系添加属性,创建领域模型步骤列出候选概念类,什么是领域模型概念类识别和提取概念类创建领域模型步骤几个问题命名概念类or属性?属性与外键数量和单位添加Specification/ description相似概念问题Modeling the Unreal World不同视角的模型Process,什么是领域模型,领域模型识别和提取概念类,用概念类种类列表识别名
7、词短语使用分析模式,领域模型识别和提取概念类用概念类种类列表,领域模型概念的可视化53课件,使用概念种类列表,store and airline reservation domains.,饥饿,恐高症,使用概念种类列表store and airline rese,识别名词和名词短语,识别名词和名词短语,领域模型概念的可视化53课件,it is another source of inspiration.Care:a mechanical noun-to-class mapping isnt possiblewords in natural languages are ambiguousit i
8、s recommended in combination with the Conceptual Class Category List technique.,it is another source of inspir,Some are candidate conceptual classesSome maybe ignored in this iteration (Accounting and commissions)Some may be attributes of conceptual classes.(Price),Some are candidate conceptual,使用分析
9、模式,由专家创建并公开的部分领域模型Martin Fowler分析模式:可复用的对象模型 Analysis Patterns Reusable Object Models Addison Wesley/Pearson 机械工业出版社 中国电力出版社(影印版),使用分析模式由专家创建并公开的部分领域模型,Martin Fowler的主要精品著作有重构改善既有代码的设计(Refactoring: Improving the Design of Existing Code)、UML精粹:标准对象建模语言简明指南(UML Distilled:A Brief Guide to the Standard
10、Object Modeling)分析模式:可重用的对象模型(Analysis Patterns:Reusable Object Models) 规划极限编程(Planning Extreme Programming)企业应用架构模式(Patterns of Enterprise Application Architecture)等,Martin Fowler的主要精品著作有,领域模型概念的可视化53课件,销售领域候选概念类,销售领域候选概念类,POS系统领域模型,POS系统领域模型,Group size,You should preferably be 5-7 persons in the g
11、roup that identifies concepts. With a group of this size you get several perspectives and ways of thinking. And if the group is larger it can be difficult to agree on the concepts.The group should contain a mixture of persons, e. g. analysts, designers, programmers. There should be at least one doma
12、in expert in the groupOne person is the leader. His/her job is the make the group work dynamically. One should have clear objectives for each meeting! Disputes should be solved harmonically, so it is important that the leader is trusted by everyone.,Group sizeYou should preferab,A process for identi
13、fyingconcepts,1. each person is assigned to search for concepts in different places.2. the whole group meets and finds concept candidates using brainstorming. All possible concepts should be includes! All concepts are equally important!,A process for identifyingconc,3. When no more concepts are foun
14、d, you have a good starting point for identifying the suitable concepts for the problem area. Divide the concepts into three groups:1. Concepts which everybody thinks are important2. Concepts that fall outside the problem area, are more suitable as attributes, concepts with the same meaning etc.3. C
15、oncepts which fall in between these groups.4. Discuss the concepts in group 3 which not everyone agrees on. These concepts should be treated consistently.,3. When no more concepts are f,Principles for brainstorming,All ideas are equally importantThink quickly, not too much consideration; think more
16、laterLet everyone speak (Round-Robin Technique)A good mood can be an important strength,Principles for brainstorming,Good concepts,It is important to point out that you probably havent found all appropriate concepts after looking for them the first time, if the problem area isnt very trivial!The mor
17、e you work with the domain model,the better it gets. It can take several iterations to reach a stable model.,Good conceptsIt is important,领域模型添加关联,领域模型添加关联,领域模型概念的可视化53课件,从前有座山,山上有座庙,庙里有个,从前有座山,山上有座庙,庙里有个,添加关联,从常用关联列表中导出的关联-由此开始,添加关联从常用关联列表中导出的关联-由此开始,领域模型概念的可视化53课件,领域模型概念的可视化53课件,领域模型概念的可视化53课件,领域模
18、型概念的可视化53课件,高优先级关联, A is a physical or logical part of B. A is physically or logically contained in/on B. A is recorded in B.,高优先级关联 A is a physical or log,关联指南,集中于需要保存一定时间的关系(Need to know关联)提取概念类比识别关联更重要,主要时间应放在识别概念类太多的关联会使领域模型更混乱耗时,而效果递减避免显示冗余或可导出的关联,关联指南集中于需要保存一定时间的关系(Need to kno,角色,Each end of a
19、n association is called a role.Roles may optionally have:name ftp 202.120.127.92multiplicity expressionNavigability(导航),角色Each end of an association i,Multiplicity,Multiplicity,The multiplicity value communicates(表明) how many instances can be validly associated with another, at a particular moment,
20、rather than over a span of time.一夫一妻制旧车任一时刻只能被一个经销商进货,但一段时间内可能反复被进货,The multiplicity value communi,The multiplicity value is dependent on our interest as a modeler and software developer现实中,Item可以不存储在任何Store中(如已卖出),但软件中,Item总与一个Store相联系,The multiplicity value is depe,Naming Associations,TypeName-Ver
21、bPhrase-TypeName formatverb phrase creates a sequence that is readable and meaningful in the model context.start with a capital letterassociation represents a classifier of links between instances; in the UML两种常用格式Paid-byPaidBy,Naming AssociationsTypeName-V,default direction to read an association n
22、ame is left to right or top to bottomnot a UML default, but a common convention.,default direction to read an a,Multiple Associations Between Two Types,Multiple Associations Between,Domain Modeling期间,association只是对现实世界的分析,不意味着需要实现实现关联最常用的方法:使用属性,Domain Modeling期间,association只,Unforgettable Relations
23、hips in the Store,Unforgettable Relationships in,Applying the Category of Associations Checklist,Applying the Category of Assoc,领域模型概念的可视化53课件,领域模型概念的可视化53课件,添加关联,添加关联,领域模型概念的可视化53课件,识别名词和名词短语,识别名词和名词短语,领域模型概念的可视化53课件,领域模型添加属性,领域模型添加属性,领域模型概念的可视化53课件,属性,属性,Attribute of Sale,a receipt (which reports
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 领域 模型 概念 可视化 53 课件

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