SlideShare a Scribd company logo
1 of 44
By
AHMAD KARAWASH
Overview
Use cases & Architects
Use cases benefits
Different Approaches
Challenges
Extending use-case
Overview


Use cases are a powerful tool used in the
systems analysis phase to describe the
behavioral aspect of the system being
developed.



Use case describes a scenario in which a
user interacts with the system being defined
to achieve a specific goal .



A use case defines a goal-oriented, set of
interactions between external actors and the
system under consideration.
USE CASE


A complete set of use cases specifies all the
different ways to use the system, and
therefore defines all behavior required of the
system.

Actors
Overview
The main artifacts of the use case model include:


Actor list – A list of all the actors found and their
relationships.



Use Case Packages – can be used to divide the
work between the different teams.



Use case diagrams – The diagrams are the
graphical representations of the use case model.



The use-cases text –Word documents containing
the use cases.



Use case views – Several views that help
understand the model from different angles.
Vocabulary


Actor – External parties that interact with
the system



Use Case – A sequence of actions that the
system performs that yields an observable
result of value to an actor. [Booch 1999]



Use Case Model - Bag that contains
◦ Actors list, packages, diagrams, use cases,
views
Software architecture


Architecture is the fundamental organization of a
system embodied in its Components , their
relationships to each other, and to the environment,
and the principles guiding its design and evolution.



The System Architecture is the set of entities, the
properties of those entities, and relationships among
them that define structure of the system.
Example banking system
Architecture views
More than one aspect of software must be modeled
and designed
 Many architect use “Kructen’s 4+1” model of these
views
o Logical view
o Process view
o Deployment view
o Implementation view




The “plus one” is:

use-case view
What Do Architecture Views Capture?


Logical view (design view)
◦ Architecturally significant parts, such as layers,
subsystems, components, etc.



Process view
◦ Processes or threads that make up the system.



Deployment view
◦ Do parts of the system on separate hardware
components?



Implementation view
◦ Source files, binaries, DLLs, SW components, etc.

• Use case view
◦ Use cases show how the end-user interacts with the
system.
Use case vs. Algorithm
Use Cases benefits


Promote customer involvement in defining
the requirements.



improved business requirements analysis
and documentation.



improved communication between business
and technical teams.



improved project scoping and planning.



high-level of re-use.
Use Cases benefits


Reduce project risks, development time and
costs.



Error-handling, by defining sequences that
may lead to failure .



show the system in different angles .



Perspective provided by use cases
reinforce the ultimate goal of software
engineering:
“ what the system should do ? “
Use cases & Architects ?!


Requirements drive the design !!!



Help force designers focus on concrete
issues.



Help identifying technical and business
risks.



Can be used to help Verify & Validate the
model.
 Are we building the product right?
Use cases & Architects ?!


Help manage complexity
 Layers
 Focus on real user needs



Groundwork for user manual, test cases.



Help us work in iterations.
Use cases & Architects ?!
(cont.)


Architectural design workflow (Kruchten 2003):

◦ Select scenarios : criticality and risk
◦ Identify main classes/components and their
responsibility
◦ Distribute behavior
◦ Structure into subsystems, layers and define
interfaces
◦ Define distribution and concurrency
◦ Implement architectural prototype
◦ Derive tests from use cases
◦ Evaluate architecture
Naïve approach
The naïve process for building a use case
model is very straightforward [Armour,2001]
1. Find Actors
2. Find Use Cases
3. Describe the Use Cases
Challenges


The problem is that such a simple process just
doesn't cut it when it comes to large and
complex systems.



The model is inflicted with duplicates.



Inconsistencies between use cases – starting
from boundaries mismatches and ending in
contradicting use cases.
Challenges for complex use
cases


Model

◦ Explosion
◦ Making sure the requirements are good



Team

◦ Efficiency
◦ Fragmentation



Process

◦ Details too early
◦ Quitting Time
Challenges


