chapter 6 (object-oriented systems analysis and design using UML) Flashcards
Object-Oriented Analysis and Design
- Works well in situations where complicated systems are
undergoing continuous maintenance, adaptation, and
design - Objects, classes are reusable
- The Unified Modeling Language (UML) is an industry
standard for modeling object-oriented systems
Reusability
Recycling of program parts should reduce the costs of
development in computer-based systems
Maintaining systems
Making a change in one object has a minimal impact
on other objects
Object-Oriented Concepts
- Objects
- Classes
- Inheritance
Objects
- Persons, places, or things that are relevant to the system
being analyzed - May be customers, items, orders, and so on
- May be GUI (graphical user interface) displays or text areas on a display
Classes
- Defines the set of shared attributes and behaviors found
in each object in the class - Should have a name that differentiates it from all other
classes - Instantiate is when an object is created from a class
- An attribute describes some property that is possessed
by all objects of the class - A method is an action that can be requested from any
object of the class
Inheritance
- When a derived class inherits all the attributes and
behaviors of the base class - Reduces programming labor by using common objects
easily - A feature only found in object-oriented systems
CRC Cards and Object Think
- CRC
– Class
– Responsibilities
– Collaborators - CRC cards are used to represent the responsibilities of
classes and the interaction between the classes
Interacting during a CRC Session
- Identify all the classes you can
- Create scenarios
- Identify and refine responsibilities
The Unified Modeling Language (UML)
Concepts and Diagrams
- Things
- Relationships
- Diagrams
Things
- Structural things are:
– Classes, interfaces, use cases, and other elements that provide
a way to create models
– They allow the user to describe relationships - Behavioral things
- Describe how things work
– Interactions and state machines - Group things
– Used to define boundaries - Annotational things
– Can add notes to the diagrams
Relationships
- Structural relationships
– Tie things together in structural diagrams - Behavioral relationships
– Used in behavioral diagrams
Structural Relationships
- Dependencies
- Aggregations
- Associations
- Generalizations
Behavioral Relationships
- Communicates
- Includes
- Extends
- Generalizes
Structural diagrams
Used to describe the relation between classes
Behavioral diagrams
Used to describe the interaction between people
(actors) and a use case (how the actors use the system)
Structural Diagrams
- Class diagrams
- Object diagrams
- Component diagrams
- Deployment diagrams
Behavioral Diagrams
- Use case diagrams
- Sequence diagrams
- Collaboration diagrams
- Statechart diagrams
- Activity diagrams
Commonly Used UML Diagrams
Use case diagram
– Describing how the system is used
– The starting point for UML modeling
Use case scenario
A verbal articulation of exceptions to the main
behavior described by the primary use case
Activity diagram
Illustrates the overall flow of activities
Sequence diagrams
Show the sequence of activities and class relationships
Class diagrams
Show classes and relationships
Statechart diagrams
Show the state transitions