SlideShare a Scribd company logo
1 of 49
MODELING
3   AND UML
    OVERVIEW
1   INTRODUCTION
    2 METHODOLOGIES
    3 MODELS AND UML
    4 OBJECT CONCEPTS
    5   ANALYSIS
2
    6 SOFTWARE DESIGN
Goal of Presentation
3


       This presentation will
         Define model and diagrams and explain importance of
          them to system development.
         Introduce UML
Definitions
4


        A model is a simplified representation of
         something in the real world, usually for the purpose
         of understanding that reality, and having all the
         features of that reality necessary for the current
         task or problem.
           Like       a map, a model represents something else.
        Thus modeling is a form of abstraction, that is, the
         process of focusing only on features essential to the
         problem at hand.

        Source: David William Brown, An Intro to Object-Oriented Analysis (Wiley, 2002), p. 30
What Are Models For?
5

         Models are used for:
            To capture and precisely state requirements and domain
             knowledge so that all stakeholders may understand and
             agree on them.
            To think about the design of a system.
            To capture design decisions in a mutable form separate
             from the requirements.
            To generate usable work products.
            To organize, retrieve and edit info about large systems.
            To explore multiple solutions economically.
            To master complex systems.



    Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 13-4
Levels of Models
6

         Models take on different forms and appear at
          different levels of abstraction.
              A useful model has the right level of detail and represents
               only what is important for the task in hand.
         The amount of detail in the model is adapted to one of
          the following purposes:
            Guides to the thought process.
            Abstract specifications of the essential structure of a system.
            Full specification of a final system.
            Exemplars of typical or possible systems.
            Complete or partial descriptions of systems.


    Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 15-6
Many Matching Models
7


        Each model emphasizes some aspect of the real-
         world thing.
        Thus, many models are required to reveal all the
         important details of that thing.
        Yet, these matching models must eventually fit
         together.
           What    is represented in one model must be consistent
              with what is represented in another model.



        Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 51
8
Diagrams
9


        Diagrams are abstract shapes that are used to
         represent things or actions from the real world
        Diagrams follow rules or standards
        The standards make sure that different people will
         interpret the diagram in the same way

          40°




        Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 98-9.
Author            Reviewer       Typesetter      Printer

      An Example
      of a Diagram
                                                      Write Chapter



10
                                                                         Review Chapter




    An activity                                      Revise Chapter

                                                 [book not
     diagram of the                              complete]

                                                              [book complete]

     tasks involved in
     producing a book.                                                                    Typeset Book




                                                      Correct Proofs




                                                                                           Reset Book




                                                                                                         Print Book




        Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design presentation.
Hiding Detail                         Write Chapter


                                                          Plan Chapter


11                                                              Author            Reviewer       Typesetter      Printer
                                                           Produce
                                                           First Draft

                                                               Write Chapter

                                                          Revise Draft

                                                                                Review Chapter
                                             [not satisfied]

                                                                [satisfied]
                                                           Revise Chapter
                                                         Add Exercises
                                                        [book not
                                                        complete]
                                                                    [book
                                                       Add References
                                                                    complete]
                                                       to Bibliography
                                                                                                 Typeset Book



                                                               Correct Proofs



                                                                                                 Reset Book



                                                                                                                Print Book



     Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design presentation.
Diagrams versus Models
12


         A diagram illustrates some aspect of a system.
         A model provides a complete view of a system at a
          particular stage and from a particular perspective.
         A model may consist of a single diagram, but most
          consist of many related diagrams and supporting
          data and documentation.




         Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 100-1.
Models in Systems Development
13


         To understand the user’s world we need:
            People sensitivity (interviewing and listening skills) for
             gathering relevant and accurate information.
            Modeling diagrams to document and communicate
             what we’ve learned from the users.
                   We are using UML as our modeling notation.
            Modeling    techniques to ensure these notations produce
               an accurate picture of the user’s business.
                   These are partly defined by:
                          the modeling notation itself, as well as
                          the software process/methodology.


         Source: David William Brown, An Intro to Object-oriented (Wiley, 2002), p. 38
Developing Models
14


         The models that we produce during the development of
          a system change as the project progresses.
         They change by degree of:
              Abstraction
                  Model will become less abstract and more concrete.
              Formality
                  Degree of formality in which methods, attributes, and constraints
                   are defined will increase as project progress.
              Level of detail
                  More potential detail in every model as project progresses.


         Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 103-5.
Development of Use Case Model through successive iterations
                                                                                                                                                                          Staff Management




     Iteration 1
                                                                                                                                                    Add a new staff
                                                                                                                                                  member
                                                                                                                                    Staff Management



                                                                                                                 Add a new staff
                                                                                                                    member
                                                                                                                                                    Add a new staff
                                                                                                                                                        grade



                                                                                                                 Add a new staff
                                                                                                                     grade
                                                                                                                                                       Change the
                                                                                                                                                        rate for a
                                                                                                                                                       staff grade




     Obvious use cases.
                                                                                       Ac countant                Change the
                                                                                                                   rate for a
                                                                                                                  staff grade                         Change the
                                                                                                                                                      grade for a
                                                                                                                                                     staff member
                                                                    Ac countant

                                                                                                                   Change the
                                                                                                                   grade for a
                                                                                                                  staff member
                                                                                                                                                     Calculate staff
                                                                                                                                                       bonuses




     Simple use case descriptions.
                                                                                                                 Calculate staff
                                                                                                                   bonuses




                                                                                                                                                                                                               Staff Management



                                                                                                                                                                                         Add a new staff
                                                                                                                                                                                        member
                                                                                                                                                                          Staff Management




     Iteration 2
                                                                                                                                                    Add a new staff
                                                                                                                                                  member
                                                                                                                                    Staff Management
                                                                                                                                                                                         Add a new staff
                                                                                                                                                                                             grade

                                                                                                                 Add a new staff                                                                                                                           Campaign Selection
                                                                                                                    member
                                                                                                                                                    Add a new staff
                                                                                                                                                        grade
                                                                                                                                                                                            Change the
                                                                                                                                                                                                                                                      Campaign Selection
                                                                                                                                                                                             rate for a
                                                                                                                                                                                            staff grade                                                           Client:           Holborn Motors
                                                                                                                 Add a new staff                                                                                                                  Campaign Selection                Lynch Properties
                                                                                                                     grade
                                                                                                                      Ac countant                      Change the
                                                                                                                                                        rate for a                                                                                            Client:         Holborn Motors
                                                                                                                                                                                                                                                                                    Yellow Partridge
                                                                                                                                                                                                                                                                                   Yellow Partridge
                                                                                                                                                       staff grade                         Change the                                                                         Lynch Properties
                                                                                                                                                                                                                                                                                    Zeta Systems




     Additional use cases.
                                                                                                                                                                                           grade for a

                                                                                                                  Change the
                                                                                                                                                                                          staff member
                                                                                                                                                                                                                                                         Client:         Holborn Motors
                                                                                                                                                                                                                                                                              Yellow Partridge
                                                                                                                                                                                                                                                                             Yellow Partridge
                                                                                       Ac countant
                                                                                                                                                                                                                                                                                  Spring Jewellery Campaign 1997
                                                                                                                                                                                                                                                                Campaign:Lynch Properties
                                                                                                                                                                                                                                                                              Zeta Systems
                                                                                                                   rate for a
                                                                                                                  staff grade                         Change the
                                                                                                                                                      grade for a                                                                                                                 Spring Jewellery Campaign 2001
                                                                                                                                                                                                                                                                         Yellow Partridge
                                                                                                                                                     staff member
                                                                                                                                                                                                                                                                            Spring Jewellery Campaign 1997
                                                                                                                                                                                                                                                                         Zeta Systems Jewellery Campaign 2002
                                                                                                                                                                                                                                                                                  Spring
                                                                    Ac countant                                                                                                           Calculate staff
                                                                                                                                                                                                                                                           Campaign:
                                                                                                                   Change the
                                                                                                                                                                                            bonuses
                                                                                                                                                                                                                                                                            Spring Jewellery Campaign 2001
                                                                                                                                                                                                                                                                                  Summer Collection 1998
                                                                                                                   grade for a                                                                                                                                              Spring Jewellery Campaign 2002
                                                                                                                                                                                                                                                                              Spring Jewellery Campaign
                                                                                                                  staff member                                                                                                                          Campaign:
                                                                                                                                                     Calculate staff
                                                                                                                                                                                                                                                                            Summer Collection 1998
                                                                                                                                                                                                                                                                              2002
                                                                                                                                                       bonuses
                                                                                                                                                                                                                                                                                OK             Quit




     Simple use case descriptions.
                                                                                                                 Calculate staff
                                                                                                                   bonuses
                                                                                                                                                                                                                                                                                 OK          Quit

                                                                                                                                                                                                                                                                            OK        Quit




     Prototypes.



     Iteration 3
                                                                                                                                                                                                                            Campaign Management

                                                                                                                                                                          Assign staff
                                                                                                                                                                           to work on
                                                                                                                                                                          a campaign                    «include»

                                                                                                                                                                                          Campaign Management               Find campaign

                                                                                                                                     Assign staff                                                       «include»
                                                                                                                                      to work on
                                                                                                                                     a campaign
                                                                                                                                                                      Add a new
                                                                                                                                                               «include» ert to
                                                                                                                                                                       adv                                                                                 Campaign Selection
                                                                                                                                                                     a campaign
                                                                                                                                                                                                      «include»
                                                                                                                                                                                          Find campaign
                                                                                                                                                     Campaign Management

                                                                                                  Assign staff
                                                                                                   to work on
                                                                                                                   Campaign
                                                                                                                    Manager
                                                                                                                                   Add a new
                                                                                                                                                                   «include»
                                                                                                                                                                                                                                                      Campaign Selection
                                                                                                  a campaign                «include» ert to
                                                                                                                                    adv
                                                                                                                                  a campaign
                                                                                                                                                                   Check campaign
                                                                                                                                                                 «include»
                                                                                                                                                     Find campaign      budget                                                                                    Client:           Holborn Motors
                                                                                   Campaign                                     «include»
                                                                                                                                                                                                                                                  Campaign Selection                Lynch Properties
                                                                                    Manager
                                                                                                   Add a new
                                                                                                    adv ert to                                                               «extend»               «extend»
                                                                                                                                                                                                                                                              Client:         Holborn Motors
                                                                                                                                                                                                                                                                                    Yellow Partridge
                                                                                                                                                                                                                                                                                   Yellow Partridge




     Structured use cases.
                                                                                                                                   Check campaign
                                                                                                  a campaign
                                                                                                                                 «include»
                                                                                                                                        budget                                                                                                                                Lynch Properties
                                                                                                                                                                                                                                                                                    Zeta Systems
                                                                Campaign
                                                                 Manager
                                                                                                                                                                      Print campaign
                                                                                                                                                                         summary
                                                                                                                                                                                                                     Print campaign
                                                                                                                                                                                                                         invoice
                                                                                                                                                                                                                                                         Client:         Holborn Motors
                                                                                                                                                                                                                                                                              Yellow Partridge
                                                                                                                                                                                                                                                                             Yellow Partridge
                                                                                                                                                                                                                                                                                  Spring Jewellery Campaign 1997
                                                                                                                                                                                                                                                                Campaign:Lynch Properties
                                                                                                                                        «extend»               «extend»
                                                                                                Check campaign
                                                                                                     budget
                                                                                                                                                                                                                                                                              Zeta Systems
                                                                                                                                                                                                                                                                                  Spring Jewellery Campaign 2001
                                                                                                                  A ccountant

                                                                                                                                   Print campaign                                  Print campaign                                                                        Yellow Partridge
                                                                                                                                      summary                                          invoice
                                                                                                                                                                                                                                                                            Spring Jewellery Campaign 1997
                                                                                                                                                                                                                                                                         Zeta Systems Jewellery Campaign 2002
                                                                                                                                                                                                                                                                                  Spring
                                                                                                     «extend»           «extend»
                                                                                                                                                                                                                                                           Campaign:
                                                                                  A ccountant
                                                                                                                                                                                                                                                                            Spring Jewellery Campaign 2001
                                                                                                                                                                                                                                                                                  Summer Collection 1998
                                                                                                Print campaign                                Print campaign
                                                                                                                                                                                                                                                                            Spring Jewellery Campaign 2002
                                                                                                                                                                                                                                                                              Spring Jewellery Campaign
                                                                                                   summary                                        invoice
                                                                                                                                                                                                                                                        Campaign:
                                                                                                                                                                                                                                                                            Summer Collection 1998
                                                                                                                                                                                                                                                                              2002




     Structured use case descriptions.
                                                               A ccountant
                                                                                                                                                                                                                                                                                OK             Quit

                                                                                                                                                                                                                                                                                 OK          Quit

                                                                                                                                                                                                                                                                            OK        Quit




     Prototypes.




15
         Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 104.
Earlier Models and Diagrams
16


        A variety of modeling notations have developed
         over the years. These include:
          Process
                 models (data flow diagrams)
          Data models (ERDs)
Process Models: Data Flow
17
     Diagrams
        Focus not just on operations but on who does what with
         whom. That is, the focus is on data and how it processes
         through an organization.
        Used Data Flow Diagrams (DFDs) as a way to model
         the activities, functions, and processes that make up a
         users’ business.
                       Student Details            Registration
                                                                                 Validated Student            Student
                                                                                      Details                 Records




                                             Acknowledgement
                                              of Registration
                         Student
                                                          Enrollment
                                                         Confirmation

                                                                                                     Confirmation of
                                    Enrollment Request                    Enrollment                   Enrollment




                                                             Confirmed
                                                                                   Vacancies                Courses
                       Enrollments                          Enrollments
Data Models: ERDs
18


        Focus on data modeling rather than on process
         modeling.
        Entity Relationship Diagrams (ERDs) used as analysis
         tool as well as a database design tool.
OO Diagramming
19


        There are all sorts of different OO diagrams:
            e.g., Booch OOD, Rumbaugh OMT, Yourdon & Coad, etc.
        UML (Unified Modeling Language) has become the
         standard notation for OO diagramming and modeling.
            The modeling notation defined by UML does not define a
             modeling technique
                These are defined by the software process/methodology.
            UML is not a methodology or process; rather it is a universal
             modeling notation.
UML Defined
20


          The Unified Modeling Language (UML) is a general
           purpose visual modeling language that is used to
           specify, visualize, construct, and document the
           artifacts of a software system.




     Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 3
UML Defined
21


          It captures decisions and understanding about
           systems that must be constructed.
          It is used to understand, design, browse, configure,
           maintain, and control information about systems.
          It is intended to be used with all development
           methods, lifecycle stages, application domains, and
           media.



     Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 3