They don’t capture Non-behavioral
requirements :
◦ Performance , security , Modifiability.
◦ Environment constraints (such as specific OS,
Hardware etc.)



Wasting energy on detailing requirements.



Large delays in the project schedule.
Challenges


Problematic for complex and large system.



Suggested use cases may still really be lists of
features (too simplistic /not practical).



Poor for distributed systems.



Not as good at representing dynamic
component architectures.



Could be Vague, ambiguous, and incomplete.
Bridging the gap between “what” and “how”

the trick is in writing use case correctly
Challenges


Semantics too imprecise –while formal testing/
verification… Leads to too many diagram
notes.



contains specifications needed very rarely.



Requires training/certification when working
with enterprise class systems.



UML is way too big - Long use case templates slow
you down!

A practical reasonable process is needed !!!
The Methodology
The use case model building process should be
extended in order to mitigate these challenges.

we need a process that is:
◦
◦
◦
◦
◦

Ordered
Controlled
Not too complicated
Not too demanding
Flexible
Methodology Steps
Define System Boundary
2) Organize the Team
3) Build a Problem Domain Object Model
4) Find Actors
5) Find Use Cases
6) Organize the Model
7) Prioritize Use Cases
Diagram
PDOM
8) Describe Use Cases
9) Refactor the Model
UC
10) Verify and Validate
Verify
11) Add Future Requirements
Refactor
12) Knowing When to Stop
Team
1)

Vision

priorities

Validate
Step 1: Define System
Boundary


The Requirements Manager and Architect define
the system boundary
◦
◦
◦
◦

What problem(s) are we trying to solve ?
Who are the stakeholders ?
What are the main goals of the system ?
What are the major functional and non-functional
requirements ?
◦ What are the future directions of the product ?
Step 2: Organize the Team


The teams (sizes and structure) that will be
involved should be determined.
Step 3: Build a Problem Domain
Object Model PDOM



Usually, set of UML object diagrams showing the
relations between the various objects.
Iterative development Class model (UML).
Police HQ
Commands
Commands
Commands

Watch
Commander

Has an

District

Emergency
Center

Is made of
Is a

Allocated to

Sector

Rapid Response
Car

Is made of
Is a

Policeman
Beat

Police Car

Work in
Are

Allocated to

Watch
Beat Team

Allocated to
Drive

Beat Car

Is a
Step 4: Find Actors



Finding actors is a recommended task for any use
case modeling effort.
No need to make an exhaustive list of all the
actors.
User

Emergency
Center Operator

Emergency
Center Supervisor

Cop

Watch
Commander

HQ Watch
Commander
Step 5: Find Use Cases
There are basically four ways for discovering use
cases:



Scenario Driven - Approach to examine the list of primary
actors and their roles.



Actor/Responsibility - the responsibilities they have for
accomplishing tasks.



Unstructured aggregation – place non-functional
requirements into specific use cases.



Mission decomposition - identifying the actors, events,
business rules etc.
Step 6: Organize the Model


The simplest form of organizing the model is by level of
detail .
Step 7: Prioritize Use Cases


Modern software projects are built using an
iterative process – this is done both to have a
better control on the project and its progress
and to risks early.



drive the development effort.
Step 8 : Describe Use Cases
For complex use case it’s difficult to follow.
It is recommended to use UML's activity diagrams to
visualize
the scenarios.
Step 9: Refactor the Model


Three relationships can be used to structure use
cases:
◦ Extend
◦ Include
◦ Generalize
Step 10: Verify & Validate the
model
Some Problems type:

Incorrect description of use case.
 Duplicated use case.
 Expected functionality is unavailable.
 Name of use case does not reflect the Goal.
 To little details .

Step 11: Add Future
Requirements


Capture Change cases
◦ Preparing for change.
◦ future enhancements.
Step 12: Knowing When to Stop


Project Level
◦ Complete list of actors and goals.
◦ Customer approval.
◦ Design ready.



