领域模型是什么,领域模型基础知识
学了面向对象的语法,还是写不出面向对象的程序,所以要知道如何从需求分析到面向对象的设计。
首先,什么是领域模型
领域建模。从领域模型开始,我们开始了面向对象的分析和设计过程。可以说,领域模型是从需求分析到面向对象设计的桥梁。
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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。