SlideShare a Scribd company logo
T.Y. B.Sc. (Comp. Sci.) Sem I
Object Oriented Software Engineering
(OOSE)
CS-336
Faculty
Dr. Amit D. Kasliwal
Asst. Professor
Chapter 4
Advanced Structural Modeling
Overview
 Advanced classes
 Advanced Relationship
 Interface
 Types and Roles
 Packages
 Object Diagram
Advanced Classes
In UML, following are the different ways to implement
class as a classifier
A Classifier is a mechanism that describes structural and
behavioral features.
Include classes, associations, interfaces, datatypes, signals,
components, nodes, use cases and subsystems.
A Class is a description of a set of objects that share the
same attributes, operations, relationships, and semantics.
Advanced Classes
Interface : collection of operations used to specify a
service of a class or a component.
Datatype : Including primitive built-in types as well as
enumeration types (such as Boolean). Also immutable.
Association : A description of a set of links, each of which
relates two or more objects.
Signal : The specification of an asynchronous message
communicated between instances.
Advanced Classes
Component : A modular part of a system that hides its
implementation behind a set of external interfaces.
Node : a physical element that exists at run time and
that represents a computational resource, generally having
at least some memory and often processing capability.
Use case : A description of a set of a sequence of actions,
including variants, that a system performs that yields an
observable result of value to a particular actor.
Subsystem A component that represents a major part of a
system.
Advanced Classes
Advanced Classes
With the advanced classes, we can specify visibility for an
attribute or operation in any of four levels.
Public : Any outside classifier with visibility to the given
classifier can use the feature, specified by the symbol +.
Protected : Any descendant of the classifier can use the
feature; specified by prepending the symbol #.
Private : Only the classifier itself can use the feature;
specified by prepending the symbol -.
Package : Only classifiers declared in the same package
can use the feature; specified by prepending the ~.
Advanced Classes
Interfaces
 Collection of operations used to specify a service.
 Specify a behavior of an a element (class or component)
independent of its implementation.
 Important for large scale project where different teams
are developing different parts of the system
 Described by abstract operations (signatures)
 Used to model the seams (flow) of a system
 Components on each side of seams should not be
affected by changes on the other side
Interfaces
 Graphical Representation:
Or Class Stereotype: <<interface>>
Storable
load()
save() no attribute
Interfaces Relationships
 Participate in: generalization, association dependency,
realization
 Realization: Class or Component may realize one (or
many) interface(s):
 class provides a set of methods that implement the
operations of all the interfaces it realizes
 Exemple:
SensorTelemetry
Filter
realization
dependency
Types and Roles
 Types:
 Same as Interface + Attributes
 Allow to model the semantics of an abstraction and its
conformance to a specific interface.
 Roles:
 In a given context, an instance may present only one of
its interface. Each interface represents a role the object
plays
Person Companye:Employee
Packages
 General purpose mechanism for organizing modeling
elements into groups
 Use Packages for Architecture Views
 Organize elements semantically close into large chunks
 Well structured Packages are loosely coupled and very
cohesive
 Graphical Representation:
Shape
Packages
 Package may own other elements
 classes, interfaces, components, nodes, collaborations,
use cases, other packages.
 Package form namespace (same named element cannot be
in same package, but can be in two different packages)
Shape
Shape
+ height
+ length
- radius
Square
Circle
Triangle
Packages Visibility
 Specify whether an element owned by a package can be
used by other package:
 + public: any package that import this package can use
the feature
 # protected: any descendant of the package can use the
feature
 - private: only the elements in the package itself can
use the feature
 Collectively the public parts of a package constitute the