Iteration Level
◦ Covered all currently prioritized use
cases.
◦ Level of detail (packages).
New way to deal with complex use
case ( Karabash )
As the size of the use case increases,
some of its advantages will be lost
 Use case chain is a technique to
reduce complexity of large use cases
by transform it into small text chains

Karabash way example:
Karabash way example:
Chains benefits:
Test scenario: set of chain can be
used by tester to generate end-to-end
test scenarios.
 Validation : this way gives us the
manageability to validate the model
with no much effort where no
documenting of the same process
more than once.

Chains benefits:
Priority : the chain can be ordered
according to important unit in the
model
 cataloging : catalog of all use case
chains in the model gives us list of all
possible feature of the system

Ahmad Karawash, PhD
Email: ahmad.karawash@gmail.com

More Related Content

What's hot

Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5koolkampus
 
Activity diagram-UML diagram
Activity diagram-UML diagramActivity diagram-UML diagram
Activity diagram-UML diagramRamakant Soni
 
Software Architecture Design Decisions
Software Architecture Design DecisionsSoftware Architecture Design Decisions
Software Architecture Design DecisionsAfaq Mansoor Khan
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationNishu Rastogi
 
evaluation techniques in HCI
evaluation techniques in HCIevaluation techniques in HCI
evaluation techniques in HCIsawsan slii
 
USER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPTUSER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPTvicci4041
 
Entity Framework Overview
Entity Framework OverviewEntity Framework Overview
Entity Framework OverviewEric Nelson
 
Software requirements engineering lecture 01
Software requirements engineering   lecture 01Software requirements engineering   lecture 01
Software requirements engineering lecture 01Abdul Basit
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9Ian Sommerville
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deploymentLilia Sfaxi
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement EngineeringSlideshare
 
Software design principles
Software design principlesSoftware design principles
Software design principlesRitesh Singh
 
Low-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringLow-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringJordi Cabot
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 

What's hot (20)

Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
 
Activity diagram-UML diagram
Activity diagram-UML diagramActivity diagram-UML diagram
Activity diagram-UML diagram
 
Software Architecture Design Decisions
Software Architecture Design DecisionsSoftware Architecture Design Decisions
Software Architecture Design Decisions
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
 
evaluation techniques in HCI
evaluation techniques in HCIevaluation techniques in HCI
evaluation techniques in HCI
 
USER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPTUSER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPT
 
Entity Framework Overview
Entity Framework OverviewEntity Framework Overview
Entity Framework Overview
 
1.sdlc
1.sdlc1.sdlc
1.sdlc
 
User interface-design
User interface-designUser interface-design
User interface-design
 
Use case Diagram
Use case DiagramUse case Diagram
Use case Diagram
 
4+1 view model
4+1 view model4+1 view model
4+1 view model
 
Software requirements engineering lecture 01
Software requirements engineering   lecture 01Software requirements engineering   lecture 01
Software requirements engineering lecture 01
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deployment
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Code Refactoring
Code RefactoringCode Refactoring
Code Refactoring
 
Software design principles
Software design principlesSoftware design principles
Software design principles
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Low-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringLow-code vs Model-Driven Engineering
Low-code vs Model-Driven Engineering
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 

Viewers also liked

Software Architecture Document Final
Software Architecture Document FinalSoftware Architecture Document Final
Software Architecture Document FinalAli Ahmed
 
Openbiz Cubi Case Study - Cymap
Openbiz Cubi Case Study - CymapOpenbiz Cubi Case Study - Cymap
Openbiz Cubi Case Study - CymapZhaoyang Sun
 
National Pension System & Aggregator registration under PFRDA
National Pension System & Aggregator registration under PFRDANational Pension System & Aggregator registration under PFRDA
National Pension System & Aggregator registration under PFRDAEquiCorp Associates
 
How e-mail, chat, ATM, Skype, VOIP, online submission (online forms), online ...
How e-mail, chat, ATM, Skype, VOIP, online submission (online forms), online ...How e-mail, chat, ATM, Skype, VOIP, online submission (online forms), online ...
How e-mail, chat, ATM, Skype, VOIP, online submission (online forms), online ...Amit Maisheri - Senior Analyst at eClerx
 
Presentation sso design_security
Presentation sso design_securityPresentation sso design_security
Presentation sso design_securityMarco Morana
 
Alfresco: Implementing secure single sign on (SSO) with OpenSAML
Alfresco: Implementing secure single sign on (SSO) with OpenSAMLAlfresco: Implementing secure single sign on (SSO) with OpenSAML
Alfresco: Implementing secure single sign on (SSO) with OpenSAMLJ V
 
Laravel.IO A Use-Case Architecture
Laravel.IO A Use-Case ArchitectureLaravel.IO A Use-Case Architecture
Laravel.IO A Use-Case ArchitectureShawn McCool
 
Functional Specification with Use-Cases
Functional Specification with Use-CasesFunctional Specification with Use-Cases
Functional Specification with Use-CasesProf. Amir Tomer
 
Security features of atm
Security features of atmSecurity features of atm
Security features of atmargoncillo
 
Oracle Insurance: A Clear Vision for the Industry
Oracle Insurance: A Clear Vision for the IndustryOracle Insurance: A Clear Vision for the Industry
Oracle Insurance: A Clear Vision for the Industrymuratc2a
 
management information system
management information systemmanagement information system
management information systemKumudini Alwis
 
Financial performance commercial bank
Financial performance commercial bankFinancial performance commercial bank
Financial performance commercial bankNILAMH
 
Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural designHiren Selani
 
Unit 3 object analysis-classification
Unit 3 object analysis-classificationUnit 3 object analysis-classification
Unit 3 object analysis-classificationgopal10scs185
 
Core Banking Solution PPT of TCS and SBI
Core Banking Solution PPT of TCS and SBICore Banking Solution PPT of TCS and SBI
Core Banking Solution PPT of TCS and SBIRajesh Kumar
 

Viewers also liked (20)

Software Architecture Document Final
Software Architecture Document FinalSoftware Architecture Document Final
Software Architecture Document Final
 
Openbiz Cubi Case Study - Cymap
Openbiz Cubi Case Study - CymapOpenbiz Cubi Case Study - Cymap
Openbiz Cubi Case Study - Cymap
 
National Pension System & Aggregator registration under PFRDA
National Pension System & Aggregator registration under PFRDANational Pension System & Aggregator registration under PFRDA
National Pension System & Aggregator registration under PFRDA
 
How e-mail, chat, ATM, Skype, VOIP, online submission (online forms), online ...
How e-mail, chat, ATM, Skype, VOIP, online submission (online forms), online ...How e-mail, chat, ATM, Skype, VOIP, online submission (online forms), online ...
How e-mail, chat, ATM, Skype, VOIP, online submission (online forms), online ...
 
Presentation sso design_security
Presentation sso design_securityPresentation sso design_security
Presentation sso design_security
 
Alfresco: Implementing secure single sign on (SSO) with OpenSAML
Alfresco: Implementing secure single sign on (SSO) with OpenSAMLAlfresco: Implementing secure single sign on (SSO) with OpenSAML
Alfresco: Implementing secure single sign on (SSO) with OpenSAML
 
Laravel.IO A Use-Case Architecture
Laravel.IO A Use-Case ArchitectureLaravel.IO A Use-Case Architecture
Laravel.IO A Use-Case Architecture
 
Functional Specification with Use-Cases
Functional Specification with Use-CasesFunctional Specification with Use-Cases
Functional Specification with Use-Cases
 
Core Banking
Core BankingCore Banking
Core Banking
 
Security features of atm
Security features of atmSecurity features of atm
Security features of atm
 
Oracle Insurance: A Clear Vision for the Industry
Oracle Insurance: A Clear Vision for the IndustryOracle Insurance: A Clear Vision for the Industry
Oracle Insurance: A Clear Vision for the Industry
 
management information system
management information systemmanagement information system
management information system
 
Financial performance commercial bank
Financial performance commercial bankFinancial performance commercial bank
Financial performance commercial bank
 
05 architectural design
05 architectural design05 architectural design
05 architectural design
 
Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural design
 
Unit 3 object analysis-classification
Unit 3 object analysis-classificationUnit 3 object analysis-classification
Unit 3 object analysis-classification
 
ATM BANKING
ATM BANKINGATM BANKING
ATM BANKING
 
Ch6 architectural design
Ch6 architectural designCh6 architectural design
Ch6 architectural design
 
Architectural Design
Architectural DesignArchitectural Design
Architectural Design
 
Core Banking Solution PPT of TCS and SBI
Core Banking Solution PPT of TCS and SBICore Banking Solution PPT of TCS and SBI
Core Banking Solution PPT of TCS and SBI
 

Similar to From use case to software architecture

Ooad lab manual(original)
Ooad lab manual(original)Ooad lab manual(original)
Ooad lab manual(original)dipenpatelpatel
 
SELECT21.pptx
SELECT21.pptxSELECT21.pptx
SELECT21.pptxdevnasra1
 
RTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptRTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptShashikanth
 
OOAD U1.pptx
OOAD U1.pptxOOAD U1.pptx
OOAD U1.pptxanguraju1
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)IIUI
 
Software Process Models
 Software Process Models  Software Process Models
Software Process Models MohsinAli773
 
Requirements Engineering Workshop with Use Cases
Requirements Engineering Workshop with Use CasesRequirements Engineering Workshop with Use Cases
Requirements Engineering Workshop with Use CasesBryan Len
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Kuwait10
 
12 bước phân tích hệ thống thông tin.
12 bước phân tích hệ thống thông tin.12 bước phân tích hệ thống thông tin.
12 bước phân tích hệ thống thông tin.Toàn Nguyễn
 
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEW[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEWrizki adam kurniawan
 
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfB.T.L.I.T
 
Applying sys ml_with_magicdraw
Applying sys ml_with_magicdrawApplying sys ml_with_magicdraw
Applying sys ml_with_magicdrawelheshk
 
Darius Silingas - From Model-Driven Testing - EuroSTAR 2010
Darius Silingas - From Model-Driven Testing - EuroSTAR 2010Darius Silingas - From Model-Driven Testing - EuroSTAR 2010
Darius Silingas - From Model-Driven Testing - EuroSTAR 2010TEST Huddle
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9Ian Sommerville
 
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
 
Introduction To Design Patterns
Introduction To Design PatternsIntroduction To Design Patterns
Introduction To Design Patternssukumarraju6
 

Similar to From use case to software architecture (20)

Ooad lab manual(original)
Ooad lab manual(original)Ooad lab manual(original)
Ooad lab manual(original)
 
SELECT21.pptx
SELECT21.pptxSELECT21.pptx
SELECT21.pptx
 
M azhar
M azharM azhar
M azhar
 
RTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptRTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.ppt
 
OOAD U1.pptx
OOAD U1.pptxOOAD U1.pptx
OOAD U1.pptx
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
Software Process Models
 Software Process Models  Software Process Models
Software Process Models
 
Requirements Engineering Workshop with Use Cases
Requirements Engineering Workshop with Use CasesRequirements Engineering Workshop with Use Cases
Requirements Engineering Workshop with Use Cases
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10
 
12 bước phân tích hệ thống thông tin.
12 bước phân tích hệ thống thông tin.12 bước phân tích hệ thống thông tin.
12 bước phân tích hệ thống thông tin.
 
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEW[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
 
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdf
 
Chapter1
Chapter1Chapter1
Chapter1
 
3 analysis and design overview
3 analysis and design overview3 analysis and design overview
3 analysis and design overview
 
Applying sys ml_with_magicdraw
Applying sys ml_with_magicdrawApplying sys ml_with_magicdraw
Applying sys ml_with_magicdraw
 
Darius Silingas - From Model-Driven Testing - EuroSTAR 2010
Darius Silingas - From Model-Driven Testing - EuroSTAR 2010Darius Silingas - From Model-Driven Testing - EuroSTAR 2010
Darius Silingas - From Model-Driven Testing - EuroSTAR 2010
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9
 
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
 
Ooad quest and ans
Ooad quest and ansOoad quest and ans
Ooad quest and ans
 
Introduction To Design Patterns
Introduction To Design PatternsIntroduction To Design Patterns
Introduction To Design Patterns
 

More from Ahmad karawash

Object-Oriented Programming (OOP)
Object-Oriented Programming (OOP)Object-Oriented Programming (OOP)
Object-Oriented Programming (OOP)Ahmad karawash
 
Introduction to-data-science
Introduction to-data-scienceIntroduction to-data-science
Introduction to-data-scienceAhmad karawash
 
How to understand your data
How to understand your dataHow to understand your data
How to understand your dataAhmad karawash
 
Cloud storage with AWS
Cloud storage with AWSCloud storage with AWS
Cloud storage with AWSAhmad karawash
 
Build a custom metrics on aws cloud
Build a custom metrics on aws cloudBuild a custom metrics on aws cloud
Build a custom metrics on aws cloudAhmad karawash
 
Password hashing, salting, bycrpt
Password hashing, salting, bycrptPassword hashing, salting, bycrpt
Password hashing, salting, bycrptAhmad karawash
 
Reasoning of database consistency through description logics
Reasoning of database consistency through description logicsReasoning of database consistency through description logics
Reasoning of database consistency through description logicsAhmad karawash
 
Cloud computing and Service model
Cloud computing and Service modelCloud computing and Service model
Cloud computing and Service modelAhmad karawash
 

More from Ahmad karawash (10)

Object-Oriented Programming (OOP)
Object-Oriented Programming (OOP)Object-Oriented Programming (OOP)
Object-Oriented Programming (OOP)
 
Introduction to-data-science
Introduction to-data-scienceIntroduction to-data-science
Introduction to-data-science
 
How to understand your data
How to understand your dataHow to understand your data
How to understand your data
 
Cloud storage with AWS
Cloud storage with AWSCloud storage with AWS
Cloud storage with AWS
 
Message queues
Message queuesMessage queues
Message queues
 
Build a custom metrics on aws cloud
Build a custom metrics on aws cloudBuild a custom metrics on aws cloud
Build a custom metrics on aws cloud
 
Password hashing, salting, bycrpt
Password hashing, salting, bycrptPassword hashing, salting, bycrpt
Password hashing, salting, bycrpt
 
Brute Force Attack
Brute Force AttackBrute Force Attack
Brute Force Attack
 
Reasoning of database consistency through description logics
Reasoning of database consistency through description logicsReasoning of database consistency through description logics
Reasoning of database consistency through description logics
 
Cloud computing and Service model
Cloud computing and Service modelCloud computing and Service model
Cloud computing and Service model
 

Recently uploaded

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 

Recently uploaded (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 

From use case to software architecture

  • 2. Overview Use cases & Architects Use cases benefits Different Approaches Challenges Extending use-case
  • 3. Overview  Use cases are a powerful tool used in the systems analysis phase to describe the behavioral aspect of the system being developed.  Use case describes a scenario in which a user interacts with the system being defined to achieve a specific goal .  A use case defines a goal-oriented, set of interactions between external actors and the system under consideration.
  • 4. USE CASE  A complete set of use cases specifies all the different ways to use the system, and therefore defines all behavior required of the system. Actors
  • 5. Overview The main artifacts of the use case model include:  Actor list – A list of all the actors found and their relationships.  Use Case Packages – can be used to divide the work between the different teams.  Use case diagrams – The diagrams are the graphical representations of the use case model.  The use-cases text –Word documents containing the use cases.  Use case views – Several views that help understand the model from different angles.
  • 6. Vocabulary  Actor – External parties that interact with the system  Use Case – A sequence of actions that the system performs that yields an observable result of value to an actor. [Booch 1999]  Use Case Model - Bag that contains ◦ Actors list, packages, diagrams, use cases, views
  • 7. Software architecture  Architecture is the fundamental organization of a system embodied in its Components , their relationships to each other, and to the environment, and the principles guiding its design and evolution.  The System Architecture is the set of entities, the properties of those entities, and relationships among them that define structure of the system.
  • 9. Architecture views More than one aspect of software must be modeled and designed  Many architect use “Kructen’s 4+1” model of these views o Logical view o Process view o Deployment view o Implementation view   The “plus one” is: use-case view
  • 10. What Do Architecture Views Capture?  Logical view (design view) ◦ Architecturally significant parts, such as layers, subsystems, components, etc.  Process view ◦ Processes or threads that make up the system.  Deployment view ◦ Do parts of the system on separate hardware components?  Implementation view ◦ Source files, binaries, DLLs, SW components, etc. • Use case view ◦ Use cases show how the end-user interacts with the system.
  • 11. Use case vs. Algorithm
  • 12. Use Cases benefits  Promote customer involvement in defining the requirements.  improved business requirements analysis and documentation.  improved communication between business and technical teams.  improved project scoping and planning.  high-level of re-use.
  • 13. Use Cases benefits  Reduce project risks, development time and costs.  Error-handling, by defining sequences that may lead to failure .  show the system in different angles .  Perspective provided by use cases reinforce the ultimate goal of software engineering: “ what the system should do ? “
  • 14. Use cases & Architects ?!  Requirements drive the design !!!  Help force designers focus on concrete issues.  Help identifying technical and business risks.  Can be used to help Verify & Validate the model.  Are we building the product right?
  • 15. Use cases & Architects ?!  Help manage complexity  Layers  Focus on real user needs  Groundwork for user manual, test cases.  Help us work in iterations.
  • 16. Use cases & Architects ?! (cont.)  Architectural design workflow (Kruchten 2003): ◦ Select scenarios : criticality and risk ◦ Identify main classes/components and their responsibility ◦ Distribute behavior ◦ Structure into subsystems, layers and define interfaces ◦ Define distribution and concurrency ◦ Implement architectural prototype ◦ Derive tests from use cases ◦ Evaluate architecture
  • 17. Naïve approach The naïve process for building a use case model is very straightforward [Armour,2001] 1. Find Actors 2. Find Use Cases 3. Describe the Use Cases
  • 18. Challenges  The problem is that such a simple process just doesn't cut it when it comes to large and complex systems.  The model is inflicted with duplicates.  Inconsistencies between use cases – starting from boundaries mismatches and ending in contradicting use cases.
  • 19. Challenges for complex use cases  Model ◦ Explosion ◦ Making sure the requirements are good  Team ◦ Efficiency ◦ Fragmentation  Process ◦ Details too early ◦ Quitting Time
  • 20. Challenges  They don’t capture Non-behavioral requirements : ◦ Performance , security , Modifiability. ◦ Environment constraints (such as specific OS, Hardware etc.)  Wasting energy on detailing requirements.  Large delays in the project schedule.
  • 21. Challenges  Problematic for complex and large system.  Suggested use cases may still really be lists of features (too simplistic /not practical).  Poor for distributed systems.  Not as good at representing dynamic component architectures.  Could be Vague, ambiguous, and incomplete.
  • 22.
  • 23. Bridging the gap between “what” and “how” the trick is in writing use case correctly
  • 24. Challenges  Semantics too imprecise –while formal testing/ verification… Leads to too many diagram notes.  contains specifications needed very rarely.  Requires training/certification when working with enterprise class systems.  UML is way too big - Long use case templates slow you down! A practical reasonable process is needed !!!
  • 25. The Methodology The use case model building process should be extended in order to mitigate these challenges. we need a process that is: ◦ ◦ ◦ ◦ ◦ Ordered Controlled Not too complicated Not too demanding Flexible
  • 26. Methodology Steps Define System Boundary 2) Organize the Team 3) Build a Problem Domain Object Model 4) Find Actors 5) Find Use Cases 6) Organize the Model 7) Prioritize Use Cases Diagram PDOM 8) Describe Use Cases 9) Refactor the Model UC 10) Verify and Validate Verify 11) Add Future Requirements Refactor 12) Knowing When to Stop Team 1) Vision priorities Validate
  • 27. Step 1: Define System Boundary  The Requirements Manager and Architect define the system boundary ◦ ◦ ◦ ◦ What problem(s) are we trying to solve ? Who are the stakeholders ? What are the main goals of the system ? What are the major functional and non-functional requirements ? ◦ What are the future directions of the product ?
  • 28. Step 2: Organize the Team  The teams (sizes and structure) that will be involved should be determined.
  • 29. Step 3: Build a Problem Domain Object Model PDOM   Usually, set of UML object diagrams showing the relations between the various objects. Iterative development Class model (UML). Police HQ Commands Commands Commands Watch Commander Has an District Emergency Center Is made of Is a Allocated to Sector Rapid Response Car Is made of Is a Policeman Beat Police Car Work in Are Allocated to Watch Beat Team Allocated to Drive Beat Car Is a
  • 30. Step 4: Find Actors   Finding actors is a recommended task for any use case modeling effort. No need to make an exhaustive list of all the actors. User Emergency Center Operator Emergency Center Supervisor Cop Watch Commander HQ Watch Commander
  • 31. Step 5: Find Use Cases There are basically four ways for discovering use cases:  Scenario Driven - Approach to examine the list of primary actors and their roles.  Actor/Responsibility - the responsibilities they have for accomplishing tasks.  Unstructured aggregation – place non-functional requirements into specific use cases.  Mission decomposition - identifying the actors, events, business rules etc.
  • 32. Step 6: Organize the Model  The simplest form of organizing the model is by level of detail .
  • 33. Step 7: Prioritize Use Cases  Modern software projects are built using an iterative process – this is done both to have a better control on the project and its progress and to risks early.  drive the development effort.
  • 34. Step 8 : Describe Use Cases For complex use case it’s difficult to follow. It is recommended to use UML's activity diagrams to visualize the scenarios.
  • 35. Step 9: Refactor the Model  Three relationships can be used to structure use cases: ◦ Extend ◦ Include ◦ Generalize
  • 36. Step 10: Verify & Validate the model Some Problems type: Incorrect description of use case.  Duplicated use case.  Expected functionality is unavailable.  Name of use case does not reflect the Goal.  To little details . 
  • 37. Step 11: Add Future Requirements  Capture Change cases ◦ Preparing for change. ◦ future enhancements.
  • 38. Step 12: Knowing When to Stop  Project Level ◦ Complete list of actors and goals. ◦ Customer approval. ◦ Design ready.  Iteration Level ◦ Covered all currently prioritized use cases. ◦ Level of detail (packages).
  • 39. New way to deal with complex use case ( Karabash ) As the size of the use case increases, some of its advantages will be lost  Use case chain is a technique to reduce complexity of large use cases by transform it into small text chains 
  • 42. Chains benefits: Test scenario: set of chain can be used by tester to generate end-to-end test scenarios.  Validation : this way gives us the manageability to validate the model with no much effort where no documenting of the same process more than once. 
  • 43. Chains benefits: Priority : the chain can be ordered according to important unit in the model  cataloging : catalog of all use case chains in the model gives us list of all possible feature of the system 
  • 44. Ahmad Karawash, PhD Email: ahmad.karawash@gmail.com