🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

Week 9- SWE202.pdf

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Transcript

SWE202 SOFTWARE CONSTRUCTION WEEK 9 Domain modelling, creating domain models from requirements, System Sequence Oluwaseun Priscilla Olawale (MSc.) Domain Driven Design Domain Driv...

SWE202 SOFTWARE CONSTRUCTION WEEK 9 Domain modelling, creating domain models from requirements, System Sequence Oluwaseun Priscilla Olawale (MSc.) Domain Driven Design Domain Driven Design is predicated around the idea of solving the problems organisations face through code. This is achieved by focusing the investment of resources into the heart of the business logic of the application. The domain therefore is, the world of the business. “Domain Driven Design” is synonymous to “Business Problem Driven Design” in software Engineering. Domain Driven Design The domain is the world of the business you are working with and the problems they want to solve. This will typically involves ○ Rules ○ Processes ○ Existing systems Domain model Domain model is a structured visual representation of interconnected concepts or real-world objects that incorporates vocabulary, key concepts, behavior, and relationships of all of its entities. “The Domain Model is your organized and structured knowledge of the problem. The Domain Model should represent the vocabulary and key concepts of the problem domain and it should identify the relationships among all of the entities within the scope of the domain.” - Philip Brown(2014) Domain model The Domain Model itself could be a diagram, code examples or even written documentation of the problem. The important thing is, the Domain Model should be accessible and understandable by everyone who is involved with the project. Most of the time a domain model is illustrated with a set of class diagrams which may show: ○ domain objects or conceptual classes ○ associations between conceptual classes ○ attributes of conceptual classes The Model The Model of a Domain Driven Designed project is the solution to the problem. The Model usually represents an aspect of reality or something of interest. The Model is also often a simplification of the bigger picture and so the important aspects of the solution are concentrated on whilst everything else is ignored. Why is the Domain Model important? The Domain Model and the heart of the design shape each other The Domain Model is the backbone of the language used by all team members The Domain Model is distilled knowledge General Steps in Domain Modelling A recommended flow for domain modelling is shown below in sequential order: ○ Prepare problem statement for the system being developed. ○ Identify classes and objects. ○ Develop data dictionary. ○ Identify association between classes. ○ Identify attributes of classes and association classes. ○ Structure objects using inheritance. ○ Verify access paths for likely queries. ○ Iterate and refine the model. Relationship Notations for Classes in UML Example

Tags

software engineering domain driven design computer science
Use Quizgecko on...
Browser
Browser