package’s interface
Package Example
GUI
Bus.Obj.
DB
AppWin AppFrame Facade to
Relational
Translation
SQL
Generator
Facade
Service
Control
Business
Object
Entity
Business
Object
Object Diagram
• It is a concrete manifestation of an abstraction to which a
set of operations can be applied and which has a state
that stores the effects of the operations
• an object in object diagram is rendered by underlining
its name in the class symbol
Object Diagram
• An object has state and therefore it is dynamic.
• When we visualize its state, we are really specifying the
value of its state at a given moment in time and space.
• When we operate on object, we typically change its state;
when you query an object, you don't change its state
Object Diagram
• Model the instances of things contained in class diagrams.
• Shows a set of objects & their relationships at a point in time.
• Use to model the static design view or static process view of a
system.
• It is not only important for visualizing, specifying, and
documenting structural models, but also for constructing the
static aspects of systems.
• An object diagram covers a set of instances of the things
found in a class diagram.
Object Diagram
Object Diagram
• Commonly contain Objects and Links. Also may contain notes
and constraints.
• We say, If class A has a one-to-many association to class B,
then for one instance of A there might be five instances of B;
for another instance of A there might be only one instance of
B.
• To model an object diagram,
• identify the mechanism you'd like to model that should
represents some function or behavior of the part of the
system you are modeling that results from the interaction
of a society of classes, interfaces, and other things
• Then create a collaboration to describe a mechanism.
Object Diagram
• To model an object diagram,
• identify the mechanism you'd like to model that should
represents some function or behavior of the part of the
system you are modeling that results from the interaction
of a society of classes, interfaces, and other things
• Then create a collaboration to describe a mechanism.
• For each mechanism, identify the classes, interfaces, and
other elements that participate in this collaboration;
identify the relationships among these things as well.
• Expose the state and attribute values of each such object, as
necessary, to understand the scenario.
• Similarly, expose the links among these objects,
representing instances of associations among them.
Object Diagram : Example
Advanced Structural Modeling
Ad

More Related Content

What's hot (20)

State chart diagram
State chart diagramState chart diagram
State chart diagram
Preeti Mishra
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
Amith Tiwari
 
Unit 3(advanced state modeling & interaction meodelling)
Unit  3(advanced state modeling & interaction meodelling)Unit  3(advanced state modeling & interaction meodelling)
Unit 3(advanced state modeling & interaction meodelling)
Manoj Reddy
 
Dynamic and Static Modeling
Dynamic and Static ModelingDynamic and Static Modeling
Dynamic and Static Modeling
Saurabh Kumar
 
Class and object_diagram
Class  and object_diagramClass  and object_diagram
Class and object_diagram
Sadhana28
 
Architectural Modeling
Architectural ModelingArchitectural Modeling
Architectural Modeling
AMITJain879
 
Basic Structural Modeling
Basic Structural ModelingBasic Structural Modeling
Basic Structural Modeling
AMITJain879
 
Object oriented modeling and design
Object oriented modeling and designObject oriented modeling and design
Object oriented modeling and design
jayashri kolekar
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
Akash Kumar Dhameja
 
Type Checking(Compiler Design) #ShareThisIfYouLike
Type Checking(Compiler Design) #ShareThisIfYouLikeType Checking(Compiler Design) #ShareThisIfYouLike
Type Checking(Compiler Design) #ShareThisIfYouLike
United International University
 
Classes and Objects
Classes and Objects  Classes and Objects
Classes and Objects
yndaravind
 
Class diagrams
Class diagramsClass diagrams
Class diagrams
Nadia_Nazeer
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
Emertxe Information Technologies Pvt Ltd
 
Major and Minor Elements of Object Model
Major and Minor Elements of Object ModelMajor and Minor Elements of Object Model
Major and Minor Elements of Object Model
sohailsaif
 
5.state diagrams
5.state diagrams5.state diagrams
5.state diagrams
APU
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
Manish Kumar
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
Babeetha Muruganantham
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
Kartik Raghuvanshi
 
Activity diagram
Activity diagramActivity diagram
Activity diagram
LOKENDRA PRAJAPATI
 
Spline representations
Spline representationsSpline representations
Spline representations
Nikhil krishnan
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
Amith Tiwari
 
Unit 3(advanced state modeling & interaction meodelling)
Unit  3(advanced state modeling & interaction meodelling)Unit  3(advanced state modeling & interaction meodelling)
Unit 3(advanced state modeling & interaction meodelling)
Manoj Reddy
 
