Unified Modeling Language

GiO Friginal
GiO FriginalIT Faculty um Our Lady of Fatima University (OLFU)
Object-Oriented Systems
          Analysis and Design
          Using UML




               Prepared by Gio Friginal
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
Learning Objectives

• Understand what object-oriented systems analysis
  and design is and appreciate its usefulness.
• Comprehend the concepts of unified modeling
  language (UML), the standard approach for modeling
  a system in the object-oriented world.
• Apply the steps used in UML to break down the
  system into a use case model and then a class
  model.
• Diagram systems with the UML toolset so they can be
  described and properly designed.
• Document and communicate the newly modeled
  object-oriented system to users and other analysts.

                                                 10-2
Introduction

• There have been basically 3 approaches in information system
  development area
    • process-oriented
    • data-oriented
    • object-oriented approaches
• As information technology (both hardware and software) has
  been advancing, people have moved from the earliest process-
  oriented approach to data-oriented approach and now begun to
  adopt the latest object-oriented analysis methodology
• Unlike its two predecessors that focus either on process or data,
  the object-oriented approach combines data and processes
  (called methods) into single entities called objects


                                                              10-3
Object-Oriented Analysis and
Design
• Works well in situations where
  complicated systems are undergoing
  continuous maintenance, adaptation,
  and design
• Objects, classes are reusable
• The Unified Modeling Language (UML)
  is an industry standard for modeling
  object-oriented systems.

                                     10-4
Object-Oriented Analysis and
Design (Continued)
• Reusability
  • Recycling of program parts should reduce
    the costs of development in computer-
    based systems.
• Maintaining systems
  • Making a change in one object has a
    minimal impact on other objects.


                                          10-5
Major Topics

•   Object-oriented concepts
•   CRC cards and object think
•   Unified Modeling Language
•   Use case and other UML diagrams
•   Packages
•   Using UML


                                      10-6
Object-Oriented Concepts

•   Class
•   Object
•   Inheritance
•   Polymorphism
•   Encapsulation



                           10-7
Class

• Defines the set of shared attributes and
  behaviors found in each object in the class
• Should have a name that differentiates it
  from all other classes
• Instantiate is when an object is created from
  a class




                                             10-8
Class




        10-9
Objects

• Persons, places, or things that are
  relevant to the system being analyzed
• May be customers, items, orders, and
  so on
• May be GUI displays or text areas on a
  display


                                      10-10
Objects




          10-11
Objects




          10-12
Inheritance

• When a derived class inherits all the
  attributes and behaviors of the base
  class
• Reduces programming labor by using
  common objects easily
• A feature only found in object-oriented
  systems

                                       10-13
A Class Diagram Showing Inheritance (Figure 10.2)
                     Car and truck are specific
                     examples of vehicles and
                     inherit the characteristics of
                     the more general class
                     vehicle.




                                                      10-14
Polymorphism

• Message gives different meanings to
  different objects




                                        10-15
Encapsulation

• All data and methods are self-contained




                                      10-16
CRC Cards and Object Think

• CRC
  • Class
  • Responsibilities
  • Collaborators
• CRC cards are used to represent the
  responsibilities of classes and the
  interaction between the classes.

                                        10-17
Four CRC Cards for Course Offerings Show How Analysts Fill in the
Details for Classes, Responsibilities, and Collaborators, as well as for
Object Think Statements and Property Names (Figure 10.3)




                                                                   10-18
Interacting during a CRC Session


• Identify all the classes you can.
• Create scenarios.
• Identify and refine responsibilities.




                                          10-19
The Unified Modeling Language
(UML) Concepts and Diagrams
• Things
• Relationships
• Diagrams




                                10-20
Things

• Structural things are
   • Classes, interfaces, use cases, and other elements that
     provide a way to create models
• Behavioral things
   • Describe how things work
   • Interactions and state machines
• Group things
   • Used to define boundaries
• Annotational things
   • Can add notes to the diagrams



                                                               10-21
Relationships

• Structural relationships
  • Tie things together in structural diagrams
• Behavioral relationships
  • Used in behavioral diagrams




                                            10-22
Diagrams

• Structural diagrams
  • Used to describe the relation between
    classes
• Behavior diagrams
  • Used to describe the interaction between
    people (actors) and a use case (how the
    actors use the system)


                                            10-23
Commonly Used UML Diagrams

• Use case diagram
  • Describing how the system is used
  • The starting point for UML modeling
• Use case scenario
  • A verbal articulation of exceptions to the main
    behavior described by the primary use case
• Activity diagram
  • Illustrates the overall flow of activities


                                                      10-24
Commonly Used UML Diagrams
(Continued)
• Sequence diagrams
  • Show the sequence of activities and class
    relationships.
• Class diagrams
  • Show classes and relationships.
• Statechart diagrams
  • Show the state transitions.


                                           10-25
An Overview of UML Diagrams Showing How Each
Diagram Leads to the Development of Other UML
Diagrams (Figure 10.5)




                                                10-26
1. Use Case Modeling

    • Describes what a system does without
      describing how the system does
            • A logical model of the system
    • Use case is a view of the system
      requirements
    • Analyst works with business experts to
      develop requirements

                       Copyright © 2011 Pearson Education, Inc. Publishing as
Kendall & Kendall                         Prentice Hall                         2-27
Use Case Diagram

    • Actor
            • Refers to a particular role of a user of the system
            • Similar to external entities; they exist outside of
              the system
    • Use case symbols
            • An oval indicating the task of the use case
    • Connecting lines
            • Arrows and lines used to diagram behavioral
              relationships

                         Copyright © 2011 Pearson Education, Inc. Publishing as
