Systems Analysis and Design - Chapter 4
A category or classification of a set of objects or things.
Class
What is the maximum multiplicity for the association that reads and order is placed by exactly one customer?
One
The subordinate or more specialized class in a generalization/specialization relationship.
Subclass
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 noins. * An identifier or key is an attribute that can uniquely identify a particular objects. * A compound attribute is an attribute consisting of "sub-attributes" or components, like address consists of street, city, state, postal code.
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 with different groups of users. 5. Combine and merge, eliminating duplicates.
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 a composite state? What is it used for?
A composite state is a state containing multiple states and transitions. It represents a higher level of abstraction and can contain nested states and transition paths.
What is an association, and what system development standard defines it?
A term, in UML, that describes a naturally occurring relationship between specific things, sometimes called a relationship.
A term, in UML, that describes a naturally occurring relationship between specific things.
Association
Descriptive pieces of information about things or objects.
Attributes
A technique used to identify problem domain classes in which developers work with users to identify classes by thinking about different types of things they use in their work.
Brainstorming Technique
A measure of the number of links in a particular relationship between a thing (database data entity) and one or more other things (database data entities)
Cardinality
A diagram consisting of classes (i.e. sets of objects) and associations among the classes.
Class Diagram
The term used in ERD modeling to describe things about which the system needs to store information.
Data Entities
Classes that describes objects from the problem domain.
Domain Classes
A technique used to identify things in the problem domain by finding and classifying the nouns in a dialog or description.
Noun Technique
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 is a "thing" called in newer approaches that use UNL?
Object or object class.
For a particular transition, the original state of an object from which the transition occurs.
Origin State
A sequential set of connected states and transitions.
Path
The area of expertise or application that needs to be examined to solve a problem. A problem domain is simply looking at only the topics of an individual's interest, and excluding everything else.
Problem Domain
The starting point of a state machine diagram, indicated by a black dot.
Pseudostate
In UML, what are three types of relationship found on a class diagram?
Regular association, Generalization/Specialization, Whole-part
A term, in database management, that describes a naturally occurring association between specific things.
Relationship
What are some sites or locations in the problem domain of a restaurant?
Restaurant location (for a chain)
What UML diagram is used to show the states and transitions for an object?
State machine diagram
The superior or more general class in a generalization/specialization relationship.
Superclass
An association between exactly three types of things.
Ternary Association
What are two techniques for identifying things in the problem domain?
The Brainstorming technique and the Noun technique.
What is the problem domain?
The are 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.
List the elements that make up a transition description. Which elements are optional?
The elements are transition-name, guard-condition, and action-expression. All of these elements are optional. If a transition has none of these elements, it "fires" automatically when the object has finished any activity within the origin state.
What is a state transition?
The movement of an object from one state to another state
Relationships between classes in which one class is a part or a component portion of another class.
Whole-Part Relationship
List appropriate UML attribute names for the following attributes: student name, course grade, major name, and final exam quantity score.
studentName courseGrade majorName finalExamQuantityScore
Draw a simple domain model class diagram for the example in question #23 where a team has zero or more players and each player is on one and only one team.
(Need a Picture)
Extend the domain model class diagram for teams and players to show a record of game statistics for each player in each game using an association class.
(Need a Picture)
Sketch a semantic net that shows two teams and five players based on your ERD from question 23.
(Need a Picture)
Sketch a simple ERD that shows a team has zero or more players and each player is on one and only one team.
(Need a Picture)
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 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 and 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 (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.
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.
What is meant by the term path?
A path is a sequential set of connected states and transitions.
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 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 the purpose of a guard-condition?
A true/false test to see whether a transition can fire.
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.
A class that only exists in a model so subclasses can inherit from it.
Abstract Class
Descriptions of the activities performed as part of a transition.
Action-Expressions
A type of whole-part relationship in which the component parts also exist as individual objects apart from the aggregate.
Aggregation
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.
What is an association class? Why is an association class used for modeling?
An association class is a complex data type that refines the relationship between two classes.
An association that is also treated as a class; often required in order to capture attributes for the association.
Association Class
Associations between exactly two distinct types of things.
Binary Associations
What are the three types of associations, and which is the most commonly used?
Binary, unary, ternary. Binary is most common.
When words are concatenated to form a single word and the first letter of each embedded word is capitalized.
Camelback Notation
When words are concatenated to form a single word and the first letter of each embedded word is capitalized.
Camelcase Notation
A type of whole-part relationship in which the component parts cannot exist as individual objects apart from the total composition.
Composition
An attribute that consists of multiple pieces of information but is best treated in the aggregate.
Compound Attribute
A class that allows individual objects or instances to exist.
Concrete Class
The condition of being in more than one state at a time.
Concurrency (Concurrent States)
When one or more states in a path are parallel to one or more states in another path.
Concurrent Paths
What are some examples of multiplicity constraints?
Customer places one or more order. Customer has only one account. Order is placed by only one customer.
What are some roles played by people in the problem domain of a restaurant?
Customer, cook, waiter, supplier.
What are the three key parts of an entity-relationship diagram (ERD)?
Data entities, relationships, and cardinality constraints.
What is a "thing" called in models used by traditional analysts and database analysts?
Data entity.
For a particular transition, the state to which an object moves after the completion of a transition.
Destination State
A class diagram that only includes classes from the problem domain.
Domain Model Class Diagram
A diagram consisting of data entities, their attributes, and their relationships.
Entity-Relationship Diagram (ERD)
A type of hierarchical relationship in which subordinate classes are subsets of objects of the superior classes; an inheritance hierarchy.
Generalization/Specialization Relationships
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
A true/false test to see whether a transition can fire.
Guard-Condition
An attribute the value which uniquely identifies an individual think or object.
Identifier (Key)
The concept that specialization classes inherit characteristics of the generalization class.
Inheritance
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 term used for association by traditional analysts and database analysts?
It is called a relationship.
What are some examples of tangible things in the problem domain of a restaurant?
Meal, food item, menu...
In UML, a measure of the number of links in a particular association between a thing (object) and one or more other things (objects).
Multiplicity
The actual numeric count of the constraints on things (UML objects) allowed in an association.
Multiplicity Constraints
An association between n distinct types of things.
N-Ary Association
A graphical representation of an individual data entity and its relationship with other individual data entities.
Semantic Net
A condition during an object's life when it satisfies some criterion, performs some action, or waits for an event.
State
A diagram showing the life of an object in states and transitions.
State Machine Diagram
When considering requirements, states and state transitions are important for understanding which other diagram?
State machine diagram for an object class. Therefore, they help to understand the objects in the class diagram.
The movement of an object from one state to another state.
Transition
An association between two instances of the same type of thing.
Unary Association
What are the two key concepts - one from Chapter 3 and one from this chapter - that define functional requirements?
Use cases and Problem domain model (objects)
What is the minimum multiplicity for the association that reads a customer places zero or more orders?
Zero
What is an object state?
a condition during an object's life when it satisfies some criterion, performs some action, or waits for an event