SlideShare a Scribd company logo
1 of 24
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

More Related Content

What's hot

Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns pptAman Jain
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagramRamakant Soni
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagramRahul Pola
 
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 Modelsohailsaif
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologiesnaina-rani
 
Architectural modeling chapter 5 of omd
Architectural modeling chapter 5 of omdArchitectural modeling chapter 5 of omd
Architectural modeling chapter 5 of omdjayashri kolekar
 
Domain model Refinement
Domain model RefinementDomain model Refinement
Domain model RefinementAnjan Kumar
 
Object and class relationships
Object and class relationshipsObject and class relationships
Object and class relationshipsPooja mittal
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxKarthigaiSelviS3
 
11 deployment diagrams
11 deployment diagrams11 deployment diagrams
11 deployment diagramsBaskarkncet
 
The Object Model
The Object Model  The Object Model
The Object Model yndaravind
 
Evolutionary models
Evolutionary modelsEvolutionary models
Evolutionary modelsPihu Goel
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategiesSHREEHARI WADAWADAGI
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineeringMubashir Jutt
 
Basic Behavioral Modeling
Basic Behavioral ModelingBasic Behavioral Modeling
Basic Behavioral ModelingAMITJain879
 

What's hot (20)

Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns ppt
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagram
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
 
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
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 
Ooad
OoadOoad
Ooad
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 
Architectural modeling chapter 5 of omd
Architectural modeling chapter 5 of omdArchitectural modeling chapter 5 of omd
Architectural modeling chapter 5 of omd
 
Domain model Refinement
Domain model RefinementDomain model Refinement
Domain model Refinement
 
Object and class relationships
Object and class relationshipsObject and class relationships
Object and class relationships
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
11 deployment diagrams
11 deployment diagrams11 deployment diagrams
11 deployment diagrams
 
The Object Model
The Object Model  The Object Model
The Object Model
 
Analysis modelling
Analysis modellingAnalysis modelling
Analysis modelling
 
Evolutionary models
Evolutionary modelsEvolutionary models
Evolutionary models
 
Uml Common Mechanism
Uml Common MechanismUml Common Mechanism
Uml Common Mechanism
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineering
 
Class diagrams
Class diagramsClass diagrams
Class diagrams
 
Basic Behavioral Modeling
Basic Behavioral ModelingBasic Behavioral Modeling
Basic Behavioral Modeling
 

Similar to Advanced Structural Modeling

Architecture and design
Architecture and designArchitecture and design
Architecture and designhimanshu_airon
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxNwabueze Obioma
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling LanguageShahzad
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2Sisir Ghosh
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UMLyndaravind
 
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 diagramskebsterz
 
Class and object_diagram
Class  and object_diagramClass  and object_diagram
Class and object_diagramSadhana28
 
Introduction to Rational Rose
Introduction to Rational RoseIntroduction to Rational Rose
Introduction to Rational RoseMunaam Munawar
 
UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software EngineeringAmit Singh
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdfSHIVAM691605
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manualPraseela R
 

Similar to Advanced Structural Modeling (20)

Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
 
Interfaces & Packages V2
Interfaces & Packages V2Interfaces & Packages V2
Interfaces & Packages V2
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling Language
 
classdiagram.pptx
classdiagram.pptxclassdiagram.pptx
classdiagram.pptx
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2
 
SMD Unit ii
SMD Unit iiSMD Unit ii
SMD Unit ii
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
432
432432
432
 
Different Types Diagrams
Different Types Diagrams  Different Types Diagrams
Different Types Diagrams
 
08 class and sequence diagrams
08   class and sequence diagrams08   class and sequence diagrams
08 class and sequence diagrams
 
uml2-1214558329929112-8.ppt
uml2-1214558329929112-8.pptuml2-1214558329929112-8.ppt
uml2-1214558329929112-8.ppt
 
Class and object_diagram
Class  and object_diagramClass  and object_diagram
Class and object_diagram
 
Introduction to Rational Rose
Introduction to Rational RoseIntroduction to Rational Rose
Introduction to Rational Rose
 
Oomd unit1
Oomd unit1Oomd unit1
Oomd unit1
 
UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software Engineering
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
 
5 transition to design
5 transition to design5 transition to design
5 transition to design
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manual
 

More from AMITJain879

Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented TestingAMITJain879
 
Architectural Modeling
Architectural ModelingArchitectural Modeling
Architectural ModelingAMITJain879
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented DesignAMITJain879
 
Object Oriented Analysis
Object Oriented AnalysisObject Oriented Analysis
Object Oriented AnalysisAMITJain879
 
Introduction to Unified Modeling Language
Introduction to Unified Modeling LanguageIntroduction to Unified Modeling Language
Introduction to Unified Modeling LanguageAMITJain879
 
What is Object Orientation?
What is Object Orientation?What is Object Orientation?
What is Object Orientation?AMITJain879
 

More from AMITJain879 (6)

Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
Architectural Modeling
Architectural ModelingArchitectural Modeling
Architectural Modeling
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Object Oriented Analysis
Object Oriented AnalysisObject Oriented Analysis
Object Oriented Analysis
 
Introduction to Unified Modeling Language
Introduction to Unified Modeling LanguageIntroduction to Unified Modeling Language
Introduction to Unified Modeling Language
 
What is Object Orientation?
What is Object Orientation?What is Object Orientation?
What is Object Orientation?
 

Recently uploaded

Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 

Recently uploaded (20)

Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 

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