Dynamic and Static Modeling
Dynamic and Static ModelingDynamic and Static Modeling
Dynamic and Static Modeling
Saurabh Kumar
 
Class and object_diagram
Class  and object_diagramClass  and object_diagram
Class and object_diagram
Sadhana28
 
Architectural Modeling
Architectural ModelingArchitectural Modeling
Architectural Modeling
AMITJain879
 
Basic Structural Modeling
Basic Structural ModelingBasic Structural Modeling
Basic Structural Modeling
AMITJain879
 
Object oriented modeling and design
Object oriented modeling and designObject oriented modeling and design
Object oriented modeling and design
jayashri kolekar
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
Akash Kumar Dhameja
 
Classes and Objects
Classes and Objects  Classes and Objects
Classes and Objects
yndaravind
 
Major and Minor Elements of Object Model
Major and Minor Elements of Object ModelMajor and Minor Elements of Object Model
Major and Minor Elements of Object Model
sohailsaif
 
5.state diagrams
5.state diagrams5.state diagrams
5.state diagrams
APU
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
Manish Kumar
 

Similar to Advanced Structural Modeling (20)

Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
Raj Thilak S
 
Interfaces & Packages V2
Interfaces & Packages V2Interfaces & Packages V2
Interfaces & Packages V2
Dr Anjan Krishnamurthy
 
Chapter 2-Unified Modeling Languagee.ppt
Chapter 2-Unified Modeling Languagee.pptChapter 2-Unified Modeling Languagee.ppt
Chapter 2-Unified Modeling Languagee.ppt
SisayNegash4
 
Chapter 2-Unified Modeling Languagee.ppt
Chapter 2-Unified Modeling Languagee.pptChapter 2-Unified Modeling Languagee.ppt
Chapter 2-Unified Modeling Languagee.ppt
SisayNegash4
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
himanshu_airon
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
Nwabueze Obioma
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling Language
Shahzad
 
classdiagram.pptx
classdiagram.pptxclassdiagram.pptx
classdiagram.pptx
RahulGautam663736
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2
Sisir Ghosh
 
SMD Unit ii
SMD Unit iiSMD Unit ii
SMD Unit ii
madhavi patil
 
unit-1 &2 important questions to be noted
unit-1 &2 important questions to be notedunit-1 &2 important questions to be noted
unit-1 &2 important questions to be noted
22eg105n11
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
yndaravind
 
432
432432
432
Sushath SimplytheBest
 
Different Types Diagrams
Different Types Diagrams  Different Types Diagrams
Different Types Diagrams
ShauryaGupta38
 
08 class and sequence diagrams
08   class and sequence diagrams08   class and sequence diagrams
08 class and sequence diagrams
kebsterz
 
uml2-1214558329929112-8.ppt
uml2-1214558329929112-8.pptuml2-1214558329929112-8.ppt
uml2-1214558329929112-8.ppt
AleksandarUrdarevski
 
Introduction to Rational Rose
Introduction to Rational RoseIntroduction to Rational Rose
Introduction to Rational Rose
Munaam Munawar
 
Oomd unit1
Oomd unit1Oomd unit1
Oomd unit1
VivekChaudhary93
 
UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software Engineering
Amit Singh
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
SHIVAM691605
 
Chapter 2-Unified Modeling Languagee.ppt
Chapter 2-Unified Modeling Languagee.pptChapter 2-Unified Modeling Languagee.ppt
Chapter 2-Unified Modeling Languagee.ppt
SisayNegash4
 
Chapter 2-Unified Modeling Languagee.ppt
Chapter 2-Unified Modeling Languagee.pptChapter 2-Unified Modeling Languagee.ppt
Chapter 2-Unified Modeling Languagee.ppt
SisayNegash4
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
himanshu_airon
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
Nwabueze Obioma
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling Language
Shahzad
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2
Sisir Ghosh
 
unit-1 &2 important questions to be noted
unit-1 &2 important questions to be notedunit-1 &2 important questions to be noted
unit-1 &2 important questions to be noted
22eg105n11
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
yndaravind
 
