SlideShare a Scribd company logo
1 of 66
SOOAD
Unit-II-
Introduction To UML
 Building blocks of UML
 Things in UML - Structural
things
things, Behavioral
 Different types of models in UML
 Different Diagrams in UML
 OOAD Methodology/Rational
(RUP)
Unified Process
Topic Outline
UML Basics ®
What is a Model?
 “Simplification of reality” – high level logical
representation of a system (from a perspective)
Advantages of creating a Model
1. Permits you to specify the structure or behavior of a
system.
2. Helps you to visualize a system
3. Provides template that guides you in constructing a
system.
4. Helps to understand complex system – part by part
5. Document the decisions – that you have made.
Principles of Modeling
What is UML?
 “UML is a graphical language for building object-
oriented analysis & design – OOAD Models”
 Standardized by Object Management Group (OMG)
in 1997 and in 2005 standardized by ISO
 In 1990’s 3 different OOAD modeling techniques
prevalent (by 3 amigos/pioneers)
 OMT (Object Modeling Technique) by James
Rumbaugh
 OOAD by Grady Booch
 OOSE by Ivar Jacobson
 Unified into – 1 single/standardized UML (1997)
UML Diagrams
• UML Diagrams are used to create different types of
models.
• Different diagrams represent different views of the system.
What is UML?
 UML used to model diverse range of system -
Enterprise Info. System, Web-based application, Mobile
Apps, Embedded systems
 The UML is a language for
• Visualizing
• Specifying
• Constructing
• Documenting
the artifacts of a software-intensive system.
Advantage of UML
 UML is a language
 standardized modeling language
 Rules - syntax & semantics of UML diagrams
 Well-formed models (as per the Syntax)
 Benefit: Diagram created by 1 company/person can
be understood by Other company/person
Advantage of UML?
 UML is a language for Visualizing
 Visualize a system from different angles – structure
and behavior, use-case view
 High-level conceptual understanding
 Understand the components of system – and their
interaction
Advantage of UML?
 UML is a language for Specifying
 building models that are precise, unambiguous &
complete
 Specify all analysis, design decisions
 Specify requirements, structure, behavior and
implementation details
Advantage of UML
 UML for Constructing
 UML Models – mapped – to different target
programming Languages like Java, C++ and .NET
 Code generation - Forward Engineering
 CASE tools like IBM Rational SoftwareArchitect
Advantage of UML
 UML for Documenting
 Healthy software org. (CMM/ISO standards based)
 Produces all artifacts apart from executable code
 UML Models helps in documentation of
 Requirements, SoftwareArchitecture
 Analysis and Design decisions
Conceptual Model of UML
 To learn UML language, requires 3 elements of UML
 UML building blocks
Rules: that dictate how to put those building blocks
together
 Common mechanism (techniques): that apply
throughout UML
Things in UML
 Building Blocks
1. Things (abstractions of the model)
2. Relationships (tie things together)
3. Diagrams – contain UML things connected using
relationships
Basic OO Building Blocks
For Creating UML diagrams
Things in UML
 4 types of things in UML
 Structural things
 Behavioral things
 Grouping things
 Annotational things
Structural Things in UML
 Nouns (from problem definition)
 Static parts of model, representing elements that are
either conceptual or physical
 7 types of structural things in UML
 Class
 Interface
 Collaboration
 Use-case
 Active class
 Component
 Node
Different types of Models/Views in UML
Structural Things in UML
 Class
 is important OO building block
 Used to create Class diagram (Structural Model)
 Desc. of set of objects with same - attributes,
operations, relationships & Meaning
Structural Things in UML
 Interface
 collection of operations that specify service of a
class (externally visible behavior)
 It is Specification of functionality – implemented
by Class
 Clean separation between – Specification & Impl.
 E.g. IFigure – operations- draw(), move(), color()
 It can be implemented by different classes – Circle,
Rectangle, Triangle
UML Interface Notation
Structural Things in UML
Structural Things in UML (visio)
Structural Things in UML
 Collaboration
 Represents - interaction of many things in UML
 All elements of collaboration work together to
provide Overall behavior
 E.g. To place order – many objects are required to
