Chapter 4
UML Domain Class Notation
- Domain class a name and attributes (no methods) - Class name is always capitalized - Attribute names are not capitalized and use camelback notation (words run together and second word is capitalized) - Compound class names also use camelback notation
Association and relationships apply in two directions
*Read them separately each way *A customer places an order *An order is placed by a customer
Identifier or Key
____________ or ___________ is one attribute uniquely identifies an instance. It is required for data entities, optional for domain classes. Customer ID identifies a customer
Noun Technique
______________ Technique identifies all the nouns that come up when the system is described and determine if each is a domain class, an attribute, or not something we need to remember gather all use cases, user stories, and all actors
Generalization / Specialization
______________ or __________ is a hierarchical relationship where subordinate classes are special types of the superior classes. Often called an Inheritance Hierarchy
Brainstorming technique
_________________ Technique uses a checklist of all the usual types of things found and brainstorm to identify the domain classes of each type interview many users and stakeholders to gather all types of "things" which are categories such as tangible things, locations, and roles played by people
Abstract class
a class that allow subclasses to inherit characteristics but never gets instantiated
Concrete class
a class that can have instances
Examples of Inheritance
Attributes of OnlineSale are: timeOnSite, chatUse, saleDateTime, priorityCode, S&H, tax, totalAmt...
Attribute
___________ describes one piece of information about each instance Ex: Customer has first name, Last name, Phone number
Multiplicity
___________ is the term for the number of associations between classes: 1 to 1 or 1 to many *Refers to UML and not ERD* (This is a synonym for Carnality)
Association class
An association that is treated as a class in a many to many association because it has attributes that need to be remembered (such as grade)
Noun Technique ( Questions to ask whether you should include it)
1. Is it a unique thing the system needs to know? 2. is it inside the scope of the system I am working on? 3. Does the system need to remember more than one of these items?
Noun Technique ( Ask these questions to research it)
1. Is it likely to be a specific piece of information (Attribute) about some other thing I have identified? 2. Is it something I might need if assumptions change?
Noun Technique ( Questions to ask whether you should *exclude* it)
1. Is it really a synonym for some other thing I have identified? 2. Is it really just an output of the system produced from other information I have identified? 3. Is it really just an input that results in recording some other information I have identified?
Path
A ______ is a sequential set of connected states and transitions
State Machine Diagram
A ________ ________ ________ is a diagram which shoes the life of an object in states and transitions example of a printer
(State Machine Diagram): State
A ________ is a condition during an object's life when it satisfies some criterion, performs an action, or waits for an event
(State Machine Diagram): Guard-Condition
A ________-_________ is a true/False test to see whether a transition can fire
(State Machine Diagram): Transition
A _________ is the movement of an object from one state to another
Class diagram
A __________ Diagram is a UML diagram that shows classes with attributes and association (Plus methods if it models software classes)
Superclass
A __________ is the subordinate or general class in a generalization/specialization hierarchy
Subclass
A __________ is the subordinate or more specialized class in a generalization/ specialization hierarchy
(State Machine Diagram): Action-Expression
A __________-____________ is an activity that must be completed as part of a transition
Whole-part relationship
A ___________-_______ relationship is a way to structure information about things by defining them in terms of their parts White diamond shape means the parts can be exchanged out like "Aggregation"
(State Machine Diagram): Pseudostate
A _______________ is the starting point in a state machine diagram. (Noted by the black circle)
Minimum and Maximum muliplicity
Associations have minimum and maximum constraints *Minimum is zero, and the association is optional* *If minimum is at least one, the association is mandatory*
Concurrent States
___________ states are when an object is in one or more states at the same time
Binary Association
____________ Association is an association between exactly two different types of things Includes: *Course section includes students* *Member join club*
(State Machine Diagram): Destination State
The ________ state is the state to which an object moves after completing a transition
Difference between Noun and Brainstorming technique
The noun technique usually occurs when the analyst doesn't have any users to interview and comes up with their own noun list which results in a many extra "Things"
(State Machine Diagram): Origin State
The original state of an object before it begins a transition
Decentralized Design
___________ __________ Process in which conceptual design models subsets of an organization's database requirements, which are then aggregated into a complete design Ex: such modular designs are typical of complex system with a relatively large number of objects and procedures
Inheritance
____________ is the concept the subclasses inherit characteristics of the more general superclass
Domain Class
________ Class are classes that describe objects int he problem domain
Concurrent Paths
_________ __________ are when multiple paths are being following concurrently(Same time) Ex: When one ore more states in one path are parallel to states in another path
Semantic net
__________ _________ is a graphical representation of an individual data entity and its relationship with other individual entities Often used to understand and develop an ERD model
Compound Attribute
__________ __________ is two or more attributes combined into one structure to simplify the model. Ex: (address rather than including number, street, city, State, zip separately)
Unary Association (recursive)
___________ Association is the association between two things of the types Ex: *Person married to person* *A user is a friend of another user*
Centralized Design
___________ __________ is the process by which all database design decisions are carried out centrally by a small group of people
(Whole part relationship): Aggregation
a whole part relationship where the component part exists separately and can be removed and replaced (UML white diamond symbol) in a whole part relationship diagram - Computer has disk storage devices (storage devices exist apart from computer) - Car has wheels (wheels can be removed and still be wheels) - Keyboard can be removed from a computer
(Whole part relationship): Composition
a whole part relationship where the parts cannot be removed (filled in diamond symbol) on a whole part relationship diagram - Chip has circuits (without the chip, there are no circuits) Soldered on CPU
"Things" in the problem domain
are products, sales, shippers, customers, invoices, payments, etc
Tenary Association (Three)
includes (Customer, Order, and Item(s))
Domain model class diagram
is a class diagram that only includes classes from the problem domain, not software classes son no methods
Association
is the same thing as a "Relationship" on a ERD in a database class. It refers strictly to a domain class
Camelback Notation
words run together and second word is capitalized