When designing a web application, drawing diagrams can help programmers understand the requirements of a project and test their mental model of implementation. UML diagrams can capture both application behaviors and data structures. Ones useful to web developers include the deployment, use case, sequence, and state diagrams. The best approach for using UML diagrams with modern web development methods like agile will also be discussed.
This is a one day workshop presentation, primarily on the new OMG Foundational UML specification for executable model semantics, but also discussing extensions for executable SysML (System Modeling Language) models.
This is an introduction to UML (Unified Modeling Language) given to people whom has no background on business modeling using UML. This is based on UML version 2.
Introduction to the Unified Modeling Language (UML)Marwa Ali Eissa
This Lesson covers the following topics :
Exploring the Benefits of Modeling Software
What Is a Model ?
Why Model software ?
OOSD as Model Transformation
Defining the UML
UML Elements
UML Diagrams
UML Diagrams Categories
UML CASE Tools
When designing a web application, drawing diagrams can help programmers understand the requirements of a project and test their mental model of implementation. UML diagrams can capture both application behaviors and data structures. Ones useful to web developers include the deployment, use case, sequence, and state diagrams. The best approach for using UML diagrams with modern web development methods like agile will also be discussed.
This is a one day workshop presentation, primarily on the new OMG Foundational UML specification for executable model semantics, but also discussing extensions for executable SysML (System Modeling Language) models.
This is an introduction to UML (Unified Modeling Language) given to people whom has no background on business modeling using UML. This is based on UML version 2.
Introduction to the Unified Modeling Language (UML)Marwa Ali Eissa
This Lesson covers the following topics :
Exploring the Benefits of Modeling Software
What Is a Model ?
Why Model software ?
OOSD as Model Transformation
Defining the UML
UML Elements
UML Diagrams
UML Diagrams Categories
UML CASE Tools
What is UML (Unified Modeling Language)?Eliza Wright
What is UML? Read our guide to learn all the answers, including which diagrams are made with the Unified Modeling Language and how you can create UML diagrams of your own.
Uml unified-modeling-language-presented by dileepmekhap
The Unified Modeling Language (UML) is used to specify, visualize, modify, construct and document the artifacts of an object-oriented software-intensive system under development.UML combines techniques from data modeling (entity relationship diagrams), business modeling (work flows), object modeling, and component modeling.
Unified Modeling Language (UML) is a modeling language, used for design. Designed based on OMG Standard, Object this helps to express and design documents, software. This is particularly useful for OO design. Here is a brief tutorial that talks about UML usage.
What is UML (Unified Modeling Language)?Eliza Wright
What is UML? Read our guide to learn all the answers, including which diagrams are made with the Unified Modeling Language and how you can create UML diagrams of your own.
Uml unified-modeling-language-presented by dileepmekhap
The Unified Modeling Language (UML) is used to specify, visualize, modify, construct and document the artifacts of an object-oriented software-intensive system under development.UML combines techniques from data modeling (entity relationship diagrams), business modeling (work flows), object modeling, and component modeling.
Unified Modeling Language (UML) is a modeling language, used for design. Designed based on OMG Standard, Object this helps to express and design documents, software. This is particularly useful for OO design. Here is a brief tutorial that talks about UML usage.
In this presentation i described about tourism in India. Like- Merit and Demerit, problem in tourism, rate of FTA's , some beautiful places in India and much more...
We at Globalwebtutors provide excellent services for UML Diagram Assignment help & UML Diagram Homework help. Our UML Diagram Online tutors are available for instant help for UML Diagram assignments & problems.
UML Diagram Homework help & UML Diagram tutors offer 24*7 services . Send your UML Diagram assignments at support@globalwebtutors.com or else upload it on the website. Instant Connect to us on live chat for UML Diagram assignment help & UML Diagram Homework help.
If you're new to UML, our UML tutorial can get you on the right path. Learn more about what The Unified Modeling Language is, what it does, and why it's important.
UML is not dead. Even if you feed your team with agile fuel, UML can save you some time and extra discussions. In this super short presentation we show you how we apply UML to speed up software requirement extractions.
Stop writing docs that nobody reads and go directly to the point!
Dye and Yielding Plants M.P. Dr. Azra khan PH.D. Research Paper ◄ vaquar khan ► ★✔
Natural Dye- Yielding plants Rajgarh District (M.P.)
Rajgarh district of Madhya Pradesh has been unexplored from floristic point of view.
A perusal of literature reveals that there is no publication pertaining to the floristic composition of the area.
It was therefore thought imperative to undertake the botanical survey of this unexplored but floristically rich district of state.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
2. What is UML?What is UML?
• We need to build models for Software-We need to build models for Software-
intensive systems.intensive systems.
• Just as there exists a common languageJust as there exists a common language
for construction industry, electronics/for construction industry, electronics/
electrical industry; UML is a commonelectrical industry; UML is a common
language for visual modeling in softwarelanguage for visual modeling in software
industry.industry.
3. What is UML?What is UML?
• UML is appropriate for modeling systemsUML is appropriate for modeling systems
ranging from enterprise informationranging from enterprise information
systems to distributed web applicationssystems to distributed web applications
and even to hard real time embeddedand even to hard real time embedded
systems.systems.
• UML is process independent(although itUML is process independent(although it
optimally can be used for RUP.)optimally can be used for RUP.)
4. What is UML?What is UML?
• The UML is language forThe UML is language for
visualizingvisualizing
specifyingspecifying
constructingconstructing
documentingdocumenting
the artifacts of a software intensive systemthe artifacts of a software intensive system
5. What is UML?What is UML?
• VisualizingVisualizing
Explicit model facilitates communication.Explicit model facilitates communication.
Some structures transcend what can beSome structures transcend what can be
represented in programming languagerepresented in programming language
Each symbol has well-defined semanticsEach symbol has well-defined semantics
behind itbehind it
6. What is UML?What is UML?
SpecifyingSpecifying
The UML addresses the specification of allThe UML addresses the specification of all
important analysis, design, andimportant analysis, design, and
implementation decisions.implementation decisions.
7. What is UML?What is UML?
ConstructingConstructing
Forward engineering: generation of code fromForward engineering: generation of code from
model into programming language.model into programming language.
Reverse engineering: reconstructing model fromReverse engineering: reconstructing model from
implementationimplementation
Round-trip engineering: going both waysRound-trip engineering: going both ways
8. What is UML?What is UML?
DocumentingDocumenting
Artifacts include:deliverables, such asArtifacts include:deliverables, such as
requirements documents,functionalrequirements documents,functional
specifications, and test plans.specifications, and test plans.
materials that are critical in controlling, measuring,materials that are critical in controlling, measuring,
and communicating about a system duringand communicating about a system during
development and after deploymentdevelopment and after deployment
9. Building blocks of UMLBuilding blocks of UML
• ThingsThings(icons/symbols)(icons/symbols)
• RelationshipsRelationships(among the things)(among the things)
• Diagrams(Diagrams(combination of things andcombination of things and
relationships)relationships)
• Extensibility Mechanisms(Extensibility Mechanisms(extendextend
vocabulary of UML)vocabulary of UML)
10. Diagrams in UMLDiagrams in UML
The following diagrams provide theThe following diagrams provide the staticstatic
viewview of the system.of the system.
Class DiagramClass Diagram
Object DiagramObject Diagram
Component DiagramComponent Diagram
Deployment DiagramDeployment Diagram
11. Diagrams in UMLDiagrams in UML
The following diagrams provide theThe following diagrams provide the dynamicdynamic
viewview of the system.of the system.
Use case DiagramUse case Diagram
Sequence DiagramSequence Diagram
Collaboration DiagramCollaboration Diagram
Statechart DiagramStatechart Diagram
Activity DiagramActivity Diagram
12. Diagrams in UMLDiagrams in UML
• Class Diagrams represent the static structure inClass Diagrams represent the static structure in
terms of classes and relationships.terms of classes and relationships.
• Object Diagrams represent object and theirObject Diagrams represent object and their
relationships.relationships.
• Use case Diagrams represent the functions of aUse case Diagrams represent the functions of a
system from the user’s point of view.system from the user’s point of view.
• Sequence Diagrams represent interactionsSequence Diagrams represent interactions
among the objects on time scaleamong the objects on time scale
13. Diagrams in UMLDiagrams in UML
• Collaboration Diagrams are a spatialCollaboration Diagrams are a spatial
representation of objects, links and interactionsrepresentation of objects, links and interactions
• Statechart Diagrams represent the behavior ofStatechart Diagrams represent the behavior of
an object in terms of its state changes.an object in terms of its state changes.
• Activity Diagrams represent the behavior of anActivity Diagrams represent the behavior of an
operation as a set of actionsoperation as a set of actions
14. Diagrams in UMLDiagrams in UML
• Component Diagrams represent theComponent Diagrams represent the
physical components of the application.physical components of the application.
• Deployment Diagrams represent theDeployment Diagrams represent the
deployment of the components ondeployment of the components on
particular pieces of hardware.particular pieces of hardware.
15. Class DiagramClass Diagram
• A class is represented by a rectangle in UMLA class is represented by a rectangle in UML
• Initial uppercase letterInitial uppercase letter
• first letter of second word capitalized.first letter of second word capitalized.
WashingMachine
Icon for class
16. Class DiagramClass Diagram
• Classes can be grouped into aClasses can be grouped into a packagepackage
• UML represents a package as a tabbed folder.UML represents a package as a tabbed folder.
Household Appliances
A UML package
17. Class DiagramClass Diagram
• AA classclass name with thename with the packagepackage name isname is
called acalled a pathname.pathname.
Household Appliances:: WashingMachine
18. Class DiagramClass Diagram
• AnAn attributeattribute is a property of a class.Itis a property of a class.It
describes a range of values that thedescribes a range of values that the
property may hold in objects(i.e.property may hold in objects(i.e.
instances)of that class.instances)of that class.WashingMachine
brandName
modelName
serialNumber
capacity
A class & its attributes
19. Class DiagramClass Diagram
• AnAn operationoperation is something that a class canis something that a class can
do, or that you(or another class)can do todo, or that you(or another class)can do to
a class.a class. WashingMachine
brandName
modelName
serialNumber
capacity
addClothes()
Removeclothes()
addDetergent()
turnOn()
21. Class DiagramClass Diagram
• ElidingEliding a class and use ofa class and use of ellipsisellipsis
WashingMachine
brandName
...
ellipsis
addClothes()
...
22. Class DiagramClass Diagram
• Use ofUse of stereotypesstereotypes
WashingMachine
<<id info>>
brandName
modelName
serialNumber
<<machine info>>
capacity
<<clothes related>>
addClothes()
stereotypes
(can be used to
organize a list
of attributes or
operations)
23. Class DiagramClass Diagram
• Use ofUse of constraintconstraint andand notesnotes
WashingMachine
brandName
modelName
serialNumber
capacity
addClothes()
removeClothes()
addDetergent()
turnOn()
{capacity=16
or 18 or 20 lb.}
constraint
Ref: Govt.std
EV5-2241 for
serial nos.
note
24. Class DiagramClass Diagram
• InterfaceInterface
An interface specifies the
externally-visible operations of a
class and/or component, and has no
implementation of its own. An
interface typically specifies only a
limited part of the behavior of a
class or component.
notation
interface
iconic
25. Class DiagramClass Diagram
• Interface: expanded form representationInterface: expanded form representation
using stereotype.using stereotype.
<<interface>>
ImageObserver
26. Class DiagramClass Diagram
• How to find classes?How to find classes?
Classes represent the vocabulary of anClasses represent the vocabulary of an
area of knowledge.Conversations with aarea of knowledge.Conversations with a
client or an expert in that area revealsclient or an expert in that area reveals
nouns that can become classes in anouns that can become classes in a
model and verbs that can becomemodel and verbs that can become
operations.operations.
27. Class DiagramClass Diagram
Class RelationshipsClass Relationships
• AssociationAssociation
• MultiplicityMultiplicity
• AggregationAggregation
• CompositionComposition
• DependencyDependency
• InheritanceInheritance
28. Class DiagramClass Diagram
• AssociationAssociation
An association between a player and aAn association between a player and a
teamteam
Player Team
Plays on
29. Class DiagramClass Diagram
• AssociationAssociation
Serves
{ordered}
CustomerBank Teller
Constraint on
association
30. Class DiagramClass Diagram
• Association classAssociation class
Person Company
Employee
Employer
contract
Role names
Association class
31. Class DiagramClass Diagram
• MultiplicityMultiplicity
Multiplicity denotes the no. of objects ofMultiplicity denotes the no. of objects of
one class that can relate to one object ofone class that can relate to one object of
an associated class.an associated class.
Player Team
Plays on5 1
33. Class DiagramClass Diagram
• AggregationAggregation
If two classes share associationIf two classes share association
relationship and one class can be said torelationship and one class can be said to
bebe a part of thea part of the otherother, the relationship is, the relationship is
called aggregation.called aggregation.
Aggregation expresses a relationshipAggregation expresses a relationship
between a ‘whole’ and its ‘ part’.between a ‘whole’ and its ‘ part’.
35. Class DiagramClass Diagram
• CompositionComposition
Composition is a strong type ofComposition is a strong type of
aggregation.Each component in aaggregation.Each component in a
composite can belong to just one whole.composite can belong to just one whole.
The composite is responsible for creationThe composite is responsible for creation
or deletion of itsor deletion of its part.part.
e.g. building and rooms, purchase ordere.g. building and rooms, purchase order
and order line.and order line.
37. Class DiagramClass Diagram
• DependencyDependency
When the behavior of one class dependsWhen the behavior of one class depends
on the structure and behavior of anotheron the structure and behavior of another
class, the relationship between them isclass, the relationship between them is
called dependency.called dependency.
38. Class DiagramClass Diagram
• DependencyDependency
If classes A and B do not share any of theIf classes A and B do not share any of the
structural relationships (association,structural relationships (association,
aggregation or composition) and class B isaggregation or composition) and class B is
passed as an argument to a function ofpassed as an argument to a function of
class A, then A is said to depend on B.class A, then A is said to depend on B.
40. Class DiagramClass Diagram
• InheritanceInheritance
When the classes haveWhen the classes have is a kind ofis a kind of relationshiprelationship
between them it is called inheritance.between them it is called inheritance.
The inheritance is explained byThe inheritance is explained by GeneralizationGeneralization
andand Specialization.Specialization.
The classesThe classes having inheritance relationship arehaving inheritance relationship are
parent and child classes.parent and child classes.
43. Use Case DiagramUse Case Diagram
• Use Case AnalysisUse Case Analysis
A software is judged ‘successful’ by its users andA software is judged ‘successful’ by its users and
not by developers.not by developers.
Developers can deliver a successful softwareDevelopers can deliver a successful software
only if they understand user requirements.only if they understand user requirements.
User requirements consists of detailedUser requirements consists of detailed
description of how they want to use the system.description of how they want to use the system.
44. Use Case DiagramUse Case Diagram
• What is a use case?What is a use case?
A use case is a description of a system’sA use case is a description of a system’s
behavior from a user’s standpoint.behavior from a user’s standpoint.
It is a collection of scenarios aboutIt is a collection of scenarios about
system’s use.system’s use.
Use case
A use case is shown
as an ellipse
45. Use Case DiagramUse Case Diagram
• Example: How to find the use cases for aExample: How to find the use cases for a
washing machine?washing machine?
Ask the question: Why would a userAsk the question: Why would a user
interact with the washing machine?interact with the washing machine?
The answer will describe the functionalityThe answer will describe the functionality
desired by the user. The verbs will givedesired by the user. The verbs will give
us the use cases of the system.us the use cases of the system.
46. Use Case DiagramUse Case Diagram
The washing machine as a system will haveThe washing machine as a system will have
following use cases.following use cases.
Wash
clothes
Rinse
clothes
Dry
clothes
User
47. Use Case DiagramUse Case Diagram
• ActorActor
An actor is anyone or anything thatAn actor is anyone or anything that
interacts with the system being built.interacts with the system being built.
While use cases describe anything that isWhile use cases describe anything that is
inside the system scope, actors areinside the system scope, actors are
anything that is outside the system scope.anything that is outside the system scope.
48. Use Case DiagramUse Case Diagram
• ActorActor
An actor is shown as a stick figure.An actor is shown as a stick figure.
Actor
49. Use Case DiagramUse Case Diagram
Use Case
User
Programmer Tester
Architect
Analyst
understands
implements
verifies
expresses
designs
50. Use Case DiagramUse Case Diagram
• Scenarios for the use case ‘Wash clothes’Scenarios for the use case ‘Wash clothes’
Open flap Machine starts washingOpen flap Machine starts washing
Add clothes If timer’s time is out,Add clothes If timer’s time is out,
Add soap machine gives alarmAdd soap machine gives alarm
Add waterAdd water
Close flapClose flap
Set modeSet mode
Set TimerSet Timer
This is the normal behavior
of the machine
51. Use Case DiagramUse Case Diagram
• The behavior of the machine may change inThe behavior of the machine may change in
exceptional cases.exceptional cases.
e.g. how would machine respond ife.g. how would machine respond if
-user overloads the machine-user overloads the machine
-user forgets to disengage drainage pipe-user forgets to disengage drainage pipe
-in the process of washing there is power-in the process of washing there is power
failurefailure
52. Use Case DiagramUse Case Diagram
• When a use case is described there couldWhen a use case is described there could
bebe
many sets of sequences/events which canmany sets of sequences/events which can
be categorized into-be categorized into-
1. Main Flow of events1. Main Flow of events
2. Alternate flow of events2. Alternate flow of events
3. Exceptional flow of events3. Exceptional flow of events
53. Use Case DiagramUse Case Diagram
• Primary and Secondary Use casesPrimary and Secondary Use cases
A primary use case is a description of set ofA primary use case is a description of set of
sequence of actions that a system (and actor)sequence of actions that a system (and actor)
perform, that yields an observable result of valueperform, that yields an observable result of value
to a particular actorto a particular actor
e.g Wash clothes is a primary use case becausee.g Wash clothes is a primary use case because
it returns the user, theit returns the user, the washedwashed clothes,clothes, anan
observable result of value to the userobservable result of value to the user
54. Use Case DiagramUse Case Diagram
Open flap Machine starts washingOpen flap Machine starts washing
Add clothes If timer’s time is out,Add clothes If timer’s time is out,
Add soap machine gives alarmAdd soap machine gives alarm
Add waterAdd water
Close flapClose flap
Set modeSet mode
Set TimerSet Timer
Load machine
Secondary use case
55. Use Case DiagramUse Case Diagram
• Load machine doesn’t return a completeLoad machine doesn’t return a complete
service of value.service of value.
Hence it is a Secondary Use CaseHence it is a Secondary Use Case
The secondary use case can be found byThe secondary use case can be found by
capturing common scenarios in Use Casecapturing common scenarios in Use Case
DescriptionsDescriptions
56. Use case RelationshipsUse case Relationships
<<include>>:<<include>>:
<<include>> relationship shows a necessary<<include>> relationship shows a necessary
connection between use cases.connection between use cases.
The included use case can be identified in twoThe included use case can be identified in two
ways.ways.
1.1. Included use case might be preexisting and inIncluded use case might be preexisting and in
the development of another use case , thethe development of another use case , the
same behavior is required.same behavior is required.
2.2. To pull the functionality out of the existing useTo pull the functionality out of the existing use
cases to form a new use case.cases to form a new use case.
57. Use case RelationshipsUse case Relationships
To use the <<include>> relationship the use casesTo use the <<include>> relationship the use cases
must conform to two constraints.:must conform to two constraints.:
1. The calling use case may only depend on the1. The calling use case may only depend on the
result from the called use case. It can have noresult from the called use case. It can have no
knowledge of the internal structure of the calledknowledge of the internal structure of the called
use case.use case.
2. The calling use case must always require the2. The calling use case must always require the
execution of the called use case. The use of theexecution of the called use case. The use of the
called use case is unconditional.called use case is unconditional.
58. Use case RelationshipsUse case Relationships
The included use case can be calledThe included use case can be called
independently by the actor.independently by the actor.
59. Use Case DiagramUse Case Diagram
• <<extend>><<extend>>
• It is used to show an optional behavior forIt is used to show an optional behavior for
a use case, which is required only undera use case, which is required only under
certain conditions.certain conditions.
• If two use cases are connected byIf two use cases are connected by extendextend
relationship, one is invoked if somerelationship, one is invoked if some
conditions occurs in another use case.conditions occurs in another use case.
60. Use Case DiagramUse Case Diagram
1………………
2………………
3 …[condition]
………………
………………
20 ……………
1…………
2…………
3…………
………….
………….
………….
10……….
False
True
Money
Overdrawn
Withdraw
Money
<<extend>>
61. Use case RelationshipsUse case Relationships
• Generalization / Inheritance :Generalization / Inheritance :
• Use case B is said to be inherited from use case A if :Use case B is said to be inherited from use case A if :
• 1.1. B is a specialized use case and A is more general oneB is a specialized use case and A is more general one
• 2.2. The child use case (B) inherits the behavior sequenceThe child use case (B) inherits the behavior sequence
of the parent (A) and may insert additional behavior into itof the parent (A) and may insert additional behavior into it
• 3.3. B can be said to be ‘is a kind of‘ AB can be said to be ‘is a kind of‘ A
62. Use case RelationshipsUse case Relationships
• 1.1. Read cardRead card 1.1. Read cardRead card
• 2.2. Get pin numberGet pin number 2.2. GetGet
pin numberpin number
• 3.3. Validate pin number 3.Validate pin number 3. Validate pinValidate pin
numbernumber
• 4.4. Get transaction 4.Get transaction 4. GetGet
transactiontransaction
• 5.5. Get amount 5.Get amount 5. Show balanceShow balance
• 6.6. Dispense money 6.Dispense money 6. Eject cardEject card
• 7 Print report7 Print report
• 8.8. Eject cardEject card
Perform
Transaction
Capturing commonality
Withdraw money Display balance
63. Enter the appropriate relationshipsEnter the appropriate relationships
for the following use case diagram forfor the following use case diagram for
ATMATM
64.
65. Use case Analysis : SummaryUse case Analysis : Summary
1.1. Find out possible users / actors for the systemsFind out possible users / actors for the systems
for whom is the system developed? Who are thefor whom is the system developed? Who are the
beneficiaries?beneficiaries?
2.2. Find out what fundamental services (Use Cases) the actors,Find out what fundamental services (Use Cases) the actors,
expect from the systemexpect from the system
-- why would an actor interact with the system ?-- why would an actor interact with the system ?
3.3. Depict the interactions between each actor and the servicesDepict the interactions between each actor and the services
the actor expects from the systemthe actor expects from the system
-- drawing a use case diagram-- drawing a use case diagram
4.4. Detail each use case in terms of scenarios / sequence ofDetail each use case in terms of scenarios / sequence of
actions performed by actors and systemactions performed by actors and system
-- develop use case documentation-- develop use case documentation
5.5. Find out relationships the various use cases may haveFind out relationships the various use cases may have
66. Use Case realizationUse Case realization
• Finding out key objects withFinding out key objects with
responsibilitiesresponsibilities
• Determining basic object interactionsDetermining basic object interactions
• Finding classes & determining classFinding classes & determining class
relationshipsrelationships
67. Discovering ObjectsDiscovering Objects
1.1. Underline the nouns that occur in all the relevant useUnderline the nouns that occur in all the relevant use
case scenarios.case scenarios.
2.2. Select the nouns / objects that might share theSelect the nouns / objects that might share the
responsibilities.responsibilities.
3.3. List the basic responsibilities that the objects shouldList the basic responsibilities that the objects should
share.share.
3.3. Match each object with well defined responsibilities.Match each object with well defined responsibilities.
4.4. Investigate if any conceptual objects are requiredInvestigate if any conceptual objects are required
5.5. Work out the (tentative) list of attributes and methodsWork out the (tentative) list of attributes and methods
to be supported by these objects, based on theirto be supported by these objects, based on their
responsibilitiesresponsibilities
68. Types Of ObjectsTypes Of Objects
Boundary Object Control Object Entity ObjectBoundary Object Control Object Entity Object
Input from
& output to
Environment
localized here
Processing and
flow of control
localized here
Storage of data
localized here
69. Objects in the systemObjects in the system
Boundary ObjectsBoundary Objects Control ObjectsControl Objects EntityEntity
ObjectsObjects
Card Reader Transaction Manager AccountCard Reader Transaction Manager Account
Display Validator TransactionDisplay Validator Transaction
PrinterPrinter
Boundary
Control
Entity
Packages
70. Interaction DiagramsInteraction Diagrams
The interaction diagrams are designed to modelThe interaction diagrams are designed to model
how the objects communicate in order tohow the objects communicate in order to
accomplish the tasks within the operation of theaccomplish the tasks within the operation of the
system.system.
The interaction diagram provides a pathwayThe interaction diagram provides a pathway
from the textual descriptions of behaviors in thefrom the textual descriptions of behaviors in the
scenarios to the operations required by thescenarios to the operations required by the
Class Diagram.Class Diagram.
71. Interaction DiagramsInteraction Diagrams
• Interaction diagrams can be modeled inInteraction diagrams can be modeled in
two ways.two ways.
1. Sequence Diagram: showing time1. Sequence Diagram: showing time
sequence of messages among thesequence of messages among the
objects.objects.
2. Collaboration Diagram: presents a2. Collaboration Diagram: presents a
structure oriented visualization.structure oriented visualization.
72. Sequence DiagramSequence Diagram
A sequence diagram is an interactionA sequence diagram is an interaction
diagram that emphasizes the timediagram that emphasizes the time
ordering of messages.ordering of messages.
A lifeline is a vertical dashed line thatA lifeline is a vertical dashed line that
represents the lifetime of an object.represents the lifetime of an object.
A focus of control is a tall, thin rectangle thatA focus of control is a tall, thin rectangle that
shows the period of time during which anshows the period of time during which an
object is performing an action.object is performing an action.
73.
74.
75. Sequence DiagramSequence Diagram
• A sequence diagram is drawn with respectA sequence diagram is drawn with respect
to a context such as System, Subsystemto a context such as System, Subsystem
or a use case.or a use case.
• Typically a sequence diagram will beTypically a sequence diagram will be
drawn for a use case.drawn for a use case.
76. Sequence DiagramSequence Diagram
Steps for drawing a sequenceSteps for drawing a sequence
diagram.diagram.
1.1. Identify the objects that take part in theIdentify the objects that take part in the
realization of the use case.realization of the use case.
2.2. Place the objects on the diagram fromPlace the objects on the diagram from
left to right.left to right.
3.3. Set the lifelines of the objects.Set the lifelines of the objects.
77. Sequence DiagramSequence Diagram
4.4. Starting with the message that initiatesStarting with the message that initiates
the interaction, layout each subsequentthe interaction, layout each subsequent
messages from top to bottom betweenmessages from top to bottom between
the lifelines.the lifelines.
5.5. Attach theAttach the notesnotes wherever necessary.wherever necessary.
78. Sequence DiagramSequence Diagram
• Types of messages:Types of messages:
Synchronous message:Synchronous message:
AA synchronous messagesynchronous message assumes that aassumes that a
return is needed, so the sender waits forreturn is needed, so the sender waits for
the return before proceeding with anythe return before proceeding with any
other activity.other activity.
A synchronous message is shown as a solidA synchronous message is shown as a solid
arrow with a bold head.arrow with a bold head.
79. Sequence DiagramSequence Diagram
Asynchronous message:Asynchronous message:
The sender just sends out the messageThe sender just sends out the message
and does not wait for a response.and does not wait for a response.
An asynchronous message is shown as aAn asynchronous message is shown as a
solid arrow with a stick head.solid arrow with a stick head.
80. Sequence DiagramSequence Diagram
• Return Message:Return Message:
A message that represent only the replyA message that represent only the reply
to a message is called ato a message is called a return.return.
A return is represented as a dashedA return is represented as a dashed
arrow .arrow .
-------------------
81. Sequence DiagramSequence Diagram
• Self-reference message:Self-reference message:
When the sender and the receiver of theWhen the sender and the receiver of the
message are the same object, it is calledmessage are the same object, it is called
as a self-reference message.as a self-reference message.
82. Collaboration DiagramCollaboration Diagram
A collaboration diagram is an interactionA collaboration diagram is an interaction
diagram that emphasizes the organizationdiagram that emphasizes the organization
of the objects that participate in theof the objects that participate in the
interaction.interaction.
You may have sequence numbers toYou may have sequence numbers to
indicate the time ordering of messages, toindicate the time ordering of messages, to
one or more levels.one or more levels.
83.
84.
85. Collaboration DiagramCollaboration Diagram
Case StudyCase Study
Convert the sequence diagram forConvert the sequence diagram for
GetCoffeeGetCoffee into the collaborationinto the collaboration
diagram.diagram.
86. State MachinesState Machines
• A state machine is a behavior that specifies theA state machine is a behavior that specifies the
sequences of states an object goes throughsequences of states an object goes through
during its lifetime in response to events, togetherduring its lifetime in response to events, together
with its response to those events.with its response to those events.
• A state machine is used to model the dynamicA state machine is used to model the dynamic
aspects of a system. It is drawn to model theaspects of a system. It is drawn to model the
lifetime of an instance of a class or a use caselifetime of an instance of a class or a use case
or an entire system.or an entire system.
87. State MachinesState Machines
• A state machine can be visualized in twoA state machine can be visualized in two
ways: by emphasizing the flow of controlways: by emphasizing the flow of control
from activity to activity( by activityfrom activity to activity( by activity
diagrams) or by emphasizing the potentialdiagrams) or by emphasizing the potential
states of the objects and the transitionsstates of the objects and the transitions
among those states (by state chartamong those states (by state chart
diagrams)diagrams)
88. State chart DiagramState chart Diagram
• It is drawn to show the states of a singleIt is drawn to show the states of a single
object or a subsystem.object or a subsystem.
• It consists of different states of an objectIt consists of different states of an object
triggered by different events and thetriggered by different events and the
signals.signals.
• It is especially useful in modeling reactiveIt is especially useful in modeling reactive
systems.systems.
89. State chart Diagram
A state is a condition in which an object can
reside during its lifetime while it satisfies
some condition, performs an activity, or waits
for an event.
.
90. StateState
• The state icon appears as a rectangle withThe state icon appears as a rectangle with
rounded corners and a name. It alsorounded corners and a name. It also
contains a compartment for actions:contains a compartment for actions:
Name
State variables
Activities
91. Initial and Final States
The initial state is the default starting place
for a state machine.
The final state indicates the completion of the
state machine’s execution.
Filled circle
Bull’s eye
92. State chart DiagramState chart Diagram
• TransitionTransition
A transition is a relationship between twoA transition is a relationship between two
states indicating that an object in the firststates indicating that an object in the first
state will perform certain actions and enterstate will perform certain actions and enter
the second state when a specified eventthe second state when a specified event
occurs and specified conditions areoccurs and specified conditions are
satisfied.satisfied.
93. State chart DiagramState chart Diagram
• Parts of a transitionParts of a transition
Idle
Cooling
Temprise[isSetVal]/startComp()
event Guard
condition action
Source state
Target state
94. State chart DiagramState chart Diagram
• AnAn eventevent is a significant occurrence thatis a significant occurrence that
can trigger a state transition.can trigger a state transition.
UML defines three kinds of events.UML defines three kinds of events.
1.1. Signal eventSignal event caused by acaused by a
signal(exceptions)signal(exceptions)
2.2. Call eventCall event caused by an operationcaused by an operation
3.3. Time eventTime event caused by the expiry of acaused by the expiry of a
timer delay.timer delay.
95. State chart DiagramState chart Diagram
• AA guard conditionguard condition is a Boolean expressionis a Boolean expression
enclosed in square brackets. It isenclosed in square brackets. It is
evaluated only after the event hasevaluated only after the event has
occurred.occurred.
• AnAn actionaction is an executable atomicis an executable atomic
computation. An action cannot becomputation. An action cannot be
interrupted.interrupted.
96.
97. State chart DiagramState chart Diagram
• Advanced StateAdvanced State
Using the basic features of the states andUsing the basic features of the states and
transitions in the UML we get thetransitions in the UML we get the FlatFlat
State MachinesState Machines which means a no. ofwhich means a no. of
arcs(transitions) and vertices(states).arcs(transitions) and vertices(states).
To manage the complexity, theTo manage the complexity, the AdvancedAdvanced
StatesStates are used.are used.
98. Faxing
Date=Current Date
Time=Fax Start Time
Phone No.=Owner Phone No.
Owner=Owner Name
Entry/key in remote fax no.
Exit/complete transmission
Do/ add date stamp
Do/time stamp
Do/add phone no.
Do/add owner
Do/ pull pages through
Do/paginate
Advanced
State
99. Entry and Exit Actions
An entry action is the first thing that occurs
each time an object enters a particular state.
An exit action is the last thing that occurs
each time an object leaves a particular state.
Tracking
entry/setMode(onTrack)
exit/setMode(offTrack)
100. Activities
An activity is an interruptible sequence of
actions that an object can perform while it
resides in a given state. (Actions are not
interruptible.)
Tracking
do/followTarget
102. Sub-statesSub-states
• Sequential SubstatesSequential Substates
These substates occur one after theThese substates occur one after the
other.other.
Awaiting
User
Input
Registering
User Input
Visualizing
User
Input
Working
i/p
Sequential substates within the GUI’s Working state
103. Awaiting
User
Input
Registering
User Input
Visualizing
User
Input
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
i/p
Working
Watch
System
Clock
Update
Display
[is interval over]
Concurrent substates proceed at the same time.
A dotted line separates concurrent substates.
106. History StatesHistory States
• Deep History StateDeep History State
If the history state remembers substates atIf the history state remembers substates at
all levels of nesting, then the history stateall levels of nesting, then the history state
isis deepdeep..
• Shallow History StateShallow History State
If the history state remembers only theIf the history state remembers only the
highest nested substate, the history statehighest nested substate, the history state
isis shallowshallow..
107. State chart DiagramState chart Diagram
• Case StudyCase Study
Draw the state-chart diagram for a fighter plane.Draw the state-chart diagram for a fighter plane.
The fighter plane has the warheads. It spots theThe fighter plane has the warheads. It spots the
targets using infrared imaging and fires air-to-airtargets using infrared imaging and fires air-to-air
missiles after locking the missile system with themissiles after locking the missile system with the
target. It camouflages the signaling while in thetarget. It camouflages the signaling while in the
range of an enemy radar and missile launchrange of an enemy radar and missile launch
system.system.
109. Why Activity Diagrams?
An activity diagram, which resembles a
flowchart, is useful for modeling workflows
and the details of operations.
110. Activity DiagramActivity Diagram
• It consists of :It consists of :
1. Activity /Action1. Activity /Action
2. Transitions2. Transitions
111. Activity DiagramActivity Diagram
• ActivitiesActivities
These can be decomposed into activitiesThese can be decomposed into activities
or actions.or actions.
These are not atomic and can beThese are not atomic and can be
interrupted.interrupted.
They take considerable time to complete.They take considerable time to complete.
112. Activity DiagramActivity Diagram
• Actions :Actions :
Cannot be decomposed further.Cannot be decomposed further.
They are atomic.They are atomic.
They generally take small time forThey generally take small time for
execution.execution.
Example: some expression forExample: some expression for
computation likecomputation like
y=ax+cy=ax+c
113. State Diagram Carryovers
The following items are common to state
diagrams and activity diagrams:
• activities
• actions
• transitions
• initial/final states
• guard conditions
Bid plan
Do construction
115. Branching
A branch has one incoming transition and two
or more outgoing transitions:
Charge credit
card
Hold in will-callMail tickets
[today 7 days before show] [today < 7 days before show]
116. Merging
A merge has two or more incoming transitions
and one outgoing transition:
Customer
sees show
Mail tickets Customer picks
up tickets
117. Forking
A fork represents the splitting of a single flow
of control into two or more concurrent flows
of control:
Receive order
Process orderLog order
118. Joining
A join represents the synchronization of two
or more flows of control into one sequential
flow of control:
Pay bill
Bill customerReceive product
119. Swimlanes
Swimlanes partition groups of activities based
on, for instance, business organizations:
Pay bill
Bill customerReceive product
Customer Billing
Editor's Notes
Activity diagrams provide a way to model the workflow of a business process. You can also use activity diagrams to model code-specific information such as a class operation. Activity diagrams are very similar to a flowchart because you can model a workflow from activity to activity. An activity diagram is basically a special case of a state machine in which most of the states are activities and most of the transitions are implicitly triggered by completion of the actions in the source activities. The main difference between activity diagrams and statecharts is activity diagrams are activity centric, while statecharts are state centric. An activity diagram is typically used for modeling the sequence of activities in a process, whereas a statechart is better suited to model the discrete stages of an object’s lifetime.