interact (collaborate) – Customer, Item, Shopping
Cart, Order
Structural Things in UML
 Usecase
 Distinct functional requirement
 set of sequence of actions, that system performs –
with observable result of value to actor (end-user)
 Notation: ellipse with solid lines, and its name
Structural Things in UML
 Active Class
 It is a physical thing (used in Dynamic Model)
 is a class whose objects own or more processes or
threads
 Active objects can start or control that flow.
Structural Things in UML
Component (Physical Thing)
 Physical & replaceable part of system
 Implements (realizes) of set of interfaces
 It contains (represents physical packaging) – other
things like classes, interfaces, packages
UML Notation:
Rectangle with Tabs
Structural Things in UML
Node (Physical Thing)
 is a physical element that exists at run-time &
represents a computational resource
 Having some memory & processing capability
 Implements (realizes) of set of interfaces
Linux Server SMTP server
(Mail server)
Behavioral Things in UML
 Dynamic model - Represents behavior of system over
time and space
1) Interaction
among
 consists of a set of messages exchanged
objects to achieve a purpose OR functionality
 links (the connection among objects) is shown
 Notation: directed line including the name of
operation
Behavioral Things in UML
2) State Machine
 Represents change in state of object over time
 Dynamic behavior of a Class (with response to events)
 State-Notation: is rounded rectangle with name
Behavioral Things in UML
2) State Machine
Grouping Things in UML
 Used to organize things in UML
1) Package
 Container (namespace) for organizing group of related
things
 Notation: tabbed folder with name
Annotational Things in UML
 Comments you may apply to describes & remarks any
element in a model
 explanatory parts of UML models
Note
 Notation: rectangle with a dog-earned corner with a
textual comment
Relationships in UML
 Used to connect/relate various things in UML to
create diagram/model of the proposed system
 4 kinds of relationship in UML
1. Dependency
2. Association
3. Generalization
4. Realization
1) Dependency
 Semantic relationship between 2 things
 Change to one thing (independent thing) affects the
other things (dependent thing)
 Graphical notation: dashed line (directed) from
dependent to independent
1) Dependency
 E.g. Applet class  Graphics class
 Java servlet  HttpServletRequest,
HttpServletResponse
2) Association
 Structural relationship among classes
 Both classes are having equal status – dependent on
each other
 Graphical Notation-solid line joining two classes
 It can contain adornments like multiplicity e.g. 1-M
3) Generalization
 specialization (inheritance) relationship among 2
classes
 Child class inherits the structure & behavior of the
parent
 Graphical Notation - solid line with hollow arrowhead
pointing to parent
3) Generalization
4) Realization
 Semantic relationship between 2 elements –
1 element specifies a contract, another element
implements (fulfills) contract
 E.g. relation betwen Interface and implementing Class
 Notation: dashed directing line with solid arrowhead
4) Realization
 MS Visio
 Right click on class – shape display options – show
realization link
Different Views/Models in UML
 Explain the different types of Model in UML?
OR
 Explain the different views of System addressed by
UML
OR
 Explain 4+1 views of System addressed by UML
Different Views/Models in UML
Structural View/Model
 static structural model of the system using:
- packages, classes, objects, attributes, operations and
relationships between classes.
 Used to identify imp. building blocks of the system
and relationship between them.
 Created using UML diagrams – Class diagram,
Package diagram and Object diagram
Different Views/Models in UML
Different Views/Models in UML
Dynamic View/Behavioral View/Model
 emphasizes the dynamic / behavioral aspects of the
system
 Behavior of system with respect to time – to handle
external events/provide functionality of software
 Shows – interaction among objects
 Change in state of objects and system
 Created using UML diagrams – Sequence diagram,
Communication diagram,Activity diagram and State
Diagram
Different Views/Models in UML
Process
View
Deployme
nt View
Logical
View
Use-Case
View
Implementati
on View
End-user
Functionality
Programmers
Software management
Performance, scalability, throughput
System integrators
System topology, delivery,
installation, communication
System engineering
Analysts/Designers
Structure
Different Views/Models in UML
Different Views/Models in UML
Implementation View
 Represent the implementation details – components,
their interaction and relationships
 System from a programmer's perspective
 E.g. Java application – how many packages/modules