Different Types Diagrams
Different Types Diagrams  Different Types Diagrams
Different Types Diagrams
ShauryaGupta38
 
08 class and sequence diagrams
08   class and sequence diagrams08   class and sequence diagrams
08 class and sequence diagrams
kebsterz
 
Introduction to Rational Rose
Introduction to Rational RoseIntroduction to Rational Rose
Introduction to Rational Rose
Munaam Munawar
 
UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software Engineering
Amit Singh
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
SHIVAM691605
 
Ad

Recently uploaded (20)

GC Tuning: A Masterpiece in Performance Engineering
GC Tuning: A Masterpiece in Performance EngineeringGC Tuning: A Masterpiece in Performance Engineering
GC Tuning: A Masterpiece in Performance Engineering
Tier1 app
 
!%& IDM Crack with Internet Download Manager 6.42 Build 32 >
!%& IDM Crack with Internet Download Manager 6.42 Build 32 >!%& IDM Crack with Internet Download Manager 6.42 Build 32 >
!%& IDM Crack with Internet Download Manager 6.42 Build 32 >
Ranking Google
 
wAIred_LearnWithOutAI_JCON_14052025.pptx
wAIred_LearnWithOutAI_JCON_14052025.pptxwAIred_LearnWithOutAI_JCON_14052025.pptx
wAIred_LearnWithOutAI_JCON_14052025.pptx
SimonedeGijt
 
Digital Twins Software Service in Belfast
Digital Twins Software Service in BelfastDigital Twins Software Service in Belfast
Digital Twins Software Service in Belfast
julia smits
 
Why Tapitag Ranks Among the Best Digital Business Card Providers
Why Tapitag Ranks Among the Best Digital Business Card ProvidersWhy Tapitag Ranks Among the Best Digital Business Card Providers
Why Tapitag Ranks Among the Best Digital Business Card Providers
Tapitag
 
Best HR and Payroll Software in Bangladesh - accordHRM
Best HR and Payroll Software in Bangladesh - accordHRMBest HR and Payroll Software in Bangladesh - accordHRM
Best HR and Payroll Software in Bangladesh - accordHRM
accordHRM
 
Troubleshooting JVM Outages – 3 Fortune 500 case studies
Troubleshooting JVM Outages – 3 Fortune 500 case studiesTroubleshooting JVM Outages – 3 Fortune 500 case studies
Troubleshooting JVM Outages – 3 Fortune 500 case studies
Tier1 app
 
Time Estimation: Expert Tips & Proven Project Techniques
Time Estimation: Expert Tips & Proven Project TechniquesTime Estimation: Expert Tips & Proven Project Techniques
Time Estimation: Expert Tips & Proven Project Techniques
Livetecs LLC
 
How to Install and Activate ListGrabber Plugin
How to Install and Activate ListGrabber PluginHow to Install and Activate ListGrabber Plugin
How to Install and Activate ListGrabber Plugin
eGrabber
 
What Do Candidates Really Think About AI-Powered Recruitment Tools?
What Do Candidates Really Think About AI-Powered Recruitment Tools?What Do Candidates Really Think About AI-Powered Recruitment Tools?
What Do Candidates Really Think About AI-Powered Recruitment Tools?
HireME
 
Medical Device Cybersecurity Threat & Risk Scoring
Medical Device Cybersecurity Threat & Risk ScoringMedical Device Cybersecurity Threat & Risk Scoring
Medical Device Cybersecurity Threat & Risk Scoring
ICS
 
Reinventing Microservices Efficiency and Innovation with Single-Runtime
Reinventing Microservices Efficiency and Innovation with Single-RuntimeReinventing Microservices Efficiency and Innovation with Single-Runtime
Reinventing Microservices Efficiency and Innovation with Single-Runtime
Natan Silnitsky
 
Adobe Media Encoder Crack FREE Download 2025
Adobe Media Encoder  Crack FREE Download 2025Adobe Media Encoder  Crack FREE Download 2025
Adobe Media Encoder Crack FREE Download 2025
zafranwaqar90
 
