Flashcards
Chapter 4: Domain Modelling
Cards in this deck (66)
- 1problem domain– the specific area (or domain) of the user’s business need (or problem) that is
within the scope of the new system - 2brainstorming technique– a technique to identify problem domain objects in which developers work
with users in an open group setting - 3noun technique– a technique to identify problem domain objects by finding and classifying the nouns
in a dialog or description - 4attributes– descriptive pieces of information about things or objects
- 5identifier or key– an attribute the value of which uniquely identifies an individual thing or object
- 6compound attribute– an attribute that consists of multiple pieces of information but is best treated in
the aggregate - 7association– a term, in UML, that describes a naturally occurring relationship between specific things,
sometimes called a relationship - 8relationship– a term that describes a naturally occurring association between specific things,
sometimes called an association - 9cardinality– a measure of the number of links between one object and another object in a relationship
- 10multiplicity– a measure, in UML, of the number of links between one object and another object in an
association - 11multiplicity constraints– the actual numeric count of the constraints on objects allowed in an
association - 12binary associations– associations between exactly two distinct types of things
- 13unary association– an association between two instances of the same type of thing
- 14ternary association– an association between exactly three distinct types of things
- 15n-ary association– an association between n distinct types of things
- 16data entities– the term used in an ER diagram to describe sets of things or individual things
- 17entity-relationship diagram (ERD)– a diagram consisting of data entities (i.e., sets of things) and
their relationships - 18semantic net– a graphical representation of an individual data entity and its relationship with other
individual data entities - 19class– a category or classification of a set of objects or things
- 20domain classes– classes that describe objects from the problem domain
- 21class diagram– a diagram consisting of classes (i.e., sets of objects) and associations among the
classes - 22domain model– class diagram a class diagram that only includes classes from the problem domain
- 23camelback notation or camelcase notation– when words are concatenated to form a single word and
the first letter of each embedded word is capitalized - 24association class– an association that is also treated as a class; often required in order to capture
attributes for the association - 25generalization/specialization relationship– a type of hierarchical relationship in which subordinate
classes are subsets of objects of the superior classes; an inheritance hierarchy - 26superclass– the superior or more general class in a generalization/specialization relationship
- 27subclass– the subordinate or more specialized class in a generalization/specialization relationship
- 28inheritance– the concept that specialization classes inherit the attributes of the generalization class
- 29abstract class– a class that describes a category or set of objects but that never includes individual
objects or instances - 30concrete class– a class that allows individual objects or instances to exist
- 31whole-part relationship– a relationship between classes in which one class is a part or a component
portion of another class - 32aggregation– a type of whole-part relationship in which the component parts also exist as individual
objects apart from the aggregate - 33composition– a type of whole-part relationship in which the component parts cannot exist as
individual objects apart from the total composition - 34What are the two key concepts that define functional requirements?Use cases and Problem domain model (objects)
- 35What 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.
- 36What is a “thing” called in models used by traditional analysts and database analysts?Data entity
- 37What is a “thing” called in newer approaches that use UML?Object or object class
- 38What are two techniques for identifying things in the problem domain?The Brainstorming technique and the Noun technique
- 39What are some examples of tangible things in the problem domain of a restaurant?Meal, food item, menu...
- 40What are some sites or locations in the problem domain of a restaurant?Restaurant location (for a chain),
- 41What are some roles played by people in the problem domain of a restaurant?Customer, cook, waiter, supplier
- 42What 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. - 43Explain 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).
- 44What 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. - 45What 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. - 46What 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.
- 47How 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.
- 48What is the term used for association by traditional analysts and database analysts?It is called a relationship.
- 49What 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
- 50What is the minimum multiplicity for the association that reads a customer places zero or more orders?Zero
- 51What is the maximum multiplicity for the association that reads an order is placed by exactly one customer?One
- 52What are some examples of multiplicity constraints?Customer places one or more orders.
Customer has only one account.
Order is place by only one customer. - 53What are the three types of associations, and which is the most commonly used?Binary, unary, ternary. Binary is most common.
- 54What are the three key parts of an entity relationship diagram (ERD)?Data entities, relationships, and cardinality constraints.
- 55Sketch a simple ERD that shows a team has zero or more players and each player is on one and only one team.
- 56Sketch a semantic net that shows two teams and five players based on your ERD.
- 57What 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. - 58What 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. - 59List 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 - 60Draw 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.
- 61What 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.
- 62In UML, what are three types of relationships found on a class diagram?Regular association, Generalization/Specialization, Whole-part
- 63What 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.
- 64Compare/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. - 65What 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.
- 66Compare/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.