SlideShare a Scribd company logo
1 of 19
Download to read offline
Adri Timp
Chair, NESMA Counting Practices Committee
             Adri.Timp@nesma.nl

                  ISMA-3
             September 18, 2008
FPA applied to UML/Use Cases
         SIG proposal


         Approach


         UML and FPA


         Brief explanation of the guidelines


September 18, 2008             ISMA-3          2
Approach
 Goal SIG (Special Interest Group)
   • Application of FPA guidelines to UML/Use Cases, no Use Case Points
   • Starting point: Acquainted with both FPA and UML


 Process
   • Literature study: One basic knowledge level for SIG members
   • Formulate draft version
   • Review by FPA and UML experts of leading companies: Getronics, Pink
     Roccade, Sogeti, Equens, ABN AMRO, QSM, Atos Origin, and CapGemini
   • Publication

September 18, 2008   ISMA-3                                                3
FPA and UML / Use Cases
  FPA sizes functionality based on user view of application
  So independent of:
     Technology used for implementation
     Analysis / Design methodologies and models
  Consequence:
     FPA also applicable in UML designed application
     Just different terminology  “translation” to FPA concepts
     Many people don’t realize  use case points (and other)
     For experienced people “open doors”


September 18, 2008   ISMA-3                                        4
Requirements to carry out FPA
    Requirement                      Objective for FPA
    Model that describes             To identify the data functions




                                                                               Structure
    Structure/Data of application    (ILF, EIF)
    (Data Model)
    Data element types and           To determine complexity of the
    record types in Data Model       data functions
    Model that describes             To identify the transactional functions




                                                                               Behaviour
    behaviour of application         (EI, EO, EQ)
    The flow of data element         To determine complexity of the
    types and the processing logic   transactional functions




September 18, 2008     ISMA-3                                                              5
UML and FPA
         Behaviour or UML Diagram                    Describes
         structure?
         Behaviour    Use case diagram               Actors, system and functions
                      Use case description           Actions in a Use case
                      Activity diagram               Actions in a scenario
                      Interaction Overview diagram   Actions in a scenario
                      Sequence diagram               Actions in a scenario
                      Collaboration diagram          Actions in a scenario
         Structure    Class diagram                  Detailed information need


          In practice almost always available:
                Use Case Model (both diagrams and descriptions)
                Class Model
September 18, 2008       ISMA-3                                                     6
Use Cases
 Use Case Diagram                                                    Update customers



                                                                                           Customer system
                               Analyze risks
                                                              « include »



                             Price agreement
                                                                            Credit score
                                                « include »


               Salesman
                             Document the
                              agreement


                                   <<extend>>                                               Formulate credit
                                                                                                policy


                           Customer inquiry
                                                                              Manager




September 18, 2008        ISMA-3                                                                               7
Use Case and Actor
  UML definition of “Use Case”:
   “The specification of a set of actions performed by a system,
   which yields an observable result that is, typically, of value
   for one or more actors or other stakeholders of the system.”
  Use cases describe the requirements for an application from
   the point of view of the so-called “actor”
  Use cases represent the behaviour of the system as
   perceived by the actors
  UML “Actor” = FPA “User”
  UML “Use Case” = FPA “Elementary Process”?
September 18, 2008   ISMA-3                                   8
Use Case=Elementary Process?
  Yes and No
  Use Cases are well suited for counting function points
   (user view; observable result/self contained)
  But
       Level of detail (“granularity”) of uses cases widely vary
       UML does not give a definite answer for the level of detail
          for a use case
  So
       Additional analysis is always a must
       Automated “counting” not possible
September 18, 2008    ISMA-3                                          9
Analysis of Use Case A Must!
  Decomposition needed
     For example:
       1 Use Case “Maintain Customer”
          Analysis might show there are 4 EP’s:
          Customer Inquiry & Add, Change, Delete Customer
  Composition Needed
   For example:
       5 Use Cases “Validate Customer”, “Validate Article”, “Add
          Orderline”, “Calculate Shipping Date”, “Confirm Order”
          Analysis might show that this is 1 EP: “Place an Order”

September 18, 2008    ISMA-3                                        10
Use Case Scenarios
  Use Case Description may contain several “Scenarios”
  A Scenario is a “series of steps that describe the
   interaction between an actor and an application”
  All scenarios for a use case have in common that they
   support the same basic objective for a user
       “Happy Flow”: everything goes well
       Alternate Flows: describe what can go wrong and how a
          user can achieve his goal in a different way
             handling an error situation: typically no extra EP
             additional steps for actor: could be extra EP if self contained

