SlideShare a Scribd company logo
Chapter 1 – Introduction
The UML notation:
• UML (Unified Modeling Language) is a standard language for
specifying, visualizing, constructing, and documenting the artifacts of
software systems.
• UML was created by the Object Management Group (OMG) and UML
1.0 specification draft was proposed to the OMG in January 1997.
• It was initially started to capture the behavior of complex software
and non-software system and now it has become an OMG standard
• UML stands for Unified Modeling Language.
• UML is different from the other common programming languages
such as C++, Java, COBOL, etc.
• UML is a pictorial language used to make software blueprints.
• General purpose visual modeling language to visualize, specify,
construct, and document software system.
• Also used to model non-software systems as well. For example, the
process flow in a manufacturing unit, etc.
Goals of UML
• Define some general purpose modeling language, which all modelers
can use and it also needs to be made simple to understand and use
• Also for business users, common people, and anybody interested to
understand the system.
• It accompanies with processes to make it a successful system.
• simple modeling mechanism to model all possible practical systems in
today’s complex environment.
A Conceptual Model of UML
• A conceptual model –
• a model which is made of concepts and their relationships.
• First step before drawing a UML diagram.
• It helps to understand the entities in the real world and how they
interact with each other.
• The conceptual model of UML can be mastered by learning the
following three major elements −
• UML building blocks
• Rules to connect the building blocks
• Common mechanisms of UML
building blocks of UML
• Things
• Relationships
• Diagrams
• Things
can be −
• Structural
• Behavioral
• Grouping
• Annotational
• Structural Things
• Defines static part of the model.
• Represent the physical and conceptual elements.
• Following are the brief descriptions of the structural things.
• Class − Class represents a set of objects having similar responsibilities.
• Interface − Interface defines a set of operations, which specify the responsibility of a
class.
• Collaboration −Collaboration defines an interaction between elements.
• Use case −Use case represents a set of actions performed by a system for a specific goal.
• Component −Component describes the physical part of a system.
• Node − A node can be defined as a physical element that exists at run time.
• Behavioral Things
• Consists of the dynamic parts of UML models.
• Following are the behavioral things −
• Interaction − Group of messages exchanged among elements to accomplish a specific task.
• State machine − It defines the sequence of states an object goes through in response to events.
• Events are external factors responsible for state change
• Grouping Things
• Mechanism to group elements of a UML model together.
• There is only one grouping thing available −
• Package − Package is the only one grouping thing available for gathering structural and
behavioral thing
• Annotational Things
• Mechanism to capture remarks, descriptions, and comments of UML model
elements.
• Note - It is the only one Annotational thing available.
• A note is used to render comments, constraints, etc. of an UML element.
•Relationship
• It shows how the elements are associated with each other
• Association describes the functionality of an application.
• four kinds of relationships
Dependency
• Dependency is a relationship between two things in which change in one element also
affects the other.
Association
• Set of links that connects the elements of a UML model.
• How many objects are taking part in that relationship
Generalization
• Relationship which connects a specialized element with a generalized element.
• It basically describes the inheritance relationship in the world of objects
Realization
• Relationship in which two elements are connected.
• One element describes some responsibility, which is not implemented and the other one
implements them. This relationship exists in case of interfaces.
• UML Diagrams
• All the elements, relationships are used to make a complete UML diagram and the diagram
represents a system.
• Nine diagrams.
• Class diagram
• Object diagram
• Use case diagram
• Sequence diagram
• Collaboration diagram
• Activity diagram
• State chart diagram
• Deployment diagram
• Component diagram
UML - Basic Notations
• UML notations are the most important elements in modeling.
• Efficient and appropriate use of notations is very important for making a complete and
meaningful model.
• Different notations are available for things and relationships.
• UML diagrams are made using the notations of things and relationships.
• Extensibility is another important feature which makes UML more powerful and flexible.
• Structural Things
• Classes
• Object
• Interface
• Collaboration
• Use case
• Active classes
• Components
• Nodes
• Class Notation
• Classes are used to represent objects.
• Objects can be anything having properties and responsibility
• The diagram is divided into four parts.
• The top section is used to name the class.
• The second one is used to show the attributes of the class.
• The third section is used to describe the operations performed by the class.
• The fourth section is optional to show any additional components.
• Object Notation
• The object is represented in the same way as the class. The only difference is the name which is
underlined as shown in the following figure
• As the object is an actual implementation of a class
• known as the instance of a class. Hence, it has the same usage as the class.
• Interface Notation
• Interface is represented by a circle as shown in the following figure.
• It has a name which is generally written below the circle.
• Describe the functionality without implementation.
• Interface is just like a template where you define different functions, not the implementation.
• When a class implements the interface, it also implements the functionality as per requirement.
• Collaboration Notation
• Collaboration is represented by a dotted eclipse .
• It has a name written inside the eclipse.
• Collaboration represents responsibilities.
• Responsibilities are in a group.
• Use Case Notation
• Use case is represented as an eclipse
with a name inside it. It may contain
additional responsibilities
• Use case is used to capture high level
functionalities of a system.
• Actor Notation
• An actor can be defined as some internal or
external entity that interacts with the system
• Initial State Notation
• Initial state is defined to show the start of a
process. This notation is used in almost all
diagrams.
• The usage of Initial State Notation is to
show the starting point of a process.
• Final State Notation
• Final state is used to show the end of a
process. This notation is also used in almost all
diagrams to describe the end.
• The usage of Final State Notation is to show
the termination point of a process.
• Component Notation
• A component in UML is shown in the
following figure with a name inside.
Additional elements can be added wherever
required.
• Component is used to represent any part of
a system for which UML diagrams are made.
• Node Notation
• A node in UML is represented by a square box
as shown in the following figure with a name.
A node represents the physical component of
the system.
• Node is used to represent the physical part of
a system such as the server, network, etc.
• Behavioral Things
• Dynamic parts are one of the most important elements in UML.
• UML has a set of powerful features to represent the dynamic part of
software and non-software systems. These features
include interactions and state machines.
• Interactions can be of two types −
• Sequential (Represented by sequence diagram)
• Collaborative (Represented by collaboration diagram
• Interaction Notation
• Interaction is basically a message exchange between two UML components.
• The following diagram represents different notations used in an interaction.
Interaction represent
communication among the
components of System
• State Machine Notation
• State machine describes the different states of a component in its life cycle.
• The state can be active, idle, or any other depending upon the situation.
• Grouping Things
• Organizing the UML models is one of the most important aspects of the
design. In UML, there is only one element available for grouping and that is
package.
• Package Notation
• Package notation is shown in the following figure and is used to wrap the components of
a system.
• Annotational Things
• In any diagram, explanation of different elements and their functionalities are
very important. Hence, UML has notes notation to support this requirement.
• Note Notation
• This notation is shown in the following figure.
• These notations are used to provide necessary information of a system.
• Relationships
• A model is not complete unless the relationships between elements are described
properly.
• The Relationship gives a proper meaning to a UML model.
• Following are the different types of relationships available in UML.
• Dependency
• Association
• Generalization
• Extensibility
• Dependency Notation
• Dependency is an important aspect in UML elements.
• It describes the dependent elements and the direction of dependency.
• Dependency is represented by a dotted arrow as shown in the following figure.
• The arrow head represents the independent element and the other end represents the
dependent element.
• Dependency is used to represent the dependency between two elements of a system
• Association Notation
• Association describes how the elements in a UML diagram are associated.
• It describes how many elements are taking part in an interaction.
• Association is represented by a dotted line with (without) arrows on both sides. The two
ends represent two associated elements as shown in the following figure. The multiplicity
is also mentioned at the ends (1, *, etc.) to show how many objects are associated.
• Association is used to represent the relationship between two elements of a system
• Generalization Notation
• Generalization describes the inheritance relationship of the object-oriented world.
• Generalization is represented by an arrow with a hollow arrow head as shown in the following
figure.
• One end represents the parent element and the other end represents the child element.
• Generalization is used to describe parent-child relationship of two elements of a system.
• Extensibility Notation
• All the languages (programming or modeling) have some mechanism to extend its capabilities such as
syntax, semantics, etc.
• UML also has the following mechanisms to provide extensibility features.
• Stereotypes (Represents new elements)
• Tagged values (Represents new attributes)
• Constraints (Represents the boundaries)
• Extensibility notations are used to enhance the power of the language. It is basically additional elements
used to represent some extra behavior of the system. These extra behaviors are not covered by the standard
available notations.
•
Process Unified Process / Rational Unified Process
• The Rational Unified Process is a Software Engineering Process.
• It provides a disciplined approach to assigning tasks and responsibilities within a
development organization.
• Its goal is to ensure the production of high-quality software that meets the needs of its end-
users, within a predictable schedule and budget.
• The Rational Unified Process framework was initially created by the Rational Software
Corporation, which was bought out by IBM in 2003.
• The Rational Unified Process is based on a few fundamental ideas, such as the phases of
development and the building blocks, which define who, what, when, and how
development will take place.
• The Rational Unified Process enhances team productivity, by providing every team
member with easy access to a knowledge base with guidelines, templates and tool
mentors for all critical development activities.
• The Rational Unified Process activities create and maintain models.
• Rather than focusing on the production of large amount of paper documents, the
Unified Process emphasizes the development and maintenance of models—semantically
rich representations of the software system under development.
Phases and Iterations
• Inception phase
• In this phase the business case which includes business context, success factors (expected
revenue, market recognition, etc.), and financial forecast is established.
• To complement the business case, a basic use case model, project plan, initial risk assessment and
project description (the core project requirements, constraints and key features) are generated.
After these are completed, the project is checked against the following criteria:
• Stakeholder concurrence on scope definition and cost/schedule estimates.
• Requirements understanding as evidenced by the fidelity of the primary use cases.
• Credibility of the cost/schedule estimates, priorities, risks, and development process.
• Depth and breadth of any architectural prototype that was developed
• Establishing a baseline by which to compare actual expenditures versus planned expenditures.
• Elaboration phase
• The elaboration phase is where the project starts to take shape.
• In this phase the problem domain analysis is made and the architecture of the project gets its
basic form.
• The outcome of the elaboration phase is:
• A use-case model in which the use-cases and the actors have been identified and most of the use-
case descriptions are developed. The use-case model should be 80% complete.
• A description of the software architecture in a software system development process.
• An executable architecture that realizes architecturally significant use cases.
• Business case and risk list which are revised.
• A development plan for the overall project.
• Prototypes that demonstrably mitigate each identified technical risk.
• A preliminary user manual (optional)
• This phase must pass the lifecycle architecture milestone criteria answering the following
questions:
• Is the vision of the product stable?
• Is the architecture stable?
• Does the executable demonstration indicate that major risk elements are addressed and resolved?
• Is the construction phase plan sufficiently detailed and accurate?
• Do all stakeholders agree that the current vision can be achieved using current plan in the context
of the current architecture?
• Is the actual vs. planned resource expenditure acceptable?
• Construction phase
• The primary objective is to build the software system.
• The main focus is on the development of components and other features of the system.
• This is the phase when the bulk of the coding takes place.
• In larger projects, several construction iterations may be developed in an effort to divide
the use cases into manageable segments produce demonstrable prototypes.
• Transition phase
• The primary objective is to 'transit' the system from development into production, making
it available to and understood by the end user.
• The activities of this phase include training the end users and maintainers and beta testing
the system to validate it against the end users' expectations.
• The system also goes through an evaluation phase, any developer which is not producing
the required work is replaced or removed.
• The product is also checked against the quality level set in the Inception phase.
• If all objectives are met, the product release milestone is reached and the development
cycle is finished.
Reference
• Pattern – Oriented Software Architecture (POSA) Volume 1. By :
Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad,
Michael Stal
Chapter 1_UML Introduction.ppt

More Related Content

Similar to Chapter 1_UML Introduction.ppt (20)

UML and Case study
UML and Case study UML and Case study
UML and Case study
Mihika-QA
 
Experiment no
Experiment noExperiment no
Experiment no
hinamunjal
 
Modeling software with UML
Modeling software with UMLModeling software with UML
Modeling software with UML
6020 peaks
 
analysis and design with uml
analysis and design with umlanalysis and design with uml
analysis and design with uml
sabin kafle
 
UML Intro
UML IntroUML Intro
UML Intro
koppenolski
 
UML Diagrams.ppt
UML Diagrams.pptUML Diagrams.ppt
UML Diagrams.ppt
MuhammadjonRahmatull
 
UML Diagrams.pptxUML DiagramsUML DiagramsUML Diagrams
UML Diagrams.pptxUML DiagramsUML DiagramsUML DiagramsUML Diagrams.pptxUML DiagramsUML DiagramsUML Diagrams
UML Diagrams.pptxUML DiagramsUML DiagramsUML Diagrams
BDAVUITBDA
 
Lect-4: UML diagrams - Unified Modeling Language - SPM
Lect-4: UML diagrams - Unified Modeling Language - SPMLect-4: UML diagrams - Unified Modeling Language - SPM
Lect-4: UML diagrams - Unified Modeling Language - SPM
Mubashir Ali
 
UML Diagrams_UNIT III.ppt
UML Diagrams_UNIT III.pptUML Diagrams_UNIT III.ppt
UML Diagrams_UNIT III.ppt
KavithaMuralidharan2
 
Class diagrams are a type of UML (Unified Modeling Language) diagram used in ...
Class diagrams are a type of UML (Unified Modeling Language) diagram used in ...Class diagrams are a type of UML (Unified Modeling Language) diagram used in ...
Class diagrams are a type of UML (Unified Modeling Language) diagram used in ...
NALESVPMEngg
 
UML Diagrams.ppt
UML Diagrams.pptUML Diagrams.ppt
UML Diagrams.ppt
jeyasrig
 
Uml Diagrams
Uml DiagramsUml Diagrams
Uml Diagrams
university of education,Lahore
 
Introduction to Unified Modeling Language
Introduction to Unified Modeling LanguageIntroduction to Unified Modeling Language
Introduction to Unified Modeling Language
AMITJain879
 
Object-Oriented Analysis and Design report
Object-Oriented Analysis and Design reportObject-Oriented Analysis and Design report
Object-Oriented Analysis and Design report
ritikapoudel2017
 
Ch 2.1
Ch 2.1Ch 2.1
Ch 2.1
mahammed rashid
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
Muhammad Tahir Mehmood
 
Capturing System Behaviour
Capturing System BehaviourCapturing System Behaviour
Capturing System Behaviour
university of education,Lahore
 
1. introduction to uml
1. introduction to uml1. introduction to uml
1. introduction to uml
PRABU M
 
Uml tutorial
Uml tutorialUml tutorial
Uml tutorial
Minh Pham
 
Uml tutorial
Uml tutorialUml tutorial
Uml tutorial
Saurabh Goel
 
UML and Case study
UML and Case study UML and Case study
UML and Case study
Mihika-QA
 
Modeling software with UML
Modeling software with UMLModeling software with UML
Modeling software with UML
6020 peaks
 
analysis and design with uml
analysis and design with umlanalysis and design with uml
analysis and design with uml
sabin kafle
 
UML Diagrams.pptxUML DiagramsUML DiagramsUML Diagrams
UML Diagrams.pptxUML DiagramsUML DiagramsUML DiagramsUML Diagrams.pptxUML DiagramsUML DiagramsUML Diagrams
UML Diagrams.pptxUML DiagramsUML DiagramsUML Diagrams
BDAVUITBDA
 
Lect-4: UML diagrams - Unified Modeling Language - SPM
Lect-4: UML diagrams - Unified Modeling Language - SPMLect-4: UML diagrams - Unified Modeling Language - SPM
Lect-4: UML diagrams - Unified Modeling Language - SPM
Mubashir Ali
 
Class diagrams are a type of UML (Unified Modeling Language) diagram used in ...
Class diagrams are a type of UML (Unified Modeling Language) diagram used in ...Class diagrams are a type of UML (Unified Modeling Language) diagram used in ...
Class diagrams are a type of UML (Unified Modeling Language) diagram used in ...
NALESVPMEngg
 
UML Diagrams.ppt
UML Diagrams.pptUML Diagrams.ppt
UML Diagrams.ppt
jeyasrig
 
Introduction to Unified Modeling Language
Introduction to Unified Modeling LanguageIntroduction to Unified Modeling Language
Introduction to Unified Modeling Language
AMITJain879
 
Object-Oriented Analysis and Design report
Object-Oriented Analysis and Design reportObject-Oriented Analysis and Design report
Object-Oriented Analysis and Design report
ritikapoudel2017
 
1. introduction to uml
1. introduction to uml1. introduction to uml
1. introduction to uml
PRABU M
 
Uml tutorial
Uml tutorialUml tutorial
Uml tutorial
Minh Pham
 

Recently uploaded (20)

Treatment of TMDS.by Dr.Devraj Neupane(MDS Resedent)
Treatment of TMDS.by Dr.Devraj Neupane(MDS Resedent)Treatment of TMDS.by Dr.Devraj Neupane(MDS Resedent)
Treatment of TMDS.by Dr.Devraj Neupane(MDS Resedent)
Dr.Devraj Neupane
 
hybridoma technology and Monoclonal_antibodies.pptx
hybridoma technology and Monoclonal_antibodies.pptxhybridoma technology and Monoclonal_antibodies.pptx
hybridoma technology and Monoclonal_antibodies.pptx
aqsarehman5055
 
Gene Expression & Regulation in Eukaryotes.pptx
Gene Expression & Regulation in Eukaryotes.pptxGene Expression & Regulation in Eukaryotes.pptx
Gene Expression & Regulation in Eukaryotes.pptx
Muhammad Hassan Asadi
 
AI for Program Specifications Berkeley May 2025.pdf
AI for Program Specifications Berkeley May 2025.pdfAI for Program Specifications Berkeley May 2025.pdf
AI for Program Specifications Berkeley May 2025.pdf
shuvendulahiri1
 
CloakingNote: A Novel Desktop Interface for Subtle Writing Using Decoy Texts
CloakingNote: A Novel Desktop Interface for Subtle Writing Using Decoy TextsCloakingNote: A Novel Desktop Interface for Subtle Writing Using Decoy Texts
CloakingNote: A Novel Desktop Interface for Subtle Writing Using Decoy Texts
sehilyi
 
Multi-View Design Patterns & 
Responsive Visualization for
Genomics Data
Multi-View Design Patterns & 
Responsive Visualization for
Genomics DataMulti-View Design Patterns & 
Responsive Visualization for
Genomics Data
Multi-View Design Patterns & 
Responsive Visualization for
Genomics Data
sehilyi
 
Science in retreat: The consequences for the Arctic and our planet
Science in retreat: The consequences for the Arctic and our planetScience in retreat: The consequences for the Arctic and our planet
Science in retreat: The consequences for the Arctic and our planet
Zachary Labe
 
The COCONUT Natural Products Database, Talk at ICCS 2025
The COCONUT Natural Products Database, Talk at ICCS 2025The COCONUT Natural Products Database, Talk at ICCS 2025
The COCONUT Natural Products Database, Talk at ICCS 2025
Christoph Steinbeck
 
Understanding Visualization Authoring for Genomics Data through User Interviews
Understanding Visualization Authoring for Genomics Data through User InterviewsUnderstanding Visualization Authoring for Genomics Data through User Interviews
Understanding Visualization Authoring for Genomics Data through User Interviews
sehilyi
 
Morphological and biochemical characterization in Rice
Morphological and biochemical characterization in RiceMorphological and biochemical characterization in Rice
Morphological and biochemical characterization in Rice
AbhishekChauhan911496
 
The Role of Visualization in Genomics Data Analysis Workflows: The Interviews
The Role of Visualization in Genomics Data Analysis Workflows: The InterviewsThe Role of Visualization in Genomics Data Analysis Workflows: The Interviews
The Role of Visualization in Genomics Data Analysis Workflows: The Interviews
sehilyi
 
Campbell Biology Chapter 2 & 3 - HANDOUT-3.pdf
Campbell Biology Chapter 2 & 3 - HANDOUT-3.pdfCampbell Biology Chapter 2 & 3 - HANDOUT-3.pdf
Campbell Biology Chapter 2 & 3 - HANDOUT-3.pdf
maylordbewithyoujian
 
Toward Understanding Representation Methods in Visualization Recommendations ...
Toward Understanding Representation Methods in Visualization Recommendations ...Toward Understanding Representation Methods in Visualization Recommendations ...
Toward Understanding Representation Methods in Visualization Recommendations ...
sehilyi
 
Kim Sandwich Biomes Project Science 10.pptx
Kim Sandwich Biomes Project Science 10.pptxKim Sandwich Biomes Project Science 10.pptx
Kim Sandwich Biomes Project Science 10.pptx
asantos691
 
Telehealth For Maternal and Child Health: Expanding Access (www.kiu.ac.ug)
Telehealth For Maternal and Child Health: Expanding  Access (www.kiu.ac.ug)Telehealth For Maternal and Child Health: Expanding  Access (www.kiu.ac.ug)
Telehealth For Maternal and Child Health: Expanding Access (www.kiu.ac.ug)
publication11
 
Learnable and Expressive Visualization Authoring through Blended Interfaces
Learnable and Expressive Visualization Authoring through Blended InterfacesLearnable and Expressive Visualization Authoring through Blended Interfaces
Learnable and Expressive Visualization Authoring through Blended Interfaces
sehilyi
 
Entomopath angrau third year path 365pdf
Entomopath angrau third year path 365pdfEntomopath angrau third year path 365pdf
Entomopath angrau third year path 365pdf
zap6635
 
Kenneth S. Krane - Introductory Nuclear Physics (1988, John Wiley & Sons, Inc...
Kenneth S. Krane - Introductory Nuclear Physics (1988, John Wiley & Sons, Inc...Kenneth S. Krane - Introductory Nuclear Physics (1988, John Wiley & Sons, Inc...
Kenneth S. Krane - Introductory Nuclear Physics (1988, John Wiley & Sons, Inc...
slayer420op
 
Class 2-Def symp and N.ppt .soil science
Class 2-Def symp and N.ppt .soil scienceClass 2-Def symp and N.ppt .soil science
Class 2-Def symp and N.ppt .soil science
anithadasappara2001
 
BOT-245_Breeding_of_Field_and_Horticultural_Crops.pdf
BOT-245_Breeding_of_Field_and_Horticultural_Crops.pdfBOT-245_Breeding_of_Field_and_Horticultural_Crops.pdf
BOT-245_Breeding_of_Field_and_Horticultural_Crops.pdf
zap6635
 
Treatment of TMDS.by Dr.Devraj Neupane(MDS Resedent)
Treatment of TMDS.by Dr.Devraj Neupane(MDS Resedent)Treatment of TMDS.by Dr.Devraj Neupane(MDS Resedent)
Treatment of TMDS.by Dr.Devraj Neupane(MDS Resedent)
Dr.Devraj Neupane
 
hybridoma technology and Monoclonal_antibodies.pptx
hybridoma technology and Monoclonal_antibodies.pptxhybridoma technology and Monoclonal_antibodies.pptx
hybridoma technology and Monoclonal_antibodies.pptx
aqsarehman5055
 
Gene Expression & Regulation in Eukaryotes.pptx
Gene Expression & Regulation in Eukaryotes.pptxGene Expression & Regulation in Eukaryotes.pptx
Gene Expression & Regulation in Eukaryotes.pptx
Muhammad Hassan Asadi
 
AI for Program Specifications Berkeley May 2025.pdf
AI for Program Specifications Berkeley May 2025.pdfAI for Program Specifications Berkeley May 2025.pdf
AI for Program Specifications Berkeley May 2025.pdf
shuvendulahiri1
 
CloakingNote: A Novel Desktop Interface for Subtle Writing Using Decoy Texts
CloakingNote: A Novel Desktop Interface for Subtle Writing Using Decoy TextsCloakingNote: A Novel Desktop Interface for Subtle Writing Using Decoy Texts
CloakingNote: A Novel Desktop Interface for Subtle Writing Using Decoy Texts
sehilyi
 
Multi-View Design Patterns & 
Responsive Visualization for
Genomics Data
Multi-View Design Patterns & 
Responsive Visualization for
Genomics DataMulti-View Design Patterns & 
Responsive Visualization for
Genomics Data
Multi-View Design Patterns & 
Responsive Visualization for
Genomics Data
sehilyi
 
Science in retreat: The consequences for the Arctic and our planet
Science in retreat: The consequences for the Arctic and our planetScience in retreat: The consequences for the Arctic and our planet
Science in retreat: The consequences for the Arctic and our planet
Zachary Labe
 
The COCONUT Natural Products Database, Talk at ICCS 2025
The COCONUT Natural Products Database, Talk at ICCS 2025The COCONUT Natural Products Database, Talk at ICCS 2025
The COCONUT Natural Products Database, Talk at ICCS 2025
Christoph Steinbeck
 
Understanding Visualization Authoring for Genomics Data through User Interviews
Understanding Visualization Authoring for Genomics Data through User InterviewsUnderstanding Visualization Authoring for Genomics Data through User Interviews
Understanding Visualization Authoring for Genomics Data through User Interviews
sehilyi
 
Morphological and biochemical characterization in Rice
Morphological and biochemical characterization in RiceMorphological and biochemical characterization in Rice
Morphological and biochemical characterization in Rice
AbhishekChauhan911496
 
The Role of Visualization in Genomics Data Analysis Workflows: The Interviews
The Role of Visualization in Genomics Data Analysis Workflows: The InterviewsThe Role of Visualization in Genomics Data Analysis Workflows: The Interviews
The Role of Visualization in Genomics Data Analysis Workflows: The Interviews
sehilyi
 
Campbell Biology Chapter 2 & 3 - HANDOUT-3.pdf
Campbell Biology Chapter 2 & 3 - HANDOUT-3.pdfCampbell Biology Chapter 2 & 3 - HANDOUT-3.pdf
Campbell Biology Chapter 2 & 3 - HANDOUT-3.pdf
maylordbewithyoujian
 
Toward Understanding Representation Methods in Visualization Recommendations ...
Toward Understanding Representation Methods in Visualization Recommendations ...Toward Understanding Representation Methods in Visualization Recommendations ...
Toward Understanding Representation Methods in Visualization Recommendations ...
sehilyi
 
Kim Sandwich Biomes Project Science 10.pptx
Kim Sandwich Biomes Project Science 10.pptxKim Sandwich Biomes Project Science 10.pptx
Kim Sandwich Biomes Project Science 10.pptx
asantos691
 
Telehealth For Maternal and Child Health: Expanding Access (www.kiu.ac.ug)
Telehealth For Maternal and Child Health: Expanding  Access (www.kiu.ac.ug)Telehealth For Maternal and Child Health: Expanding  Access (www.kiu.ac.ug)
Telehealth For Maternal and Child Health: Expanding Access (www.kiu.ac.ug)
publication11
 
Learnable and Expressive Visualization Authoring through Blended Interfaces
Learnable and Expressive Visualization Authoring through Blended InterfacesLearnable and Expressive Visualization Authoring through Blended Interfaces
Learnable and Expressive Visualization Authoring through Blended Interfaces
sehilyi
 
Entomopath angrau third year path 365pdf
Entomopath angrau third year path 365pdfEntomopath angrau third year path 365pdf
Entomopath angrau third year path 365pdf
zap6635
 
Kenneth S. Krane - Introductory Nuclear Physics (1988, John Wiley & Sons, Inc...
Kenneth S. Krane - Introductory Nuclear Physics (1988, John Wiley & Sons, Inc...Kenneth S. Krane - Introductory Nuclear Physics (1988, John Wiley & Sons, Inc...
Kenneth S. Krane - Introductory Nuclear Physics (1988, John Wiley & Sons, Inc...
slayer420op
 
Class 2-Def symp and N.ppt .soil science
Class 2-Def symp and N.ppt .soil scienceClass 2-Def symp and N.ppt .soil science
Class 2-Def symp and N.ppt .soil science
anithadasappara2001
 
BOT-245_Breeding_of_Field_and_Horticultural_Crops.pdf
BOT-245_Breeding_of_Field_and_Horticultural_Crops.pdfBOT-245_Breeding_of_Field_and_Horticultural_Crops.pdf
BOT-245_Breeding_of_Field_and_Horticultural_Crops.pdf
zap6635
 
Ad

Chapter 1_UML Introduction.ppt

  • 1. Chapter 1 – Introduction
  • 2. The UML notation: • UML (Unified Modeling Language) is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems. • UML was created by the Object Management Group (OMG) and UML 1.0 specification draft was proposed to the OMG in January 1997. • It was initially started to capture the behavior of complex software and non-software system and now it has become an OMG standard
  • 3. • UML stands for Unified Modeling Language. • UML is different from the other common programming languages such as C++, Java, COBOL, etc. • UML is a pictorial language used to make software blueprints. • General purpose visual modeling language to visualize, specify, construct, and document software system. • Also used to model non-software systems as well. For example, the process flow in a manufacturing unit, etc.
  • 4. Goals of UML • Define some general purpose modeling language, which all modelers can use and it also needs to be made simple to understand and use • Also for business users, common people, and anybody interested to understand the system. • It accompanies with processes to make it a successful system. • simple modeling mechanism to model all possible practical systems in today’s complex environment.
  • 5. A Conceptual Model of UML • A conceptual model – • a model which is made of concepts and their relationships. • First step before drawing a UML diagram. • It helps to understand the entities in the real world and how they interact with each other. • The conceptual model of UML can be mastered by learning the following three major elements − • UML building blocks • Rules to connect the building blocks • Common mechanisms of UML
  • 6. building blocks of UML • Things • Relationships • Diagrams • Things can be − • Structural • Behavioral • Grouping • Annotational
  • 7. • Structural Things • Defines static part of the model. • Represent the physical and conceptual elements. • Following are the brief descriptions of the structural things. • Class − Class represents a set of objects having similar responsibilities.
  • 8. • Interface − Interface defines a set of operations, which specify the responsibility of a class. • Collaboration −Collaboration defines an interaction between elements. • Use case −Use case represents a set of actions performed by a system for a specific goal.
  • 9. • Component −Component describes the physical part of a system. • Node − A node can be defined as a physical element that exists at run time.
  • 10. • Behavioral Things • Consists of the dynamic parts of UML models. • Following are the behavioral things − • Interaction − Group of messages exchanged among elements to accomplish a specific task. • State machine − It defines the sequence of states an object goes through in response to events. • Events are external factors responsible for state change
  • 11. • Grouping Things • Mechanism to group elements of a UML model together. • There is only one grouping thing available − • Package − Package is the only one grouping thing available for gathering structural and behavioral thing
  • 12. • Annotational Things • Mechanism to capture remarks, descriptions, and comments of UML model elements. • Note - It is the only one Annotational thing available. • A note is used to render comments, constraints, etc. of an UML element.
  • 13. •Relationship • It shows how the elements are associated with each other • Association describes the functionality of an application. • four kinds of relationships Dependency • Dependency is a relationship between two things in which change in one element also affects the other. Association • Set of links that connects the elements of a UML model. • How many objects are taking part in that relationship
  • 14. Generalization • Relationship which connects a specialized element with a generalized element. • It basically describes the inheritance relationship in the world of objects Realization • Relationship in which two elements are connected. • One element describes some responsibility, which is not implemented and the other one implements them. This relationship exists in case of interfaces.
  • 15. • UML Diagrams • All the elements, relationships are used to make a complete UML diagram and the diagram represents a system. • Nine diagrams. • Class diagram • Object diagram • Use case diagram • Sequence diagram • Collaboration diagram • Activity diagram • State chart diagram • Deployment diagram • Component diagram
  • 16. UML - Basic Notations • UML notations are the most important elements in modeling. • Efficient and appropriate use of notations is very important for making a complete and meaningful model. • Different notations are available for things and relationships. • UML diagrams are made using the notations of things and relationships. • Extensibility is another important feature which makes UML more powerful and flexible.
  • 17. • Structural Things • Classes • Object • Interface • Collaboration • Use case • Active classes • Components • Nodes
  • 18. • Class Notation • Classes are used to represent objects. • Objects can be anything having properties and responsibility • The diagram is divided into four parts. • The top section is used to name the class. • The second one is used to show the attributes of the class. • The third section is used to describe the operations performed by the class. • The fourth section is optional to show any additional components.
  • 19. • Object Notation • The object is represented in the same way as the class. The only difference is the name which is underlined as shown in the following figure • As the object is an actual implementation of a class • known as the instance of a class. Hence, it has the same usage as the class.
  • 20. • Interface Notation • Interface is represented by a circle as shown in the following figure. • It has a name which is generally written below the circle. • Describe the functionality without implementation. • Interface is just like a template where you define different functions, not the implementation. • When a class implements the interface, it also implements the functionality as per requirement.
  • 21. • Collaboration Notation • Collaboration is represented by a dotted eclipse . • It has a name written inside the eclipse. • Collaboration represents responsibilities. • Responsibilities are in a group.
  • 22. • Use Case Notation • Use case is represented as an eclipse with a name inside it. It may contain additional responsibilities • Use case is used to capture high level functionalities of a system. • Actor Notation • An actor can be defined as some internal or external entity that interacts with the system
  • 23. • Initial State Notation • Initial state is defined to show the start of a process. This notation is used in almost all diagrams. • The usage of Initial State Notation is to show the starting point of a process. • Final State Notation • Final state is used to show the end of a process. This notation is also used in almost all diagrams to describe the end. • The usage of Final State Notation is to show the termination point of a process.
  • 24. • Component Notation • A component in UML is shown in the following figure with a name inside. Additional elements can be added wherever required. • Component is used to represent any part of a system for which UML diagrams are made. • Node Notation • A node in UML is represented by a square box as shown in the following figure with a name. A node represents the physical component of the system. • Node is used to represent the physical part of a system such as the server, network, etc.
  • 25. • Behavioral Things • Dynamic parts are one of the most important elements in UML. • UML has a set of powerful features to represent the dynamic part of software and non-software systems. These features include interactions and state machines. • Interactions can be of two types − • Sequential (Represented by sequence diagram) • Collaborative (Represented by collaboration diagram
  • 26. • Interaction Notation • Interaction is basically a message exchange between two UML components. • The following diagram represents different notations used in an interaction. Interaction represent communication among the components of System
  • 27. • State Machine Notation • State machine describes the different states of a component in its life cycle. • The state can be active, idle, or any other depending upon the situation.
  • 28. • Grouping Things • Organizing the UML models is one of the most important aspects of the design. In UML, there is only one element available for grouping and that is package. • Package Notation • Package notation is shown in the following figure and is used to wrap the components of a system.
  • 29. • Annotational Things • In any diagram, explanation of different elements and their functionalities are very important. Hence, UML has notes notation to support this requirement. • Note Notation • This notation is shown in the following figure. • These notations are used to provide necessary information of a system.
  • 30. • Relationships • A model is not complete unless the relationships between elements are described properly. • The Relationship gives a proper meaning to a UML model. • Following are the different types of relationships available in UML. • Dependency • Association • Generalization • Extensibility
  • 31. • Dependency Notation • Dependency is an important aspect in UML elements. • It describes the dependent elements and the direction of dependency. • Dependency is represented by a dotted arrow as shown in the following figure. • The arrow head represents the independent element and the other end represents the dependent element. • Dependency is used to represent the dependency between two elements of a system
  • 32. • Association Notation • Association describes how the elements in a UML diagram are associated. • It describes how many elements are taking part in an interaction. • Association is represented by a dotted line with (without) arrows on both sides. The two ends represent two associated elements as shown in the following figure. The multiplicity is also mentioned at the ends (1, *, etc.) to show how many objects are associated. • Association is used to represent the relationship between two elements of a system
  • 33. • Generalization Notation • Generalization describes the inheritance relationship of the object-oriented world. • Generalization is represented by an arrow with a hollow arrow head as shown in the following figure. • One end represents the parent element and the other end represents the child element. • Generalization is used to describe parent-child relationship of two elements of a system.
  • 34. • Extensibility Notation • All the languages (programming or modeling) have some mechanism to extend its capabilities such as syntax, semantics, etc. • UML also has the following mechanisms to provide extensibility features. • Stereotypes (Represents new elements) • Tagged values (Represents new attributes) • Constraints (Represents the boundaries) • Extensibility notations are used to enhance the power of the language. It is basically additional elements used to represent some extra behavior of the system. These extra behaviors are not covered by the standard available notations. •
  • 35. Process Unified Process / Rational Unified Process • The Rational Unified Process is a Software Engineering Process. • It provides a disciplined approach to assigning tasks and responsibilities within a development organization. • Its goal is to ensure the production of high-quality software that meets the needs of its end- users, within a predictable schedule and budget. • The Rational Unified Process framework was initially created by the Rational Software Corporation, which was bought out by IBM in 2003. • The Rational Unified Process is based on a few fundamental ideas, such as the phases of development and the building blocks, which define who, what, when, and how development will take place.
  • 36. • The Rational Unified Process enhances team productivity, by providing every team member with easy access to a knowledge base with guidelines, templates and tool mentors for all critical development activities. • The Rational Unified Process activities create and maintain models. • Rather than focusing on the production of large amount of paper documents, the Unified Process emphasizes the development and maintenance of models—semantically rich representations of the software system under development.
  • 37. Phases and Iterations • Inception phase • In this phase the business case which includes business context, success factors (expected revenue, market recognition, etc.), and financial forecast is established. • To complement the business case, a basic use case model, project plan, initial risk assessment and project description (the core project requirements, constraints and key features) are generated. After these are completed, the project is checked against the following criteria: • Stakeholder concurrence on scope definition and cost/schedule estimates. • Requirements understanding as evidenced by the fidelity of the primary use cases. • Credibility of the cost/schedule estimates, priorities, risks, and development process. • Depth and breadth of any architectural prototype that was developed • Establishing a baseline by which to compare actual expenditures versus planned expenditures.
  • 38. • Elaboration phase • The elaboration phase is where the project starts to take shape. • In this phase the problem domain analysis is made and the architecture of the project gets its basic form. • The outcome of the elaboration phase is: • A use-case model in which the use-cases and the actors have been identified and most of the use- case descriptions are developed. The use-case model should be 80% complete. • A description of the software architecture in a software system development process. • An executable architecture that realizes architecturally significant use cases. • Business case and risk list which are revised. • A development plan for the overall project. • Prototypes that demonstrably mitigate each identified technical risk. • A preliminary user manual (optional)
  • 39. • This phase must pass the lifecycle architecture milestone criteria answering the following questions: • Is the vision of the product stable? • Is the architecture stable? • Does the executable demonstration indicate that major risk elements are addressed and resolved? • Is the construction phase plan sufficiently detailed and accurate? • Do all stakeholders agree that the current vision can be achieved using current plan in the context of the current architecture? • Is the actual vs. planned resource expenditure acceptable?
  • 40. • Construction phase • The primary objective is to build the software system. • The main focus is on the development of components and other features of the system. • This is the phase when the bulk of the coding takes place. • In larger projects, several construction iterations may be developed in an effort to divide the use cases into manageable segments produce demonstrable prototypes.
  • 41. • Transition phase • The primary objective is to 'transit' the system from development into production, making it available to and understood by the end user. • The activities of this phase include training the end users and maintainers and beta testing the system to validate it against the end users' expectations. • The system also goes through an evaluation phase, any developer which is not producing the required work is replaced or removed. • The product is also checked against the quality level set in the Inception phase. • If all objectives are met, the product release milestone is reached and the development cycle is finished.
  • 42. Reference • Pattern – Oriented Software Architecture (POSA) Volume 1. By : Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal