SlideShare uma empresa Scribd logo
1 de 48
UML Lecture Series UML SIG Requirements Modeling  (Use Case Diagram + Use Case Description)   UML Lecture Series Requirements Modeling  (Use Case Diagram + Use Case Description)
Session Objectives ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Keywords used in this lecture
Thoughts to Ponder … To my knowledge, no other software engineering language construct as significant as use cases has been adopted so quickly and so widely among practitioners. I believe this is because use cases play a role in so many different aspects of software engineering. Ivar Jacobson Founding Father of UML and  Creator of Use Case Diagram
Functional vs. Non-Functional Requirements  Functional Non-Functional Functional requirement  are user ‘visible’ features and are typically initiated by stakeholders of the system – generate  report, login, etc.  Non-functional requirements  are ‘non-visible’ features and  but required for a effective running of an application – security,  backup, etc.
Session Objectives ,[object Object],[object Object],[object Object],[object Object],[object Object]
Use Case Diagram Definition: A diagram that shows a set of use cases and actors and their relationships. Use cases represent system functionality, the requirements of the system from the  user’s perspective .
Notations use case  A description of a set of sequences of actions, including variants, that system performs that yields an observable value to an actor.  actor The people or systems that provide or receive information from the system; they are among the stakeholders of a system. include Specifies that the source use case explicitly incorporates the behaviour of another use case at a location specified by the source extend  Specifies that the target use case extends the behaviour of the source. <<include>> <<extend>>
Actors Actors Could be human beings, other systems, timers and clocks or hardware devices. Actors that stimulate the system and are the initiators of events are called primary actors (active) Actors that only receive stimuli from the system are called secondary actors (passive)
Actors Actors Who/what will be interested in the system? Who/what will want to change the data in the system? Who/what will want to interface with the system? Who/what will want information from the system?
Use Case Diagram – Guidelines & Caution ,[object Object],[object Object],2.  Avoid showing communication between actors. ,[object Object],4.  Do NOT show behaviour in a use case diagram; instead only depict only system functionality. 5.  Use case diagram does not show sequence – unlike DFDs.
Example – Include and Extend
The use of include and extend is discouraged simply because they add unnecessary complexity to a Use Case diagram. Since the primary purpose of use cases is to show user centred functionality, the precedence of use cases takes little importance.  Include and Extend
Quiz 1 Which use case is NOT valid?
Quiz 2 Identify TWO(2) mistakes
Granularity of Use Cases Add reference Remove reference Search for reference User List references Fine Grained or Course Grained?
Granularity of Use Cases Manage Reference User Generally, a use case should embody sufficient levels of granularity without which the use case may not be rendered as useful.
Session Objectives ,[object Object],[object Object],[object Object],[object Object],[object Object]
Mistake 1
Mistake 2
Mistake 3
Mistake 4
Mistake 5
Discussion Exercise   Inventory System In order to generate an invoice a clerk  must log in. If a clerk is a first time user, one must have themselves  registered. There should be an option for a user to register oneself within the login page. Any user can use the system to view products online. The option of login is also provided when a user views products online. Draw a use case diagram for the scenario below:
Exercise - Solution
Session Objectives ,[object Object],[object Object],[object Object],[object Object],[object Object]
Use Case Specification Is a use case diagram  alone sufficient in capturing  user requirements?
Use Case Specification
Use Case Specification Use case specification is synonymous to use case description  and use case definition and can used interchangeably. Use case specification defines information that pertains to a  particular use case which is important in understanding the  purpose behind the use case.  Use case specification is written for every use case. A use case specification has one or more  flow of events or  pathways  association with it.
Flow of Events / Pathways A flow of events or pathway is a  textual description  embodying  sequence of events with regards to the use case and is part of  the use case specification. Flow of events is understood by the customer.  A detailed  description is necessary  so that one can better understand the  complexity that might be involved in realising the use cases.
Flow of Events / Pathways Flow of events describes how and when the use case starts  and ends, when the use case interacts with the actors, and the  information exchanged between an actor and the use case. Flow of events is derived from a  what  perspective, NOT how  perspective. Hence, specific information like: interface details  and technical specifications should NOT be included in a use  case description.  Use case description serves as a  ‘bridge’  between stakeholders of a system and the development team.
Flow of Events / Pathways Use case description serves as a  ‘bridge’  between stakeholders of a system and the development team. Use Case  Diagram Use Case Specification Programmers look at use case specification to understand complete requirements - SRS Systems analyst produce use case diagram & use case  specification in consultation  with end users
Flow of Events / Pathways Flow of Events Describes how and when use case starts and ends. Does NOT describe user interface details. Is generally a text-based file that is included under its use case in Rational Rose/Visual Paradigm
Types Flow of Events / Pathways Types of  Flow of Events Basic Flow of Events@ Happy Path  - is the most common pathway. It usually depicts a perfect situation, in which nothing goes wrong. Alternate Flow of Events @ Alternate Pathway  - is a pathway that is still considered a good pathway; it’s just not the most heavily travelled one Exception Flow of Events @ Exception Pathways @ Unhappy Pathway  – things don’t always go as planned. An exception is an error condition that is important enough to the application to capture.
Types Flow of Events / Pathways Basic Flow of Events@ Happy Path  – You get to the ATM and successfully withdraw money  Alternate Flow of Events @ Alternate Pathway  - You get to the ATM but could not withdraw money due to insufficient funds in your account.  Exception Flow of Events @ Exception Pathways @ Unhappy Pathway  – You get to the ATM machine but your valid pin number is not accepted.
See Example Word Document on Use Case Specification based on Remulak Productions Use Case Specifications - Example
Review Questions
Review Question A use case specification cannot be done for an included use case.  True False
Review Question Use case specification together with a use case diagram become part of what is know as system requirements specification (SRS) True False
Review Question Although non-functional requirements (i.e shadow use cases) are not “technically speaking” a use case, are still considered a use case to acknowledge the importance it has in the overall system. True False
Review Question Basic Flow of Events @ Happy Path is a series of events that happens some of the time True False
Review Question Alternate Flow of Events @ Alternate Pathway is a series of events that happens all the time True False
Review Question Exception Flow of Events @ Exception Pathway is a series of events that is impossible to happen. True False
Review Question Both use case diagram and use case specification should not be too detailed. True False
Use Case Diagram - In Class Exercise Write use case specification based on the case diagram for Inventory System.
Summary ,[object Object],[object Object],[object Object]
Further Reading http://download.boulder.ibm.com/ibmdl/pub/software/dw/rationaledge/jan03/UseCaseFAQS_TheRationalEdge_Jan2003.pdf Use Case FAQs
Reference Jacobson I. 2003, “ Use Case – Yesterday, Today and Tomorrow ”, The Rational Edge, IBM