Kendall & Kendall                           Prentice Hall                         2-28
Actor

    • Divided into two groups
            • Primary actors:
                    • Supply data or receive information from the
                      system.
                    • Provide details on what the use case should do.
            • Supporting actors:
                    • Help to keep the system running or provide
                      help.
                    • The people who run the help desk, the
                      analysts, programmers, and so on.

                             Copyright © 2011 Pearson Education, Inc. Publishing as
Kendall & Kendall                               Prentice Hall                         2-29
A Use Case Always Provides
 Three Things
    • An actor that initiates an event
    • The event that triggers a use case
    • The use case that performs the actions
      triggered by the event




                    Copyright © 2011 Pearson Education, Inc. Publishing as
Kendall & Kendall                      Prentice Hall                         2-30
Some Components of Use Case Diagrams Showing
 Actors, Use Cases, and Relationships for a Student
 Enrollment Example (Figure 2.13)




                    Copyright © 2011 Pearson Education, Inc. Publishing as
Kendall & Kendall                      Prentice Hall                         2-31
Examples of Use Cases, Behavioral Relationships
 for Student Enrollment (Figure 2.14)




                    Copyright © 2011 Pearson Education, Inc. Publishing as
Kendall & Kendall                      Prentice Hall                         2-32
Example




          10-33
Scope

    • System scope defines its boundaries:
            • What is in or outside the system
            • Project has a budget that helps to define
              scope
            • Project has a start and an end time
    • Actors are always outside of scope
    • Communication lines are the boundaries
      and define the scope

                       Copyright © 2011 Pearson Education, Inc. Publishing as
Kendall & Kendall                         Prentice Hall                         2-34
Example of Scope




                   10-35
Developing Use Case Diagrams

    • Review the business specifications and identify the
      actors involved.
    • Identify the high-level events and develop the
      primary use cases that describe those events and
      how the actors initiate them.
    • Review each primary use case to determine the
      possible variations of flow through the use case.
    • The context-level data flow diagram could act as a
      starting point for creating a use case.



                    Copyright © 2011 Pearson Education, Inc. Publishing as
Kendall & Kendall                      Prentice Hall                         2-36
A Use Case Diagram Representing a System
 Used to Plan a Conference (Figure 2.15 )




                    Copyright © 2011 Pearson Education, Inc. Publishing as
Kendall & Kendall                      Prentice Hall                         2-37
10-38
2. Developing the Use Case
 Scenarios
    • The description of the use case
    • Three main areas:
            • Use case identifiers and initiators
            • Steps performed
            • Conditions, assumptions, and questions




                       Copyright © 2011 Pearson Education, Inc. Publishing as
Kendall & Kendall                         Prentice Hall                         2-39
A Use Case Scenario Is Divided into Three Sections (Figure 2.16)
Use case name: Register for Conference                                                                                UniqueID: Conf RG 003

Area:              Conference Planning

Actor(s):          Participant

Stakeholder        Conference Sponsor, Conference Speakers

Level              Blue

Description:       Allow conference participant to register online for the conference using a secure Web site.

Triggering Event: Participant uses Conference Registration Web site, enters userID and password, and clicks the logon button.

Trigger type:       External      Temporal

Steps Performed (Main Path)                                                                                    Information for Steps

1.      Participant logs in using the secure Web server                                                        userID, Password


More steps included here…
12.     Successful Registration Confirmation Web page is sent to the participant                               Registration Record Confirmation Number


Preconditions:                       Participant has already registered and has created a user account.

Postconditions:                      Participant has successfully registered for the conference.

Assumptions:                         Participant has a browser and a valid userID and password.

Success Guarantee:                   Participant has registered for the conference and is enrolled in all selected sessions.

Minimum Guarantee:                   Participant was able to logon.

Requirements Met:                    Allow conference participants to be able to register for the conference using a secure Web site.


Outstanding Issues:                  How should a rejected credit card be handled?

Priority:                            High

Risk:                                Medium



                                                          Copyright © 2011 Pearson Education, Inc. Publishing as
      Kendall & Kendall                                                      Prentice Hall                                                               2-40
Use Case Header Area

    •     Has a name and a unique ID.
    •     Include application area.
    •     List actors.
    •     Include stakeholders.
    •     Include the level.
    •     Has a brief description of the use case.

                    Copyright © 2011 Pearson Education, Inc. Publishing as
Kendall & Kendall                      Prentice Hall                         2-41
Use Case Levels

    • Use case levels describe how global or
      detailed the use case description is:
            •       White (like clouds): enterprise level
            •       Kite: business unit or department level
            •       Blue (sea level): user goals
            •       Indigo (or fish): functional or subfunctional
            •       Black (or clam): most detailed


                              Copyright © 2011 Pearson Education, Inc. Publishing as
Kendall & Kendall                                Prentice Hall                         2-42
Alternative Scenarios

   • Extensions or exceptions to the main
     use case
   • Number with an integer, decimal point,
     integer
   • Steps that may or may not always be
     used


                    Copyright © 2011 Pearson Education, Inc. Publishing as
Kendall & Kendall                      Prentice Hall                         2-43
Use Case Footer Area

    • Preconditions—need to be met before use
      case can be performed
    • Postconditions or the state of the system
      after the use case has finished
    • Assumptions
    • Minimal guarantee
    • Success guarantee
    • Outstanding issues
    • Optional priority and risk
                    Copyright © 2011 Pearson Education, Inc. Publishing as
Kendall & Kendall                      Prentice Hall                         2-44
A Use Case Example of Student
Enrollment (Figure 10.6)




                                10-45