Autodesk Inventor Crack (2025) Latest
Autodesk Inventor    Crack (2025) LatestAutodesk Inventor    Crack (2025) Latest
Autodesk Inventor Crack (2025) Latest
Google
 
How to Troubleshoot 9 Types of OutOfMemoryError
How to Troubleshoot 9 Types of OutOfMemoryErrorHow to Troubleshoot 9 Types of OutOfMemoryError
How to Troubleshoot 9 Types of OutOfMemoryError
Tier1 app
 
Passive House Canada Conference 2025 Presentation [Final]_v4.ppt
Passive House Canada Conference 2025 Presentation [Final]_v4.pptPassive House Canada Conference 2025 Presentation [Final]_v4.ppt
Passive House Canada Conference 2025 Presentation [Final]_v4.ppt
IES VE
 
How I solved production issues with OpenTelemetry
How I solved production issues with OpenTelemetryHow I solved production issues with OpenTelemetry
How I solved production issues with OpenTelemetry
Cees Bos
 
Do not let staffing shortages and limited fiscal view hamper your cause
Do not let staffing shortages and limited fiscal view hamper your causeDo not let staffing shortages and limited fiscal view hamper your cause
Do not let staffing shortages and limited fiscal view hamper your cause
Fexle Services Pvt. Ltd.
 
Wilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For WindowsWilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For Windows
Google
 
Robotic Process Automation (RPA) Software Development Services.pptx
Robotic Process Automation (RPA) Software Development Services.pptxRobotic Process Automation (RPA) Software Development Services.pptx
Robotic Process Automation (RPA) Software Development Services.pptx
julia smits
 
GC Tuning: A Masterpiece in Performance Engineering
GC Tuning: A Masterpiece in Performance EngineeringGC Tuning: A Masterpiece in Performance Engineering
GC Tuning: A Masterpiece in Performance Engineering
Tier1 app
 
!%& IDM Crack with Internet Download Manager 6.42 Build 32 >
!%& IDM Crack with Internet Download Manager 6.42 Build 32 >!%& IDM Crack with Internet Download Manager 6.42 Build 32 >
!%& IDM Crack with Internet Download Manager 6.42 Build 32 >
Ranking Google
 
wAIred_LearnWithOutAI_JCON_14052025.pptx
wAIred_LearnWithOutAI_JCON_14052025.pptxwAIred_LearnWithOutAI_JCON_14052025.pptx
wAIred_LearnWithOutAI_JCON_14052025.pptx
SimonedeGijt
 
Digital Twins Software Service in Belfast
Digital Twins Software Service in BelfastDigital Twins Software Service in Belfast
Digital Twins Software Service in Belfast
julia smits
 
Why Tapitag Ranks Among the Best Digital Business Card Providers
Why Tapitag Ranks Among the Best Digital Business Card ProvidersWhy Tapitag Ranks Among the Best Digital Business Card Providers
Why Tapitag Ranks Among the Best Digital Business Card Providers
Tapitag
 
Best HR and Payroll Software in Bangladesh - accordHRM
Best HR and Payroll Software in Bangladesh - accordHRMBest HR and Payroll Software in Bangladesh - accordHRM
Best HR and Payroll Software in Bangladesh - accordHRM
accordHRM
 
Troubleshooting JVM Outages – 3 Fortune 500 case studies
Troubleshooting JVM Outages – 3 Fortune 500 case studiesTroubleshooting JVM Outages – 3 Fortune 500 case studies
Troubleshooting JVM Outages – 3 Fortune 500 case studies
Tier1 app
 
Time Estimation: Expert Tips & Proven Project Techniques
Time Estimation: Expert Tips & Proven Project TechniquesTime Estimation: Expert Tips & Proven Project Techniques
Time Estimation: Expert Tips & Proven Project Techniques
Livetecs LLC
 
How to Install and Activate ListGrabber Plugin
How to Install and Activate ListGrabber PluginHow to Install and Activate ListGrabber Plugin
How to Install and Activate ListGrabber Plugin
eGrabber
 
