Domain analysis is a concept introduced at the beginning of this course. It starts early in the development process to create a common understanding between the customer and the developers of the scope and major entities that exist in the system. The domain model provides that common understanding. The analysis process also defines the "ubiquitous" language, or terms, that are used throughout the domain. The use of this language will help the domain stakeholders and the developers maintain a common understanding of the system. This analysis and modeling will continue to evolve throughout the project.
Learning Outcomes
Define the main benefits of developing a domain model
Explain the notations used to diagram a domain model
Explain the limitations on the terminology that is used in a domain model
Describe the connections and differences between a domain model and an implementation class structure model
Create a domain model for a system from a problem statement and user stories
Study Resources
For your study of this topic, use some of these resources.
Video Lessons
Domain Model - this video uses a more comprehensive notation than you will use for your domain model
Each team member is to independently create a domain model for the term project. Use the project vision statement as the basis for defining the domain entities and relationships. Make sure to include domain elements that you find in any links in the feature descriptions. Submit your domain model as a Word, PDF, or image file to your repository. Put it in a directory called 'domain model'.
Domain analysis - team S0
Your project team will create a consolidated domain model that incorporates the best elements from each student's domain model. Submit your team's domain model as a PDF file in the Inception Phase - Sprint 0 Domain Analysis - S0 Assingments by the time shown in your section's schedule for Sprint 0 submission - team.
Your team will continue evolving the domain model throughout the project.