September 18, 2008       ISMA-3                                                 11
Include Relationship
  Include Relationship: When a specific type of behaviour
   occurs in several Uses Cases, but is described once as
   separate Use Case
  Include Use Case can be:
       Not a separate EP if it is not a self contained process,
        for example a validation that is documented separately
       An EP if it does meet the criteria for an EP
        for example a drop down list in which the contents of an ILF
        is presented to make a selection
  Magic Word again: Analysis!

September 18, 2008   ISMA-3                                        12
Summary Use Cases
                     Analyse Granularity

                     Analyse Scenarios

                     Analyse “Include” Use Cases

                     Analyse “Storyboards”
September 18, 2008   ISMA-3                        13
Class Model
                Bank account

       <id> bank account nr.: Num <9>
       Account type: String <6>          Class/Object relationships
       Amount: Num <15>

       DepositAmount(Amount):            • Association
       RemitAmount(Amount):
       ShowBalance():Amount              • Aggregation
                                         • Composition
                     Or                  • Generalization


               Bank account




September 18, 2008              ISMA-3                                14
Objects and Classes
  How to identify Data Functions based on the OO Class
   Model
  Class: the definition of the attributes and the operations
   (“methods”) of similar Objects
  Object: concrete or abstract “ things” from the real world
  Sounds like Entity (Occurrence) and Entity Type
  Approach: Analyse the Class Model using the FPA rules
   and guidelines for identifying Logical Files in an Entity
   (Relationship) Model

September 18, 2008   ISMA-3                                     15
Guidelines
                     Exclude the Code Data



                     Exclude Association Classes without attributes:
                     (“Key-Key entities”): do not occur


                     Include Association Classes with attributes
                     (“Key-Key with attributes”)


                     Analyse type and optionality of the relationship
                     (dependent/independent) and group

September 18, 2008   ISMA-3                                             16
Guidelines
               Employee


                            1               Association and Aggregation:
                            0..*
                                            • Mutually a 1  1 Logical File
               Dependant
                                            • Mutually a 0  2 Logical Files
                                            • A 0 on one side?  “delete rule”
                     Team                     (class dependence/independence)

                            0..1

                            0..*

                 Player




September 18, 2008                 ISMA-3                                        17
Guidelines
                     Order                      Composition
                             1
                                                • Together always 1 logical file
                             1..*

                 Order line




                     Motor vehicle              Generalization

                                                • Separate “discrete” items? Then
                                                  2 Logical files
        Car                             Truck




September 18, 2008                   ISMA-3                                         18
FPA applied to UML/Use Cases Guide
                     Guide “FPA applied to UML/Use Cases”

                                 www.nesma.nl/english

                                   (Free download)


                                    office@nesma.nl

                                 Adri.Timp@nesma.nl




September 18, 2008      ISMA-3                              19

More Related Content

Similar to FPA applied to UML and Use Cases

Sadcw 7e chapter03-done(1)
Sadcw 7e chapter03-done(1)Sadcw 7e chapter03-done(1)
Sadcw 7e chapter03-done(1)LamineKaba6
 
Intro to UML - Use Case diagrams
Intro to UML - Use Case diagramsIntro to UML - Use Case diagrams
Intro to UML - Use Case diagramsjsm1979
 
Chapter 3.pptx
Chapter 3.pptxChapter 3.pptx
Chapter 3.pptxTekle12
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case DiagramAshesh R
 
Use Case Workshop
Use Case WorkshopUse Case Workshop
Use Case Workshopelkensteyin
 
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
 
Machine Learning as service
Machine Learning as serviceMachine Learning as service
Machine Learning as serviceNihal Mehdi
 
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
 
SELECT21.pptx
SELECT21.pptxSELECT21.pptx
SELECT21.pptxdevnasra1
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelmohamed khalaf alla mohamedain
 
05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineeringMohesh Chandran
 

Similar to FPA applied to UML and Use Cases (20)

Sadcw 7e chapter03-done(1)
Sadcw 7e chapter03-done(1)Sadcw 7e chapter03-done(1)
Sadcw 7e chapter03-done(1)
 
Intro to UML - Use Case diagrams
Intro to UML - Use Case diagramsIntro to UML - Use Case diagrams
Intro to UML - Use Case diagrams
 
