系统分析与设计复习总结之【领域模型】

五一三天假除了背单词,也抽空复习了下UML,毕竟还有一两周要半期考试了……(哪里来的半期考试啊syllabus明明里提都没有提啊T_T)今天先来看——领域模型。

首先领域模型长这样(后面还有九个图啊千万不要搞混了)

那么为什么要有领域模型呢,不是前面已经有用例图了嘛。书上在后面的内容稍微提到了这点,表示领域模型可以减小人们的思维与软件模型之间的表示差异。我自己在在其他资料上看到了另外一种更通俗的解释,大概是这么说的,因为用例是用纯自然语言写的,是没有“类”的概念的,无法从自然语言转换到面向对象语言,而领域模型就是这么一座自然语言向OOL的桥梁。

接下来的问题是,什么是领域模型,到底具体定义是怎样的呢?

书上的解释是:领域模型,是对领域内的概念类或现实世界中对象的可视化表示。领域模型并不是对软件对象的描述,它使真实世界领域中的概念和想象可视化。

这里需要说明的是领域模型中的对象和具体的语言无关,所以领域模型不需要方法(method)。

前面提到了“概念类”这个名词,领域模型既然也叫概念类图,那什么又是概念类呢,

书上说:通俗的说,概念类是思想、事物或对象

这个解释也太通俗了…几乎是废话了…换个说法,概念类就是描述现实世界里的实体和概念。实体entity在数据库里提过这个概念,这样应该好理解一点。

好了,了解几个基本概念后,本着应试的角度(…)接下来最重要的目的就是画领域模型了。如何创建领域模型呢,书上给出的是三个步骤

  1. 寻找概念类

  2. 将其绘制为UML类图中的类

  3. 添加关联和属性

个人觉得,平时练习或者实际运用的话,用下面四个步骤会更容易进行

  1. 找出用例中的名词

  2. 识别名词本身的相关信息

  3. 识别对象间的关系

  4. 画出领域模型图

可以看出,方法二的步骤12对应方法一的步骤1,方法二的步骤3对应方法一的步骤3,剩下的方法一的步骤2和方法二的步骤4是废话(……)

所以接下来分两个方面讲怎么创建领域模型。

1) 如何找到概念类

  书上给出的三个方法

  1. 重用和修改现有的模型

  2. 使用分类列表

  3. 确定名词短语

  其中对于考试做作业来说,最实用的就是第三个,也就是找名词。基本上来说,首先把用例文档中所有的名词都拿出来就是了。当然得到的名词不全都是概念类,还需要识别名    词的相关信息,某一些名词可能是另外某个名词的属性,以及排除一些系统的外部对象。

2)画出领域模型UML图

  首先是识别上面找到的对象间的依赖关系,如1对1、1对…多这个基本上凭常识就能搞定。随后画出图就可以了。

  关于画图的细节讲几点:

  1. UML类图有“三层”,就是一个方框横着分为三段,最上一层是类名称,首字母必须要大些;中间一层是属性,上一步里识别的作为属性的名词可以放在这里;最下一层是方法,前面说过了在领域模型里不需要方法。

  2. 关联是一条没有箭头的实线,两端的数字分别表示对应的类在依赖关系中的数量,*表示零个或多个,..表示“到”(就是1到5的“到”,写作1..5),线上可以有首字母大写的关联名称(通常用动词短语表示),可以用一个小三角箭头指示动词短语的方向(没有的话默认阅读方向是从上到下,从左到右)

到这里,就现阶段来说,基本上就可以完成画图了…

系统分析与设计复习总结之【领域模型】,布布扣,bubuko.com

时间: 2024-10-11 19:30:45

系统分析与设计复习总结之【领域模型】的相关文章

算法分析与设计复习

算法分析与设计复习 2016年初,研一上学期期末考试前,复习并总结算法分析与设计科目的内容.复习过程参照<算法导论>中文第2版,同时参照PPT,章节划分根据PPT内容 概要: 第一章 概述 第二章 插入排序&分治策略 第三章 复杂度分析 第四章 堆与堆排序 第五章 快速排序 第六章 线性时间排序 第一章 概述 算法的应用范围 算法在诸如生物等诸多领域有其应用 算法的意义 算法在很多情况下让不可能完成的事情变成了可能,让处理的很慢的过程变快. 一个铺垫 一串不全为0的数,怎么取能拿到一段

[书目]系统分析与设计教程(原书第7版)

作者简介 作者:(美国)舍利(Gary B.Shelly) (美国)Thomas J.Cashman (美国)Harry J.Rosendlatt 译者:史晟辉 王艳清 李芳 等 目录 出版者的话译者序前言第1章 系统分析与设计绪论11.1 信息技术的影响21.1.1 IT的未来21.1.2 系统分析与设计的作用31.1.3 谁开发信息系统41.2 信息系统组成41.2.1 硬件51.2.2 软件51.2.3 数据61.2.4 过程61.2.5 人61.3 了解企业71.3.1 企业概图71.3