A Use Case Scenario Is Divided into Three Sections:
Identification and Initiation, Steps Performed, and
Conditions, Assumptions, and Questions (Figure 10.7)




                                                   10-46
3. Activity Diagrams

• Show the sequence of activities in a process,
  including sequential and parallel activities,
  and decisions that are made.
• Symbols
  •   Rectangle with rounded ends
  •   Arrow
  •   Diamond
  •   Long, flat rectangle
  •   Filled-in circle
  •   Black circle surrounded by a white circle
  •   Swimlanes

                                                  10-47
Specialized Symbols Are Used to Draw an
Activity Diagram (Figure 10.8)




                                     10-48
Creating Activity Diagrams

• Created by asking what happens first, what
  happens second, and so on
• Must determine what activities are done in
  sequence or in parallel
• The sequence of activities can be determined
  from physical data flow diagrams.
• Can be created by examining all the scenarios
  for a use case

                                           10-49
Swimlanes

• Useful to show how the data must be
  transmitted or converted
• Help to divide up the tasks in a team
• Makes the activity diagram one that
  people want to use to communicate
  with others


                                      10-50
This Activity Diagram Shows Three Swimlanes: Client
Web Page, Web Server, and Mainframe (Figure 10.9)




                                                      10-51
Activity Diagrams and Test Plans


• Activity diagrams may be used to
  construct test plans.
• Each event must be tested to see if the
  system goes to the next state.
• Each decision must be tested.




                                      10-52
Activity Diagrams Not Created for
All Use Cases
• Use an activity diagram when:
  • It helps to understand the activities of a
    use case
  • The flow of control is complex
  • There is a need to model workflow
  • When all scenarios for a use case need to
    be shown


                                            10-53
4. Sequence Diagrams

• Illustrate a succession of interactions
  between classes or object instances
  over time
• Often used to show the processing
  described in use case scenarios
• Used to show the overall pattern of the
  activities or interactions in a use case

                                       10-54
Specialized Symbols Used to Draw a
Sequence Diagram (Figure 10.10)




                                 10-55
A Sequence Diagram for Student Admission: Sequence
Diagrams Emphasize the Time Ordering of Messages
(Figure 10.11)




                                                10-56
5. Communication
Diagrams
• Describes the interactions of two or more
  things in the system that perform a behavior
  that is more than any one of the things can
  do alone
• Shows the same information as a sequence
  diagram, but may be more difficult to read
• Emphasizes the organization of objects
• Made up of objects, communication links, and
  the messages that can be passed along those
  links

                                          10-57
A Communication Diagram for Student
Admission (Figure 10.12)




 Communication diagrams show the same information that is depicted in
 a sequence diagram but emphasize the organization of objects rather
 than the time ordering.


                                                                  10-58
6. Class Diagrams

• Show the static features of the system
  and do not represent any particular
  processing.
• Show the nature of the relationships
  between classes.
• Show data storage requirements as well
  as processing requirements.

                                     10-59
Class Diagrams (Continued)

• Classes
• Attributes
  • Private
  • Public
  • Protected
• Methods
  • Standard
  • Custom

                             10-60
A Class Diagram for Course Offerings: The Filled-In
Diamonds Show Aggregation and the Empty Diamond
Shows a Whole-Part Relationship (Figure 10.13)




                                                  10-61
Types of Classes

•   Entity classes
•   Interface classes
•   Abstract classes
•   Control classes




                        10-62
Entity Classes

• Represent real-world items
• The entities represented on an entity-
  relationship diagram




                                       10-63
Interface or Boundary Classes

• Provide a means for users to work with
  the system.
• Human interfaces may be a display,
  window, Web form, dialogue box,
  touch-tone telephone, or other way for
  users to interact with the system.
• System interfaces involve sending data
  to or receiving data from others.

                                     10-64
Abstract Classes

• Linked to concrete classes in a
  generalization/specialization relationship
• Cannot be directly instantiated




                                        10-65
Control Classes

• Used to control the flow of activities
• Many small control classes can be used
  to achieve classes that are reusable.




                                     10-66
Relationships

• The connections between classes
  • Associations
  • Whole/part




                                    10-67
Relationships




                10-68
7. State chart Diagrams

• Used to examine the different states that an object
  may have
• Created for a single class
   • Objects are created, go through changes, and are deleted or
     removed.
• Objects
• States
• Events
   • Signals or asynchronous messages
   • Synchronous
   • Temporal events


                                                           10-69
Statechart Diagrams
(Continued)
• Created when:
  • A class has a complex life cycle.
  • An instance of a class may update its
    attributes in a number of ways through the
    life cycle.
  • A class has an operational life cycle.
  • Two classes depend on each other.
  • The object’s current behavior depends on
    what happened previously.

                                          10-70
A Statechart Diagram Showing How a Student
Progresses from a Potential Student to a Graduated
Student (Figure 10.22)




                                                     10-71
Packages

•   Containers for other UML things
•   Show system partitioning
•   Can be component packages
•   Can be physical subsystems
•   Use a folder symbol
•   May have relationships


                                      10-72
Use Cases Can Be Grouped into
Packages (Figure 10.23)




                                10-73
Putting UML to Work

 The steps used in UML are:
  • Define the use case model.
  • Continue UML diagramming to model the system
    during the systems analysis phase.
  • Develop the class diagrams.
  • Draw statechart diagrams.
  • Begin systems design by refining the UML
    diagrams.
  • Document your system design in detail.


                                             10-74
Summary

• Object-oriented systems
  • Objects
  • Classes
  • Inheritance