Chapter 3.pptx
Chapter 3.pptxChapter 3.pptx
Chapter 3.pptx
 
Chapter5
Chapter5Chapter5
Chapter5
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Ws002 use cases
Ws002 use casesWs002 use cases
Ws002 use cases
 
StructureofUseCases.pptx
StructureofUseCases.pptxStructureofUseCases.pptx
StructureofUseCases.pptx
 
Use Case Workshop
Use Case WorkshopUse Case Workshop
Use Case Workshop
 
Ch08
Ch08Ch08
Ch08
 
Ch08
Ch08Ch08
Ch08
 
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
 
Machine Learning as service
Machine Learning as serviceMachine Learning as service
Machine Learning as service
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
chapter_5_5.ppt
chapter_5_5.pptchapter_5_5.ppt
chapter_5_5.ppt
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
SELECT21.pptx
SELECT21.pptxSELECT21.pptx
SELECT21.pptx
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineering
 
Sadcw 6e chapter3
Sadcw 6e chapter3Sadcw 6e chapter3
Sadcw 6e chapter3
 
Use Cases
Use CasesUse Cases
Use Cases
 

More from Nesma

2024-04 - Nesma webinar - Benchmarking.pdf
2024-04 - Nesma webinar - Benchmarking.pdf2024-04 - Nesma webinar - Benchmarking.pdf
2024-04 - Nesma webinar - Benchmarking.pdfNesma
 
Agile Team Performance Measurement webinar
Agile Team Performance Measurement webinarAgile Team Performance Measurement webinar
Agile Team Performance Measurement webinarNesma
 
Software Cost Estimation webinar January 2024.pdf
Software Cost Estimation webinar January 2024.pdfSoftware Cost Estimation webinar January 2024.pdf
Software Cost Estimation webinar January 2024.pdfNesma
 
Nesma event June '23 - How to use objective metrics as a basis for agile cost...
Nesma event June '23 - How to use objective metrics as a basis for agile cost...Nesma event June '23 - How to use objective metrics as a basis for agile cost...
Nesma event June '23 - How to use objective metrics as a basis for agile cost...Nesma
 
Nesma event June '23 - NEN Practice Guideline - NPR.pdf
Nesma event June '23 - NEN Practice Guideline - NPR.pdfNesma event June '23 - NEN Practice Guideline - NPR.pdf
Nesma event June '23 - NEN Practice Guideline - NPR.pdfNesma
 
Nesma event June '23 - Easy Function Sizing - Introduction.pdf
Nesma event June '23 - Easy Function Sizing - Introduction.pdfNesma event June '23 - Easy Function Sizing - Introduction.pdf
Nesma event June '23 - Easy Function Sizing - Introduction.pdfNesma
 
Automotive Software Cost Estimation - The UCE Approach - Emmanuel Mary
Automotive Software Cost Estimation - The UCE Approach - Emmanuel MaryAutomotive Software Cost Estimation - The UCE Approach - Emmanuel Mary
Automotive Software Cost Estimation - The UCE Approach - Emmanuel MaryNesma
 
The COSMIC battle between David and Goliath - Paul Hussein
The COSMIC battle between David and Goliath - Paul HusseinThe COSMIC battle between David and Goliath - Paul Hussein
The COSMIC battle between David and Goliath - Paul HusseinNesma
 
Succesful Estimating - It's how you tell the story - Amritpal Singh Agar
Succesful Estimating - It's how you tell the story - Amritpal Singh AgarSuccesful Estimating - It's how you tell the story - Amritpal Singh Agar
Succesful Estimating - It's how you tell the story - Amritpal Singh AgarNesma
 
(Increasing) Predictability of large Government ICT Projects - Koos Veefkind
(Increasing) Predictability of large Government ICT Projects - Koos Veefkind(Increasing) Predictability of large Government ICT Projects - Koos Veefkind
(Increasing) Predictability of large Government ICT Projects - Koos VeefkindNesma
 
CEBoK for Software Past Present Future - Megan Jones
CEBoK for Software Past Present Future - Megan JonesCEBoK for Software Past Present Future - Megan Jones
CEBoK for Software Past Present Future - Megan JonesNesma
 
Agile Development and Agile Cost Estimation - A return to basic principles - ...
Agile Development and Agile Cost Estimation - A return to basic principles - ...Agile Development and Agile Cost Estimation - A return to basic principles - ...
Agile Development and Agile Cost Estimation - A return to basic principles - ...Nesma
 
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...Nesma
 
Project Succes is a Choice - Joop Schefferlie
Project Succes is a Choice - Joop SchefferlieProject Succes is a Choice - Joop Schefferlie
Project Succes is a Choice - Joop SchefferlieNesma
 
Afrekenen met functiepunten
Afrekenen met functiepuntenAfrekenen met functiepunten
Afrekenen met functiepuntenNesma
 
Agile teams get a grip - martijn groenewegen
Agile teams   get a grip - martijn groenewegenAgile teams   get a grip - martijn groenewegen
Agile teams get a grip - martijn groenewegenNesma
 
The fact that your poject is agile is not (necessarily) a cost driver arlen...
The fact that your poject is agile is not (necessarily) a cost driver   arlen...The fact that your poject is agile is not (necessarily) a cost driver   arlen...
The fact that your poject is agile is not (necessarily) a cost driver arlen...Nesma
 
Software sizing as an essential measure past present and future - Dan Galorat...
Software sizing as an essential measure past present and future - Dan Galorat...Software sizing as an essential measure past present and future - Dan Galorat...
Software sizing as an essential measure past present and future - Dan Galorat...Nesma
 
A benchmark based approach to determine language verbosity - Hans Kuijpers - ...
A benchmark based approach to determine language verbosity - Hans Kuijpers - ...A benchmark based approach to determine language verbosity - Hans Kuijpers - ...
A benchmark based approach to determine language verbosity - Hans Kuijpers - ...Nesma
 
Software sizing the cornerstone for iceaa's scebok - Carol Dekkers
Software sizing the cornerstone for iceaa's scebok - Carol DekkersSoftware sizing the cornerstone for iceaa's scebok - Carol Dekkers
Software sizing the cornerstone for iceaa's scebok - Carol DekkersNesma
 

More from Nesma (20)

2024-04 - Nesma webinar - Benchmarking.pdf
2024-04 - Nesma webinar - Benchmarking.pdf2024-04 - Nesma webinar - Benchmarking.pdf
2024-04 - Nesma webinar - Benchmarking.pdf
 
Agile Team Performance Measurement webinar
Agile Team Performance Measurement webinarAgile Team Performance Measurement webinar
Agile Team Performance Measurement webinar
 
Software Cost Estimation webinar January 2024.pdf
Software Cost Estimation webinar January 2024.pdfSoftware Cost Estimation webinar January 2024.pdf
Software Cost Estimation webinar January 2024.pdf
 
Nesma event June '23 - How to use objective metrics as a basis for agile cost...
Nesma event June '23 - How to use objective metrics as a basis for agile cost...Nesma event June '23 - How to use objective metrics as a basis for agile cost...
Nesma event June '23 - How to use objective metrics as a basis for agile cost...
 
Nesma event June '23 - NEN Practice Guideline - NPR.pdf
Nesma event June '23 - NEN Practice Guideline - NPR.pdfNesma event June '23 - NEN Practice Guideline - NPR.pdf
Nesma event June '23 - NEN Practice Guideline - NPR.pdf
 
Nesma event June '23 - Easy Function Sizing - Introduction.pdf
Nesma event June '23 - Easy Function Sizing - Introduction.pdfNesma event June '23 - Easy Function Sizing - Introduction.pdf
Nesma event June '23 - Easy Function Sizing - Introduction.pdf
 
Automotive Software Cost Estimation - The UCE Approach - Emmanuel Mary
Automotive Software Cost Estimation - The UCE Approach - Emmanuel MaryAutomotive Software Cost Estimation - The UCE Approach - Emmanuel Mary
Automotive Software Cost Estimation - The UCE Approach - Emmanuel Mary
 
The COSMIC battle between David and Goliath - Paul Hussein
The COSMIC battle between David and Goliath - Paul HusseinThe COSMIC battle between David and Goliath - Paul Hussein
The COSMIC battle between David and Goliath - Paul Hussein
 
Succesful Estimating - It's how you tell the story - Amritpal Singh Agar
Succesful Estimating - It's how you tell the story - Amritpal Singh AgarSuccesful Estimating - It's how you tell the story - Amritpal Singh Agar
Succesful Estimating - It's how you tell the story - Amritpal Singh Agar
 
(Increasing) Predictability of large Government ICT Projects - Koos Veefkind
(Increasing) Predictability of large Government ICT Projects - Koos Veefkind(Increasing) Predictability of large Government ICT Projects - Koos Veefkind
(Increasing) Predictability of large Government ICT Projects - Koos Veefkind
 
CEBoK for Software Past Present Future - Megan Jones
CEBoK for Software Past Present Future - Megan JonesCEBoK for Software Past Present Future - Megan Jones
CEBoK for Software Past Present Future - Megan Jones
 
Agile Development and Agile Cost Estimation - A return to basic principles - ...
Agile Development and Agile Cost Estimation - A return to basic principles - ...Agile Development and Agile Cost Estimation - A return to basic principles - ...
Agile Development and Agile Cost Estimation - A return to basic principles - ...
 
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...
 
Project Succes is a Choice - Joop Schefferlie
Project Succes is a Choice - Joop SchefferlieProject Succes is a Choice - Joop Schefferlie
Project Succes is a Choice - Joop Schefferlie
 
Afrekenen met functiepunten
Afrekenen met functiepuntenAfrekenen met functiepunten
Afrekenen met functiepunten
 
Agile teams get a grip - martijn groenewegen
Agile teams   get a grip - martijn groenewegenAgile teams   get a grip - martijn groenewegen
Agile teams get a grip - martijn groenewegen
 
The fact that your poject is agile is not (necessarily) a cost driver arlen...
The fact that your poject is agile is not (necessarily) a cost driver   arlen...The fact that your poject is agile is not (necessarily) a cost driver   arlen...
The fact that your poject is agile is not (necessarily) a cost driver arlen...
 
Software sizing as an essential measure past present and future - Dan Galorat...
Software sizing as an essential measure past present and future - Dan Galorat...Software sizing as an essential measure past present and future - Dan Galorat...
Software sizing as an essential measure past present and future - Dan Galorat...
 
A benchmark based approach to determine language verbosity - Hans Kuijpers - ...
A benchmark based approach to determine language verbosity - Hans Kuijpers - ...A benchmark based approach to determine language verbosity - Hans Kuijpers - ...
A benchmark based approach to determine language verbosity - Hans Kuijpers - ...
 
Software sizing the cornerstone for iceaa's scebok - Carol Dekkers
Software sizing the cornerstone for iceaa's scebok - Carol DekkersSoftware sizing the cornerstone for iceaa's scebok - Carol Dekkers
Software sizing the cornerstone for iceaa's scebok - Carol Dekkers
 

Recently uploaded

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
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
 
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
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Recently uploaded (20)

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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
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?
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
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!
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
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)
 
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
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