Deployment View
 Installation/deployment details of system
 Which component is going to
server/machine with respect
topology/architecture
run on which
to system
Diagrams in UML
 Diagram is a graphical presentation of a set of UML
elements
 Drawn as connected graph of vertices (things) and
Arcs (relationships)
 We draw diagram to visualize (model) a system from
different perspectives (angles)
Diagrams in UML
What is Relation between UML diagram and Model ?
 UML Diagram – used to create a model of system
 E.g. UML Use case diagram is used to create
Requirements model of the system.
 No real-life complex system can be completely
understood from only 1 perspective
 Different diagrams-different views of system
Diagrams in UML
 Use case Diagram
 Shows a set of use-cases & actors & their
relationships.
 Used to create requirements view for end
users/customers.
  Central, most important view, created first.
  Other views/models are based on this model
Diagrams in UML
 Class Diagram
 Represents static-design view of system,
 Shows building blocks and relationship between them
in object-orientated system.
 Shows a set of classes, interfaces,
collaborations & their relationships.
 Used to create Structural Model
packages,
Diagrams in UML
 Class Diagram
Diagrams in UML
 Sequence diagram
 Represents Interaction among Objects (when system
is running)
 set of messages exchanged among set
(having links).
 Used to created dynamic/behavioral model
of objects
Diagrams in UML
 Sequence diagram
Diagrams in UML
 Collaboration diagram (Communication diagram)
 emphasizes the structural org. of objects that send &
receive messages.
 Used to created dynamic/behavioral model
Diagrams in UML
 Activity diagram
 Shows flow of control from activity to activity within
system (similar to Flow-chart)
 Represent high-level business processes, explain logic
involved in system
Software development – Best Practices
6 best Practices of Modern Software Engineering
(Based on experience of IT Companies on live
projects):
 Develop Iteratively (incremental)
 Manage requirements
 Employ a component-based architecture (re-use)
 Model software visually (using UML)
 Continuously verify quality
 Control changes
Object Oriented Methodology
 Object-oriented Methodology using OOAD is a
popular technical approach to analyzing, designing
Software -
 - By applying object oriented visual modeling through
out SDLC
 Better stakeholder communication and product
quality.
 Object-oriented Methodology uses an iterative and
incremental approach of system development
Traditional - Waterfall Model
 Waterfall Model of System Development
 When analysis is complete, then only design will
begin,
 Problems remain hidden through Analysis, Design and
Implementation, discovered LATE
Iterative Development
 Software developed in Iterations (parts/versions)
 More flexible (and less risky) - go several times
through the various SDLC phases
 Software lifecycle is a succession of iterations,
through which the software develops incrementally.
Iterative and Incremental
Rational Unified Process (RUP)
 Is most popular iterative OO software development
methodology (by IBM)
 Within each iteration, different SDLC tasks are
performed
Rational Unified Process (RUP)
 System is developed into 4 phases, each consisting of
one or more executable iterations of the software
 Inception Phase –
 Feasibility study and scope of system
 Use case model, project plan, initial risk assessment
 Elaboration Phase –
 Analysis and Design Model – structural &
behavioral model
 Class Diagram, Activity Diagram,
Diagram
 Prototype is Developed (limited coding)
Sequence
Rational Unified Process (RUP)
 Last 2 phases:
 Construction Phase –
 Main emphasis is coding/programming
 With iterations – Use software component
 Analysis, Design UML Diagrams/Models – more
details added/refined
 Transition Phase –
 from development into production (deployment)
 include training the end users

More Related Content

Similar to 06-unit-iintrouml25sep2015-160901172758.pptx

Introduction to Unified Modeling Language
Introduction to Unified Modeling LanguageIntroduction to Unified Modeling Language
Introduction to Unified Modeling Language
AMITJain879
 
Introduction to Modeling Java and UML
Introduction to Modeling Java and UMLIntroduction to Modeling Java and UML
Introduction to Modeling Java and UML
Dang Tuan
 
M02 Uml Overview
M02 Uml OverviewM02 Uml Overview
M02 Uml Overview
Dang Tuan
 
fdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.pptfdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.ppt
RAJESH S
 

Similar to 06-unit-iintrouml25sep2015-160901172758.pptx (20)