What Do Candidates Really Think About AI-Powered Recruitment Tools?
What Do Candidates Really Think About AI-Powered Recruitment Tools?What Do Candidates Really Think About AI-Powered Recruitment Tools?
What Do Candidates Really Think About AI-Powered Recruitment Tools?
HireME
 
Medical Device Cybersecurity Threat & Risk Scoring
Medical Device Cybersecurity Threat & Risk ScoringMedical Device Cybersecurity Threat & Risk Scoring
Medical Device Cybersecurity Threat & Risk Scoring
ICS
 
Reinventing Microservices Efficiency and Innovation with Single-Runtime
Reinventing Microservices Efficiency and Innovation with Single-RuntimeReinventing Microservices Efficiency and Innovation with Single-Runtime
Reinventing Microservices Efficiency and Innovation with Single-Runtime
Natan Silnitsky
 
Adobe Media Encoder Crack FREE Download 2025
Adobe Media Encoder  Crack FREE Download 2025Adobe Media Encoder  Crack FREE Download 2025
Adobe Media Encoder Crack FREE Download 2025
zafranwaqar90
 
Autodesk Inventor Crack (2025) Latest
Autodesk Inventor    Crack (2025) LatestAutodesk Inventor    Crack (2025) Latest
Autodesk Inventor Crack (2025) Latest
Google
 
How to Troubleshoot 9 Types of OutOfMemoryError
How to Troubleshoot 9 Types of OutOfMemoryErrorHow to Troubleshoot 9 Types of OutOfMemoryError
How to Troubleshoot 9 Types of OutOfMemoryError
Tier1 app
 
Passive House Canada Conference 2025 Presentation [Final]_v4.ppt
Passive House Canada Conference 2025 Presentation [Final]_v4.pptPassive House Canada Conference 2025 Presentation [Final]_v4.ppt
Passive House Canada Conference 2025 Presentation [Final]_v4.ppt
IES VE
 
How I solved production issues with OpenTelemetry
How I solved production issues with OpenTelemetryHow I solved production issues with OpenTelemetry
How I solved production issues with OpenTelemetry
Cees Bos
 
Do not let staffing shortages and limited fiscal view hamper your cause
Do not let staffing shortages and limited fiscal view hamper your causeDo not let staffing shortages and limited fiscal view hamper your cause
Do not let staffing shortages and limited fiscal view hamper your cause
Fexle Services Pvt. Ltd.
 
Wilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For WindowsWilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For Windows
Google
 
Robotic Process Automation (RPA) Software Development Services.pptx
Robotic Process Automation (RPA) Software Development Services.pptxRobotic Process Automation (RPA) Software Development Services.pptx
Robotic Process Automation (RPA) Software Development Services.pptx
julia smits
 
Ad