Not A Programming Language!
22


        The UML is not a programming language !
        The UML is a general-purpose modeling notation
         for discrete systems such as software.
Goals of UML
23

          There were a number of goals behind the development of UML:
               UML is a general-purpose modeling language that all modelers can use.
               It is meant to include the concepts of the leading methods so that it can
                be used as their modeling language.
               It was intended to be as familiar as possible.
               It is meant to support good practices for design such as encapsulation,
                separation of concerns, and capture of the intent of a model construct.
               It is intended to address current software development issues, such as
                large scale, distribution, concurrency, patterns and team development.
               It was to be as simple as possible while still being capable of modeling
                the full range of practical systems that need to be built.




     Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 8-9
What Does Unified Mean?
24


          The word unified has the following relevant
           meanings for UML:
             Across historical methods and notations.
             Across the development lifecycle

             Across application domains

             Across implementation languages and platforms

             Across development processes

             Across internal concepts




     Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 7-8
UML Building Blocks
25


         UML is composed of three building blocks:
            Things
                  These are the modeling elements
            Relationships
                  These tie things together
            Diagrams
                  These are views into UML models




         Source: Booch, The Unified Modeling Language User Guide (Addison-Wesley, 1998), p. 2.
UML Things
26

         UML thing may be partitioned into:
              Structural things
                  Represent the nouns of a UML model such as class, component, use
                   case, etc
              Behavioral things
                  Represent the verbs of a UML model such as interactions, states,
                   etc.
              Grouping things
                  Represent things that group elements together such as the
                   package.
              Annotational things
                  The note


         Source: Arlow and Neustadt, UML and the Unified Process (Addison-Wesley, 2002), p. 9.
UML Relationships
27


        Used to show how two or more things
         relate to each other.
           generalization               association




           dependency                   realization




         Source: Arlow and Neustadt, UML and the Unified Process (Addison-Wesley, 2002), p. 10.
Diagrams in UML
28


         UML diagrams consist of:                                                          Write Chapter


            icons                                                                                              Plan Chapter



            two-dimensional                    symbols                                                          Produce
                                                                                                                 First Draft

            paths
                                                                                                                Revise Draft
            Strings
                                                                                                   [not satisfied]

         UML diagrams are views into the model.                                                                       [satisfied]


            They        are not the model itself                                                              Add Exercises



                                                                                                             Add References
                                                                                                             to Bibliography




         Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design presentation.
UML Diagrams
29




      Static Model                             Dynamic Model


        class diagram                           object diagram



     component diagram                        use case diagram



     deployment diagram                       sequence diagram



                                            collaboration diagram



                                              statechart diagram



                                               activity diagram

       Source: Arlow and Neustadt, UML and the Unified Process (Addison-Wesley, 2002), p. 11.
UML Parts
30


          A system is modeled as a collection of discrete
           objects that interact to perform work that ultimately
           benefits an outside user.
          UML has:
             static
                  and,
             dynamic parts.




     Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 3
Static and Dynamic Information
31

          In particular UML captures information about the static structure and the dynamic
           behavior of a system.
               The static structure defines the kinds of objects important to a system and to its
                implementation, as well as the relationships among the objects.
               The dynamic behavior defines the history of objects over time and the communications
                among objects to accomplish goals.




     Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 3
Organization
32

          The UML also contains organization constructs for
           arranging models into packages that permit software
           teams to:
             partition large systems into workable pieces.
             understand and control dependencies among the packages,
              and
             manage the versioning of model units in a complex
              development environment.
          The UML contains constructs for representing
           implementation decisions and for organizing run-time
           elements into components.

     Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 3-4
UML Concepts
33

         system
              The overall thing that is being modeled.
         sub-system
              Part of the system.
         model
            An abstraction of system or subsystem from a particular
             perspective or view.
            Different models present different views of the system.

         diagram
              A graphic representation of a set of elements in the model.


         Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 102.
Static Structure
34


          Any precise model must first define the universe of
           discourse.
               That is, the key concepts from the application, their internal
                properties, and their relationships to each other.
          This set of constructs is the static view of the system.
          The static view is notated by class diagrams (also called
           class static structure diagrams).
               That is, the application concepts are modeled as classes,
                each of which describes a set of discrete objects that hold
                information and communicate to implement behavior.

     Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 9
Class static structure diagrams
35


                         BankAccount               Customer
                     -customerName
                     -accountNum
                     -balance
                     +getCustomerName()
                     +getAccountNum()
                     +getBalance()
                     +setBalance()




           Loan                  CheckingAccount

     -interestRate               -serviceCharge

     +makePayment()              +deposit()
     +addInterest()              +withdrawal()
Dynamic Behavior
36


          There are two ways to model behavior:
             One   is the communication patterns of a set of
                connected objects as they interact to implement
                behavior.
                    This is modeled using use case diagrams, sequence
                     diagrams, collaboration diagrams, and activity diagrams.
             The    other is the evolution of an object’s state over time
                as it interacts with the rest of the world.
                  State change refers to possible changes in object’s attributes
                   and associations with other objects.
                  This is modeled as a statechart.



     Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 9-10
Use Cases
37


         When we analyze a system we try to identify the
          main functionality that the system will have and the
          main ways it will be used.
         Each of these ways the system is going to be used is
          called a use case.
           A    use case is a sequence of actions a system performs
               that yields an observable result of value to a particular
               actor.
                  An actor is either a person (user) interacting with the system
                   or, in some cases, another system interacting with the system.

         Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 53
Using Use Cases
38


         A use case captures the main functionality of the
          system from a user or actor’s perspective.
         It also serves as a vehicle to divide the system into
          parts that can be implemented somewhat
          separately.
            For any given system, we will usually develop and
             implement the most important use cases first.
            Establishing which use cases are important often follows
             from looking at the main events in the problem domain.


         Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 54
Use Case Diagram
39


        We can model use cases in a use case diagram.
          Stickfigures represent actors.
          Ovals represent the use case.

          The arrows show interactions.

                                   Video Store System



                                       Rent Videos




           Video Store Clerk         Add New Videos
Activity Diagrams
40


        Used to model business activities/tasks in the very
         early stages of a project.
        Also used to describe a system function described
         by a use case.
        They are analogous to standard flowcharts.
Activity Diagrams
41




     activities           Add a New
                            Client
            transitions

                          Assign Staff
                            Contact

                                    [new campaign]
              decisions

                                [campaign to add]
                                                                object flow
                          Add New
                          Campaign
                                                                object
                                                    :Campaign
Activity Diagrams
42


        Swimlanes                   Campaign
                                     Manager
                                                      Accountant        Client


          vertical columns
                                  Record Completion
          labelled with the        of a campaign


           person, organisation
                                                      Issue invoice
           or department
           responsible for the
                                                                      Pay invoice
           activities in that
           column                   Record client
                                      payment
Sequence Diagrams
43


         The class diagram is limited in that it does not
          represent time-dependent behaviors.
         Sequence diagrams present object interactions
          arranged in time sequence.
            Itshows the actors or objects participating in an
             interaction and the events they generate arranged in a
             time sequence.
            Often, a sequence diagram shows the events that result
             from a particular instance of a use case but a sequence
             diagram can also exist in a more generic form.
         Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 62
