领域模型是什么,领域模型基础知识

  领域模型是什么,领域模型基础知识

  学了面向对象的语法,还是写不出面向对象的程序,所以要知道如何从需求分析到面向对象的设计。

  首先,什么是领域模型

  领域建模。从领域模型开始,我们开始了面向对象的分析和设计过程。可以说,领域模型是从需求分析到面向对象设计的桥梁。

  Mhdlm,显示了最重要的业务概念及其关系,是真实世界中一切事物的表示(真实世界的可视化抽象字典)而不是软件中组件的表示。(类:表示业务概念,通常只包含重要属性,很少或没有操作;联想和概括:表达概念之间的关系)领域模型是描述业务领域(业务实体)的静态结构。

  理论观点:

  领域模型是业务建模范畴的一个概念。企业即使不开发软件,也有它的商业模式。所有的同行企业,他们的商业模式一定有很大的共性和内在的规律性。整个行业的商业模型是从行业内各个企业的商业模型中抽象出来的,称为“领域模型”。实用观点:

  领域模型是一个分析模型,帮助系统分析师和用户了解真实的业务。它描述了业务中涉及的实体及其关系。它是需求分析的产物,与问题域相关。是需求分析师与用户沟通的有力工具,也是相互交流的语言。理论派

  领域模型是一种特殊的商业模型,对整个行业进行分析,抽象出行业内共同的、内在的规律性业务,比商业模型更抽象。不属于软件开发的概念,与软件开发无关。

  实战派

  领域模型是一种分析模型,用于在软件开发过程的分析阶段分析如何满足系统的功能需求。属于软件开发的范畴。在UML中,类图主要用于描述领域模型。

  业务模型是业务建模的输出,业务建模的研究对象是公司或组织,业务建模属于软件开发的初级阶段。

  软件开发过程:业务建模、需求、分析和设计。

  在软件开发过程中,我们接触到的领域模型属于实战派

  从这个定义中,我们可以看到领域模型有两个主要功能:

  发现重要的业务领域概念,并建立业务领域概念之间的关系。第二,如何对领域模型建模如此重要,可能很多同学认为领域建模很复杂,需要很高的技巧。事实上,领域建模非常简单。总结一下就是“找名词”!

  一个关键问题还没解释清楚:去哪里找?如果你记得领域模型是“从需求到面向对象的桥梁”,那么你一定会立刻想到:从需求模型中找,具体地说,从用例中找。

  总结领域建模的方法是“从用例中找名词”。当然,找到名词后,我们还需要进一步完善,以便更好地满足面向对象的要求和特点。这是下一步:添加属性和连接关系!

  最后总结领域建模的三字法:找名词、加属性、连关系。

  A.发现类和对象:找出尽可能多的概念类(识别方法:概念类的分类列表,名词短语)

  A.概念分类列表:人、物、场所、组织、概念、事件、规则、抽象名词、事务项、角色、设备、组织结构(识别用例:实体、流程中的信息、角色的输入输出、操作设备等。)

  B.名词分析法:识别问题域和用例描述中的名词和名词短语作为候选概念类和属性,从候选项中丢弃冗余名词,确定最终对象(注意不管是类还是属性,一个类可以是一种标识、状态和行为)

  B.建立类之间的关联(关联、继承、依赖)

  关联:类之间的一些语义关系包括聚合和组合。

  继承:从一般到特殊

  依赖:表示一个元素(源元素)的定义或实现依赖于另一个元素(依赖元素)的定义或实现。

  C.添加类的重要属性(类的语义完整性、类的功能、问题域的相关特征等。)

  A.语法:可见性属性名称:类型多重性=默认值{属性表}

  /[visibility]属性名[:类型] [=初始值]

  B.属性类型最好是简单数据类型。如果是复杂概念,单独考虑是否是概念类。

  C.任何属性都不代表外键,即不应该用来联系概念类,这与数据库设计中的外键不同。

  参考:云南大学https://wenku.baidu.com/view/b5dfce3303d8ce2f00662382.html,软件学院PPT

  三。例子

  找一个名词

  对象:学生、讲师和管理人员。

  使用案例:

  1.管理员在北京和上海建立了两个校区。

  2.管理员创建了Linux \ Python \ Go三门课程。

  3.管理员在北京校区创建了Python 16,围棋开发第一期,在上海校区创建了Linux 36。

  4.管理员创建了北京校区学生tmdhlb,赋给python 16。

  5.管理员创建了讲师zsdxq,并将其分配到python 16和全栈出产5类。

  6.讲师zsdxq创建了python 16,Day6的课堂记录

  7.讲师zsdxq批准了第六天这个班所有学生的作业。tmdhlb得了A,金针菇得了C-快,闫帅得了b

  8.学生tmdhlb在python 16的第6天提交了作业

  9.受训者很快检查了他们所报的所有课程。

  10个同学在py16快速查看了自己的成绩列表,自杀了。

  1.学生tmdhlb向讲师zsdxq表白。

  名词列表:

  管理员,校园,课程,班级,班级记录,作业,成绩,讲师,学生

  添加属性

  恋恋关系

  有了类和属性,下一步自然是找出它们之间的关系。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: