SlideShare a Scribd company logo
1 of 20
Class
• An interface is a collection of operations that specify a service of a class or component. An interface therefore
describes the externally visible behavior of that element.
• An interface might represent the complete behavior of a class or component or only a part of that behavior
• An interface defines a set of operation specifications (that is, their signatures) but never a set of operation
implementations.
• The declaration of an interface looks like a class with the keyword «interface» above the name; attributes are not
relevant, except sometimes to show constants.
• An interface provided by a class to the outside world is shown as a small circle attached to the class box by a line.
• An interface required by a class from some other class is shown as a small semicircle attached to the class box by a
line, as in Figure 2-2.
Interface
Use case
1. Dependency
In the following example, Student has a dependency on
College
• Second, an association is a structural relationship among classes that describes a set of links, a link being a
connection among objects that are instances of the classes.
• Aggregation is a special kind of association, representing a structural relationship between a whole and its parts.
• Graphically, an association is rendered as a solid line, possibly directed, occasionally including a label, and often
containing other adornments, such as multiplicity and end names, as in Figure 2-15.
2. Association
A multiplicity specifies whether the association is
mandatory or not. It has some lower bound and upper
bound.
Let's say that that there are 100 students in one college.
The college can have multiple students.
Aggregation
Aggregation is a special type of association that models a
whole- part relationship between aggregate and its parts.
For example, the class college is made up of one or more
student. In aggregation, the contained classes are never
totally dependent on the lifecycle of the container. Here,
the college will remain even if the student is not available.
Composition:
The composition is a special type of aggregation which
denotes strong ownership between two classes when one
class is a part of another class.
For example, if college is composed of classes student.
The college could contain many students, while each
student belongs to only one college. So, if college is not
functioning all the students also removed.
3. Generalization
A generalization helps to connect a subclass to its superclass. A sub-class is inherited from its
superclass. Generalization relationship can't be used to model interface implementation. Class diagram
allows inheriting from multiple super classes.
Example: Consider there exists a class named Person. A
student is a person. A faculty is a person. Therefore here
the relationship between student and person, similarly
faculty and person is generalization.
• Fourth, a realization is a semantic relationship between classifiers, wherein one classifier specifies a contract that
another classifier guarantees to carry out.
• You'll encounter realization relationships in two places: between interfaces and the classes or components that
realize them, and between use cases and the collaborations that realize them.
• Graphically, a realization relationship is rendered as a cross between a generalization and a dependency
relationship, as in Figure 2-17.
4. Realization
Example: A particular model of a car ‘GTB Fiorano’ that implements the blueprint of a car realizes
the abstraction.
Common Mechanisms in the UML
A building is made simpler and more harmonious by the conformance to a pattern of common features.
A house may be built in the Victorian or French country style largely by using certain architectural patterns that define
those styles. The same is true of the UML.
It is made simpler by the presence of four common mechanisms that apply consistently throughout the language.
1. Specifications
2. Adornments
3. Common divisions
4. Extensibility mechanisms
1. Specifications
• The UML is more than just a graphical language. Rather, behind every part of its graphical notation there is a
specification that provides a textual statement of the syntax and semantics of that building block.
• You use the UML's graphical notation to visualize a system; you use the UML's specification to state the system's
details.
2. Adornments
• A class's specification may include other details, such as whether it is abstract or the visibility of its attributes and
operations.
• Many of these details can be rendered as graphical or textual adornments to the class's basic rectangular
notation.
• Adornments are textual or graphical items that are added to an element's basic notation and are used to visualize
details from the element's specification
• For example, Figure 2-18 shows a class, adorned to indicate that it is an abstract class with two public, one
protected, and one private operation.
Figure 2-18. Adornments
3. Common Divisions
• In modeling object-oriented systems, the world often gets divided in several ways.
• First, there is the division of class and object. A class is an abstraction; an object is one concrete manifestation of that
abstraction.
• In the UML, you can model classes as well as objects, as shown in Figure 2-19.
• Graphically, the UML distinguishes an object by using the same symbol as its class and then simply underlying the
object's name.
Figure 2-19. Classes and Objects
• Second, there is the separation of interface and implementation.
• An interface declares a contract, and an implementation represents one concrete realization of that contract,
responsible for faithfully carrying out the interface's complete semantics.
Figure 2-20. Interfaces and Implementations
In this figure, there is one component named SpellingWizard.dll that provides (implements) two interfaces,
IUnknown and ISpelling. It also requires an interface, IDictionary, that must be provided by another
component.
• Third, there is the separation of type and role.
• The type declares the class of an entity, such as an object, an attribute, or a parameter.
• A role describes the meaning of an entity within its context, such as a class, component, or collaboration.
Figure 2-21. Part with role and type
4. Extensibility Mechanisms
• The UML provides a standard language for writing software blueprints, but it is not possible for
one closed language to ever be sufficient to express all possible nuances of all models across all
domains across all time.
• For this reason, the UML is opened-ended, making it possible for you to extend the language in
controlled ways. The UML's extensibility mechanisms include
• Stereotypes
• Tagged values
• Constraints
i. Stereotypes :
A stereotype is an extension of the vocabulary of the UML, allowing you to create new
kinds of building blocks similar to existing ones but specific to your problem.
Graphically, a stereotype is rendered as a name enclosed by guillemets (French quotation
marks of the form « »), placed above the name of another element.
ii. Tagged Values
• Every thing in the UML has its own set of properties: classes have names, attributes, and operations;
associations have names and two or more ends, each with its own properties; and so on.
• With stereotypes, you can add new things to the UML; with tagged values, you can add new properties to a
stereotype.
iii. Constraints
• Everything in the UML has its own semantics. Generalization and multiple associations connected to one
class denote distinct relationships.
• With constraints, you can add new semantics or extend existing rules. A constraint specifies conditions that a
run-time configuration must satisfy to conform to the model.
Diagrams
A diagram is the graphical presentation of a set of elements, most often rendered as a connected graph of vertices (things)
and arcs (relationships).
• Typically, you'll view the static parts of a system using one of the following diagrams.
1. Class diagram
2. Component diagram
3. Composite structure diagram
4. Object diagram
5. Deployment diagram
6. Artifact diagram
• You'll often use five additional diagrams to view the dynamic parts of a system.
1. Use case diagram
2. Sequence diagram
3. Communication diagram
4. State diagram
Structural Diagrams
• The UML's structural diagrams exist to visualize, specify, construct, and document the static aspects of a
system.
• You can think of the static aspects of a system as representing its relatively stable skeleton and scaffolding
Behavioral Diagrams
• The UML's behavioral diagrams are used to visualize, specify, construct, and document the dynamic aspects
of a system.
• You can think of the dynamic aspects of a system as representing its changing parts.
Interaction diagram
Class Diagram
• Class Diagram gives the static view of an application.
• This view primarily supports the functional requirements of a system the services the system should provide to its
end users.
• A class diagram describes the types of objects in the system and the different types of relationships that exist among
them.
• UML Class Diagram gives an overview of a software system by displaying classes, attributes, operations, and their
relationships.
Essential elements of A UML class diagram
• Class Name: Every class must have a name that distinguishes it from others. A name is a textual string.
• Attributes: An attribute is named property of a class which describes the object being modeled.
• Operations: It is the implementation of a service that can be requested from any object of the class to affect
behavior.
Example:

More Related Content

What's hot

What's hot (20)

Uml Omg Fundamental Certification 1
Uml Omg Fundamental Certification 1Uml Omg Fundamental Certification 1
Uml Omg Fundamental Certification 1
 
Intro Uml
Intro UmlIntro Uml
Intro Uml
 
Slide 5 Class Diagram
Slide 5 Class DiagramSlide 5 Class Diagram
Slide 5 Class Diagram
 
UML Modeling in Java
UML Modeling in JavaUML Modeling in Java
UML Modeling in Java
 
Uml
UmlUml
Uml
 
Class diagrams
Class diagramsClass diagrams
Class diagrams
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Uml
UmlUml
Uml
 
UML Diagram Assignment Help, UML Diagram Homework Help
UML Diagram Assignment Help, UML Diagram Homework HelpUML Diagram Assignment Help, UML Diagram Homework Help
UML Diagram Assignment Help, UML Diagram Homework Help
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Uml Common Mechanism
Uml Common MechanismUml Common Mechanism
Uml Common Mechanism
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Uml class diagram and packages ppt for dot net
Uml class diagram and packages ppt for dot netUml class diagram and packages ppt for dot net
Uml class diagram and packages ppt for dot net
 
UML Trainings
UML TrainingsUML Trainings
UML Trainings
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
 
UML Class Diagram G-3-122139
UML Class Diagram G-3-122139UML Class Diagram G-3-122139
UML Class Diagram G-3-122139
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineering
 
Class diagram presentation
Class diagram presentationClass diagram presentation
Class diagram presentation
 
UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software Engineering
 
Behavioural modelling
Behavioural modellingBehavioural modelling
Behavioural modelling
 

Similar to Class and Interface Relationships

Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manualPraseela R
 
UNIT-3 Design Using UML (1).pptx
UNIT-3 Design Using UML (1).pptxUNIT-3 Design Using UML (1).pptx
UNIT-3 Design Using UML (1).pptxviju001
 
Uml tool tutorial
Uml tool tutorialUml tool tutorial
Uml tool tutorialittkrish
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.pptRAJESH S
 
Uml package diagram
Uml package  diagramUml package  diagram
Uml package diagramVedaraj M
 
06 class diagrams
06 class diagrams06 class diagrams
06 class diagramsBaskarkncet
 
Understanding unified modelling language
Understanding unified modelling languageUnderstanding unified modelling language
Understanding unified modelling languageEmmanuel Kumah
 
Unified Modelling Language
Unified Modelling LanguageUnified Modelling Language
Unified Modelling LanguageJismy .K.Jose
 
Lecture 4-oop class diagram
Lecture 4-oop class diagramLecture 4-oop class diagram
Lecture 4-oop class diagramktuonlinenotes
 
Advanced Structural Modeling
Advanced Structural ModelingAdvanced Structural Modeling
Advanced Structural ModelingAMITJain879
 

Similar to Class and Interface Relationships (20)

Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manual
 
Ooad static diagram
Ooad static diagramOoad static diagram
Ooad static diagram
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 
UNIT-3 Design Using UML (1).pptx
UNIT-3 Design Using UML (1).pptxUNIT-3 Design Using UML (1).pptx
UNIT-3 Design Using UML (1).pptx
 
Uml tool tutorial
Uml tool tutorialUml tool tutorial
Uml tool tutorial
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.ppt
 
Class diagram
Class diagramClass diagram
Class diagram
 
Uml package diagram
Uml package  diagramUml package  diagram
Uml package diagram
 
classdiagram.pptx
classdiagram.pptxclassdiagram.pptx
classdiagram.pptx
 
OOP_Module 2.pptx
OOP_Module 2.pptxOOP_Module 2.pptx
OOP_Module 2.pptx
 
06 class diagrams
06 class diagrams06 class diagrams
06 class diagrams
 
Understanding unified modelling language
Understanding unified modelling languageUnderstanding unified modelling language
Understanding unified modelling language
 
Unified Modelling Language
Unified Modelling LanguageUnified Modelling Language
Unified Modelling Language
 
Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
 
OOSE UNIT-2.pdf
OOSE UNIT-2.pdfOOSE UNIT-2.pdf
OOSE UNIT-2.pdf
 
UML tutorial
UML tutorialUML tutorial
UML tutorial
 
Uml overview modified
Uml overview modifiedUml overview modified
Uml overview modified
 
Lecture 4-oop class diagram
Lecture 4-oop class diagramLecture 4-oop class diagram
Lecture 4-oop class diagram
 
Css uml
Css umlCss uml
Css uml
 
Advanced Structural Modeling
Advanced Structural ModelingAdvanced Structural Modeling
Advanced Structural Modeling
 

More from Madhar Khan Pathan

Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringMadhar Khan Pathan
 

More from Madhar Khan Pathan (20)

Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Generic process model
Generic process modelGeneric process model
Generic process model
 
Software Myths
Software MythsSoftware Myths
Software Myths
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 

Recently uploaded

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
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
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
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
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
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
 
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
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
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.
 

Recently uploaded (20)

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
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
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
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
 
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...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
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
 
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)
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
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 ...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 

Class and Interface Relationships

  • 1.
  • 2.
  • 4. • An interface is a collection of operations that specify a service of a class or component. An interface therefore describes the externally visible behavior of that element. • An interface might represent the complete behavior of a class or component or only a part of that behavior • An interface defines a set of operation specifications (that is, their signatures) but never a set of operation implementations. • The declaration of an interface looks like a class with the keyword «interface» above the name; attributes are not relevant, except sometimes to show constants. • An interface provided by a class to the outside world is shown as a small circle attached to the class box by a line. • An interface required by a class from some other class is shown as a small semicircle attached to the class box by a line, as in Figure 2-2. Interface
  • 6. 1. Dependency In the following example, Student has a dependency on College
  • 7. • Second, an association is a structural relationship among classes that describes a set of links, a link being a connection among objects that are instances of the classes. • Aggregation is a special kind of association, representing a structural relationship between a whole and its parts. • Graphically, an association is rendered as a solid line, possibly directed, occasionally including a label, and often containing other adornments, such as multiplicity and end names, as in Figure 2-15. 2. Association
  • 8. A multiplicity specifies whether the association is mandatory or not. It has some lower bound and upper bound. Let's say that that there are 100 students in one college. The college can have multiple students. Aggregation Aggregation is a special type of association that models a whole- part relationship between aggregate and its parts. For example, the class college is made up of one or more student. In aggregation, the contained classes are never totally dependent on the lifecycle of the container. Here, the college will remain even if the student is not available. Composition: The composition is a special type of aggregation which denotes strong ownership between two classes when one class is a part of another class. For example, if college is composed of classes student. The college could contain many students, while each student belongs to only one college. So, if college is not functioning all the students also removed.
  • 9. 3. Generalization A generalization helps to connect a subclass to its superclass. A sub-class is inherited from its superclass. Generalization relationship can't be used to model interface implementation. Class diagram allows inheriting from multiple super classes. Example: Consider there exists a class named Person. A student is a person. A faculty is a person. Therefore here the relationship between student and person, similarly faculty and person is generalization.
  • 10. • Fourth, a realization is a semantic relationship between classifiers, wherein one classifier specifies a contract that another classifier guarantees to carry out. • You'll encounter realization relationships in two places: between interfaces and the classes or components that realize them, and between use cases and the collaborations that realize them. • Graphically, a realization relationship is rendered as a cross between a generalization and a dependency relationship, as in Figure 2-17. 4. Realization Example: A particular model of a car ‘GTB Fiorano’ that implements the blueprint of a car realizes the abstraction.
  • 11. Common Mechanisms in the UML A building is made simpler and more harmonious by the conformance to a pattern of common features. A house may be built in the Victorian or French country style largely by using certain architectural patterns that define those styles. The same is true of the UML. It is made simpler by the presence of four common mechanisms that apply consistently throughout the language. 1. Specifications 2. Adornments 3. Common divisions 4. Extensibility mechanisms 1. Specifications • The UML is more than just a graphical language. Rather, behind every part of its graphical notation there is a specification that provides a textual statement of the syntax and semantics of that building block. • You use the UML's graphical notation to visualize a system; you use the UML's specification to state the system's details.
  • 12. 2. Adornments • A class's specification may include other details, such as whether it is abstract or the visibility of its attributes and operations. • Many of these details can be rendered as graphical or textual adornments to the class's basic rectangular notation. • Adornments are textual or graphical items that are added to an element's basic notation and are used to visualize details from the element's specification • For example, Figure 2-18 shows a class, adorned to indicate that it is an abstract class with two public, one protected, and one private operation. Figure 2-18. Adornments
  • 13. 3. Common Divisions • In modeling object-oriented systems, the world often gets divided in several ways. • First, there is the division of class and object. A class is an abstraction; an object is one concrete manifestation of that abstraction. • In the UML, you can model classes as well as objects, as shown in Figure 2-19. • Graphically, the UML distinguishes an object by using the same symbol as its class and then simply underlying the object's name. Figure 2-19. Classes and Objects
  • 14. • Second, there is the separation of interface and implementation. • An interface declares a contract, and an implementation represents one concrete realization of that contract, responsible for faithfully carrying out the interface's complete semantics. Figure 2-20. Interfaces and Implementations In this figure, there is one component named SpellingWizard.dll that provides (implements) two interfaces, IUnknown and ISpelling. It also requires an interface, IDictionary, that must be provided by another component. • Third, there is the separation of type and role. • The type declares the class of an entity, such as an object, an attribute, or a parameter. • A role describes the meaning of an entity within its context, such as a class, component, or collaboration. Figure 2-21. Part with role and type
  • 15. 4. Extensibility Mechanisms • The UML provides a standard language for writing software blueprints, but it is not possible for one closed language to ever be sufficient to express all possible nuances of all models across all domains across all time. • For this reason, the UML is opened-ended, making it possible for you to extend the language in controlled ways. The UML's extensibility mechanisms include • Stereotypes • Tagged values • Constraints i. Stereotypes : A stereotype is an extension of the vocabulary of the UML, allowing you to create new kinds of building blocks similar to existing ones but specific to your problem. Graphically, a stereotype is rendered as a name enclosed by guillemets (French quotation marks of the form « »), placed above the name of another element.
  • 16. ii. Tagged Values • Every thing in the UML has its own set of properties: classes have names, attributes, and operations; associations have names and two or more ends, each with its own properties; and so on. • With stereotypes, you can add new things to the UML; with tagged values, you can add new properties to a stereotype.
  • 17. iii. Constraints • Everything in the UML has its own semantics. Generalization and multiple associations connected to one class denote distinct relationships. • With constraints, you can add new semantics or extend existing rules. A constraint specifies conditions that a run-time configuration must satisfy to conform to the model.
  • 18. Diagrams A diagram is the graphical presentation of a set of elements, most often rendered as a connected graph of vertices (things) and arcs (relationships). • Typically, you'll view the static parts of a system using one of the following diagrams. 1. Class diagram 2. Component diagram 3. Composite structure diagram 4. Object diagram 5. Deployment diagram 6. Artifact diagram • You'll often use five additional diagrams to view the dynamic parts of a system. 1. Use case diagram 2. Sequence diagram 3. Communication diagram 4. State diagram Structural Diagrams • The UML's structural diagrams exist to visualize, specify, construct, and document the static aspects of a system. • You can think of the static aspects of a system as representing its relatively stable skeleton and scaffolding Behavioral Diagrams • The UML's behavioral diagrams are used to visualize, specify, construct, and document the dynamic aspects of a system. • You can think of the dynamic aspects of a system as representing its changing parts. Interaction diagram
  • 19. Class Diagram • Class Diagram gives the static view of an application. • This view primarily supports the functional requirements of a system the services the system should provide to its end users. • A class diagram describes the types of objects in the system and the different types of relationships that exist among them. • UML Class Diagram gives an overview of a software system by displaying classes, attributes, operations, and their relationships. Essential elements of A UML class diagram • Class Name: Every class must have a name that distinguishes it from others. A name is a textual string. • Attributes: An attribute is named property of a class which describes the object being modeled. • Operations: It is the implementation of a service that can be requested from any object of the class to affect behavior.