From 889b10af76df7b2742d758a1fae303014059a012 Mon Sep 17 00:00:00 2001 From: Gerrit Beine Date: Tue, 28 Feb 2023 17:58:16 +0100 Subject: [PATCH 01/10] Fixed name of P&A architecture Ports & Adapters is easier to read --- docs/04-module-block-4/02-learning-goals.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/04-module-block-4/02-learning-goals.adoc b/docs/04-module-block-4/02-learning-goals.adoc index 2d5d15a..76a5e70 100644 --- a/docs/04-module-block-4/02-learning-goals.adoc +++ b/docs/04-module-block-4/02-learning-goals.adoc @@ -4,7 +4,7 @@ Dieser Block vermittelt anhand ausgewählter Beispiele, wie ein Domänenmodell in Softwarearchitekturen integriert werden kann. Er vermittelt exemplarisch Gemeinsamkeiten und Unterschiede von Domain Driven Design und zwei verwandten Methoden. [[LZ-4-1]] -==== LZ 4-1: Eine Ports&Adapter-Architektur um ein Domänenmodell herum entwerfen +==== LZ 4-1: Eine Ports & Adapter-Architektur um ein Domänenmodell herum entwerfen * Die TN können die Unterschiede zwischen einer Ports&Adapter-Architektur (z.B. Hexagonal, Clean oder Onion) und einer Schichtenarchitektur vermitteln. [[LZ-4-2]] @@ -18,7 +18,7 @@ Dieser Block vermittelt anhand ausgewählter Beispiele, wie ein Domänenmodell i This section uses selected examples to teach how a domain model can be integrated into software architectures. On the basis of examples, it teaches the similarities and differences between domain-driven design and two related methods. [[LG-4-1]] -==== LG 4-1: Be able to design a ports&adapter architecture for the domain model +==== LG 4-1: Be able to design a ports &adapter architecture for the domain model * The course participants can explain the differences between a ports&adapter architecture (e.g., Hexagonal, Clean, or Onion) and a layered architecture. [[LG-4-2]] From bf13a2aaa61d267b56b08d961f01b2a95f61e105 Mon Sep 17 00:00:00 2001 From: Gerrit Beine Date: Tue, 28 Feb 2023 17:59:07 +0100 Subject: [PATCH 02/10] Alinged names of LG 6-5 Removed the reference to chapter 5 from english title as it has been done for the german title --- docs/06-module-block-6/02-learning-goals.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/06-module-block-6/02-learning-goals.adoc b/docs/06-module-block-6/02-learning-goals.adoc index 7c20c24..8bffca5 100644 --- a/docs/06-module-block-6/02-learning-goals.adoc +++ b/docs/06-module-block-6/02-learning-goals.adoc @@ -83,7 +83,7 @@ This section teaches approaches with which the consistency within a model can be * The course participants understand that the teams are equally qualified to work on the shared kernel. [[LG-6-5]] -==== LG 6-5: Understand the circumstances in which it is appropriate to divide the model (Separate Ways), taking into account the aspects from section 5. +==== LG 6-5: Understand the circumstances in which it is appropriate to divide the model (Separate Ways) * The course participants can contrast the coordination costs of a common model with the overheads for separate models. * The course participants understand that a model must be divided along a sensible boundary. * The course participants understand that, in these cases, local model consistency is easier to maintain in two partial models. From d5b0019aab0ce2370038f389e5c7217e4957bfae Mon Sep 17 00:00:00 2001 From: Gerrit Beine Date: Tue, 28 Feb 2023 17:59:35 +0100 Subject: [PATCH 03/10] Add changelog for version 2023.1 --- CHANGELOG.md | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 81 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7db55d8..4d25796 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,82 @@ -# New in 2022.1 +# New in 2023.1 -- Add release notes here +## Changes in "1. Domain, model, and ubiquitous language" +- Changed learning goal 1-2: Understand the role of domain-specific terminology in the construction of a ubiquitous language + - Redefined Ubiquitous Language +- Changed learning goal 1-3: Understand the role of domain-specific terminology in the construction of a ubiquitous language + - Add focus on formalization of the Ubiquitous Language and on the necessity to create it using a collaborative approach + +## Changes in "2. The path to the model" +- Renamed chapter +- Added terms and principles: Agile and evolutionary modeling +- Changed learning goal 2-7: + - Focus is on common values and principles of Collaborative Modeling techniques + - Event Storming is only one possible methods among others (Domain Story Telling, User Story Mapping) + - Facilitiation of Event Storming is now part of learning goal 2-9 +- Addded learning goal 2-9: Be able to conduct a collaborative modeling workshop +- Added learning goal 2-10: Understand agility as a foundation of DDD +- Added reference: Beck, K. et al. (2001); Manifesto for Agile Software Development. + +## Changes in "3. From the model to implementation" +- Moved terms and principles to chapter 7: + - CRC cards +- Changed learning goal 3-2: + - Removed CRC cards: Moved to chapter 7 + +## Changes in "4. The model in the application architecture" +- Renamed learning goal 4-1: "Be able to design a ports & adapter architecture for the domain model" +- Moved terms and principles to chapter 7: + - Werkzeug- und Materialansatz (WAM) +- Changed learning goal 4-1: + - Focus on ports & adapter as an collection of architecural approaches + - Hexagonal architecure is only one style among others (Onion, Clean) + - Remove details regarding hexagonal architecture + - Remove CRQS: Moved to chapter 7 +- Changed learning goal 4-2: + - Removed Werkzeug- und Materialansatz (WAM): Moved to chapter 7 + +## Changes in "5. Cutting and distinguishing models from one another" +- Renamed chapter to focus on strategic design: "Strategic Design 1: Cutting and distinguishing models from one another" +- Removed from terms and principles: + - Model consistency +- Moved terms and principles to chapter 6: + - Shared Kernel + - Customer/Supplier Teams + - Open Host Service + - Domain Event +- Added terms and principles: + - Problem Space and Solution Space + - Subdomain + - Core vs supporting vs generic +- Changed ID of learning goal 5-3 to 5-5: Be able to describe model boundaries of Bounded Contexts in a Context Map +- Changed ID of learning goal 5-7 to 5-6: Be able to use Domain Events as a means of communication between Bounded Contexts +- Changed learing goal 5-2: Conway's Law has only descriptive properties +- Removed learning goal 5-4: Moved to learning goal 6-4 +- Removed learning goal 5-5: Moved to learning goal 6-1 +- Removed learning goal 5-6: Moved to learning goal 6-2 +- Removed learning goal 5-7: Moved to learning goal 6-6 +- Added learning goal 5-3: Be able to move on from problem to solution space +- Added learning goal 5-4: Distill the core + +## Changes in "6. Maintaining local model consistency" +- Renamed chapter to focus on context mapping: "Strategic Design 2: Context Mapping" +- Removed from terms and principles: + - Continuous Integration +- Added terms and principles from chapter 5: + - Shared Kernel + - Customer/Supplier Teams + - Open Host Service + - Domain Event +- Removed learning goal 6-1: Continuous Integration +- Changed ID of learning goal 6-2 to 6-3: Be able to isolate your own model from external influences +- Changed ID of learning goal 6-3 to 6-5: Understand the circumstances in which it is appropriate to divide the model (Separate Ways) +- Added learning goal 6-1 (former 5-5): Be able to use interfaces for customer/supplier teams +- Added learning goal 6-2 (former 5-6): Be able to design a system as an open host service (OHS) +- Added learning goal 6-4 (former 5-4): Be able to reuse core elements of several partial models in a shared kernel +- Added learning goal 6-6 (former 5-7): Be able to use Domain Events as a means of communication between Bounded Contexts + +## Changes in "References" +- Updated list of references + +## Introduced "7. Related Topics" +- Add a new chapter with optional related topics which are not part of the core curriculum From b014116d08a06c05b859309738642a17cba32826 Mon Sep 17 00:00:00 2001 From: Gerrit Beine Date: Wed, 1 Mar 2023 09:57:31 +0100 Subject: [PATCH 04/10] Fixed typo in name of P&A architecture --- docs/04-module-block-4/02-learning-goals.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/04-module-block-4/02-learning-goals.adoc b/docs/04-module-block-4/02-learning-goals.adoc index 76a5e70..3b8aec8 100644 --- a/docs/04-module-block-4/02-learning-goals.adoc +++ b/docs/04-module-block-4/02-learning-goals.adoc @@ -18,7 +18,7 @@ Dieser Block vermittelt anhand ausgewählter Beispiele, wie ein Domänenmodell i This section uses selected examples to teach how a domain model can be integrated into software architectures. On the basis of examples, it teaches the similarities and differences between domain-driven design and two related methods. [[LG-4-1]] -==== LG 4-1: Be able to design a ports &adapter architecture for the domain model +==== LG 4-1: Be able to design a ports & adapter architecture for the domain model * The course participants can explain the differences between a ports&adapter architecture (e.g., Hexagonal, Clean, or Onion) and a layered architecture. [[LG-4-2]] From 35a8960cb33ee0875c126b73e039cc9be2d8c978 Mon Sep 17 00:00:00 2001 From: Gerrit Beine Date: Wed, 1 Mar 2023 10:01:02 +0100 Subject: [PATCH 05/10] Merged LG 1-2 & 1-3 - LG 1-2 & LG 1-3 focus on the same topic. - Changed ID of LG 1-4 to 1-3 - Changed ID of LG 1-5 to 1-4 --- docs/01-module-block-1/02-learning-goals.adoc | 22 +++++++------------ 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/docs/01-module-block-1/02-learning-goals.adoc b/docs/01-module-block-1/02-learning-goals.adoc index c060f85..16a0ef6 100644 --- a/docs/01-module-block-1/02-learning-goals.adoc +++ b/docs/01-module-block-1/02-learning-goals.adoc @@ -15,15 +15,12 @@ Zudem erhalten die Teilnehmer:innen einen detaillierten Einblick in die verschie ==== LZ 1-2: Die Rolle der Fachsprache bei der Konstruktion einer Ubiquitous Language verstehen * Die TN verstehen, dass eine gemeinsame Sprache für Domänenexpert:innen und Entwickler:innen dem wechselseitigen Verständnis dient. * Die TN verstehen den Begriff der Ubiquity (Allgegenwärtigkeit): "Allgegenwärtigkeit" gilt in einer definierten Grenze (Bounded Context) innerhalb derer die Sprache in Gesprächen, Diagrammen, Dokumentation und Code konsistent verwendet wird. - -[[LZ-1-3]] -==== LZ 1-3: Rolle der Fachsprache bei der Konstruktion einer Ubiquitous Language verstehen * Die TN verstehen, dass die grundlegenden Begriffe einer Ubiquitous Language der Fachsprache der Domänenexpert:innen entspringen. * Die TN verstehen, dass die Ubiquitous Language eine formalisierte Version der Fachsprache und eine bewusste Entwurfsentscheidung ist. * Die TN verstehen, dass sich die Ubiquitous Language im Dialog von Entwicklungsteam und Fachbereich weiterentwickelt. -[[LZ-1-4]] -==== LZ 1-4: Die Bausteine von Domain Driven Design kennen und erklären können +[[LZ-1-3]] +==== LZ 1-3: Die Bausteine von Domain Driven Design kennen und erklären können * Die TN verstehen die grundlegenden Bausteine von Domain Driven Design. ** Value Objects stellen elementare Wert-Typen aus der fachlichen Welt dar. Sie können nur andere Value Objects enthalten. Value Objects haben keine Identität, sind jedoch vergleichbar. @@ -36,8 +33,8 @@ vergleichbar. ** **Repositories** dienen der Bestandsverwaltung von Entities zur Laufzeit. Das Ermitteln und Herausgeben einer Referenz auf ein Entity oder Aggregate zu einem eindeutigen Identifikator fällt in ihren Aufgabenbereich. Hinter ihnen lassen sich Schnittstellen zu Drittsystemen wie Datenbanken oder entfernten Services verbergen. ** **Domain Events** unterstützen die Verbreitung von Informationen über das Auftreten von fachlichen Ereignissen. Fachliche Ereignisse werden von Aggregates oder Entities ausgelöst und über ein Publisher/Subscriber-Pattern (vgl. Observer <>) an angemeldete Klienten propagiert. -[[LZ-1-5]] -==== LZ 1-5: Die Zusammenhänge zwischen den Bausteinen kennen und erklären können +[[LZ-1-4]] +==== LZ 1-4: Die Zusammenhänge zwischen den Bausteinen kennen und erklären können * Die TN sind in der Lage die Bausteine in Beziehung zu setzen und sinnvoll miteinander zu kombinieren (vgl. Übersicht auf Seite 65 <>]). // end::DE[] @@ -59,15 +56,12 @@ The course participants also obtain a detailed insight into the various componen ==== LG 1-2: Understand the role of domain-specific terminology in the construction of a ubiquitous language * The course participants understand that a common language for both domain experts and developers assists mutual understanding. * The course participants understand the term ubiquity: "Ubiquity" applies in a defined boundary (Bounded Context) within which the language is used consistently in conversations, diagrams, documentation, and code. - -[[LG-1-3]] -==== LG 1-3: Understand the role of domain-specific terminology in the construction of a ubiquitous language * The course participants know that the fundamental terms of a ubiquitous language originate from the domain experts. * The participants understand that the Ubiquitous Language is a formalized version of the domain language and a conscious design decision. * The participants understand that the Ubiquitous Language evolves in a dialog between development team and domain experts. -[[LG-1-4]] -==== LG 1-4: Know and be able to explain the building blocks of domain-driven design +[[LG-1-3]] +==== LG 1-3: Know and be able to explain the building blocks of domain-driven design * The course participants understand the fundamental building blocks of domain-driven design. o Value Objects represent elementary value types from the domain. They can only contain other Value Objects. Value Objects have no identity, but are comparable. ** Entities represent things in the domain. They can contain Value Objects and other @@ -80,8 +74,8 @@ Entities. Entities have an identity. ** **Repositories** are used for the inventory management of Entities at runtime. Determining and issuing a reference to an Entity or Aggregate for a unique identifier falls within their area of responsibility. They can be used to hide interfaces to third-party systems such as databases or remote services. ** **Domain Events** support the sharing of information about the occurrence of domain-related incidents. Domain Events are triggered by Aggregates or Entities and propagated via a publisher/subscriber pattern (cf. Observer <>) to registered clients. -[[LG-1-5]] -==== LG 1-5: Know and be able to explain the connections between the building blocks +[[LG-1-4]] +==== LG 1-4: Know and be able to explain the connections between the building blocks * The course participants are able to create a relationship between the building blocks and combine them in a sensible manner (cf. overview on page 65 <>). // end::EN[] From c24ae11dfc3d77bcd755cacc37657e9d4f2ac029 Mon Sep 17 00:00:00 2001 From: Gerrit Beine Date: Wed, 1 Mar 2023 10:13:21 +0100 Subject: [PATCH 06/10] Fixed typos in changelog --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d25796..7504c07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ - Focus is on common values and principles of Collaborative Modeling techniques - Event Storming is only one possible methods among others (Domain Story Telling, User Story Mapping) - Facilitiation of Event Storming is now part of learning goal 2-9 -- Addded learning goal 2-9: Be able to conduct a collaborative modeling workshop +- Added learning goal 2-9: Be able to conduct a collaborative modeling workshop - Added learning goal 2-10: Understand agility as a foundation of DDD - Added reference: Beck, K. et al. (2001); Manifesto for Agile Software Development. @@ -28,11 +28,11 @@ - Moved terms and principles to chapter 7: - Werkzeug- und Materialansatz (WAM) - Changed learning goal 4-1: - - Focus on ports & adapter as an collection of architecural approaches + - Focus on ports & adapter as a collection of architecural approaches - Hexagonal architecure is only one style among others (Onion, Clean) - Remove details regarding hexagonal architecture - - Remove CRQS: Moved to chapter 7 - Changed learning goal 4-2: + - Remove CQRS: Moved to chapter 7 - Removed Werkzeug- und Materialansatz (WAM): Moved to chapter 7 ## Changes in "5. Cutting and distinguishing models from one another" From 756ce5be259672e9bba31df28467d97b24ec64ee Mon Sep 17 00:00:00 2001 From: Gerrit Beine Date: Wed, 1 Mar 2023 10:14:14 +0100 Subject: [PATCH 07/10] Adopted changes in chapter 1 --- CHANGELOG.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7504c07..4fba6f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,12 @@ # New in 2023.1 ## Changes in "1. Domain, model, and ubiquitous language" -- Changed learning goal 1-2: Understand the role of domain-specific terminology in the construction of a ubiquitous language +- Merged learning goal 1-3 into learning goal 1-3 +- Changed learning goal 1-2: "Understand the role of domain-specific terminology in the construction of a ubiquitous language" - Redefined Ubiquitous Language -- Changed learning goal 1-3: Understand the role of domain-specific terminology in the construction of a ubiquitous language - Add focus on formalization of the Ubiquitous Language and on the necessity to create it using a collaborative approach +- Changed ID of learning goal 1-4 to 1-3: "Know and be able to explain the building blocks of domain-driven design" +- Changed ID of learning goal 1-5 to 1-4: "Know and be able to explain the connections between the building blocks" ## Changes in "2. The path to the model" - Renamed chapter From 3a02dc82deef108da54aa21c488f64cedd54832b Mon Sep 17 00:00:00 2001 From: Gerrit Beine Date: Wed, 1 Mar 2023 10:15:26 +0100 Subject: [PATCH 08/10] Add titles of learning goals to all references --- CHANGELOG.md | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4fba6f9..e8b995e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,30 +11,29 @@ ## Changes in "2. The path to the model" - Renamed chapter - Added terms and principles: Agile and evolutionary modeling -- Changed learning goal 2-7: +- Changed learning goal 2-7: "Get an overview of Collaborative Modeling, its methods, and how it relates to DDD." - Focus is on common values and principles of Collaborative Modeling techniques - Event Storming is only one possible methods among others (Domain Story Telling, User Story Mapping) - Facilitiation of Event Storming is now part of learning goal 2-9 -- Added learning goal 2-9: Be able to conduct a collaborative modeling workshop -- Added learning goal 2-10: Understand agility as a foundation of DDD -- Added reference: Beck, K. et al. (2001); Manifesto for Agile Software Development. +- Added learning goal 2-9: "Be able to conduct a collaborative modeling workshop" +- Added learning goal 2-10: "Understand agility as a foundation of DDD" ## Changes in "3. From the model to implementation" - Moved terms and principles to chapter 7: - CRC cards -- Changed learning goal 3-2: +- Changed learning goal 3-2: "Be able to model interfaces for domain classes" - Removed CRC cards: Moved to chapter 7 ## Changes in "4. The model in the application architecture" - Renamed learning goal 4-1: "Be able to design a ports & adapter architecture for the domain model" - Moved terms and principles to chapter 7: - Werkzeug- und Materialansatz (WAM) -- Changed learning goal 4-1: +- Changed learning goal 4-1: "Be able to design a ports & adapter architecture for the domain model" - Focus on ports & adapter as a collection of architecural approaches - Hexagonal architecure is only one style among others (Onion, Clean) - Remove details regarding hexagonal architecture -- Changed learning goal 4-2: - Remove CQRS: Moved to chapter 7 +- Changed learning goal 4-2: "Be able to formulate correlations and distinctions between DDD and BDD" - Removed Werkzeug- und Materialansatz (WAM): Moved to chapter 7 ## Changes in "5. Cutting and distinguishing models from one another" @@ -50,8 +49,8 @@ - Problem Space and Solution Space - Subdomain - Core vs supporting vs generic -- Changed ID of learning goal 5-3 to 5-5: Be able to describe model boundaries of Bounded Contexts in a Context Map -- Changed ID of learning goal 5-7 to 5-6: Be able to use Domain Events as a means of communication between Bounded Contexts +- Changed ID of learning goal 5-3 to 5-5: "Be able to describe model boundaries of Bounded Contexts in a Context Map" +- Changed ID of learning goal 5-7 to 5-6: "Be able to use Domain Events as a means of communication between Bounded Contexts" - Changed learing goal 5-2: Conway's Law has only descriptive properties - Removed learning goal 5-4: Moved to learning goal 6-4 - Removed learning goal 5-5: Moved to learning goal 6-1 @@ -70,15 +69,15 @@ - Open Host Service - Domain Event - Removed learning goal 6-1: Continuous Integration -- Changed ID of learning goal 6-2 to 6-3: Be able to isolate your own model from external influences -- Changed ID of learning goal 6-3 to 6-5: Understand the circumstances in which it is appropriate to divide the model (Separate Ways) -- Added learning goal 6-1 (former 5-5): Be able to use interfaces for customer/supplier teams -- Added learning goal 6-2 (former 5-6): Be able to design a system as an open host service (OHS) -- Added learning goal 6-4 (former 5-4): Be able to reuse core elements of several partial models in a shared kernel -- Added learning goal 6-6 (former 5-7): Be able to use Domain Events as a means of communication between Bounded Contexts ## Changes in "References" - Updated list of references +- Changed ID of learning goal 6-2 to 6-3: "Be able to isolate your own model from external influences" +- Changed ID of learning goal 6-3 to 6-5: "Understand the circumstances in which it is appropriate to divide the model (Separate Ways)" +- Added learning goal 6-1 (former 5-5): "Be able to use interfaces for customer/supplier teams" +- Added learning goal 6-2 (former 5-6): "Be able to design a system as an open host service (OHS)" +- Added learning goal 6-4 (former 5-4): "Be able to reuse core elements of several partial models in a shared kernel" +- Added learning goal 6-6 (former 5-7): "Be able to use Domain Events as a means of communication between Bounded Contexts" ## Introduced "7. Related Topics" - Add a new chapter with optional related topics which are not part of the core curriculum From 1d60712d4577424ad05dbe953242e89719f9de9a Mon Sep 17 00:00:00 2001 From: Gerrit Beine Date: Wed, 1 Mar 2023 10:16:17 +0100 Subject: [PATCH 09/10] Changed order in changelog Adopted order of chapters form document --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e8b995e..62a2423 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -69,9 +69,6 @@ - Open Host Service - Domain Event - Removed learning goal 6-1: Continuous Integration - -## Changes in "References" -- Updated list of references - Changed ID of learning goal 6-2 to 6-3: "Be able to isolate your own model from external influences" - Changed ID of learning goal 6-3 to 6-5: "Understand the circumstances in which it is appropriate to divide the model (Separate Ways)" - Added learning goal 6-1 (former 5-5): "Be able to use interfaces for customer/supplier teams" @@ -81,3 +78,6 @@ ## Introduced "7. Related Topics" - Add a new chapter with optional related topics which are not part of the core curriculum + +## Changes in "References" +- Updated list of references From bbb21c5786b34cee5b539de830632022586b4fec Mon Sep 17 00:00:00 2001 From: Gerrit Beine Date: Wed, 1 Mar 2023 15:04:08 +0100 Subject: [PATCH 10/10] Fixed changenote for LG 1-3 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 62a2423..d8a3ffa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ # New in 2023.1 ## Changes in "1. Domain, model, and ubiquitous language" -- Merged learning goal 1-3 into learning goal 1-3 +- Merged learning goal 1-3 into learning goal 1-2 - Changed learning goal 1-2: "Understand the role of domain-specific terminology in the construction of a ubiquitous language" - Redefined Ubiquitous Language - Add focus on formalization of the Ubiquitous Language and on the necessity to create it using a collaborative approach