Mais conteúdo relacionado

Mais procurados

Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5koolkampus
 
Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction ModelingHemant Sharma
 
11 deployment diagrams
11 deployment diagrams11 deployment diagrams
11 deployment diagramsBaskarkncet
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagramRahul Pola
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsHassan A-j
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologiesAmith Tiwari
 
Evolutionary process models se.ppt
Evolutionary process models se.pptEvolutionary process models se.ppt
Evolutionary process models se.pptbhadjaashvini1
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 
Unified modelling language (UML)
Unified modelling language (UML)Unified modelling language (UML)
Unified modelling language (UML)Hirra Sultan
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentRishabh Soni
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelAmr E. Mohamed
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
Unified process model
Unified process modelUnified process model
Unified process modelRyndaMaala
 

Mais procurados (20)

Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
UML
UMLUML
UML
 
Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction Modeling
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
 
11 deployment diagrams
11 deployment diagrams11 deployment diagrams
11 deployment diagrams
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
 
Evolutionary process models se.ppt
Evolutionary process models se.pptEvolutionary process models se.ppt
Evolutionary process models se.ppt
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Component Diagram
Component DiagramComponent Diagram
Component Diagram
 
Unified modelling language (UML)
Unified modelling language (UML)Unified modelling language (UML)
Unified modelling language (UML)
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context Model
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Unified process model
Unified process modelUnified process model
Unified process model
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 

Destaque

Personas, Scenarios, User Stories, Use Cases (IxDworks.com)
Personas, Scenarios, User Stories, Use Cases (IxDworks.com)Personas, Scenarios, User Stories, Use Cases (IxDworks.com)
Personas, Scenarios, User Stories, Use Cases (IxDworks.com)Valeria Gasik
 