• CRC cards
• UML and use case modeling
• Components of UML
  • Things
  • Relationships
  • Diagrams

                              10-75
Summary (Continued)

• UML diagrams
  •   Use case diagrams
  •   Activity diagrams
  •   Sequence diagrams
  •   Communication diagrams
  •   Class diagrams
  •   Statechart diagrams
• Using UML

                               10-76
References

• Kendall K. (2011). Systems Analysis and Design, Eight Edition.
  PEARSON.
• Shelly G. (2012). System Analysis and Design, Ninth Edition.
  CENGAGE Learning.
• Object-Oriented Analysis
  Methodology(http://www.umsl.edu/~sauterv/analysis/488_f01_
  papers/wang.htm)




                                                           10-77
1 von 77

Recomendados

Uml von
UmlUml
UmlSulman Ahmed
693 views30 Folien
UNIFIED MODELING LANGUAGE von
UNIFIED MODELING LANGUAGEUNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGERaval Chirag
3.1K views66 Folien
Design pattern-presentation von
Design pattern-presentationDesign pattern-presentation
Design pattern-presentationRana Muhammad Asif
3.3K views47 Folien
Introduction to Eclipse IDE von
Introduction to Eclipse IDEIntroduction to Eclipse IDE
Introduction to Eclipse IDEMuhammad Hafiz Hasan
2.8K views10 Folien
Uml diagrams von
Uml diagramsUml diagrams
Uml diagramsbarney92
44.8K views39 Folien
Design Patterns - 01 Introduction and Decorator Pattern von
Design Patterns - 01 Introduction and Decorator PatternDesign Patterns - 01 Introduction and Decorator Pattern
Design Patterns - 01 Introduction and Decorator Patterneprafulla
4.6K views17 Folien

Más contenido relacionado

Was ist angesagt?

Requirement elicitation von
Requirement elicitationRequirement elicitation
Requirement elicitationvivacemente
20.6K views25 Folien
Software design patterns ppt von
Software design patterns pptSoftware design patterns ppt
Software design patterns pptmkruthika
29.9K views48 Folien
Introduction to design patterns von
Introduction to design patternsIntroduction to design patterns
Introduction to design patternsAmit Kabra
1.7K views44 Folien
Object-Oriented Analysis and Design von
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and DesignRiazAhmad786
1.4K views24 Folien
State chart diagram von
State chart diagramState chart diagram
State chart diagramPreeti Mishra
6.2K views8 Folien
Robot Framework von
Robot FrameworkRobot Framework
Robot FrameworkOnur Baskirt
6.9K views41 Folien

Was ist angesagt?(20)

Requirement elicitation von vivacemente
Requirement elicitationRequirement elicitation
Requirement elicitation
vivacemente20.6K views
Software design patterns ppt von mkruthika
Software design patterns pptSoftware design patterns ppt
Software design patterns ppt
mkruthika29.9K views
Introduction to design patterns von Amit Kabra
Introduction to design patternsIntroduction to design patterns
Introduction to design patterns
Amit Kabra1.7K views
Object-Oriented Analysis and Design von RiazAhmad786
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and Design
RiazAhmad7861.4K views
Introduction to Design Pattern von Sanae BEKKAR
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design Pattern
Sanae BEKKAR17K views
Software Engineering - chp4- design patterns von Lilia Sfaxi
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patterns
Lilia Sfaxi14K views
Pipes & Filters Architectural Pattern von Fredrik Kivi
Pipes & Filters Architectural PatternPipes & Filters Architectural Pattern
Pipes & Filters Architectural Pattern
Fredrik Kivi7.1K views
5.state diagrams von APU
5.state diagrams5.state diagrams
5.state diagrams
APU44K views
Uml with detail von Hamza Khan
Uml with detailUml with detail
Uml with detail
Hamza Khan843 views

Destacado

Ch01 von
Ch01Ch01
Ch01guest66ba56c
1.1K views32 Folien
Ppt slides 05 von
Ppt slides 05Ppt slides 05
Ppt slides 05locpx
2.3K views46 Folien
System Analysis and Design - Unified Modeling Language (UML) von
System Analysis and Design - Unified Modeling Language (UML)System Analysis and Design - Unified Modeling Language (UML)
System Analysis and Design - Unified Modeling Language (UML)Dudy Ali
1.5K views61 Folien
Object diagram von
Object diagramObject diagram
Object diagramRahul Pola
3.2K views11 Folien
Business Analyst Modules von
Business Analyst ModulesBusiness Analyst Modules
Business Analyst Modulessfsugis
4.1K views75 Folien
Information Systems Analysis and Design Overview of OOAD, UML, and RUP von
 Information Systems Analysis and Design Overview of OOAD, UML, and RUP Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Information Systems Analysis and Design Overview of OOAD, UML, and RUPDang Tuan
5K views56 Folien

Destacado(7)

Ppt slides 05 von locpx
Ppt slides 05Ppt slides 05
Ppt slides 05
locpx2.3K views
System Analysis and Design - Unified Modeling Language (UML) von Dudy Ali
System Analysis and Design - Unified Modeling Language (UML)System Analysis and Design - Unified Modeling Language (UML)
System Analysis and Design - Unified Modeling Language (UML)
Dudy Ali1.5K views
Object diagram von Rahul Pola
Object diagramObject diagram
Object diagram
Rahul Pola3.2K views
Business Analyst Modules von sfsugis
Business Analyst ModulesBusiness Analyst Modules
Business Analyst Modules
sfsugis4.1K views
Information Systems Analysis and Design Overview of OOAD, UML, and RUP von Dang Tuan
 Information Systems Analysis and Design Overview of OOAD, UML, and RUP Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Dang Tuan5K views