FPA applied to UML and Use Cases

  • 1. Adri Timp Chair, NESMA Counting Practices Committee Adri.Timp@nesma.nl ISMA-3 September 18, 2008
  • 2. FPA applied to UML/Use Cases SIG proposal Approach UML and FPA Brief explanation of the guidelines September 18, 2008 ISMA-3 2
  • 3. Approach Goal SIG (Special Interest Group) • Application of FPA guidelines to UML/Use Cases, no Use Case Points • Starting point: Acquainted with both FPA and UML Process • Literature study: One basic knowledge level for SIG members • Formulate draft version • Review by FPA and UML experts of leading companies: Getronics, Pink Roccade, Sogeti, Equens, ABN AMRO, QSM, Atos Origin, and CapGemini • Publication September 18, 2008 ISMA-3 3
  • 4. FPA and UML / Use Cases  FPA sizes functionality based on user view of application  So independent of:  Technology used for implementation  Analysis / Design methodologies and models  Consequence:  FPA also applicable in UML designed application  Just different terminology  “translation” to FPA concepts  Many people don’t realize  use case points (and other)  For experienced people “open doors” September 18, 2008 ISMA-3 4
  • 5. Requirements to carry out FPA Requirement Objective for FPA Model that describes To identify the data functions Structure Structure/Data of application (ILF, EIF) (Data Model) Data element types and To determine complexity of the record types in Data Model data functions Model that describes To identify the transactional functions Behaviour behaviour of application (EI, EO, EQ) The flow of data element To determine complexity of the types and the processing logic transactional functions September 18, 2008 ISMA-3 5
  • 6. UML and FPA Behaviour or UML Diagram Describes structure? Behaviour Use case diagram Actors, system and functions Use case description Actions in a Use case Activity diagram Actions in a scenario Interaction Overview diagram Actions in a scenario Sequence diagram Actions in a scenario Collaboration diagram Actions in a scenario Structure Class diagram Detailed information need In practice almost always available:  Use Case Model (both diagrams and descriptions)  Class Model September 18, 2008 ISMA-3 6
  • 7. Use Cases Use Case Diagram Update customers Customer system Analyze risks « include » Price agreement Credit score « include » Salesman Document the agreement <<extend>> Formulate credit policy Customer inquiry Manager September 18, 2008 ISMA-3 7
  • 8. Use Case and Actor  UML definition of “Use Case”: “The specification of a set of actions performed by a system, which yields an observable result that is, typically, of value for one or more actors or other stakeholders of the system.”  Use cases describe the requirements for an application from the point of view of the so-called “actor”  Use cases represent the behaviour of the system as perceived by the actors  UML “Actor” = FPA “User”  UML “Use Case” = FPA “Elementary Process”? September 18, 2008 ISMA-3 8
  • 9. Use Case=Elementary Process?  Yes and No  Use Cases are well suited for counting function points (user view; observable result/self contained)  But  Level of detail (“granularity”) of uses cases widely vary  UML does not give a definite answer for the level of detail for a use case  So  Additional analysis is always a must  Automated “counting” not possible September 18, 2008 ISMA-3 9
  • 10. Analysis of Use Case A Must!  Decomposition needed For example:  1 Use Case “Maintain Customer” Analysis might show there are 4 EP’s: Customer Inquiry & Add, Change, Delete Customer  Composition Needed For example:  5 Use Cases “Validate Customer”, “Validate Article”, “Add Orderline”, “Calculate Shipping Date”, “Confirm Order” Analysis might show that this is 1 EP: “Place an Order” September 18, 2008 ISMA-3 10
  • 11. Use Case Scenarios  Use Case Description may contain several “Scenarios”  A Scenario is a “series of steps that describe the interaction between an actor and an application”  All scenarios for a use case have in common that they support the same basic objective for a user  “Happy Flow”: everything goes well  Alternate Flows: describe what can go wrong and how a user can achieve his goal in a different way  handling an error situation: typically no extra EP  additional steps for actor: could be extra EP if self contained September 18, 2008 ISMA-3 11
  • 12. Include Relationship  Include Relationship: When a specific type of behaviour occurs in several Uses Cases, but is described once as separate Use Case  Include Use Case can be:  Not a separate EP if it is not a self contained process, for example a validation that is documented separately  An EP if it does meet the criteria for an EP for example a drop down list in which the contents of an ILF is presented to make a selection  Magic Word again: Analysis! September 18, 2008 ISMA-3 12
  • 13. Summary Use Cases Analyse Granularity Analyse Scenarios Analyse “Include” Use Cases Analyse “Storyboards” September 18, 2008 ISMA-3 13
  • 14. Class Model Bank account <id> bank account nr.: Num <9> Account type: String <6> Class/Object relationships Amount: Num <15> DepositAmount(Amount): • Association RemitAmount(Amount): ShowBalance():Amount • Aggregation • Composition Or • Generalization Bank account September 18, 2008 ISMA-3 14
  • 15. Objects and Classes  How to identify Data Functions based on the OO Class Model  Class: the definition of the attributes and the operations (“methods”) of similar Objects  Object: concrete or abstract “ things” from the real world  Sounds like Entity (Occurrence) and Entity Type  Approach: Analyse the Class Model using the FPA rules and guidelines for identifying Logical Files in an Entity (Relationship) Model September 18, 2008 ISMA-3 15
  • 16. Guidelines Exclude the Code Data Exclude Association Classes without attributes: (“Key-Key entities”): do not occur Include Association Classes with attributes (“Key-Key with attributes”) Analyse type and optionality of the relationship (dependent/independent) and group September 18, 2008 ISMA-3 16
  • 17. Guidelines Employee 1 Association and Aggregation: 0..* • Mutually a 1  1 Logical File Dependant • Mutually a 0  2 Logical Files • A 0 on one side?  “delete rule” Team (class dependence/independence) 0..1 0..* Player September 18, 2008 ISMA-3 17
  • 18. Guidelines Order Composition 1 • Together always 1 logical file 1..* Order line Motor vehicle Generalization • Separate “discrete” items? Then 2 Logical files Car Truck September 18, 2008 ISMA-3 18
  • 19. FPA applied to UML/Use Cases Guide Guide “FPA applied to UML/Use Cases” www.nesma.nl/english (Free download) office@nesma.nl Adri.Timp@nesma.nl September 18, 2008 ISMA-3 19