Deploying the System

Search by google

Rabu, 18 Februari 2009

Sequence Diagram

Sequence Diagram
 A sequence diagram displays object interactions arranged in a time sequence

Collaboration Diagram
 A collaboration diagram displays object interactions organized around objects and their links to one another

Class Diagrams
 A class diagram shows the existence of classes and their relationships in the logical view of a system
 UML modeling elements in class diagrams
– Classes and their structure and behavior
– Association, aggregation, dependency, and inheritance relationships
– Multiplicity and navigation indicators
– Role names

Classes
 A class is a collection of objects with common structure, common behavior, common relationships and common semantics
 Classes are found by examining the objects in sequence and collaboration diagram
 A class is drawn as a rectangle with three compartments
 Classes should be named using the vocabulary of the domain
– Naming standards should be created
– e.g., all classes are singular nouns starting with a capital letter

Operations
 The behavior of a class is represented by its operations
 Operations may be found by examining interaction diagrams

Attributes
 The structure of a class is represented by its attributes
 Attributes may be found by examining class definitions, the problem requirements, and by applying domain knowledge


Relationships
 Relationships provide a pathway for communication between objects
 Sequence and/or collaboration diagrams are examined to determine what links between objects need to exist to accomplish the behavior -- if two objects need to “talk” there must be a link between them
 Three types of relationships are:
– Association
– Aggregation
– Dependency

Relationships
 An association is a bi-directional connection between classes
– An association is shown as a line connecting the related classes
 An aggregation is a stronger form of relationship where the relationship is between a whole and its parts
– An aggregation is shown as a line connecting the related classes with a diamond next to the class representing the whole
 A dependency relationship is a weaker form of relationship showing a relationship between a client and a supplier where the client does not have semantic knowledge of the supplier
– A dependency is shown as a dashed line pointing from the client to the supplier

Finding Relationships

 Relationships are discovered by examining interaction diagrams
– If two objects must “talk” there must be a pathway for communication

Multiplicity and Navigation
 Multiplicity defines how many objects participate in a relationships
– Multiplicity is the number of instances of one class related to ONE instance of the other class
– For each association and aggregation, there are two multiplicity decisions to make: one for each end of the relationship
 Although associations and aggregations are bi-directional by default, it is often desirable to restrict navigation to one direction
– If navigation is restricted, an arrowhead is added to indicate the direction of the navigation

Inheritance
 Inheritance is a relationships between a superclass and its subclasses
 There are two ways to find inheritance:
– Generalization
– Specialization
 Common attributes, operations, and/or relationships are shown at the highest applicable level in the hierarchy

The State of an Object
 A state transition diagram shows
– The life history of a given class
– The events that cause a transition from one state to another
– The actions that result from a state change
 State transition diagrams are created for objects with significant dynamic behavior
The Physical World
 Component diagrams illustrate the organizations and dependencies among software components
 A component may be
– A source code component
– A run time components or
– An executable component

Interfaces
 The interfaces to a component may be shown on a component diagram

Deploying the System
 The deployment diagram shows the configuration of run-time processing elements and the software processes living on them
 The deployment diagram visualizes the distribution of components across the enterprise.

Extending the UML
 Stereotypes can be used to extend the UML notational elements
 Stereotypes may be used to classify and extend associations, inheritance relationships, classes, and components
 Examples:
– Class stereotypes: boundary, control, entity, utility, exception
– Inheritance stereotypes: uses and extends
– Component stereotypes: subsystem

Summary
 Visual modeling can be used to:
– Define business process
– Communicate
– Manage complexity
– Define software architecture
– Promote reuse
 The UML is the standard language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system
– It can be used with all processes, throughout the development life cycle, and across different implementation technologies.