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

Uml diagrams
Uml diagramsUml diagrams
Uml diagramsbarney92
 
Unit 2(advanced class modeling & state diagram)
Unit  2(advanced class modeling & state diagram)Unit  2(advanced class modeling & state diagram)
Unit 2(advanced class modeling & state diagram)Manoj Reddy
 
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
 
Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction ModelingHemant Sharma
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specificationlavanya marichamy
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML DiagramsManish Kumar
 
Line of Code (LOC) Matric and Function Point Matric
Line of Code (LOC) Matric and Function Point MatricLine of Code (LOC) Matric and Function Point Matric
Line of Code (LOC) Matric and Function Point MatricAnkush Singh
 
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
 
Class and object_diagram
Class  and object_diagramClass  and object_diagram
Class and object_diagramSadhana28
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented TestingAMITJain879
 
Uml structural diagrams
Uml structural diagramsUml structural diagrams
Uml structural diagramsSwathy T
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesionSutha31
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design conceptssrijavel
 
source code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquessource code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquesSiva Priya
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagramRamakant Soni
 
11 deployment diagrams
11 deployment diagrams11 deployment diagrams
11 deployment diagramsBaskarkncet
 

What's hot (20)

Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
Unit 2(advanced class modeling & state diagram)
Unit  2(advanced class modeling & state diagram)Unit  2(advanced class modeling & state diagram)
Unit 2(advanced class modeling & state diagram)
 
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)
 
Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction Modeling
 
Processes and threads
Processes and threadsProcesses and threads
Processes and threads
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
Cohesion and coupling
Cohesion and couplingCohesion and coupling
Cohesion and coupling
 
Line of Code (LOC) Matric and Function Point Matric
Line of Code (LOC) Matric and Function Point MatricLine of Code (LOC) Matric and Function Point Matric
Line of Code (LOC) Matric and Function Point Matric
 
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
 
Class and object_diagram
Class  and object_diagramClass  and object_diagram
Class and object_diagram
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
Uml structural diagrams
Uml structural diagramsUml structural diagrams
Uml structural diagrams
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesion
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
 
source code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquessource code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniques
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagram
 
Design notation
Design notationDesign notation
Design notation
 
11 deployment diagrams
11 deployment diagrams11 deployment diagrams
11 deployment diagrams
 

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
 
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
 
UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software EngineeringAmit Singh
 
Object Oriented Programming In .Net
Object Oriented Programming In .NetObject Oriented Programming In .Net
Object Oriented Programming In .NetGreg Sohl
 

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
 
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
 
UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software Engineering
 
Object Oriented Programming In .Net
Object Oriented Programming In .NetObject Oriented Programming In .Net
Object Oriented Programming In .Net
 

More from AMITJain879

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
 
Basic Structural Modeling
Basic Structural ModelingBasic Structural Modeling
Basic Structural ModelingAMITJain879
 
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)

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
 
Basic Structural Modeling
Basic Structural ModelingBasic Structural Modeling
Basic Structural Modeling
 
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

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
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
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
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
 

Recently uploaded (20)

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
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
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
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
 

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