Sequence Diagrams
44


     Patron                       Librarian                System



              SubmitResources()
                                                                    Rectangles represent objects.
                                                                    Stick figures represent actors.
                                                                    Vertical lines represent the lifeline of the object or actor.
              SubmitLibraryCard()
                                                                    Horizontal arrows indicate messages.
                                              RecordID()



                                                                    CheckStatus()
                                               status()


                                          RecordCallNumber()



                                                                    CalcDueDate()



                                                                    RecordLoan()

                                              dueDate()
Collaboration Diagram
45


        A collaboration diagram shows interactions
         organized around the objects and their messages to
         each other.
          Collaboration diagrams and sequence diagrams are
           used interchangeably.
        Unlike a sequence diagram, a collaboration
         diagram shows relationships among object roles
         and it does not express time as a separate
         dimension.
          Message1()
                            2: Message2()
                            3: Message3()
                  ClassAInstance      ClassBInstance
Statechart Diagram
46

         The statechart diagram shows the states an object
          might be in and the actions or conditions that cause an
          object to make a transition from one state to another.
         By documenting events and transitions, a statechart
          diagram shows the sequence of states an object goes
          through during its life.
         Statecharts are extensions of the class diagram and
          you could create one statechart for each class.
              In practice, you will only create a statechart for those
               classes that exhibit especially interesting or complex time-
               dependent behavior.

         Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 60
Statechart Diagram
47




                        Retrieving Books                      Packaging




                                           setFulfilledFlag
                          Shipped                             Shipping




       Boxes represent states.
       Arrows represent transitions between states.
       Solid dots represent start and end states.
Model Organization
48


          Computers can deal with large flat models, but
           humans cannot.
          In a large system, modeling information must be
           divided into coherent pieces so that teams can work
           on different parts concurrently.
          Packages are general-purpose hierarchical
           organizational units of UML models.
             Packages    can be used for storage, access control,
                configuration management, and constructing libraries
                that contain reusable model fragments.

     Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 10
Packages
49


        If the class diagram becomes large, it will become
         quite difficult to use for an overview of the system.
          In such cases we create a high-level view of the system,
           using some kind of partitioning or cluster scheme.
          UML calls these clusters packages and provides
           modeling notation called a package diagram.

            Sales   Human Resources

More Related Content

What's hot

Vb6.0 Introduction
Vb6.0 IntroductionVb6.0 Introduction
Vb6.0 IntroductionTennyson
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineeringkirupasuchi1996
 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15koolkampus
 
Boehm Software Quality Model
Boehm Software Quality ModelBoehm Software Quality Model
Boehm Software Quality ModelProfessional QA
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxNwabueze Obioma
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing StrategiesAlpana Bhaskar
 
Software architecture and software design
Software architecture and software designSoftware architecture and software design
Software architecture and software designMr. Swapnil G. Thaware
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design IntroductionUsman Khan
 
Use Case Diagram.pptx
Use Case Diagram.pptxUse Case Diagram.pptx
Use Case Diagram.pptxGenta Sahuri
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes arvind pandey
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagramsbarney92
 
Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factorsNancyBeaulah_R
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance Webtech Learning
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
 
Data modelling tool in CASE
Data modelling tool in CASEData modelling tool in CASE
Data modelling tool in CASEManju Pillai
 

What's hot (20)

Vb6.0 Introduction
Vb6.0 IntroductionVb6.0 Introduction
Vb6.0 Introduction
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineering
 
User interface design
User interface designUser interface design
User interface design
 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15
 
Boehm Software Quality Model
Boehm Software Quality ModelBoehm Software Quality Model
Boehm Software Quality Model
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
 
Software architecture and software design
Software architecture and software designSoftware architecture and software design
Software architecture and software design
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 
Use Case Diagram.pptx
Use Case Diagram.pptxUse Case Diagram.pptx
Use Case Diagram.pptx
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes
 
Software testing
Software testing Software testing
Software testing
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
Uml
UmlUml
Uml
 
Use Case Modeling
Use Case ModelingUse Case Modeling
Use Case Modeling
 
Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factors
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Data modelling tool in CASE
Data modelling tool in CASEData modelling tool in CASE
Data modelling tool in CASE
 

Viewers also liked

Ivar Jacobson International Introduction
Ivar Jacobson International IntroductionIvar Jacobson International Introduction
Ivar Jacobson International IntroductionPhilippe Back
 
Design Pattern lecture 1
Design Pattern lecture 1Design Pattern lecture 1
Design Pattern lecture 1Julie Iskander
 
Object oriented fundamentals_in_java
Object oriented fundamentals_in_javaObject oriented fundamentals_in_java
Object oriented fundamentals_in_javaSelf
 
Introduction to OO, Java and Eclipse/WebSphere
Introduction to OO, Java and Eclipse/WebSphereIntroduction to OO, Java and Eclipse/WebSphere
Introduction to OO, Java and Eclipse/WebSphereeLink Business Innovations
 
Dependencies, dependencies, dependencies
Dependencies, dependencies, dependenciesDependencies, dependencies, dependencies
Dependencies, dependencies, dependenciesMarcel Offermans
 
OOP programming
OOP programmingOOP programming
OOP programminganhdbh
 
Comparative and Behavioral Study on VANET Routing Protocols
Comparative and Behavioral Study on VANET Routing ProtocolsComparative and Behavioral Study on VANET Routing Protocols
Comparative and Behavioral Study on VANET Routing ProtocolsIOSR Journals
 
Uml Omg Fundamental Certification 1
Uml Omg Fundamental Certification 1Uml Omg Fundamental Certification 1
Uml Omg Fundamental Certification 1Ricardo Quintero
 
OO Development 2 - Software Development Methodologies
OO Development 2 - Software Development MethodologiesOO Development 2 - Software Development Methodologies
OO Development 2 - Software Development MethodologiesRandy Connolly
 
OOAD with UML (Interaction Diagramming)
OOAD with UML (Interaction Diagramming)OOAD with UML (Interaction Diagramming)
OOAD with UML (Interaction Diagramming)jsm1979
 
Module 3 Object Oriented Data Models Object Oriented notations
Module 3  Object Oriented Data Models Object Oriented notationsModule 3  Object Oriented Data Models Object Oriented notations
Module 3 Object Oriented Data Models Object Oriented notationsTaher Barodawala
 

Viewers also liked (20)

Ivar Jacobson International Introduction
Ivar Jacobson International IntroductionIvar Jacobson International Introduction
Ivar Jacobson International Introduction
 
JavaYDL15
JavaYDL15JavaYDL15
JavaYDL15
 
Itt1 sd uml and oo
Itt1 sd uml and ooItt1 sd uml and oo
Itt1 sd uml and oo
 
OO & UML
OO & UMLOO & UML
OO & UML
 
Java OO Revisited
Java OO RevisitedJava OO Revisited
Java OO Revisited
 
Applying OO Concepts
Applying OO ConceptsApplying OO Concepts
Applying OO Concepts
 
Design Pattern lecture 1
Design Pattern lecture 1Design Pattern lecture 1
Design Pattern lecture 1
 
Object oriented fundamentals_in_java
Object oriented fundamentals_in_javaObject oriented fundamentals_in_java
Object oriented fundamentals_in_java
 
Introduction to OO, Java and Eclipse/WebSphere
Introduction to OO, Java and Eclipse/WebSphereIntroduction to OO, Java and Eclipse/WebSphere
Introduction to OO, Java and Eclipse/WebSphere
 
Dependencies, dependencies, dependencies
Dependencies, dependencies, dependenciesDependencies, dependencies, dependencies
Dependencies, dependencies, dependencies
 
OOP programming
OOP programmingOOP programming
OOP programming
 
Comparative and Behavioral Study on VANET Routing Protocols
Comparative and Behavioral Study on VANET Routing ProtocolsComparative and Behavioral Study on VANET Routing Protocols
Comparative and Behavioral Study on VANET Routing Protocols
 
Uml Omg Fundamental Certification 1
Uml Omg Fundamental Certification 1Uml Omg Fundamental Certification 1
Uml Omg Fundamental Certification 1
 
OO Development 2 - Software Development Methodologies
OO Development 2 - Software Development MethodologiesOO Development 2 - Software Development Methodologies
OO Development 2 - Software Development Methodologies
 
OOAD with UML (Interaction Diagramming)
OOAD with UML (Interaction Diagramming)OOAD with UML (Interaction Diagramming)
OOAD with UML (Interaction Diagramming)
 
Module 3 Object Oriented Data Models Object Oriented notations
Module 3  Object Oriented Data Models Object Oriented notationsModule 3  Object Oriented Data Models Object Oriented notations
Module 3 Object Oriented Data Models Object Oriented notations
 
Packaes & interfaces
Packaes & interfacesPackaes & interfaces
Packaes & interfaces
 
Spatial approximate string search Doc
Spatial approximate string search DocSpatial approximate string search Doc
Spatial approximate string search Doc
 
Wrapper classes
Wrapper classesWrapper classes
Wrapper classes
 
State Diagram
State DiagramState Diagram
State Diagram
 

Similar to OO Development 3 - Models And UML

Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdfSHIVAM691605
 
Design and Implementation in Software Engineering
Design and Implementation in Software EngineeringDesign and Implementation in Software Engineering
Design and Implementation in Software EngineeringKourosh Sajjadi
 
Introduction to design patterns
Introduction to design patternsIntroduction to design patterns
Introduction to design patternsAmit Kabra
 
Relational Database & Database Management System
Relational Database & Database Management SystemRelational Database & Database Management System
Relational Database & Database Management SystemNimrakhan89
 
OO Development 5 - Analysis
OO Development 5 - AnalysisOO Development 5 - Analysis
OO Development 5 - AnalysisRandy Connolly
 
OO Development 6 - Software Design
OO Development 6 - Software DesignOO Development 6 - Software Design
OO Development 6 - Software DesignRandy Connolly
 
Opps approch of software development
Opps approch of software developmentOpps approch of software development
Opps approch of software developmentRaja Babu
 
fdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.pptfdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.pptRAJESH S
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpointsHenry Muccini
 
Exel additional practices-with_groups
Exel additional practices-with_groupsExel additional practices-with_groups
Exel additional practices-with_groupsLoreSaldamando
 
The Larch - a visual interactive programming environment
The Larch - a visual interactive programming environmentThe Larch - a visual interactive programming environment
The Larch - a visual interactive programming environmentPython Ireland
 
Cs 1023 lec 9 design pattern (week 2)
Cs 1023 lec 9 design pattern (week 2)Cs 1023 lec 9 design pattern (week 2)
Cs 1023 lec 9 design pattern (week 2)stanbridge
 
Architecture and design
Architecture and designArchitecture and design
Architecture and designhimanshu_airon
 
PATTERNS01 - An Introduction to Design Patterns
PATTERNS01 - An Introduction to Design PatternsPATTERNS01 - An Introduction to Design Patterns
PATTERNS01 - An Introduction to Design PatternsMichael Heron
 
Prophecy Of Design Patterns
Prophecy Of Design PatternsProphecy Of Design Patterns
Prophecy Of Design Patternspradeepkothiyal
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologiesnaina-rani
 

Similar to OO Development 3 - Models And UML (20)

Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
 
Design and Implementation in Software Engineering
Design and Implementation in Software EngineeringDesign and Implementation in Software Engineering
Design and Implementation in Software Engineering
 
Introduction to design patterns
Introduction to design patternsIntroduction to design patterns
Introduction to design patterns
 
Relational Database & Database Management System
Relational Database & Database Management SystemRelational Database & Database Management System
Relational Database & Database Management System
 
OO Development 5 - Analysis
OO Development 5 - AnalysisOO Development 5 - Analysis
OO Development 5 - Analysis
 
Uml3
Uml3Uml3
Uml3
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
OO Development 6 - Software Design
OO Development 6 - Software DesignOO Development 6 - Software Design
OO Development 6 - Software Design
 
Opps approch of software development
Opps approch of software developmentOpps approch of software development
Opps approch of software development
 
Uml
UmlUml
Uml
 
fdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.pptfdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.ppt
 
3 analysis and design overview
3 analysis and design overview3 analysis and design overview
3 analysis and design overview
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
Exel additional practices-with_groups
Exel additional practices-with_groupsExel additional practices-with_groups
Exel additional practices-with_groups
 
The Larch - a visual interactive programming environment
The Larch - a visual interactive programming environmentThe Larch - a visual interactive programming environment
The Larch - a visual interactive programming environment
 
Cs 1023 lec 9 design pattern (week 2)
Cs 1023 lec 9 design pattern (week 2)Cs 1023 lec 9 design pattern (week 2)
Cs 1023 lec 9 design pattern (week 2)
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
 
PATTERNS01 - An Introduction to Design Patterns
PATTERNS01 - An Introduction to Design PatternsPATTERNS01 - An Introduction to Design Patterns
PATTERNS01 - An Introduction to Design Patterns
 
Prophecy Of Design Patterns
Prophecy Of Design PatternsProphecy Of Design Patterns
Prophecy Of Design Patterns
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 

More from Randy Connolly

Celebrating the Release of Computing Careers and Disciplines
Celebrating the Release of Computing Careers and DisciplinesCelebrating the Release of Computing Careers and Disciplines
Celebrating the Release of Computing Careers and DisciplinesRandy Connolly
 
Public Computing Intellectuals in the Age of AI Crisis
Public Computing Intellectuals in the Age of AI CrisisPublic Computing Intellectuals in the Age of AI Crisis
Public Computing Intellectuals in the Age of AI CrisisRandy Connolly
 
Why Computing Belongs Within the Social Sciences
Why Computing Belongs Within the Social SciencesWhy Computing Belongs Within the Social Sciences
Why Computing Belongs Within the Social SciencesRandy Connolly
 
Ten-Year Anniversary of our CIS Degree
Ten-Year Anniversary of our CIS DegreeTen-Year Anniversary of our CIS Degree
Ten-Year Anniversary of our CIS DegreeRandy Connolly
 
Careers in Computing (2019 Edition)
Careers in Computing (2019 Edition)Careers in Computing (2019 Edition)
Careers in Computing (2019 Edition)Randy Connolly
 
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...Randy Connolly
 
Where is the Internet? (2019 Edition)
Where is the Internet? (2019 Edition)Where is the Internet? (2019 Edition)
Where is the Internet? (2019 Edition)Randy Connolly
 
Modern Web Development (2018)
Modern Web Development (2018)Modern Web Development (2018)
Modern Web Development (2018)Randy Connolly
 
Helping Prospective Students Understand the Computing Disciplines
Helping Prospective Students Understand the Computing DisciplinesHelping Prospective Students Understand the Computing Disciplines
Helping Prospective Students Understand the Computing DisciplinesRandy Connolly
 
Constructing a Web Development Textbook
Constructing a Web Development TextbookConstructing a Web Development Textbook
Constructing a Web Development TextbookRandy Connolly
 
Web Development for Managers
Web Development for ManagersWeb Development for Managers
Web Development for ManagersRandy Connolly
 
Disrupting the Discourse of the "Digital Disruption of _____"
Disrupting the Discourse of the "Digital Disruption of _____"Disrupting the Discourse of the "Digital Disruption of _____"
Disrupting the Discourse of the "Digital Disruption of _____"Randy Connolly
 
17 Ways to Fail Your Courses
17 Ways to Fail Your Courses17 Ways to Fail Your Courses
17 Ways to Fail Your CoursesRandy Connolly
 
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...Randy Connolly
 
Constructing and revising a web development textbook
Constructing and revising a web development textbookConstructing and revising a web development textbook
Constructing and revising a web development textbookRandy Connolly
 
Computing is Not a Rock Band: Student Understanding of the Computing Disciplines
Computing is Not a Rock Band: Student Understanding of the Computing DisciplinesComputing is Not a Rock Band: Student Understanding of the Computing Disciplines
Computing is Not a Rock Band: Student Understanding of the Computing DisciplinesRandy Connolly
 
Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...Randy Connolly
 
Thinking About Technology
Thinking About TechnologyThinking About Technology
Thinking About TechnologyRandy Connolly
 
A longitudinal examination of SIGITE conference submission data
A longitudinal examination of SIGITE conference submission dataA longitudinal examination of SIGITE conference submission data
A longitudinal examination of SIGITE conference submission dataRandy Connolly
 

More from Randy Connolly (20)

Celebrating the Release of Computing Careers and Disciplines
Celebrating the Release of Computing Careers and DisciplinesCelebrating the Release of Computing Careers and Disciplines
Celebrating the Release of Computing Careers and Disciplines
 
Public Computing Intellectuals in the Age of AI Crisis
Public Computing Intellectuals in the Age of AI CrisisPublic Computing Intellectuals in the Age of AI Crisis
Public Computing Intellectuals in the Age of AI Crisis
 
Why Computing Belongs Within the Social Sciences
Why Computing Belongs Within the Social SciencesWhy Computing Belongs Within the Social Sciences
Why Computing Belongs Within the Social Sciences
 
Ten-Year Anniversary of our CIS Degree
Ten-Year Anniversary of our CIS DegreeTen-Year Anniversary of our CIS Degree
Ten-Year Anniversary of our CIS Degree
 
Careers in Computing (2019 Edition)
Careers in Computing (2019 Edition)Careers in Computing (2019 Edition)
Careers in Computing (2019 Edition)
 
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
 
Where is the Internet? (2019 Edition)
Where is the Internet? (2019 Edition)Where is the Internet? (2019 Edition)
Where is the Internet? (2019 Edition)
 
Modern Web Development (2018)
Modern Web Development (2018)Modern Web Development (2018)
Modern Web Development (2018)
 
Helping Prospective Students Understand the Computing Disciplines
Helping Prospective Students Understand the Computing DisciplinesHelping Prospective Students Understand the Computing Disciplines
Helping Prospective Students Understand the Computing Disciplines
 
Constructing a Web Development Textbook
Constructing a Web Development TextbookConstructing a Web Development Textbook
Constructing a Web Development Textbook
 
Web Development for Managers
Web Development for ManagersWeb Development for Managers
Web Development for Managers
 
Disrupting the Discourse of the "Digital Disruption of _____"
Disrupting the Discourse of the "Digital Disruption of _____"Disrupting the Discourse of the "Digital Disruption of _____"
Disrupting the Discourse of the "Digital Disruption of _____"
 
17 Ways to Fail Your Courses
17 Ways to Fail Your Courses17 Ways to Fail Your Courses
17 Ways to Fail Your Courses
 
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
 
Constructing and revising a web development textbook
Constructing and revising a web development textbookConstructing and revising a web development textbook
Constructing and revising a web development textbook
 
Computing is Not a Rock Band: Student Understanding of the Computing Disciplines
Computing is Not a Rock Band: Student Understanding of the Computing DisciplinesComputing is Not a Rock Band: Student Understanding of the Computing Disciplines
Computing is Not a Rock Band: Student Understanding of the Computing Disciplines
 
Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...
 
Thinking About Technology
Thinking About TechnologyThinking About Technology
Thinking About Technology
 
A longitudinal examination of SIGITE conference submission data
A longitudinal examination of SIGITE conference submission dataA longitudinal examination of SIGITE conference submission data
A longitudinal examination of SIGITE conference submission data
 
Web Security
Web SecurityWeb Security
Web Security
 

Recently uploaded

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

OO Development 3 - Models And UML

  • 1. MODELING 3 AND UML OVERVIEW
  • 2. 1 INTRODUCTION 2 METHODOLOGIES 3 MODELS AND UML 4 OBJECT CONCEPTS 5 ANALYSIS 2 6 SOFTWARE DESIGN
  • 3. Goal of Presentation 3  This presentation will  Define model and diagrams and explain importance of them to system development.  Introduce UML
  • 4. Definitions 4  A model is a simplified representation of something in the real world, usually for the purpose of understanding that reality, and having all the features of that reality necessary for the current task or problem.  Like a map, a model represents something else.  Thus modeling is a form of abstraction, that is, the process of focusing only on features essential to the problem at hand. Source: David William Brown, An Intro to Object-Oriented Analysis (Wiley, 2002), p. 30
  • 5. What Are Models For? 5  Models are used for:  To capture and precisely state requirements and domain knowledge so that all stakeholders may understand and agree on them.  To think about the design of a system.  To capture design decisions in a mutable form separate from the requirements.  To generate usable work products.  To organize, retrieve and edit info about large systems.  To explore multiple solutions economically.  To master complex systems. Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 13-4
  • 6. Levels of Models 6  Models take on different forms and appear at different levels of abstraction.  A useful model has the right level of detail and represents only what is important for the task in hand.  The amount of detail in the model is adapted to one of the following purposes:  Guides to the thought process.  Abstract specifications of the essential structure of a system.  Full specification of a final system.  Exemplars of typical or possible systems.  Complete or partial descriptions of systems. Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 15-6
  • 7. Many Matching Models 7  Each model emphasizes some aspect of the real- world thing.  Thus, many models are required to reveal all the important details of that thing.  Yet, these matching models must eventually fit together.  What is represented in one model must be consistent with what is represented in another model. Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 51
  • 8. 8
  • 9. Diagrams 9  Diagrams are abstract shapes that are used to represent things or actions from the real world  Diagrams follow rules or standards  The standards make sure that different people will interpret the diagram in the same way 40° Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 98-9.
  • 10. Author Reviewer Typesetter Printer An Example of a Diagram Write Chapter 10 Review Chapter  An activity Revise Chapter [book not diagram of the complete] [book complete] tasks involved in producing a book. Typeset Book Correct Proofs Reset Book Print Book Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design presentation.
  • 11. Hiding Detail Write Chapter Plan Chapter 11 Author Reviewer Typesetter Printer Produce First Draft Write Chapter Revise Draft Review Chapter [not satisfied] [satisfied] Revise Chapter Add Exercises [book not complete] [book Add References complete] to Bibliography Typeset Book Correct Proofs Reset Book Print Book Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design presentation.
  • 12. Diagrams versus Models 12  A diagram illustrates some aspect of a system.  A model provides a complete view of a system at a particular stage and from a particular perspective.  A model may consist of a single diagram, but most consist of many related diagrams and supporting data and documentation. Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 100-1.
  • 13. Models in Systems Development 13  To understand the user’s world we need:  People sensitivity (interviewing and listening skills) for gathering relevant and accurate information.  Modeling diagrams to document and communicate what we’ve learned from the users.  We are using UML as our modeling notation.  Modeling techniques to ensure these notations produce an accurate picture of the user’s business.  These are partly defined by:  the modeling notation itself, as well as  the software process/methodology. Source: David William Brown, An Intro to Object-oriented (Wiley, 2002), p. 38
  • 14. Developing Models 14  The models that we produce during the development of a system change as the project progresses.  They change by degree of:  Abstraction  Model will become less abstract and more concrete.  Formality  Degree of formality in which methods, attributes, and constraints are defined will increase as project progress.  Level of detail  More potential detail in every model as project progresses. Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 103-5.
  • 15. Development of Use Case Model through successive iterations Staff Management Iteration 1 Add a new staff member Staff Management Add a new staff member Add a new staff grade Add a new staff grade Change the rate for a staff grade Obvious use cases. Ac countant Change the rate for a staff grade Change the grade for a staff member Ac countant Change the grade for a staff member Calculate staff bonuses Simple use case descriptions. Calculate staff bonuses Staff Management Add a new staff member Staff Management Iteration 2 Add a new staff member Staff Management Add a new staff grade Add a new staff Campaign Selection member Add a new staff grade Change the Campaign Selection rate for a staff grade Client: Holborn Motors Add a new staff Campaign Selection Lynch Properties grade Ac countant Change the rate for a Client: Holborn Motors Yellow Partridge Yellow Partridge staff grade Change the Lynch Properties Zeta Systems Additional use cases. grade for a Change the staff member Client: Holborn Motors Yellow Partridge Yellow Partridge Ac countant Spring Jewellery Campaign 1997 Campaign:Lynch Properties Zeta Systems rate for a staff grade Change the grade for a Spring Jewellery Campaign 2001 Yellow Partridge staff member Spring Jewellery Campaign 1997 Zeta Systems Jewellery Campaign 2002 Spring Ac countant Calculate staff Campaign: Change the bonuses Spring Jewellery Campaign 2001 Summer Collection 1998 grade for a Spring Jewellery Campaign 2002 Spring Jewellery Campaign staff member Campaign: Calculate staff Summer Collection 1998 2002 bonuses OK Quit Simple use case descriptions. Calculate staff bonuses OK Quit OK Quit Prototypes. Iteration 3 Campaign Management Assign staff to work on a campaign «include» Campaign Management Find campaign Assign staff «include» to work on a campaign Add a new «include» ert to adv Campaign Selection a campaign «include» Find campaign Campaign Management Assign staff to work on Campaign Manager Add a new «include» Campaign Selection a campaign «include» ert to adv a campaign Check campaign «include» Find campaign budget Client: Holborn Motors Campaign «include» Campaign Selection Lynch Properties Manager Add a new adv ert to «extend» «extend» Client: Holborn Motors Yellow Partridge Yellow Partridge Structured use cases. Check campaign a campaign «include» budget Lynch Properties Zeta Systems Campaign Manager Print campaign summary Print campaign invoice Client: Holborn Motors Yellow Partridge Yellow Partridge Spring Jewellery Campaign 1997 Campaign:Lynch Properties «extend» «extend» Check campaign budget Zeta Systems Spring Jewellery Campaign 2001 A ccountant Print campaign Print campaign Yellow Partridge summary invoice Spring Jewellery Campaign 1997 Zeta Systems Jewellery Campaign 2002 Spring «extend» «extend» Campaign: A ccountant Spring Jewellery Campaign 2001 Summer Collection 1998 Print campaign Print campaign Spring Jewellery Campaign 2002 Spring Jewellery Campaign summary invoice Campaign: Summer Collection 1998 2002 Structured use case descriptions. A ccountant OK Quit OK Quit OK Quit Prototypes. 15 Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 104.
  • 16. Earlier Models and Diagrams 16  A variety of modeling notations have developed over the years. These include:  Process models (data flow diagrams)  Data models (ERDs)
  • 17. Process Models: Data Flow 17 Diagrams  Focus not just on operations but on who does what with whom. That is, the focus is on data and how it processes through an organization.  Used Data Flow Diagrams (DFDs) as a way to model the activities, functions, and processes that make up a users’ business. Student Details Registration Validated Student Student Details Records Acknowledgement of Registration Student Enrollment Confirmation Confirmation of Enrollment Request Enrollment Enrollment Confirmed Vacancies Courses Enrollments Enrollments
  • 18. Data Models: ERDs 18  Focus on data modeling rather than on process modeling.  Entity Relationship Diagrams (ERDs) used as analysis tool as well as a database design tool.
  • 19. OO Diagramming 19  There are all sorts of different OO diagrams:  e.g., Booch OOD, Rumbaugh OMT, Yourdon & Coad, etc.  UML (Unified Modeling Language) has become the standard notation for OO diagramming and modeling.  The modeling notation defined by UML does not define a modeling technique  These are defined by the software process/methodology.  UML is not a methodology or process; rather it is a universal modeling notation.
  • 20. UML Defined 20  The Unified Modeling Language (UML) is a general purpose visual modeling language that is used to specify, visualize, construct, and document the artifacts of a software system. Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 3
  • 21. UML Defined 21  It captures decisions and understanding about systems that must be constructed.  It is used to understand, design, browse, configure, maintain, and control information about systems.  It is intended to be used with all development methods, lifecycle stages, application domains, and media. Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 3
  • 22. Not A Programming Language! 22  The UML is not a programming language !  The UML is a general-purpose modeling notation for discrete systems such as software.
  • 23. Goals of UML 23  There were a number of goals behind the development of UML:  UML is a general-purpose modeling language that all modelers can use.  It is meant to include the concepts of the leading methods so that it can be used as their modeling language.  It was intended to be as familiar as possible.  It is meant to support good practices for design such as encapsulation, separation of concerns, and capture of the intent of a model construct.  It is intended to address current software development issues, such as large scale, distribution, concurrency, patterns and team development.  It was to be as simple as possible while still being capable of modeling the full range of practical systems that need to be built. Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 8-9
  • 24. What Does Unified Mean? 24  The word unified has the following relevant meanings for UML:  Across historical methods and notations.  Across the development lifecycle  Across application domains  Across implementation languages and platforms  Across development processes  Across internal concepts Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 7-8
  • 25. UML Building Blocks 25  UML is composed of three building blocks:  Things  These are the modeling elements  Relationships  These tie things together  Diagrams  These are views into UML models Source: Booch, The Unified Modeling Language User Guide (Addison-Wesley, 1998), p. 2.
  • 26. UML Things 26  UML thing may be partitioned into:  Structural things  Represent the nouns of a UML model such as class, component, use case, etc  Behavioral things  Represent the verbs of a UML model such as interactions, states, etc.  Grouping things  Represent things that group elements together such as the package.  Annotational things  The note Source: Arlow and Neustadt, UML and the Unified Process (Addison-Wesley, 2002), p. 9.
  • 27. UML Relationships 27  Used to show how two or more things relate to each other. generalization association dependency realization Source: Arlow and Neustadt, UML and the Unified Process (Addison-Wesley, 2002), p. 10.
  • 28. Diagrams in UML 28  UML diagrams consist of: Write Chapter  icons Plan Chapter  two-dimensional symbols Produce First Draft  paths Revise Draft  Strings [not satisfied]  UML diagrams are views into the model. [satisfied]  They are not the model itself Add Exercises Add References to Bibliography Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design presentation.
  • 29. UML Diagrams 29 Static Model Dynamic Model class diagram object diagram component diagram use case diagram deployment diagram sequence diagram collaboration diagram statechart diagram activity diagram Source: Arlow and Neustadt, UML and the Unified Process (Addison-Wesley, 2002), p. 11.
  • 30. UML Parts 30  A system is modeled as a collection of discrete objects that interact to perform work that ultimately benefits an outside user.  UML has:  static and,  dynamic parts. Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 3
  • 31. Static and Dynamic Information 31  In particular UML captures information about the static structure and the dynamic behavior of a system.  The static structure defines the kinds of objects important to a system and to its implementation, as well as the relationships among the objects.  The dynamic behavior defines the history of objects over time and the communications among objects to accomplish goals. Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 3
  • 32. Organization 32  The UML also contains organization constructs for arranging models into packages that permit software teams to:  partition large systems into workable pieces.  understand and control dependencies among the packages, and  manage the versioning of model units in a complex development environment.  The UML contains constructs for representing implementation decisions and for organizing run-time elements into components. Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 3-4
  • 33. UML Concepts 33  system  The overall thing that is being modeled.  sub-system  Part of the system.  model  An abstraction of system or subsystem from a particular perspective or view.  Different models present different views of the system.  diagram  A graphic representation of a set of elements in the model. Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 102.
  • 34. Static Structure 34  Any precise model must first define the universe of discourse.  That is, the key concepts from the application, their internal properties, and their relationships to each other.  This set of constructs is the static view of the system.  The static view is notated by class diagrams (also called class static structure diagrams).  That is, the application concepts are modeled as classes, each of which describes a set of discrete objects that hold information and communicate to implement behavior. Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 9
  • 35. Class static structure diagrams 35 BankAccount Customer -customerName -accountNum -balance +getCustomerName() +getAccountNum() +getBalance() +setBalance() Loan CheckingAccount -interestRate -serviceCharge +makePayment() +deposit() +addInterest() +withdrawal()
  • 36. Dynamic Behavior 36  There are two ways to model behavior:  One is the communication patterns of a set of connected objects as they interact to implement behavior.  This is modeled using use case diagrams, sequence diagrams, collaboration diagrams, and activity diagrams.  The other is the evolution of an object’s state over time as it interacts with the rest of the world.  State change refers to possible changes in object’s attributes and associations with other objects.  This is modeled as a statechart. Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 9-10
  • 37. Use Cases 37  When we analyze a system we try to identify the main functionality that the system will have and the main ways it will be used.  Each of these ways the system is going to be used is called a use case. A use case is a sequence of actions a system performs that yields an observable result of value to a particular actor.  An actor is either a person (user) interacting with the system or, in some cases, another system interacting with the system. Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 53
  • 38. Using Use Cases 38  A use case captures the main functionality of the system from a user or actor’s perspective.  It also serves as a vehicle to divide the system into parts that can be implemented somewhat separately.  For any given system, we will usually develop and implement the most important use cases first.  Establishing which use cases are important often follows from looking at the main events in the problem domain. Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 54
  • 39. Use Case Diagram 39  We can model use cases in a use case diagram.  Stickfigures represent actors.  Ovals represent the use case.  The arrows show interactions. Video Store System Rent Videos Video Store Clerk Add New Videos
  • 40. Activity Diagrams 40  Used to model business activities/tasks in the very early stages of a project.  Also used to describe a system function described by a use case.  They are analogous to standard flowcharts.
  • 41. Activity Diagrams 41 activities Add a New Client transitions Assign Staff Contact [new campaign] decisions [campaign to add] object flow Add New Campaign object :Campaign
  • 42. Activity Diagrams 42  Swimlanes Campaign Manager Accountant Client  vertical columns Record Completion  labelled with the of a campaign person, organisation Issue invoice or department responsible for the Pay invoice activities in that column Record client payment
  • 43. Sequence Diagrams 43  The class diagram is limited in that it does not represent time-dependent behaviors.  Sequence diagrams present object interactions arranged in time sequence.  Itshows the actors or objects participating in an interaction and the events they generate arranged in a time sequence.  Often, a sequence diagram shows the events that result from a particular instance of a use case but a sequence diagram can also exist in a more generic form. Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 62
  • 44. Sequence Diagrams 44 Patron Librarian System SubmitResources() Rectangles represent objects. Stick figures represent actors. Vertical lines represent the lifeline of the object or actor. SubmitLibraryCard() Horizontal arrows indicate messages. RecordID() CheckStatus() status() RecordCallNumber() CalcDueDate() RecordLoan() dueDate()
  • 45. Collaboration Diagram 45  A collaboration diagram shows interactions organized around the objects and their messages to each other.  Collaboration diagrams and sequence diagrams are used interchangeably.  Unlike a sequence diagram, a collaboration diagram shows relationships among object roles and it does not express time as a separate dimension. Message1() 2: Message2() 3: Message3() ClassAInstance ClassBInstance
  • 46. Statechart Diagram 46  The statechart diagram shows the states an object might be in and the actions or conditions that cause an object to make a transition from one state to another.  By documenting events and transitions, a statechart diagram shows the sequence of states an object goes through during its life.  Statecharts are extensions of the class diagram and you could create one statechart for each class.  In practice, you will only create a statechart for those classes that exhibit especially interesting or complex time- dependent behavior. Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 60
  • 47. Statechart Diagram 47 Retrieving Books Packaging setFulfilledFlag Shipped Shipping Boxes represent states. Arrows represent transitions between states. Solid dots represent start and end states.
  • 48. Model Organization 48  Computers can deal with large flat models, but humans cannot.  In a large system, modeling information must be divided into coherent pieces so that teams can work on different parts concurrently.  Packages are general-purpose hierarchical organizational units of UML models.  Packages can be used for storage, access control, configuration management, and constructing libraries that contain reusable model fragments. Source: Rumbaugh, Jacobson, Booch, Unified Modeling Language Reference Manual (Addison-Wesley, 1999), p. 10
  • 49. Packages 49  If the class diagram becomes large, it will become quite difficult to use for an overview of the system.  In such cases we create a high-level view of the system, using some kind of partitioning or cluster scheme.  UML calls these clusters packages and provides modeling notation called a package diagram. Sales Human Resources

Editor's Notes

  1. This is a diagram of producing a book. It is highly simplified!
  2. This is meant to be a magnifying glass! It is looking into the Write Chapter activity to show a lower level of detail. Switch of the animation if you don’t like it. You can make the point, made in the book, that these activities could be broken down further, but it may not be useful to do so. There are also activities, such as Stare out of Window, Make Coffee, Change CD (all of which I have just done) that are essential to the process of writing, but represent unnecessary detail. (You could make the point that there might be other purposes for which these would be relevant. For example, someone studying the creative process or a time and motion study of how productively authors use their time.)