Structured Vs, Object Oriented Analysis and Design von Motaz Saad
Structured Vs, Object Oriented Analysis and DesignStructured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and Design
Motaz Saad156.5K views

Similar a Unified Modeling Language

UML Modeling in Java von
UML Modeling in JavaUML Modeling in Java
UML Modeling in JavaDaffodil International University
753 views29 Folien
analysis and design with uml von
analysis and design with umlanalysis and design with uml
analysis and design with umlsabin kafle
829 views100 Folien
1. introduction to uml von
1. introduction to uml1. introduction to uml
1. introduction to umlPRABU M
197 views36 Folien
UML (Hemant rajak) von
UML (Hemant rajak)UML (Hemant rajak)
UML (Hemant rajak)hrajak5
870 views47 Folien
Ooad lab manual von
Ooad  lab manualOoad  lab manual
Ooad lab manualPraseela R
1.9K views19 Folien
DCI - ANUG 24th November 2010 von
DCI - ANUG 24th November 2010DCI - ANUG 24th November 2010
DCI - ANUG 24th November 2010Christian Horsdal
624 views30 Folien

Similar a Unified Modeling Language(20)

analysis and design with uml von sabin kafle
analysis and design with umlanalysis and design with uml
analysis and design with uml
sabin kafle829 views
1. introduction to uml von PRABU M
1. introduction to uml1. introduction to uml
1. introduction to uml
PRABU M197 views
UML (Hemant rajak) von hrajak5
UML (Hemant rajak)UML (Hemant rajak)
UML (Hemant rajak)
hrajak5870 views
Ooad lab manual von Praseela R
Ooad  lab manualOoad  lab manual
Ooad lab manual
Praseela R1.9K views
Object-Oriented Systems Analysis and Design Using UML.pptx von XanGwaps
Object-Oriented Systems Analysis and Design Using UML.pptxObject-Oriented Systems Analysis and Design Using UML.pptx
Object-Oriented Systems Analysis and Design Using UML.pptx
XanGwaps9 views
4+1 View Model of Software Architecture von bashcode
4+1 View Model of Software Architecture4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
bashcode21.8K views
Object Oriented Analysis Design using UML von Ajit Nayak
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UML
Ajit Nayak7.5K views
Unified Modeling Language (UML) von Ajeng Savitri
Unified Modeling Language (UML)Unified Modeling Language (UML)
Unified Modeling Language (UML)
Ajeng Savitri454 views
Kendall sad8e ch02 von N/A
Kendall sad8e ch02Kendall sad8e ch02
Kendall sad8e ch02
N/A3.3K views
UML and Case study von Mihika-QA
UML and Case study UML and Case study
UML and Case study
Mihika-QA698 views
Unit 1- OOAD ppt von PRIANKA R
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD ppt
PRIANKA R1.7K views
Use case Diagram and Sequence Diagram von Nikhil Pandit
Use case Diagram and Sequence DiagramUse case Diagram and Sequence Diagram
Use case Diagram and Sequence Diagram
Nikhil Pandit20.2K views

Último

Use of Probiotics in Aquaculture.pptx von
Use of Probiotics in Aquaculture.pptxUse of Probiotics in Aquaculture.pptx
Use of Probiotics in Aquaculture.pptxAKSHAY MANDAL
100 views15 Folien
AUDIENCE - BANDURA.pptx von
AUDIENCE - BANDURA.pptxAUDIENCE - BANDURA.pptx
AUDIENCE - BANDURA.pptxiammrhaywood
84 views44 Folien
Recap of our Class von
Recap of our ClassRecap of our Class
Recap of our ClassCorinne Weisgerber
77 views15 Folien
UWP OA Week Presentation (1).pptx von
UWP OA Week Presentation (1).pptxUWP OA Week Presentation (1).pptx
UWP OA Week Presentation (1).pptxJisc
88 views11 Folien
11.30.23 Poverty and Inequality in America.pptx von
11.30.23 Poverty and Inequality in America.pptx11.30.23 Poverty and Inequality in America.pptx
11.30.23 Poverty and Inequality in America.pptxmary850239
160 views33 Folien
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx von
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptxEIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptxISSIP
369 views50 Folien

Último(20)

Use of Probiotics in Aquaculture.pptx von AKSHAY MANDAL
Use of Probiotics in Aquaculture.pptxUse of Probiotics in Aquaculture.pptx
Use of Probiotics in Aquaculture.pptx
AKSHAY MANDAL100 views
UWP OA Week Presentation (1).pptx von Jisc
UWP OA Week Presentation (1).pptxUWP OA Week Presentation (1).pptx
UWP OA Week Presentation (1).pptx
Jisc88 views
11.30.23 Poverty and Inequality in America.pptx von mary850239
11.30.23 Poverty and Inequality in America.pptx11.30.23 Poverty and Inequality in America.pptx
11.30.23 Poverty and Inequality in America.pptx
mary850239160 views
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx von ISSIP
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptxEIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx
ISSIP369 views
PLASMA PROTEIN (2).pptx von MEGHANA C
PLASMA PROTEIN (2).pptxPLASMA PROTEIN (2).pptx
PLASMA PROTEIN (2).pptx
MEGHANA C68 views
Scope of Biochemistry.pptx von shoba shoba
Scope of Biochemistry.pptxScope of Biochemistry.pptx
Scope of Biochemistry.pptx
shoba shoba133 views
When Sex Gets Complicated: Porn, Affairs, & Cybersex von Marlene Maheu
When Sex Gets Complicated: Porn, Affairs, & CybersexWhen Sex Gets Complicated: Porn, Affairs, & Cybersex
When Sex Gets Complicated: Porn, Affairs, & Cybersex
Marlene Maheu67 views
The Accursed House by Émile Gaboriau von DivyaSheta
The Accursed House  by Émile GaboriauThe Accursed House  by Émile Gaboriau
The Accursed House by Émile Gaboriau
DivyaSheta201 views
REPRESENTATION - GAUNTLET.pptx von iammrhaywood
REPRESENTATION - GAUNTLET.pptxREPRESENTATION - GAUNTLET.pptx
REPRESENTATION - GAUNTLET.pptx
iammrhaywood100 views
Classification of crude drugs.pptx von GayatriPatra14
Classification of crude drugs.pptxClassification of crude drugs.pptx
Classification of crude drugs.pptx
GayatriPatra1486 views
Class 10 English lesson plans von TARIQ KHAN
Class 10 English  lesson plansClass 10 English  lesson plans
Class 10 English lesson plans
TARIQ KHAN288 views
Psychology KS5 von WestHatch
Psychology KS5Psychology KS5
Psychology KS5
WestHatch93 views

Unified Modeling Language

  • 1. Object-Oriented Systems Analysis and Design Using UML Prepared by Gio Friginal Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
  • 2. Learning Objectives • Understand what object-oriented systems analysis and design is and appreciate its usefulness. • Comprehend the concepts of unified modeling language (UML), the standard approach for modeling a system in the object-oriented world. • Apply the steps used in UML to break down the system into a use case model and then a class model. • Diagram systems with the UML toolset so they can be described and properly designed. • Document and communicate the newly modeled object-oriented system to users and other analysts. 10-2
  • 3. Introduction • There have been basically 3 approaches in information system development area • process-oriented • data-oriented • object-oriented approaches • As information technology (both hardware and software) has been advancing, people have moved from the earliest process- oriented approach to data-oriented approach and now begun to adopt the latest object-oriented analysis methodology • Unlike its two predecessors that focus either on process or data, the object-oriented approach combines data and processes (called methods) into single entities called objects 10-3
  • 4. Object-Oriented Analysis and Design • Works well in situations where complicated systems are undergoing continuous maintenance, adaptation, and design • Objects, classes are reusable • The Unified Modeling Language (UML) is an industry standard for modeling object-oriented systems. 10-4
  • 5. Object-Oriented Analysis and Design (Continued) • Reusability • Recycling of program parts should reduce the costs of development in computer- based systems. • Maintaining systems • Making a change in one object has a minimal impact on other objects. 10-5
  • 6. Major Topics • Object-oriented concepts • CRC cards and object think • Unified Modeling Language • Use case and other UML diagrams • Packages • Using UML 10-6
  • 7. Object-Oriented Concepts • Class • Object • Inheritance • Polymorphism • Encapsulation 10-7
  • 8. Class • Defines the set of shared attributes and behaviors found in each object in the class • Should have a name that differentiates it from all other classes • Instantiate is when an object is created from a class 10-8
  • 9. Class 10-9
  • 10. Objects • Persons, places, or things that are relevant to the system being analyzed • May be customers, items, orders, and so on • May be GUI displays or text areas on a display 10-10
  • 11. Objects 10-11
  • 12. Objects 10-12
  • 13. Inheritance • When a derived class inherits all the attributes and behaviors of the base class • Reduces programming labor by using common objects easily • A feature only found in object-oriented systems 10-13
  • 14. A Class Diagram Showing Inheritance (Figure 10.2) Car and truck are specific examples of vehicles and inherit the characteristics of the more general class vehicle. 10-14
  • 15. Polymorphism • Message gives different meanings to different objects 10-15
  • 16. Encapsulation • All data and methods are self-contained 10-16
  • 17. CRC Cards and Object Think • CRC • Class • Responsibilities • Collaborators • CRC cards are used to represent the responsibilities of classes and the interaction between the classes. 10-17
  • 18. Four CRC Cards for Course Offerings Show How Analysts Fill in the Details for Classes, Responsibilities, and Collaborators, as well as for Object Think Statements and Property Names (Figure 10.3) 10-18
  • 19. Interacting during a CRC Session • Identify all the classes you can. • Create scenarios. • Identify and refine responsibilities. 10-19
  • 20. The Unified Modeling Language (UML) Concepts and Diagrams • Things • Relationships • Diagrams 10-20
  • 21. Things • Structural things are • Classes, interfaces, use cases, and other elements that provide a way to create models • Behavioral things • Describe how things work • Interactions and state machines • Group things • Used to define boundaries • Annotational things • Can add notes to the diagrams 10-21
  • 22. Relationships • Structural relationships • Tie things together in structural diagrams • Behavioral relationships • Used in behavioral diagrams 10-22
  • 23. Diagrams • Structural diagrams • Used to describe the relation between classes • Behavior diagrams • Used to describe the interaction between people (actors) and a use case (how the actors use the system) 10-23
  • 24. Commonly Used UML Diagrams • Use case diagram • Describing how the system is used • The starting point for UML modeling • Use case scenario • A verbal articulation of exceptions to the main behavior described by the primary use case • Activity diagram • Illustrates the overall flow of activities 10-24
  • 25. Commonly Used UML Diagrams (Continued) • Sequence diagrams • Show the sequence of activities and class relationships. • Class diagrams • Show classes and relationships. • Statechart diagrams • Show the state transitions. 10-25
  • 26. An Overview of UML Diagrams Showing How Each Diagram Leads to the Development of Other UML Diagrams (Figure 10.5) 10-26
  • 27. 1. Use Case Modeling • Describes what a system does without describing how the system does • A logical model of the system • Use case is a view of the system requirements • Analyst works with business experts to develop requirements Copyright © 2011 Pearson Education, Inc. Publishing as Kendall & Kendall Prentice Hall 2-27
  • 28. Use Case Diagram • Actor • Refers to a particular role of a user of the system • Similar to external entities; they exist outside of the system • Use case symbols • An oval indicating the task of the use case • Connecting lines • Arrows and lines used to diagram behavioral relationships Copyright © 2011 Pearson Education, Inc. Publishing as Kendall & Kendall Prentice Hall 2-28
  • 29. Actor • Divided into two groups • Primary actors: • Supply data or receive information from the system. • Provide details on what the use case should do. • Supporting actors: • Help to keep the system running or provide help. • The people who run the help desk, the analysts, programmers, and so on. Copyright © 2011 Pearson Education, Inc. Publishing as Kendall & Kendall Prentice Hall 2-29
  • 30. A Use Case Always Provides Three Things • An actor that initiates an event • The event that triggers a use case • The use case that performs the actions triggered by the event Copyright © 2011 Pearson Education, Inc. Publishing as Kendall & Kendall Prentice Hall 2-30
  • 31. Some Components of Use Case Diagrams Showing Actors, Use Cases, and Relationships for a Student Enrollment Example (Figure 2.13) Copyright © 2011 Pearson Education, Inc. Publishing as Kendall & Kendall Prentice Hall 2-31
  • 32. Examples of Use Cases, Behavioral Relationships for Student Enrollment (Figure 2.14) Copyright © 2011 Pearson Education, Inc. Publishing as Kendall & Kendall Prentice Hall 2-32
  • 33. Example 10-33
  • 34. Scope • System scope defines its boundaries: • What is in or outside the system • Project has a budget that helps to define scope • Project has a start and an end time • Actors are always outside of scope • Communication lines are the boundaries and define the scope Copyright © 2011 Pearson Education, Inc. Publishing as Kendall & Kendall Prentice Hall 2-34
  • 36. Developing Use Case Diagrams • Review the business specifications and identify the actors involved. • Identify the high-level events and develop the primary use cases that describe those events and how the actors initiate them. • Review each primary use case to determine the possible variations of flow through the use case. • The context-level data flow diagram could act as a starting point for creating a use case. Copyright © 2011 Pearson Education, Inc. Publishing as Kendall & Kendall Prentice Hall 2-36
  • 37. A Use Case Diagram Representing a System Used to Plan a Conference (Figure 2.15 ) Copyright © 2011 Pearson Education, Inc. Publishing as Kendall & Kendall Prentice Hall 2-37
  • 38. 10-38
  • 39. 2. Developing the Use Case Scenarios • The description of the use case • Three main areas: • Use case identifiers and initiators • Steps performed • Conditions, assumptions, and questions Copyright © 2011 Pearson Education, Inc. Publishing as Kendall & Kendall Prentice Hall 2-39
  • 40. A Use Case Scenario Is Divided into Three Sections (Figure 2.16) Use case name: Register for Conference UniqueID: Conf RG 003 Area: Conference Planning Actor(s): Participant Stakeholder Conference Sponsor, Conference Speakers Level Blue Description: Allow conference participant to register online for the conference using a secure Web site. Triggering Event: Participant uses Conference Registration Web site, enters userID and password, and clicks the logon button. Trigger type:  External  Temporal Steps Performed (Main Path) Information for Steps 1. Participant logs in using the secure Web server userID, Password More steps included here… 12. Successful Registration Confirmation Web page is sent to the participant Registration Record Confirmation Number Preconditions: Participant has already registered and has created a user account. Postconditions: Participant has successfully registered for the conference. Assumptions: Participant has a browser and a valid userID and password. Success Guarantee: Participant has registered for the conference and is enrolled in all selected sessions. Minimum Guarantee: Participant was able to logon. Requirements Met: Allow conference participants to be able to register for the conference using a secure Web site. Outstanding Issues: How should a rejected credit card be handled? Priority: High Risk: Medium Copyright © 2011 Pearson Education, Inc. Publishing as Kendall & Kendall Prentice Hall 2-40
  • 41. Use Case Header Area • Has a name and a unique ID. • Include application area. • List actors. • Include stakeholders. • Include the level. • Has a brief description of the use case. Copyright © 2011 Pearson Education, Inc. Publishing as Kendall & Kendall Prentice Hall 2-41
  • 42. Use Case Levels • Use case levels describe how global or detailed the use case description is: • White (like clouds): enterprise level • Kite: business unit or department level • Blue (sea level): user goals • Indigo (or fish): functional or subfunctional • Black (or clam): most detailed Copyright © 2011 Pearson Education, Inc. Publishing as Kendall & Kendall Prentice Hall 2-42
  • 43. Alternative Scenarios • Extensions or exceptions to the main use case • Number with an integer, decimal point, integer • Steps that may or may not always be used Copyright © 2011 Pearson Education, Inc. Publishing as Kendall & Kendall Prentice Hall 2-43
  • 44. Use Case Footer Area • Preconditions—need to be met before use case can be performed • Postconditions or the state of the system after the use case has finished • Assumptions • Minimal guarantee • Success guarantee • Outstanding issues • Optional priority and risk Copyright © 2011 Pearson Education, Inc. Publishing as Kendall & Kendall Prentice Hall 2-44
  • 45. A Use Case Example of Student Enrollment (Figure 10.6) 10-45
  • 46. A Use Case Scenario Is Divided into Three Sections: Identification and Initiation, Steps Performed, and Conditions, Assumptions, and Questions (Figure 10.7) 10-46
  • 47. 3. Activity Diagrams • Show the sequence of activities in a process, including sequential and parallel activities, and decisions that are made. • Symbols • Rectangle with rounded ends • Arrow • Diamond • Long, flat rectangle • Filled-in circle • Black circle surrounded by a white circle • Swimlanes 10-47
  • 48. Specialized Symbols Are Used to Draw an Activity Diagram (Figure 10.8) 10-48
  • 49. Creating Activity Diagrams • Created by asking what happens first, what happens second, and so on • Must determine what activities are done in sequence or in parallel • The sequence of activities can be determined from physical data flow diagrams. • Can be created by examining all the scenarios for a use case 10-49
  • 50. Swimlanes • Useful to show how the data must be transmitted or converted • Help to divide up the tasks in a team • Makes the activity diagram one that people want to use to communicate with others 10-50
  • 51. This Activity Diagram Shows Three Swimlanes: Client Web Page, Web Server, and Mainframe (Figure 10.9) 10-51
  • 52. Activity Diagrams and Test Plans • Activity diagrams may be used to construct test plans. • Each event must be tested to see if the system goes to the next state. • Each decision must be tested. 10-52
  • 53. Activity Diagrams Not Created for All Use Cases • Use an activity diagram when: • It helps to understand the activities of a use case • The flow of control is complex • There is a need to model workflow • When all scenarios for a use case need to be shown 10-53
  • 54. 4. Sequence Diagrams • Illustrate a succession of interactions between classes or object instances over time • Often used to show the processing described in use case scenarios • Used to show the overall pattern of the activities or interactions in a use case 10-54
  • 55. Specialized Symbols Used to Draw a Sequence Diagram (Figure 10.10) 10-55
  • 56. A Sequence Diagram for Student Admission: Sequence Diagrams Emphasize the Time Ordering of Messages (Figure 10.11) 10-56
  • 57. 5. Communication Diagrams • Describes the interactions of two or more things in the system that perform a behavior that is more than any one of the things can do alone • Shows the same information as a sequence diagram, but may be more difficult to read • Emphasizes the organization of objects • Made up of objects, communication links, and the messages that can be passed along those links 10-57
  • 58. A Communication Diagram for Student Admission (Figure 10.12) Communication diagrams show the same information that is depicted in a sequence diagram but emphasize the organization of objects rather than the time ordering. 10-58
  • 59. 6. Class Diagrams • Show the static features of the system and do not represent any particular processing. • Show the nature of the relationships between classes. • Show data storage requirements as well as processing requirements. 10-59
  • 60. Class Diagrams (Continued) • Classes • Attributes • Private • Public • Protected • Methods • Standard • Custom 10-60
  • 61. A Class Diagram for Course Offerings: The Filled-In Diamonds Show Aggregation and the Empty Diamond Shows a Whole-Part Relationship (Figure 10.13) 10-61
  • 62. Types of Classes • Entity classes • Interface classes • Abstract classes • Control classes 10-62
  • 63. Entity Classes • Represent real-world items • The entities represented on an entity- relationship diagram 10-63
  • 64. Interface or Boundary Classes • Provide a means for users to work with the system. • Human interfaces may be a display, window, Web form, dialogue box, touch-tone telephone, or other way for users to interact with the system. • System interfaces involve sending data to or receiving data from others. 10-64
  • 65. Abstract Classes • Linked to concrete classes in a generalization/specialization relationship • Cannot be directly instantiated 10-65
  • 66. Control Classes • Used to control the flow of activities • Many small control classes can be used to achieve classes that are reusable. 10-66
  • 67. Relationships • The connections between classes • Associations • Whole/part 10-67
  • 68. Relationships 10-68
  • 69. 7. State chart Diagrams • Used to examine the different states that an object may have • Created for a single class • Objects are created, go through changes, and are deleted or removed. • Objects • States • Events • Signals or asynchronous messages • Synchronous • Temporal events 10-69
  • 70. Statechart Diagrams (Continued) • Created when: • A class has a complex life cycle. • An instance of a class may update its attributes in a number of ways through the life cycle. • A class has an operational life cycle. • Two classes depend on each other. • The object’s current behavior depends on what happened previously. 10-70
  • 71. A Statechart Diagram Showing How a Student Progresses from a Potential Student to a Graduated Student (Figure 10.22) 10-71
  • 72. Packages • Containers for other UML things • Show system partitioning • Can be component packages • Can be physical subsystems • Use a folder symbol • May have relationships 10-72
  • 73. Use Cases Can Be Grouped into Packages (Figure 10.23) 10-73
  • 74. Putting UML to Work The steps used in UML are: • Define the use case model. • Continue UML diagramming to model the system during the systems analysis phase. • Develop the class diagrams. • Draw statechart diagrams. • Begin systems design by refining the UML diagrams. • Document your system design in detail. 10-74
  • 75. Summary • Object-oriented systems • Objects • Classes • Inheritance • CRC cards • UML and use case modeling • Components of UML • Things • Relationships • Diagrams 10-75
  • 76. Summary (Continued) • UML diagrams • Use case diagrams • Activity diagrams • Sequence diagrams • Communication diagrams • Class diagrams • Statechart diagrams • Using UML 10-76
  • 77. References • Kendall K. (2011). Systems Analysis and Design, Eight Edition. PEARSON. • Shelly G. (2012). System Analysis and Design, Ninth Edition. CENGAGE Learning. • Object-Oriented Analysis Methodology(http://www.umsl.edu/~sauterv/analysis/488_f01_ papers/wang.htm) 10-77