Software Engineering :Behavioral Modelling - I Sequence diagram
Software Engineering :Behavioral Modelling - I Sequence diagram Software Engineering :Behavioral Modelling - I Sequence diagram
Software Engineering :Behavioral Modelling - I Sequence diagram Ajit Nayak
 
Software Engineering :UML class diagrams
Software Engineering :UML class diagramsSoftware Engineering :UML class diagrams
Software Engineering :UML class diagramsAjit Nayak
 
UML Part1-Introduction Mansouri
UML Part1-Introduction MansouriUML Part1-Introduction Mansouri
UML Part1-Introduction MansouriMansouri Khalifa
 
Software Engineering an Introduction
Software Engineering an IntroductionSoftware Engineering an Introduction
Software Engineering an IntroductionAjit Nayak
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
 
Lecture04- Use Case Diagrams
Lecture04- Use Case DiagramsLecture04- Use Case Diagrams
Lecture04- Use Case Diagramsartgreen
 
Software Engineering :Behavioral Modelling - II State diagram
Software Engineering :Behavioral Modelling - II State diagramSoftware Engineering :Behavioral Modelling - II State diagram
Software Engineering :Behavioral Modelling - II State diagramAjit Nayak
 
Software Engineering : OOAD using UML
Software Engineering : OOAD using UMLSoftware Engineering : OOAD using UML
Software Engineering : OOAD using UMLAjit Nayak
 

Destaque (12)

Personas, Scenarios, User Stories, Use Cases (IxDworks.com)
Personas, Scenarios, User Stories, Use Cases (IxDworks.com)Personas, Scenarios, User Stories, Use Cases (IxDworks.com)
Personas, Scenarios, User Stories, Use Cases (IxDworks.com)
 
Roos Van Leary
Roos Van LearyRoos Van Leary
Roos Van Leary
 
Software Engineering :Behavioral Modelling - I Sequence diagram
Software Engineering :Behavioral Modelling - I Sequence diagram Software Engineering :Behavioral Modelling - I Sequence diagram
Software Engineering :Behavioral Modelling - I Sequence diagram
 
Software Engineering :UML class diagrams
Software Engineering :UML class diagramsSoftware Engineering :UML class diagrams
Software Engineering :UML class diagrams
 
UML Part1-Introduction Mansouri
UML Part1-Introduction MansouriUML Part1-Introduction Mansouri
UML Part1-Introduction Mansouri
 
Software Engineering an Introduction
Software Engineering an IntroductionSoftware Engineering an Introduction
Software Engineering an Introduction
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
 
Lecture04- Use Case Diagrams
Lecture04- Use Case DiagramsLecture04- Use Case Diagrams
Lecture04- Use Case Diagrams
 
Types of UML diagrams
Types of UML diagramsTypes of UML diagrams
Types of UML diagrams
 
Software Engineering :Behavioral Modelling - II State diagram
Software Engineering :Behavioral Modelling - II State diagramSoftware Engineering :Behavioral Modelling - II State diagram
Software Engineering :Behavioral Modelling - II State diagram
 
Software Engineering : OOAD using UML
Software Engineering : OOAD using UMLSoftware Engineering : OOAD using UML
Software Engineering : OOAD using UML
 

Semelhante a Use Case Diagram

Intro to UML - Use Case diagrams
Intro to UML - Use Case diagramsIntro to UML - Use Case diagrams
Intro to UML - Use Case diagramsjsm1979
 
Lab 3 Introduction to the UML - how to create a use case diagram
Lab 3 Introduction to the UML - how to create a use case diagramLab 3 Introduction to the UML - how to create a use case diagram
Lab 3 Introduction to the UML - how to create a use case diagramFarah Ahmed
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesKiran Munir
 
Presentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptxPresentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptxazida3
 
Sadcw 7e chapter03-done(1)
Sadcw 7e chapter03-done(1)Sadcw 7e chapter03-done(1)
Sadcw 7e chapter03-done(1)LamineKaba6
 
Chapter 3.pptx
Chapter 3.pptxChapter 3.pptx
Chapter 3.pptxTekle12
 
Lesson02_Use Case Diagrams
Lesson02_Use Case DiagramsLesson02_Use Case Diagrams
Lesson02_Use Case DiagramsMarwa Ali Eissa
 
Use Case Analysis and Diagramming
 Use Case Analysis and Diagramming Use Case Analysis and Diagramming
Use Case Analysis and DiagrammingOrnella Dunn
 
Quality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White BoxQuality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White BoxKimberly Jones
 

Semelhante a Use Case Diagram (20)

Use Cases
Use CasesUse Cases
Use Cases
 
Use Cases
Use CasesUse Cases
Use Cases
 
Intro to UML - Use Case diagrams
Intro to UML - Use Case diagramsIntro to UML - Use Case diagrams
Intro to UML - Use Case diagrams
 
Lab 3 Introduction to the UML - how to create a use case diagram
Lab 3 Introduction to the UML - how to create a use case diagramLab 3 Introduction to the UML - how to create a use case diagram
Lab 3 Introduction to the UML - how to create a use case diagram
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering Methodologies
 
Presentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptxPresentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptx
 
Sadcw 7e chapter03-done(1)
Sadcw 7e chapter03-done(1)Sadcw 7e chapter03-done(1)
Sadcw 7e chapter03-done(1)
 
Chapter 3.pptx
Chapter 3.pptxChapter 3.pptx
Chapter 3.pptx
 
Usecase Presentation
Usecase PresentationUsecase Presentation
Usecase Presentation
 
Lesson02_Use Case Diagrams
Lesson02_Use Case DiagramsLesson02_Use Case Diagrams
Lesson02_Use Case Diagrams
 
How to write use cases
How to write use casesHow to write use cases
How to write use cases
 
Defining The System
Defining The SystemDefining The System
Defining The System
 
Session07-Diagram.pdf
Session07-Diagram.pdfSession07-Diagram.pdf
Session07-Diagram.pdf
 
Chapter5
Chapter5Chapter5
Chapter5
 
Use Case Analysis and Diagramming
 Use Case Analysis and Diagramming Use Case Analysis and Diagramming
Use Case Analysis and Diagramming
 
Ooad quest and ans
Ooad quest and ansOoad quest and ans
Ooad quest and ans
 
chapter_5_5.ppt
chapter_5_5.pptchapter_5_5.ppt
chapter_5_5.ppt
 
Use Case approach
Use Case approachUse Case approach
Use Case approach
 
Ch05
Ch05Ch05
Ch05
 
Quality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White BoxQuality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White Box
 

Mais de Ashesh R

Sukhi parivaar web launch
Sukhi parivaar web launchSukhi parivaar web launch
Sukhi parivaar web launchAshesh R
 
Open source
Open sourceOpen source
Open sourceAshesh R
 
Managing onlinebusiness
Managing onlinebusinessManaging onlinebusiness
Managing onlinebusinessAshesh R
 
Presentation on Gifts
Presentation on GiftsPresentation on Gifts
Presentation on GiftsAshesh R
 
Internet for everyone
Internet for everyoneInternet for everyone
Internet for everyoneAshesh R
 
Influenza A H1 N1 Mexa
Influenza A H1 N1 MexaInfluenza A H1 N1 Mexa
Influenza A H1 N1 MexaAshesh R
 
Internet Pour Tous
Internet Pour TousInternet Pour Tous
Internet Pour TousAshesh R
 
Intellectual Property Rights - Mauritian Legislation
Intellectual Property Rights - Mauritian LegislationIntellectual Property Rights - Mauritian Legislation
Intellectual Property Rights - Mauritian LegislationAshesh R
 
Activity Diagram
Activity DiagramActivity Diagram
Activity DiagramAshesh R
 
UML Case Tools
UML Case ToolsUML Case Tools
UML Case ToolsAshesh R
 
Pascal Programming Session 1
Pascal Programming Session 1Pascal Programming Session 1
Pascal Programming Session 1Ashesh R
 
Problem Solving Techniques
Problem Solving TechniquesProblem Solving Techniques
Problem Solving TechniquesAshesh R
 
Cybercrime And Computer Misuse Cases
Cybercrime And Computer Misuse CasesCybercrime And Computer Misuse Cases
Cybercrime And Computer Misuse CasesAshesh R
 
National Geographic
National GeographicNational Geographic
National GeographicAshesh R
 
E Recruitment
E RecruitmentE Recruitment
E RecruitmentAshesh R
 
Reflections
ReflectionsReflections
ReflectionsAshesh R
 

Mais de Ashesh R (18)

Sukhi parivaar web launch
Sukhi parivaar web launchSukhi parivaar web launch
Sukhi parivaar web launch
 
Open source
Open sourceOpen source
Open source
 
Web2.0
Web2.0Web2.0
Web2.0
 
Linux
LinuxLinux
Linux
 
Managing onlinebusiness
Managing onlinebusinessManaging onlinebusiness
Managing onlinebusiness
 
Presentation on Gifts
Presentation on GiftsPresentation on Gifts
Presentation on Gifts
 
Internet for everyone
Internet for everyoneInternet for everyone
Internet for everyone
 
Influenza A H1 N1 Mexa
Influenza A H1 N1 MexaInfluenza A H1 N1 Mexa
Influenza A H1 N1 Mexa
 
Internet Pour Tous
Internet Pour TousInternet Pour Tous
Internet Pour Tous
 
Intellectual Property Rights - Mauritian Legislation
Intellectual Property Rights - Mauritian LegislationIntellectual Property Rights - Mauritian Legislation
Intellectual Property Rights - Mauritian Legislation
 
Activity Diagram
Activity DiagramActivity Diagram
Activity Diagram
 
UML Case Tools
UML Case ToolsUML Case Tools
UML Case Tools
 
Pascal Programming Session 1
Pascal Programming Session 1Pascal Programming Session 1
Pascal Programming Session 1
 
Problem Solving Techniques
Problem Solving TechniquesProblem Solving Techniques
Problem Solving Techniques
 
Cybercrime And Computer Misuse Cases
Cybercrime And Computer Misuse CasesCybercrime And Computer Misuse Cases
Cybercrime And Computer Misuse Cases
 
National Geographic
National GeographicNational Geographic
National Geographic
 
E Recruitment
E RecruitmentE Recruitment
E Recruitment
 
Reflections
ReflectionsReflections
Reflections
 