Introduction to Unified Modeling Language
Introduction to Unified Modeling LanguageIntroduction to Unified Modeling Language
Introduction to Unified Modeling Language
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
04 uml diagrams
04 uml diagrams04 uml diagrams
04 uml diagrams
 
Uml overview modified
Uml overview modifiedUml overview modified
Uml overview modified
 
Object Process Methodology
Object Process MethodologyObject Process Methodology
Object Process Methodology
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Uml
UmlUml
Uml
 
Apostila UML
Apostila UMLApostila UML
Apostila UML
 
Chapter-2 UML and UML Diagrams.pdf
Chapter-2 UML and UML Diagrams.pdfChapter-2 UML and UML Diagrams.pdf
Chapter-2 UML and UML Diagrams.pdf
 
Case Study Uml
Case Study UmlCase Study Uml
Case Study Uml
 
UML overview
UML overviewUML overview
UML overview
 
Introduction to Modeling Java and UML
Introduction to Modeling Java and UMLIntroduction to Modeling Java and UML
Introduction to Modeling Java and UML
 
M02 Uml Overview
M02 Uml OverviewM02 Uml Overview
M02 Uml Overview
 
432
432432
432
 
Uml introduction
Uml introductionUml introduction
Uml introduction
 
0136061257
01360612570136061257
0136061257
 
fdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.pptfdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.ppt
 
Uml introduciton
Uml introducitonUml introduciton
Uml introduciton
 
ooAD
ooADooAD
ooAD
 
l1_introuml.pdf
l1_introuml.pdfl1_introuml.pdf
l1_introuml.pdf
 

More from Sindhu Mani

More from Sindhu Mani (10)

fdocuments.in_automotive-embedded-system-development-in-autosar-56ecec1fda1bb...
fdocuments.in_automotive-embedded-system-development-in-autosar-56ecec1fda1bb...fdocuments.in_automotive-embedded-system-development-in-autosar-56ecec1fda1bb...
fdocuments.in_automotive-embedded-system-development-in-autosar-56ecec1fda1bb...
 
M7_L3_PPT.computer organization and archit
M7_L3_PPT.computer organization and architM7_L3_PPT.computer organization and archit
M7_L3_PPT.computer organization and archit
 
M7_L1_PPT.computer organization and archi
M7_L1_PPT.computer organization and archiM7_L1_PPT.computer organization and archi
M7_L1_PPT.computer organization and archi
 
structures-and-types-of-solids presentation
structures-and-types-of-solids presentationstructures-and-types-of-solids presentation
structures-and-types-of-solids presentation
 
ADDA_Lecture_P1. digital techniques lecture
ADDA_Lecture_P1. digital techniques lectureADDA_Lecture_P1. digital techniques lecture
ADDA_Lecture_P1. digital techniques lecture
 
digital camera image capturing technique
digital camera image capturing techniquedigital camera image capturing technique
digital camera image capturing technique
 
2. Functional Components of Computing System.pptx
2. Functional Components of Computing System.pptx2. Functional Components of Computing System.pptx
2. Functional Components of Computing System.pptx
 
The primary purpose of memory interfacing is to facilitate the transfer of da...
The primary purpose of memory interfacing is to facilitate the transfer of da...The primary purpose of memory interfacing is to facilitate the transfer of da...
The primary purpose of memory interfacing is to facilitate the transfer of da...
 
To expose students to various challenges and constraints of special purpose c...
To expose students to various challenges and constraints of special purpose c...To expose students to various challenges and constraints of special purpose c...
To expose students to various challenges and constraints of special purpose c...
 
jun.pptx
jun.pptxjun.pptx
jun.pptx
 

Recently uploaded

Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
pritamlangde
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
HenryBriggs2
 

Recently uploaded (20)

Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
 
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...
 
Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
UNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxUNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptx
 
Computer Graphics Introduction To Curves
Computer Graphics Introduction To CurvesComputer Graphics Introduction To Curves
Computer Graphics Introduction To Curves
 
Post office management system project ..pdf
Post office management system project ..pdfPost office management system project ..pdf
Post office management system project ..pdf
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
Signal Processing and Linear System Analysis
Signal Processing and Linear System AnalysisSignal Processing and Linear System Analysis
Signal Processing and Linear System Analysis
 