系统分析与设计UML建模

UML的历史 1997年,OMG组织(Object Management Group对象管理组织)发布了统一建模语言(Unified Modeling Language,UML).UML的目标之一就是为开发团队提供标准通用的设计语言来开发和构建计算机应用.UML提出了一套IT专业人员期待多年的统一的标准建模符号.通过使用UML,这些人员能够阅读和交流系统架构和设计规划--就像建筑工人多年来所使用的建筑设计图一样.2003年,UML已经获得了业界的认同.在所见过的专业人员的简历中,75%都声称具备

舰队管理系统分析与设计-舰队管理系统分析与设计(Oracle),功能需求,数据字典,软件工程

大型数据库技术项目 舰队管理系统分析与设计 舰队管理系统 1.项目背景介绍 中美海军实力对比分析: 中国海军虽然有了很大的进步,但是我们和世界先进的海军的实力有着很大差距,通过对比中美海军主战舰的数量和性能,中国海军要想拥有能与美国匹敌的能力和远距离投送兵力,至少需要十年的时间,或是更长的时间. 航空母舰 中国:无 美国:11艘核动力航母 两栖攻击舰 中国:无 美国:11艘可携带短距离起飞/垂直降落战斗机的两栖攻击舰 导弹巡洋舰 中国:无 美国:22艘导弹巡洋舰 驱逐舰: 中国:27艘吨位不同.

系统分析与设计学习笔记(一)

为什么要学习这门课程? "拥有一把锤子未必能成为建筑师". 这门课程学习的是面向对象分析和设计的核心技能的重要工具.对于使用面向对象技术和语言来,创建设计良好.健壮且可维护的软件来说,这门课程所授予的技能是基本要求.对于创建对象     系统来说,了解面向对象语言例如JAVA或者C++是必要的,但不是首先要做的.了解"对象思想"才是关键所在. 学习的内容:UML与对象思想 UML只是图形表示法,并不能代表OOA/D,也不是方法. 学习"对象思想"

领域驱动设计理论学习笔记之领域模型

2007年Eric Evans发表<领域驱动设计>至今,领域驱动设计(DDD: Domain-Driven Design)的概念愈来愈被人了解与使用.我已经算是一个后知后觉者,但亡羊补牢,为时未晚.我们对领域这个词非常熟悉,而且经常放在嘴边,但又有多少重视它?开发人员更关注于技术,事实上我也是因为想要研究基于DDD的ASP.NET开发框架ABP(ASP.NET Boilerplate).ABP是个开源框架,其分层框架,其代码逻辑有许多值得学习的地方,但如果要真正掌握它,我认为还是先从理论上理解

奖学金评分系统(系统分析与设计版与Delphi实现代码)

一.系统规划 1.1 项目背景介绍 在奖学金评比过程中,学生综合测评是学校普遍采用的评比手段.对学生实施综合素质测评的目的在于正确评价学生的综合素质,为评奖学金提供依据,实现学生教育管理工作的标准化.制度化和科学化,引导和促进学生德.智.体.美全面发展. 1.2 现存问题及系统目标 目前我国普遍高校学生奖学金评比还停留在纸质的阶段,许多工作需要传统的手工操作,这不仅浪费了大量的人力物力资源,而且由于人工管理存在着许多不可控因素,导致学生奖学金评比操作不规范,测评结果不全面,不能客观准确地反应学生

如何进行系统分析与设计

概述 首先,系统是什么?根据<系统架构>一书的定义,系统是由一组实体和这些实体之间的关系所构成的集合,其功能要大于这些实体各自的功能之和.对于我们的场景,系统可能是 App.Web 应用.服务.批处理程序等,也可能是包括所有这些的一个大系统. 随着互联网和传统企业的结合越来越深入,业务会越来越复杂.我们该如何设计我们的系统呢? 从产品到研发 从产品作出原型,到研发编程实现,中间有巨大的鸿沟.越复杂的业务需求,这条鸿沟就越大.一般而言,我们至少还要有两个步骤:业务分析与架构设计. 业务分析,主要

系统分析与设计第一章题目

1 企业为什么需要信息系统? 答:信息系统时人,数据,过程和信息技术相互作用,收集,处理,存储和提供支持企业运作的信息的集合体 2 为什么系统分析员需要知道企业中关联人员是谁? 答: NBA教练如果去执教,难道不需要知道自己执教什么球队?人都是谁? 3 谁是信息系统中的典型关联人员,他们的角色是什么? 答:系统所有者,系统设计人员,系统构造人员,系统用户,系统分析人员,项目经理 4 请解释如果信息系统缺少系统所有者结果会怎么样? 答:人没有头会怎么样? 5  内部用户与外部用户的区别是什么? 答