Último

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Último (20)

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Use Case Diagram

  • 1. UML Lecture Series UML SIG Requirements Modeling (Use Case Diagram + Use Case Description) UML Lecture Series Requirements Modeling (Use Case Diagram + Use Case Description)
  • 2.
  • 3.
  • 4. Thoughts to Ponder … To my knowledge, no other software engineering language construct as significant as use cases has been adopted so quickly and so widely among practitioners. I believe this is because use cases play a role in so many different aspects of software engineering. Ivar Jacobson Founding Father of UML and Creator of Use Case Diagram
  • 5. Functional vs. Non-Functional Requirements Functional Non-Functional Functional requirement are user ‘visible’ features and are typically initiated by stakeholders of the system – generate report, login, etc. Non-functional requirements are ‘non-visible’ features and but required for a effective running of an application – security, backup, etc.
  • 6.
  • 7. Use Case Diagram Definition: A diagram that shows a set of use cases and actors and their relationships. Use cases represent system functionality, the requirements of the system from the user’s perspective .
  • 8. Notations use case A description of a set of sequences of actions, including variants, that system performs that yields an observable value to an actor. actor The people or systems that provide or receive information from the system; they are among the stakeholders of a system. include Specifies that the source use case explicitly incorporates the behaviour of another use case at a location specified by the source extend Specifies that the target use case extends the behaviour of the source. <<include>> <<extend>>
  • 9. Actors Actors Could be human beings, other systems, timers and clocks or hardware devices. Actors that stimulate the system and are the initiators of events are called primary actors (active) Actors that only receive stimuli from the system are called secondary actors (passive)
  • 10. Actors Actors Who/what will be interested in the system? Who/what will want to change the data in the system? Who/what will want to interface with the system? Who/what will want information from the system?
  • 11.
  • 12. Example – Include and Extend
  • 13. The use of include and extend is discouraged simply because they add unnecessary complexity to a Use Case diagram. Since the primary purpose of use cases is to show user centred functionality, the precedence of use cases takes little importance. Include and Extend
  • 14. Quiz 1 Which use case is NOT valid?
  • 15. Quiz 2 Identify TWO(2) mistakes
  • 16. Granularity of Use Cases Add reference Remove reference Search for reference User List references Fine Grained or Course Grained?
  • 17. Granularity of Use Cases Manage Reference User Generally, a use case should embody sufficient levels of granularity without which the use case may not be rendered as useful.
  • 18.
  • 24. Discussion Exercise Inventory System In order to generate an invoice a clerk must log in. If a clerk is a first time user, one must have themselves registered. There should be an option for a user to register oneself within the login page. Any user can use the system to view products online. The option of login is also provided when a user views products online. Draw a use case diagram for the scenario below:
  • 26.
  • 27. Use Case Specification Is a use case diagram alone sufficient in capturing user requirements?
  • 29. Use Case Specification Use case specification is synonymous to use case description and use case definition and can used interchangeably. Use case specification defines information that pertains to a particular use case which is important in understanding the purpose behind the use case. Use case specification is written for every use case. A use case specification has one or more flow of events or pathways association with it.
  • 30. Flow of Events / Pathways A flow of events or pathway is a textual description embodying sequence of events with regards to the use case and is part of the use case specification. Flow of events is understood by the customer. A detailed description is necessary so that one can better understand the complexity that might be involved in realising the use cases.
  • 31. Flow of Events / Pathways Flow of events describes how and when the use case starts and ends, when the use case interacts with the actors, and the information exchanged between an actor and the use case. Flow of events is derived from a what perspective, NOT how perspective. Hence, specific information like: interface details and technical specifications should NOT be included in a use case description. Use case description serves as a ‘bridge’ between stakeholders of a system and the development team.
  • 32. Flow of Events / Pathways Use case description serves as a ‘bridge’ between stakeholders of a system and the development team. Use Case Diagram Use Case Specification Programmers look at use case specification to understand complete requirements - SRS Systems analyst produce use case diagram & use case specification in consultation with end users
  • 33. Flow of Events / Pathways Flow of Events Describes how and when use case starts and ends. Does NOT describe user interface details. Is generally a text-based file that is included under its use case in Rational Rose/Visual Paradigm
  • 34. Types Flow of Events / Pathways Types of Flow of Events Basic Flow of Events@ Happy Path - is the most common pathway. It usually depicts a perfect situation, in which nothing goes wrong. Alternate Flow of Events @ Alternate Pathway - is a pathway that is still considered a good pathway; it’s just not the most heavily travelled one Exception Flow of Events @ Exception Pathways @ Unhappy Pathway – things don’t always go as planned. An exception is an error condition that is important enough to the application to capture.
  • 35. Types Flow of Events / Pathways Basic Flow of Events@ Happy Path – You get to the ATM and successfully withdraw money Alternate Flow of Events @ Alternate Pathway - You get to the ATM but could not withdraw money due to insufficient funds in your account. Exception Flow of Events @ Exception Pathways @ Unhappy Pathway – You get to the ATM machine but your valid pin number is not accepted.
  • 36. See Example Word Document on Use Case Specification based on Remulak Productions Use Case Specifications - Example
  • 38. Review Question A use case specification cannot be done for an included use case. True False
  • 39. Review Question Use case specification together with a use case diagram become part of what is know as system requirements specification (SRS) True False
  • 40. Review Question Although non-functional requirements (i.e shadow use cases) are not “technically speaking” a use case, are still considered a use case to acknowledge the importance it has in the overall system. True False
  • 41. Review Question Basic Flow of Events @ Happy Path is a series of events that happens some of the time True False
  • 42. Review Question Alternate Flow of Events @ Alternate Pathway is a series of events that happens all the time True False
  • 43. Review Question Exception Flow of Events @ Exception Pathway is a series of events that is impossible to happen. True False
  • 44. Review Question Both use case diagram and use case specification should not be too detailed. True False
  • 45. Use Case Diagram - In Class Exercise Write use case specification based on the case diagram for Inventory System.
  • 46.
  • 48. Reference Jacobson I. 2003, “ Use Case – Yesterday, Today and Tomorrow ”, The Rational Edge, IBM