Uml Rational Db A

download Uml Rational Db A

of 39

Transcript of Uml Rational Db A

  • 8/3/2019 Uml Rational Db A

    1/39

    Page 1 Copyright 1997 by Rational Software Corporation

    Analysis and Designwith UML

  • 8/3/2019 Uml Rational Db A

    2/39

    Page 2 Copyright 1997 by Rational Software Corporation

    Agenda

    Benefits of Visual Modeling

    History of the UML

    Visual Modeling with UML

    The Rational Iterative Development Process

  • 8/3/2019 Uml Rational Db A

    3/39

    Page 3 Copyright 1997 by Rational Software Corporation

    Computer System

    Business Process

    Order

    Item

    Ship via

    Modeling captures essentialparts of the system.

    Dr. James Rumbaugh

    Visual Modeling ismodelingusing standard graphicalnotations

    What is Visual Modeling?

  • 8/3/2019 Uml Rational Db A

    4/39

    Page 4 Copyright 1997 by Rational Software Corporation

    Use Case Analysis is a technique to capturebusiness process from users perspective

    Visual Modeling Captures

    Business Process

  • 8/3/2019 Uml Rational Db A

    5/39

    Page 5 Copyright 1997 by Rational Software Corporation

    Visual Modeling is a

    Communication ToolUse visual modeling to capture business objects and logic

    Use visual modeling to analyze and design your application

  • 8/3/2019 Uml Rational Db A

    6/39

    Page 6 Copyright 1997 by Rational Software Corporation

    Visual Modeling

    Manages Complexity

  • 8/3/2019 Uml Rational Db A

    7/39

  • 8/3/2019 Uml Rational Db A

    8/39

    Page 8 Copyright 1997 by Rational Software Corporation

    Multiple Systems

    Visual Modeling

    Promotes Reuse

    ReusableComponents

  • 8/3/2019 Uml Rational Db A

    9/39

    Page 9 Copyright 1997 by Rational Software Corporation

    What is the UML?

    UML stands for Unified Modeling Language

    The UML combines the best of the best from

    Data Modeling concepts (Entity Relationship Diagrams)

    Business Modeling (work flow)

    Object Modeling

    Component Modeling

    The UML is the standard language for visualizing,

    specifying, constructing, and documenting the artifacts of asoftware-intensive system

    It can be used with all processes, throughout thedevelopment life cycle, and across different implementationtechnologies

  • 8/3/2019 Uml Rational Db A

    10/39

    Page 10 Copyright 1997 by Rational Software Corporation

    History of the UML

    Nov 97 UML approved by the OMG

  • 8/3/2019 Uml Rational Db A

    11/39

    Page 11 Copyright 1997 by Rational Software Corporation

    Putting the UML to Work

    The ESU University wants to computerize their registrationsystem

    The Registrar sets up the curriculum for a semester

    One course may have multiple course offerings

    Students select 4 primary courses and 2 alternate courses

    Once a student registers for a semester, the billing system isnotified so the student may be billed for the semester

    Students may use the system to add/drop courses for a period oftime after registration

    Professors use the system to receive their course offering rosters

    Users of the registration system are assigned passwords which areused at logon validation

  • 8/3/2019 Uml Rational Db A

    12/39

    Page 12 Copyright 1997 by Rational Software Corporation

    Actors

    An actor is someone or some thing that must interact withthe system under development

    Student

    Registrar

    Professor

    Billing System

  • 8/3/2019 Uml Rational Db A

    13/39

    Page 13 Copyright 1997 by Rational Software Corporation

    Use Cases

    A use case is a pattern of behavior the system exhibits

    Each use case is a sequence of related transactions performed byan actor and the system in a dialogue

    Actors are examined to determine their needs Registrar -- maintain the curriculum

    Professor -- request roster

    Student -- maintain schedule

    Billing System -- receive billing information from registration

    Maintain ScheduleMaintain Curriculum Request Course Roster

  • 8/3/2019 Uml Rational Db A

    14/39

    Page 14 Copyright 1997 by Rational Software Corporation

    Use Case Diagram

    Use case diagrams are created to visualize the relationshipsbetween actors and use cases

    Student

    Registrar

    Professor

    Maintain Schedule

    Maintain Curriculum

    Request Course Roster

    Billing System

  • 8/3/2019 Uml Rational Db A

    15/39

    Page 15 Copyright 1997 by Rational Software Corporation

    Maintain Curriculum

    Flow of Events

    1 This use case begins when the Registrar logs onto the RegistrationSystem and enters his/her password. The system verifies that thepassword is valid (E-1).

    2 The system prompts the Registrar to select the current semester or afuture semester (E-2). The Registrar enters the desired semester.

    3 The system prompts the professor to select the desired activity: ADD,DELETE, REVIEW, or QUIT.

    4 If the activity selected is ADD, the S-1: Add a Course subflow isperformed.

    5 If the activity selected is DELETE, the S-2: Delete a Course subflow is

    performed.6 If the activity selected is REVIEW, the S-3: Review Curriculum

    subflow is performed.

    7 If the activity selected is QUIT, the use case ends.

    Steps 3 to 7 are repeated until QUIT.

  • 8/3/2019 Uml Rational Db A

    16/39

    Page 16 Copyright 1997 by Rational Software Corporation

    Uses and Extends Use

    Case Relationships

    As the use cases are documented, other use caserelationships may be discovered

    A uses relationship shows behavior that is common to one ormore use cases

    An extends relationship shows optional behavior

    Register for courses

    Logon validation

    Maintain curriculum

  • 8/3/2019 Uml Rational Db A

    17/39

    Page 17 Copyright 1997 by Rational Software Corporation

    Class Diagrams

    A class diagram shows the existence of classes and theirrelationships 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

  • 8/3/2019 Uml Rational Db A

    18/39

    Page 18 Copyright 1997 by Rational Software Corporation

    Classes

    A class is a collection of objects with common structure,common behavior, common relationships and commonsemantics

    Classes are found by examining the objects in sequence andcollaboration diagram

    A class is drawn as a rectangle with three compartments

    Classes should be named using the vocabulary of thedomain

    Naming standards should be created

    e.g., all classes are singular nouns starting with a capital letter

  • 8/3/2019 Uml Rational Db A

    19/39

    Page 19 Copyright 1997 by Rational Software Corporation

    Classes

    RegistrationForm

    RegistrationManager

    Course

    Student

    CourseOffering

    Professor

    ScheduleAlgorithm

  • 8/3/2019 Uml Rational Db A

    20/39

    Page 20 Copyright 1997 by Rational Software Corporation

    Operations

    The behavior of a class is represented by its operations

    Operations may be found by examining interactiondiagrams

    registrationform

    registrationmanager

    3: add course(joe, math 01)

    RegistrationManager

    addCourse(Student,Course)

  • 8/3/2019 Uml Rational Db A

    21/39

    Page 21

    Copyright 1997 by Rational Software Corporation

    Attributes

    The structure of a class is represented by its attributes

    Attributes may be found by examining class definitions, theproblem requirements, and by applying domain knowledge

    Each course offering

    has a number, location

    and time

    CourseOffering

    number

    location

    time

  • 8/3/2019 Uml Rational Db A

    22/39

    Page 22

    Copyright 1997 by Rational Software Corporation

    Classes

    RegistrationForm

    RegistrationManager

    addStudent(Course, StudentInfo)

    Course

    namenumberCredits

    open()

    addStudent(StudentInfo)

    Studentname

    major

    CourseOfferinglocation

    open()addStudent(StudentInfo)

    Professorname

    tenureStatus

    ScheduleAlgorithm

  • 8/3/2019 Uml Rational Db A

    23/39

  • 8/3/2019 Uml Rational Db A

    24/39

    Page 24

    Copyright 1997 by Rational Software Corporation

    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 relationshipshowing a relationship between a client and a supplier

    where the client does not have semantic knowledge of thesupplier

    A dependency is shown as a dashed line pointing from theclient to the supplier

  • 8/3/2019 Uml Rational Db A

    25/39

    Page 25

    Copyright 1997 by Rational Software Corporation

    RegistrationManager

    Math 101:Course

    3: add student(joe)

    RegistrationManager

    Course

    Finding Relationships

    Relationships are discovered by examining interactiondiagrams

    If two objects must talk there must be a pathway forcommunication

  • 8/3/2019 Uml Rational Db A

    26/39

    Page 26

    Copyright 1997 by Rational Software Corporation

    Relationships

    RegistrationForm

    RegistrationManager

    Course

    Student

    CourseOffering

    Professor

    addStudent(Course, StudentInfo)

    namenumberCredits

    open()

    addStudent(StudentInfo)name

    major

    location

    open()addStudent(StudentInfo)

    nametenureStatus

    ScheduleAlgorithm

  • 8/3/2019 Uml Rational Db A

    27/39

    Page 27

    Copyright 1997 by Rational Software Corporation

    Multiplicity and Navigation

    Multiplicity defines how many objects participate in arelationships

    Multiplicity is the number of instances of one class related toONE instance of the other class

    For each association and aggregation, there are two multiplicitydecisions to make: one for each end of the relationship

    Although associations and aggregations are bi-directionalby default, it is often desirable to restrict navigation to onedirection

    If navigation is restricted, an arrowhead is added toindicate the direction of the navigation

  • 8/3/2019 Uml Rational Db A

    28/39

    Page 28

    Copyright 1997 by Rational Software Corporation

    Multiplicity and Navigation

    RegistrationForm

    RegistrationManager

    Course

    Student

    CourseOffering

    Professor

    addStudent(Course, StudentInfo)

    namenumberCredits

    open()

    addStudent(StudentInfo)major

    location

    open()addStudent(StudentInfo)

    tenureStatus

    ScheduleAlgorithm

    10..*

    0..*

    1

    1

    1..*

    4

    3..10

    0..41

  • 8/3/2019 Uml Rational Db A

    29/39

    Page 29

    Copyright 1997 by Rational Software Corporation

    Inheritance

    Inheritance is a relationships between a superclass and itssubclasses

    There are two ways to find inheritance:

    Generalization Specialization

    Common attributes, operations, and/or relationships areshown at the highest applicable level in the hierarchy

  • 8/3/2019 Uml Rational Db A

    30/39

    Page 30

    Copyright 1997 by Rational Software Corporation

    Inheritance

    RegistrationForm

    RegistrationManager

    Course

    Student

    CourseOffering

    Professor

    addStudent(Course, StudentInfo)

    namenumberCredits

    open()

    addStudent(StudentInfo)major

    location

    open()addStudent(StudentInfo)

    tenureStatus

    ScheduleAlgorithm

    name

    RegistrationUser

  • 8/3/2019 Uml Rational Db A

    31/39

    Page 31

    Copyright 1997 by Rational Software Corporation

    Use Case Realizations

    The use case diagram presents an outside view of the system

    Interaction diagrams describe how use cases are realized asinteractions among societies of objects

    Two types of interaction diagrams Sequence diagrams

    Collaboration diagrams

  • 8/3/2019 Uml Rational Db A

    32/39

    Page 32

    Copyright 1997 by Rational Software Corporation

    Sequence Diagram

    A sequence diagram displays object interactions arrangedin a time sequence

    : Student registrationform

    registrationmanager

    math 101

    1: fill in info

    2: submit

    3: add course(joe, math 01)

    4: are you open?5: are you open?

    6: add (joe)7: add (joe)

    math 101section 1

  • 8/3/2019 Uml Rational Db A

    33/39

    Page 33

    Copyright 1997 by Rational Software Corporation

    : Registrar

    course form :CourseForm

    theManager :CurriculumManager

    aCourse :Course

    1: set course info

    2: process

    3: add course

    4: new course

    Collaboration Diagram

    A collaboration diagram displays object interactionsorganized around objects and their links to one another

  • 8/3/2019 Uml Rational Db A

    34/39

    Page 34

    Copyright 1997 by Rational Software Corporation

    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

  • 8/3/2019 Uml Rational Db A

    35/39

    Page 35

    Copyright 1997 by Rational Software Corporation

    State Transition Diagram

    InitializationOpen

    entry: Register student

    exit: Increment count

    Closed

    Canceled

    do: Initialize course

    do: Finalize course

    do: Notify registered students

    Add Student /Set count = 0

    Add student[ count < 10 ]

    [ count = 10 ]

    Cancel

    Cancel

    Cancel

  • 8/3/2019 Uml Rational Db A

    36/39

    Page 36

    Copyright 1997 by Rational Software Corporation

    The Physical World

    Component diagrams illustrate the organizations anddependencies among software components

    A component may be

    A source code component A run time components or

    An executable component

  • 8/3/2019 Uml Rational Db A

    37/39

    Page 37

    Copyright 1997 by Rational Software Corporation

    Course Course

    Offering

    Student Professor

    Component Diagram

    Course.dll

    People.dll

    CourseUser

    Register.exeBilling.exe

    BillingSystem

  • 8/3/2019 Uml Rational Db A

    38/39

    Page 38

    Copyright 1997 by Rational Software Corporation

    Deploying the System

    The deployment diagram shows the configuration of run-time processing elements and the software processes livingon them

    The deployment diagram visualizes the distribution ofcomponents across the enterprise.

  • 8/3/2019 Uml Rational Db A

    39/39

    Page 39

    Copyright 1997 by Rational Software Corporation

    Deployment Diagram

    Registration Database

    Library

    Dorm

    MainBuilding