Advanced Structural Modeling

  • 1. T.Y. B.Sc. (Comp. Sci.) Sem I Object Oriented Software Engineering (OOSE) CS-336 Faculty Dr. Amit D. Kasliwal Asst. Professor
  • 2. Chapter 4 Advanced Structural Modeling Overview  Advanced classes  Advanced Relationship  Interface  Types and Roles  Packages  Object Diagram
  • 3. Advanced Classes In UML, following are the different ways to implement class as a classifier A Classifier is a mechanism that describes structural and behavioral features. Include classes, associations, interfaces, datatypes, signals, components, nodes, use cases and subsystems. A Class is a description of a set of objects that share the same attributes, operations, relationships, and semantics.
  • 4. Advanced Classes Interface : collection of operations used to specify a service of a class or a component. Datatype : Including primitive built-in types as well as enumeration types (such as Boolean). Also immutable. Association : A description of a set of links, each of which relates two or more objects. Signal : The specification of an asynchronous message communicated between instances.
  • 5. Advanced Classes Component : A modular part of a system that hides its implementation behind a set of external interfaces. Node : a physical element that exists at run time and that represents a computational resource, generally having at least some memory and often processing capability. Use case : A description of a set of a sequence of actions, including variants, that a system performs that yields an observable result of value to a particular actor. Subsystem A component that represents a major part of a system.
  • 7. Advanced Classes With the advanced classes, we can specify visibility for an attribute or operation in any of four levels. Public : Any outside classifier with visibility to the given classifier can use the feature, specified by the symbol +. Protected : Any descendant of the classifier can use the feature; specified by prepending the symbol #. Private : Only the classifier itself can use the feature; specified by prepending the symbol -. Package : Only classifiers declared in the same package can use the feature; specified by prepending the ~.
  • 9. Interfaces  Collection of operations used to specify a service.  Specify a behavior of an a element (class or component) independent of its implementation.  Important for large scale project where different teams are developing different parts of the system  Described by abstract operations (signatures)  Used to model the seams (flow) of a system  Components on each side of seams should not be affected by changes on the other side
  • 10. Interfaces  Graphical Representation: Or Class Stereotype: <<interface>> Storable load() save() no attribute
  • 11. Interfaces Relationships  Participate in: generalization, association dependency, realization  Realization: Class or Component may realize one (or many) interface(s):  class provides a set of methods that implement the operations of all the interfaces it realizes  Exemple: SensorTelemetry Filter realization dependency
  • 12. Types and Roles  Types:  Same as Interface + Attributes  Allow to model the semantics of an abstraction and its conformance to a specific interface.  Roles:  In a given context, an instance may present only one of its interface. Each interface represents a role the object plays Person Companye:Employee
  • 13. Packages  General purpose mechanism for organizing modeling elements into groups  Use Packages for Architecture Views  Organize elements semantically close into large chunks  Well structured Packages are loosely coupled and very cohesive  Graphical Representation: Shape
  • 14. Packages  Package may own other elements  classes, interfaces, components, nodes, collaborations, use cases, other packages.  Package form namespace (same named element cannot be in same package, but can be in two different packages) Shape Shape + height + length - radius Square Circle Triangle
  • 15. Packages Visibility  Specify whether an element owned by a package can be used by other package:  + public: any package that import this package can use the feature  # protected: any descendant of the package can use the feature  - private: only the elements in the package itself can use the feature  Collectively the public parts of a package constitute the package’s interface
  • 16. Package Example GUI Bus.Obj. DB AppWin AppFrame Facade to Relational Translation SQL Generator Facade Service Control Business Object Entity Business Object
  • 17. Object Diagram • It is a concrete manifestation of an abstraction to which a set of operations can be applied and which has a state that stores the effects of the operations • an object in object diagram is rendered by underlining its name in the class symbol
  • 18. Object Diagram • An object has state and therefore it is dynamic. • When we visualize its state, we are really specifying the value of its state at a given moment in time and space. • When we operate on object, we typically change its state; when you query an object, you don't change its state
  • 19. Object Diagram • Model the instances of things contained in class diagrams. • Shows a set of objects & their relationships at a point in time. • Use to model the static design view or static process view of a system. • It is not only important for visualizing, specifying, and documenting structural models, but also for constructing the static aspects of systems. • An object diagram covers a set of instances of the things found in a class diagram.
  • 21. Object Diagram • Commonly contain Objects and Links. Also may contain notes and constraints. • We say, If class A has a one-to-many association to class B, then for one instance of A there might be five instances of B; for another instance of A there might be only one instance of B. • To model an object diagram, • identify the mechanism you'd like to model that should represents some function or behavior of the part of the system you are modeling that results from the interaction of a society of classes, interfaces, and other things • Then create a collaboration to describe a mechanism.
  • 22. Object Diagram • To model an object diagram, • identify the mechanism you'd like to model that should represents some function or behavior of the part of the system you are modeling that results from the interaction of a society of classes, interfaces, and other things • Then create a collaboration to describe a mechanism. • For each mechanism, identify the classes, interfaces, and other elements that participate in this collaboration; identify the relationships among these things as well. • Expose the state and attribute values of each such object, as necessary, to understand the scenario. • Similarly, expose the links among these objects, representing instances of associations among them.
  • 23. Object Diagram : Example
  翻译: