Chapter 4: Domain Modelling

Description

domain modelling
Jo Hart
Flashcards by Jo Hart, updated more than 1 year ago
Jo Hart
Created by Jo Hart over 9 years ago
1776
1

Resource summary

Question Answer
problem domain – the specific area (or domain) of the user’s business need (or problem) that is within the scope of the new system
brainstorming technique – a technique to identify problem domain objects in which developers work with users in an open group setting
noun technique – a technique to identify problem domain objects by finding and classifying the nouns in a dialog or description
attributes – descriptive pieces of information about things or objects
identifier or key – an attribute the value of which uniquely identifies an individual thing or object
compound attribute – an attribute that consists of multiple pieces of information but is best treated in the aggregate
association – a term, in UML, that describes a naturally occurring relationship between specific things, sometimes called a relationship
relationship – a term that describes a naturally occurring association between specific things, sometimes called an association
cardinality – a measure of the number of links between one object and another object in a relationship
multiplicity – a measure, in UML, of the number of links between one object and another object in an association
multiplicity constraints – the actual numeric count of the constraints on objects allowed in an association
binary associations – associations between exactly two distinct types of things
unary association – an association between two instances of the same type of thing
ternary association – an association between exactly three distinct types of things
n-ary association – an association between n distinct types of things
data entities – the term used in an ER diagram to describe sets of things or individual things
entity-relationship diagram (ERD) – a diagram consisting of data entities (i.e., sets of things) and their relationships
semantic net – a graphical representation of an individual data entity and its relationship with other individual data entities
class – a category or classification of a set of objects or things
domain classes – classes that describe objects from the problem domain
class diagram – a diagram consisting of classes (i.e., sets of objects) and associations among the classes
domain model – class diagram a class diagram that only includes classes from the problem domain
camelback notation or camelcase notation – when words are concatenated to form a single word and the first letter of each embedded word is capitalized
association class – an association that is also treated as a class; often required in order to capture attributes for the association
generalization/specialization relationship – a type of hierarchical relationship in which subordinate classes are subsets of objects of the superior classes; an inheritance hierarchy
superclass – the superior or more general class in a generalization/specialization relationship
subclass – the subordinate or more specialized class in a generalization/specialization relationship
inheritance – the concept that specialization classes inherit the attributes of the generalization class
abstract class – a class that describes a category or set of objects but that never includes individual objects or instances
concrete class – a class that allows individual objects or instances to exist
whole-part relationship – a relationship between classes in which one class is a part or a component portion of another class
aggregation – a type of whole-part relationship in which the component parts also exist as individual objects apart from the aggregate
composition – a type of whole-part relationship in which the component parts cannot exist as individual objects apart from the total composition
What are the two key concepts that define functional requirements? Use cases and Problem domain model (objects)
What is the problem domain? The area of the user's business need. It is called “problem” because there is a need or something to be fixed. It is the domain, or the area of the business.
What is a “thing” called in models used by traditional analysts and database analysts? Data entity
What is a “thing” called in newer approaches that use UML? Object or object class
What are two techniques for identifying things in the problem domain? The Brainstorming technique and the Noun technique
What are some examples of tangible things in the problem domain of a restaurant? Meal, food item, menu...
What are some sites or locations in the problem domain of a restaurant? Restaurant location (for a chain),
What are some roles played by people in the problem domain of a restaurant? Customer, cook, waiter, supplier
What are the main steps of the brainstorming technique? 1. Identify a group of users and their related use cases. 2. Brainstorm with this group about all the things they need to keep track of with these use cases. 3. Expand the list of things by asking related questions about locations, roles, etc. 4. Return to step 1 with different groups of users. 5. Combine and merge, eliminating duplicates.
Explain why identifying nouns helps identify things in the problem domain? Nouns are always “things.” So finding all the nouns will find all the things (and more, so it needs to be refined).
What are the main steps of the noun technique? 1. Using use cases, dialogs, conversations, etc. list all the nouns. 2. Using information from existing systems, etc. list all the nouns. 3. Refine the list by asking 3 questions for each noun – Include it? Exclude it? Research it more? 4. Create a master list out of step 3. 5. Review the list with users, stakeholders, and other team members.
What is an attribute, an identifier or key, and a compound attribute?  An attribute is a descriptor of a data entity (Object). For example a Customer (object) has a name (attribute). So although attributes are also nouns, they are descriptor or qualifier nouns.  An identifier or key is an attribute that can uniquely identify a particular object.  A compound attribute is an attribute consists of “sub-attributes” or components, like address consists of street, city, state, postal code.
What is an association, and what system development standard defines it? An association is a relationship between things in the problem domain. It is the term used by UML.
How would you describe or name the association between a ship and a captain? A captain is in charge of a ship or a captain directs a ship.
What is the term used for association by traditional analysts and database analysts? It is called a relationship.
What is multiplicity, and what is the other term used by traditional analysts and database analysts? It is a measure of the number of links in an association between an object in one class and the objects in another class. In traditional analysis it is called cardinality
What is the minimum multiplicity for the association that reads a customer places zero or more orders? Zero
What is the maximum multiplicity for the association that reads an order is placed by exactly one customer? One
What are some examples of multiplicity constraints? Customer places one or more orders. Customer has only one account. Order is place by only one customer.
What are the three types of associations, and which is the most commonly used? Binary, unary, ternary. Binary is most common.
What are the three key parts of an entity relationship diagram (ERD)? Data entities, relationships, and cardinality constraints.
Sketch a simple ERD that shows a team has zero or more players and each player is on one and only one team.
Sketch a semantic net that shows two teams and five players based on your ERD.
What is a class, a domain class, and the key parts of a class diagram? A class is a set of objects that are similar in nature had have the same “classification.” A domain class is a class in the problem domain. A class diagram has classes with attributes, associations, and multiplicity constraints.
What does a domain model class diagram show about system requirements, and how is it different from an ERD? A domain model shows the classes, i.e. the things, and their relationships and constraints. These are the specific system requirements that must be built into the database. The problem domain classes are the classes from the domain and are “persistent”, e.g. they must be stored in a database. An ERD has different notation than a domain model. An ERD is not as powerful as a domain model to model specific real world conditions.
List appropriate UML class names by using the camelback notation for the following classes: graduate student, undergraduate major, course instructor, and final exam feedback. GraduateStudent UndergraduateMajor CourseInstructor FinalExamFeedback
Draw a simple domain model class diagram for the example in question #22 where a team has zero or more players and each player is on one and only one team.
What is an association class? Extend the domain model class diagram for teams and players about to show a record of game statistics for each player in each game. An association class is an association that needs to also be treated as a class. It is an association that requires attributes just like any class.
In UML, what are three types of relationships found on a class diagram? Regular association, Generalization/Specialization, Whole-part
What is a generalization/specialization relationship, and what object-oriented terms does it illustrate? A generalization/specialization is a hierarchical relationship between classes, where some classes are subsets (e.g. subclasses) of other classes.
Compare/contrast superclass and subclass. Compare/contrasts abstract class and concrete class. A superclass is higher in the relationship hierarchy and is a superset. A subclass is lower and is a subset of the superset. An abstract class is a class with no objects allowed. It serves only as a template for attributes so that subclasses, which are concrete classes, will have objects with inherited attributes.
What is a whole-part relationship, and why does it show multiplicity? A whole-part relationship in which a class is part of another class. It can have multiplicity constraints that allow multiple part-classes to belong to a single whole class.
Compare/contrast aggregation with composition for a whole part relationship. Aggregation is where the “part” objects may exist outside of the whole-part relationship. This often applies to physical devices that can exist prior to becoming part of the aggregate. Composition is where the parts do not exist outside of the whole-part relationship. An example might be a sale which is “composed” of sale items. The sale items do not exist separate and apart from the “sale” object.
Show full summary Hide full summary

Similar

Chapter 5: Extending the Requirements Model
Jo Hart
Demographic Transition Model (DTM)
Phoebe Fletcher
Population - The Demographic Transition Model
daniel.randle
ADVT2509 Models: Weeks 1 - 3
Josh Butler
Bioinformatics
Matthew Coulson
Overgrowth
rachi3470
Professionalism2
11122064
Modelling in Mechanics
Matthew Young
Elaboration Likelihood Model
A T
Blended Teaching Model
Kathryn Von Arb
Models
Chloe Curtis