Linux Systems Programming: Inter Process Communication (IPC) using Pipes
Linux Systems Programming: Inter Process Communication (IPC) using PipesLinux Systems Programming: Inter Process Communication (IPC) using Pipes
Linux Systems Programming: Inter Process Communication (IPC) using Pipes
 
Electromagnetic relays used for power system .pptx
Electromagnetic relays used for power system .pptxElectromagnetic relays used for power system .pptx
Electromagnetic relays used for power system .pptx
 
Augmented Reality (AR) with Augin Software.pptx
Augmented Reality (AR) with Augin Software.pptxAugmented Reality (AR) with Augin Software.pptx
Augmented Reality (AR) with Augin Software.pptx
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Basic Electronics for diploma students as per technical education Kerala Syll...
Basic Electronics for diploma students as per technical education Kerala Syll...Basic Electronics for diploma students as per technical education Kerala Syll...
Basic Electronics for diploma students as per technical education Kerala Syll...
 

06-unit-iintrouml25sep2015-160901172758.pptx

  • 2.  Building blocks of UML  Things in UML - Structural things things, Behavioral  Different types of models in UML  Different Diagrams in UML  OOAD Methodology/Rational (RUP) Unified Process Topic Outline
  • 4. What is a Model?  “Simplification of reality” – high level logical representation of a system (from a perspective)
  • 5. Advantages of creating a Model 1. Permits you to specify the structure or behavior of a system. 2. Helps you to visualize a system 3. Provides template that guides you in constructing a system. 4. Helps to understand complex system – part by part 5. Document the decisions – that you have made.
  • 7. What is UML?  “UML is a graphical language for building object- oriented analysis & design – OOAD Models”  Standardized by Object Management Group (OMG) in 1997 and in 2005 standardized by ISO  In 1990’s 3 different OOAD modeling techniques prevalent (by 3 amigos/pioneers)  OMT (Object Modeling Technique) by James Rumbaugh  OOAD by Grady Booch  OOSE by Ivar Jacobson  Unified into – 1 single/standardized UML (1997)
  • 8. UML Diagrams • UML Diagrams are used to create different types of models. • Different diagrams represent different views of the system.
  • 9. What is UML?  UML used to model diverse range of system - Enterprise Info. System, Web-based application, Mobile Apps, Embedded systems  The UML is a language for • Visualizing • Specifying • Constructing • Documenting the artifacts of a software-intensive system.
  • 10. Advantage of UML  UML is a language  standardized modeling language  Rules - syntax & semantics of UML diagrams  Well-formed models (as per the Syntax)  Benefit: Diagram created by 1 company/person can be understood by Other company/person
  • 11. Advantage of UML?  UML is a language for Visualizing  Visualize a system from different angles – structure and behavior, use-case view  High-level conceptual understanding  Understand the components of system – and their interaction
  • 12. Advantage of UML?  UML is a language for Specifying  building models that are precise, unambiguous & complete  Specify all analysis, design decisions  Specify requirements, structure, behavior and implementation details
  • 13. Advantage of UML  UML for Constructing  UML Models – mapped – to different target programming Languages like Java, C++ and .NET  Code generation - Forward Engineering  CASE tools like IBM Rational SoftwareArchitect
  • 14. Advantage of UML  UML for Documenting  Healthy software org. (CMM/ISO standards based)  Produces all artifacts apart from executable code  UML Models helps in documentation of  Requirements, SoftwareArchitecture  Analysis and Design decisions
  • 15. Conceptual Model of UML  To learn UML language, requires 3 elements of UML  UML building blocks Rules: that dictate how to put those building blocks together  Common mechanism (techniques): that apply throughout UML
  • 16. Things in UML  Building Blocks 1. Things (abstractions of the model) 2. Relationships (tie things together) 3. Diagrams – contain UML things connected using relationships Basic OO Building Blocks For Creating UML diagrams
  • 17. Things in UML  4 types of things in UML  Structural things  Behavioral things  Grouping things  Annotational things
  • 18. Structural Things in UML  Nouns (from problem definition)  Static parts of model, representing elements that are either conceptual or physical  7 types of structural things in UML  Class  Interface  Collaboration  Use-case  Active class  Component  Node
  • 19. Different types of Models/Views in UML
  • 20. Structural Things in UML  Class  is important OO building block  Used to create Class diagram (Structural Model)  Desc. of set of objects with same - attributes, operations, relationships & Meaning
  • 21. Structural Things in UML  Interface  collection of operations that specify service of a class (externally visible behavior)  It is Specification of functionality – implemented by Class  Clean separation between – Specification & Impl.  E.g. IFigure – operations- draw(), move(), color()  It can be implemented by different classes – Circle, Rectangle, Triangle
  • 24. Structural Things in UML (visio)
  • 25. Structural Things in UML  Collaboration  Represents - interaction of many things in UML  All elements of collaboration work together to provide Overall behavior  E.g. To place order – many objects are required to interact (collaborate) – Customer, Item, Shopping Cart, Order
  • 26. Structural Things in UML  Usecase  Distinct functional requirement  set of sequence of actions, that system performs – with observable result of value to actor (end-user)  Notation: ellipse with solid lines, and its name
  • 27. Structural Things in UML  Active Class  It is a physical thing (used in Dynamic Model)  is a class whose objects own or more processes or threads  Active objects can start or control that flow.
  • 28. Structural Things in UML Component (Physical Thing)  Physical & replaceable part of system  Implements (realizes) of set of interfaces  It contains (represents physical packaging) – other things like classes, interfaces, packages UML Notation: Rectangle with Tabs
  • 29. Structural Things in UML Node (Physical Thing)  is a physical element that exists at run-time & represents a computational resource  Having some memory & processing capability  Implements (realizes) of set of interfaces Linux Server SMTP server (Mail server)
  • 30. Behavioral Things in UML  Dynamic model - Represents behavior of system over time and space 1) Interaction among  consists of a set of messages exchanged objects to achieve a purpose OR functionality  links (the connection among objects) is shown  Notation: directed line including the name of operation
  • 31. Behavioral Things in UML 2) State Machine  Represents change in state of object over time  Dynamic behavior of a Class (with response to events)  State-Notation: is rounded rectangle with name
  • 32. Behavioral Things in UML 2) State Machine
  • 33. Grouping Things in UML  Used to organize things in UML 1) Package  Container (namespace) for organizing group of related things  Notation: tabbed folder with name
  • 34. Annotational Things in UML  Comments you may apply to describes & remarks any element in a model  explanatory parts of UML models Note  Notation: rectangle with a dog-earned corner with a textual comment
  • 35. Relationships in UML  Used to connect/relate various things in UML to create diagram/model of the proposed system  4 kinds of relationship in UML 1. Dependency 2. Association 3. Generalization 4. Realization
  • 36. 1) Dependency  Semantic relationship between 2 things  Change to one thing (independent thing) affects the other things (dependent thing)  Graphical notation: dashed line (directed) from dependent to independent
  • 37. 1) Dependency  E.g. Applet class  Graphics class  Java servlet  HttpServletRequest, HttpServletResponse
  • 38. 2) Association  Structural relationship among classes  Both classes are having equal status – dependent on each other  Graphical Notation-solid line joining two classes  It can contain adornments like multiplicity e.g. 1-M
  • 39. 3) Generalization  specialization (inheritance) relationship among 2 classes  Child class inherits the structure & behavior of the parent  Graphical Notation - solid line with hollow arrowhead pointing to parent
  • 41. 4) Realization  Semantic relationship between 2 elements – 1 element specifies a contract, another element implements (fulfills) contract  E.g. relation betwen Interface and implementing Class  Notation: dashed directing line with solid arrowhead
  • 42. 4) Realization  MS Visio  Right click on class – shape display options – show realization link
  • 43. Different Views/Models in UML  Explain the different types of Model in UML? OR  Explain the different views of System addressed by UML OR  Explain 4+1 views of System addressed by UML
  • 44. Different Views/Models in UML Structural View/Model  static structural model of the system using: - packages, classes, objects, attributes, operations and relationships between classes.  Used to identify imp. building blocks of the system and relationship between them.  Created using UML diagrams – Class diagram, Package diagram and Object diagram
  • 46. Different Views/Models in UML Dynamic View/Behavioral View/Model  emphasizes the dynamic / behavioral aspects of the system  Behavior of system with respect to time – to handle external events/provide functionality of software  Shows – interaction among objects  Change in state of objects and system  Created using UML diagrams – Sequence diagram, Communication diagram,Activity diagram and State Diagram
  • 47. Different Views/Models in UML Process View Deployme nt View Logical View Use-Case View Implementati on View End-user Functionality Programmers Software management Performance, scalability, throughput System integrators System topology, delivery, installation, communication System engineering Analysts/Designers Structure
  • 49. Different Views/Models in UML Implementation View  Represent the implementation details – components, their interaction and relationships  System from a programmer's perspective  E.g. Java application – how many packages/modules Deployment View  Installation/deployment details of system  Which component is going to server/machine with respect topology/architecture run on which to system
  • 50. Diagrams in UML  Diagram is a graphical presentation of a set of UML elements  Drawn as connected graph of vertices (things) and Arcs (relationships)  We draw diagram to visualize (model) a system from different perspectives (angles)
  • 51. Diagrams in UML What is Relation between UML diagram and Model ?  UML Diagram – used to create a model of system  E.g. UML Use case diagram is used to create Requirements model of the system.  No real-life complex system can be completely understood from only 1 perspective  Different diagrams-different views of system
  • 52. Diagrams in UML  Use case Diagram  Shows a set of use-cases & actors & their relationships.  Used to create requirements view for end users/customers.   Central, most important view, created first.   Other views/models are based on this model
  • 53. Diagrams in UML  Class Diagram  Represents static-design view of system,  Shows building blocks and relationship between them in object-orientated system.  Shows a set of classes, interfaces, collaborations & their relationships.  Used to create Structural Model packages,
  • 54. Diagrams in UML  Class Diagram
  • 55. Diagrams in UML  Sequence diagram  Represents Interaction among Objects (when system is running)  set of messages exchanged among set (having links).  Used to created dynamic/behavioral model of objects
  • 56. Diagrams in UML  Sequence diagram
  • 57. Diagrams in UML  Collaboration diagram (Communication diagram)  emphasizes the structural org. of objects that send & receive messages.  Used to created dynamic/behavioral model
  • 58. Diagrams in UML  Activity diagram  Shows flow of control from activity to activity within system (similar to Flow-chart)  Represent high-level business processes, explain logic involved in system
  • 59. Software development – Best Practices 6 best Practices of Modern Software Engineering (Based on experience of IT Companies on live projects):  Develop Iteratively (incremental)  Manage requirements  Employ a component-based architecture (re-use)  Model software visually (using UML)  Continuously verify quality  Control changes
  • 60. Object Oriented Methodology  Object-oriented Methodology using OOAD is a popular technical approach to analyzing, designing Software -  - By applying object oriented visual modeling through out SDLC  Better stakeholder communication and product quality.  Object-oriented Methodology uses an iterative and incremental approach of system development
  • 61. Traditional - Waterfall Model  Waterfall Model of System Development  When analysis is complete, then only design will begin,  Problems remain hidden through Analysis, Design and Implementation, discovered LATE
  • 62. Iterative Development  Software developed in Iterations (parts/versions)  More flexible (and less risky) - go several times through the various SDLC phases  Software lifecycle is a succession of iterations, through which the software develops incrementally.
  • 64. Rational Unified Process (RUP)  Is most popular iterative OO software development methodology (by IBM)  Within each iteration, different SDLC tasks are performed
  • 65. Rational Unified Process (RUP)  System is developed into 4 phases, each consisting of one or more executable iterations of the software  Inception Phase –  Feasibility study and scope of system  Use case model, project plan, initial risk assessment  Elaboration Phase –  Analysis and Design Model – structural & behavioral model  Class Diagram, Activity Diagram, Diagram  Prototype is Developed (limited coding) Sequence
  • 66. Rational Unified Process (RUP)  Last 2 phases:  Construction Phase –  Main emphasis is coding/programming  With iterations – Use software component  Analysis, Design UML Diagrams/Models – more details added/refined  Transition Phase –  from development into production (deployment)  include training the end users