SlideShare a Scribd company logo
1 of 129
Download to read offline
Software Measurement
 Software Economics 2010
Outline
●   Last week
       –   Measures and metrics, what kinds of different
            metrics exist
●   Today
       –   Function point analysis + Home assignment
●   Next week
       –   Introduction of metrics in organizations
       –   Application of metrics
●   Fourth week
       –   Presentation of group-work assignments
                  give your feedback: twitter with #softmetrics   2/130
Agenda
1.Function point analysis




             give your feedback: twitter with #softmetrics   3/130
Function Point Analysis
●   Function point is a measure of the amount of
    business functionality in a software application
        –   The larger number of FP-s the more
             functionality
●   Function Point Analysis is a method of using
    FP-s to break down applications into smaller
    components and measure their size




                  give your feedback: twitter with #softmetrics   4/130
Function Point Analysis



Performed from sophisticated user point of
                 view!




           give your feedback: twitter with #softmetrics   5/130
Software Applications
●   Interwoven set of defined elementary processes
    (=functions)

●   Data in motion = Transactions
        –   Moving data from application to outside or from
             outside to application
●   Data at rest
        –   Data storage


                   give your feedback: twitter with #softmetrics   6/130
Function Points – Context
      Identify Application Boundaries


Count Transactional                       Count Data
    Functions                              Functions


     Determine Unadjusted FP Count


      Determine Adjusted FP Count


         give your feedback: twitter with #softmetrics   7/130
Function Points – Context
   Identify Application Boundaries




      give your feedback: twitter with #softmetrics   8/130
Application Boundary
●   Border between application being measured
    and external applications




               give your feedback: twitter with #softmetrics   9/130
Exercise
●   Assume we are building a web application that
    aggregates and shows stream of events in a
    team:
       –   Anton fixed a bug
       –   Mark added new task
       –   Anton committed new code change
●   Everybody can sign-up
●   Create new streams
●   Data is stored in database

                  give your feedback: twitter with #softmetrics   10/130
What functionality is part of
       application?




      give your feedback: twitter with #softmetrics   11/130
Exercise: Within Boundaries or Not?
●   Authentication
●   Configuration of connections to tools team is
    using (bug&task tracking, code management)
●   Organization/optimization of database files
●   Forwarding events to Twitter/Facebook
●   Sending HTML/JS/CSS over HTTP to browser




                give your feedback: twitter with #softmetrics   12/130
Components
●   Transactions
        –   External Inputs (information input)
        –   External Inquiries (no derived data, data
             retrieval):
        –   External Outputs (derived data, algorithms):
●   Data at rest
        –   Internal Logical Files (maintained internally)
        –   External Interfaces Files (maintained by external
             apps)


                   give your feedback: twitter with #softmetrics   13/130
Components




give your feedback: twitter with #softmetrics   14/130
Components
●   All components rated as Low, Average or High
       –   Based on complexity
●   Points are assigned based on the rating




                 give your feedback: twitter with #softmetrics   15/130
How would you evaluate complexity
         of components?




         give your feedback: twitter with #softmetrics   16/130
Break things up into even smaller
                 pieces!
●   Transaction
        –   Dependent on data transferred
        –   Dependent on data stored
●   Data at rest
        –   Dependent on data stored
        –   Independent of data transferred




                   give your feedback: twitter with #softmetrics   17/130
Smaller Pieces
●   Data Element Type (DET)
       –   Dynamic user recognizable fields
       –   Controls (things that invoke actions)
       –   Used to estimate complexity of both
            transactions and data
●   Repeatable data element types β†’ β€œRecursive
    DET”




                  give your feedback: twitter with #softmetrics   18/130
Data Element Type – Examples


                                                DET-s




       give your feedback: twitter with #softmetrics    19/130
Data Element Type – Examples
                                            DET-s




  Recursive DET-s
       give your feedback: twitter with #softmetrics   20/130
Data Element Type – Examples




       give your feedback: twitter with #softmetrics   21/130
Data Element Type – Examples




   DET-s


       give your feedback: twitter with #softmetrics   22/130
Smaller Pieces
●   Data Element Type (DET)
       –   Dynamic user recognizable field
●   Record Element Type (RET)
       –   User recognizable subgroup of data elements in
            internal logical file or external interface file
       –   For relational databases typically one Internal
            Logic File (table) = one Record Element Type




                  give your feedback: twitter with #softmetrics   23/130
Record Element Type – Examples




1 RET each


         give your feedback: twitter with #softmetrics   24/130
Record Element Type – Examples




                     2 RET-s
        give your feedback: twitter with #softmetrics   25/130
Record Element Type – Examples
 Inheritance in object                    Table per object
oriented development                   hierarchy in relational
                                             database




             give your feedback: twitter with #softmetrics       26/130
Record Element Type – Examples




                     2 RET-s

        give your feedback: twitter with #softmetrics   27/130
Smaller Pieces
●   Data Element Type (DET)
       –   Dynamic user recognizable field
●   Record Element Type (RET)
       –   User recognizable subgroup of data elements in
            internal logical file or external interface file
●   File Type Referenced (FTR)
       –   File type referenced by transaction (internal
             logical file or external interface file)



                  give your feedback: twitter with #softmetrics   28/130
File Type Referenced - Examples
●   Edit article details
        –   Abstract
        –   Tags
        –   Notes




                    give your feedback: twitter with #softmetrics   29/130
FTR-s For Edit Article Details




                                              Not referenced


   FTR-s


      give your feedback: twitter with #softmetrics       30/130
File Type Referenced Examples
●   How many FTR-s for β€œList of Articles”?
       –   Tables: Articles, Authors, Tags




                  give your feedback: twitter with #softmetrics   31/130
Components




give your feedback: twitter with #softmetrics   32/130
Components and Elements




    give your feedback: twitter with #softmetrics   33/130
Function Points – Context
      Identify Application Boundaries


Count Transactional
    Functions




         give your feedback: twitter with #softmetrics   34/130
External Inputs
●   Information flows into the application
        –   Online, user inserted, from other application




                   give your feedback: twitter with #softmetrics   35/130
External Inputs – Examples




     give your feedback: twitter with #softmetrics   36/130
External Inputs – Examples
             EI




     give your feedback: twitter with #softmetrics   37/130
External Inputs
●   Elementary process in which data or control
    information crosses the boundary from outside
    to inside
       –   Data is maintained = added, changed or
            deleted
       –   Application is controlled (manipulated, behavior
            is changed)
●   Rated based upon Data Element Types and
    Files Type Referenced


                  give your feedback: twitter with #softmetrics   38/130
External Inputs β†’ Function Points

Files Referenced                Data Elements (DET-s)
     (FTR-s)            1–4                     5 – 15            > 15
        1             Low (3)                 Low (3)          Average (4)
        2             Low (3)              Average (4)          High (6)
       >2          Average (4)                High (6)          High (6)

●   Low β†’ 3 function points
●   Average β†’ 4 function points
●   High β†’ 6 function points

               give your feedback: twitter with #softmetrics               39/130
External Inputs – Examples
                                        ●   External Inputs
                                            include error
                                            messages!
                                        ●   All errors
                                            messages are
                                            counted as 1
                                            Dynamic
                                            Element Type



     give your feedback: twitter with #softmetrics            40/130
External Inputs – Data Types
●   Business data: customer name, number of
    credits for course, … β†’ updates Internal
    Logical Files (ILF-s)
●   Control data: printer port, number of copies, …
    β†’ may or may not update ILF-s
●   Rules data: number of days before registration
    closes, min amount eligible for free shipping β†’
    updates ILF-s



                give your feedback: twitter with #softmetrics   41/130
External Inputs
●   Data element types for External Inputs
       –   Fields, Controls, Messages (both error and
             confirmation)
       –   Calculated values that are stored
●   Cancel – not counted in EI
       –   Data doesn't cross boundary – noting changed,
            edited or deleted
       –   State or behavior of application is not changed



                  give your feedback: twitter with #softmetrics   42/130
Invalid External Inputs
●   Login screens
        –   Should be counted as External Inquiry
●   (Static) menus, link, navigational screens
        –   Usability, not functionality




                    give your feedback: twitter with #softmetrics   43/130
External Inputs – Identification Rules
●   Data is received from outside the app boundary
●   Maintains data in Internal Logical Files
●   Process is self contained and leaves the
    application in consistent state
●   Typical vocabulary
        –   Add, Change, Delete, Modify, Remove, Edit,
             Enable, Save, Store, Submit, ...




                  give your feedback: twitter with #softmetrics   44/130
Exercise – Rate External Input




       give your feedback: twitter with #softmetrics   45/130
External Outputs
●   Derived information flows from the application
        –   Algorithms, calculations
        –   Reports, graphs, charts




                   give your feedback: twitter with #softmetrics   46/130
Derived Information




 give your feedback: twitter with #softmetrics   47/130
External Outputs – Examples
                                                      EO




      give your feedback: twitter with #softmetrics        48/130
External Output
●   Elementary process in which derived data
    passes across the boundary from inside to
    outside
       –   Based on internal logical files and/or external
            interface files
       –   Data processed beyond direct retrieval and
            editing from internal logical files or external
            interface files
●   Rated based upon Data Element Types and
    Files Type Referenced

                  give your feedback: twitter with #softmetrics   49/130
External Outputs β†’ Function Points

Files Referenced                Data Elements (DET-s)
     (FTR-s)            1–5                     6 – 19            > 19
        1             Low (4)                 Low (4)          Average (5)
      2–3             Low (4)              Average (5)          High (7)
       >3          Average (5)                High (7)          High (7)

●   Low β†’ 4 function points
●   Average β†’ 5 function points
●   High β†’ 7 function points

               give your feedback: twitter with #softmetrics               50/130
External Outputs
●   Notification messages – result of processing =
    calculation
●   Data element types for External Outputs
       –   Error messages
       –   Calculated values on reports
       –   Values on reports retrieved from application
       –   Recursive DET-s counted only once!
●   External Outputs can have input side
       –   Report configuration, ...

                  give your feedback: twitter with #softmetrics   51/130
Invalid External Outputs
●   Error message, confirmation message
       –   Parts of External Outputs or other transactions
●   Reports without derived data
       –   External Inquiries




                  give your feedback: twitter with #softmetrics   52/130
External Outputs – Identification
                Rules
●   Data is sent from the app boundary to outside
●   Process is self contained and leaves the
    application in consistent state
●   Typical vocabulary
       –   Browse, Display, Query, Report, View, Select,
            Request, Retrieve, Aggregate, Calculate




                  give your feedback: twitter with #softmetrics   53/130
External Outputs – Identification
                Rules
●   Data ordering produces the same external
    output β†’ counted only once!




               give your feedback: twitter with #softmetrics   54/130
External Outputs – Identification
                Rules
●   Different derived data from the same data β†’
    different external outputs!




               give your feedback: twitter with #softmetrics   55/130
Exercise – Rate External Output




       give your feedback: twitter with #softmetrics   56/130
External Inquiries
●   Information flows from the application
        –   Existing, already stored data
        –   Input side and output side
        –   Reports, graphs, charts,




                   give your feedback: twitter with #softmetrics   57/130
External Inquiries
●   Existing data + Input and output sides




                give your feedback: twitter with #softmetrics   58/130
External Inquiries – Examples
                                     1 EI




      give your feedback: twitter with #softmetrics   59/130
External Inquiry – Examples

                                               1 EI




     give your feedback: twitter with #softmetrics    60/130
External Inquiries
●   Elementary process with both input and output
    components that result in data retrieval from
    one or more internal logical files and/or external
    interface files
        –   Does not maintain any internal logical files
        –   Does not contain derived information
●   Rated based upon Data Element Types and
    Files Type Referenced



                   give your feedback: twitter with #softmetrics   61/130
External Inquiries β†’ Function Points

Files Referenced                Data Elements (DET-s)
     (FTR-s)            1–5                     6 – 19            > 19
        1             Low (3)                 Low (3)          Average (4)
      2–3             Low (3)              Average (4)          High (6)
       >3          Average (4)                High (6)          High (6)

●   Low β†’ 3 function points
●   Average β†’ 4 function points
●   High β†’ 6 function points

               give your feedback: twitter with #softmetrics               62/130
External Inquiries – Examples
●   Input: customer name in the search field
●   Output: list of customers by name

●   Input: click on the document title
●   Output: document details




                give your feedback: twitter with #softmetrics   63/130
External Inquiries – Data Types
●   Pagination: NEXT and BACK buttons –
    recursive information, counted as the same
    function
●   Messages are DET-s!
       –   β€œsearching”+data+”not found” = 3 DET-s




                 give your feedback: twitter with #softmetrics   64/130
Invalid External Inquiries
●   Error message, confirmation message
       –   Parts of External Inquiries or other transactions
●   Screens with derived data
       –   External Outputs




                  give your feedback: twitter with #softmetrics   65/130
External Inquiries – Identification
                 Rules
●   Request enters the boundaries, result exits the
    boundaries
●   Data retrieval, no derived data
●   Input and Output together form an elementary
    process
●   Data is not maintained (but can be updated)
●   Typical vocabulary
        –   Browse, Display, Fetch, Find, List, Drop-down,
             Select, View, Query, Report, ...

                   give your feedback: twitter with #softmetrics   66/130
Exercise – Rate External Inquiry




        give your feedback: twitter with #softmetrics   67/130
Transactional Components Trivia
●   For which components is true:
       –   DET-s are retrieved from FTR-s
       –   Updates ILF
       –   Maintains ILF
       –   Contains derived data
       –   Info from outside to inside
       –   Never contains derived data
       –   Info from inside to outside
       –   At least on FTR is referenced

                  give your feedback: twitter with #softmetrics   68/130
Function Points – Context
      Identify Application Boundaries


Count Transactional                       Count Data
    Functions                              Functions




         give your feedback: twitter with #softmetrics   69/130
Internal Logical Files
●   Data that resides within app. boundaries
       –   Business data, control data, rules based data




                  give your feedback: twitter with #softmetrics   70/130
Internal Logical Files – Examples




    3 ILF-s

         give your feedback: twitter with #softmetrics   71/130
Internal Logical Files – Data Types
●   Business data: course name, address, student
●   Control data: printer port, copies, database url
●   Rules based data: registration criteria, grading
    scheme




                give your feedback: twitter with #softmetrics   72/130
Internal Logical Files – Examples
●   Application configuration stored on hard drive
        –   If maintained through the application
●   Log files




                   give your feedback: twitter with #softmetrics   73/130
Internal Logical Files
●   Group of logically related data residing entirely
    within application boundary
        –   Maintained by External Inputs
        –   Has at least one Record Element Type
●   Rated based upon Data Element Types and
    Record Element Types




                   give your feedback: twitter with #softmetrics   74/130
Internal Logical Files β†’ FP-s

Record Elements                 Data Elements (DET-s)
    (RET-s)            1 – 19                 20 – 50             > 50
        1             Low (7)                 Low (7)          Average (10)
      2–5             Low (7)             Average (10)          High (15)
       >5         Average (10)               High (15)          High (15)

●   Low β†’ 7 function points
●   Average β†’ 10 function points
●   High β†’ 15 function points

               give your feedback: twitter with #softmetrics             75/130
Internal Logical Files – Identification
                Rules
●   User identifiable logical grouping
●   Data is maintained within application
    boundaries
●   Data is modified via one or more External
    Inputs




                give your feedback: twitter with #softmetrics   76/130
Exercise – Rate ILF-s




  give your feedback: twitter with #softmetrics   77/130
Exercise – Rate ILF




 give your feedback: twitter with #softmetrics   78/130
External Interface Files
●   Data that resides outside app. boundary
       –   Internal data of other application




                  give your feedback: twitter with #softmetrics   79/130
External Interface Files – Examples



                                   Google Scholar is EIF




         give your feedback: twitter with #softmetrics   80/130
External Interface Files
●   Group of logically related data residing entirely
    outside application boundary
        –   Maintained by another application
        –   Data is retrieved during External Output or
             External Inquiry
●   Rated based upon Data Element Types and
    Record Element Types




                   give your feedback: twitter with #softmetrics   81/130
External Interface Files β†’ FP-s

Record Elements                 Data Elements (DET-s)
    (RET-s)            1 – 19                 20 – 50             > 50
        1             Low (5)                 Low (5)          Average (7)
      2–5             Low (5)              Average (7)          High (10)
       >5         Average (7)                High (10)          High (10)

●   Low β†’ 5 function points
●   Average β†’ 7 function points
●   High β†’ 10 function points

               give your feedback: twitter with #softmetrics             82/130
External Interface Files –
           Identification Rules
●   User identifiable logical grouping of information
●   Data external to application




                give your feedback: twitter with #softmetrics   83/130
Exercise – Rate EIF




  give your feedback: twitter with #softmetrics   84/130
Function Points – Context
      Identify Application Boundaries


Count Transactional                       Count Data
    Functions                              Functions


     Determine Unadjusted FP Count




         give your feedback: twitter with #softmetrics   85/130
What important aspect is missing in
 order to start using FPA right now?




         give your feedback: twitter with #softmetrics   86/130
General System Characteristics
●   Rate the general functionality of the application
●   Things that influence application as a whole (=
    non-functional requirements)
        –   Context of operation
        –   Performance
        –   Reliability
●   14 Characteristics β†’ For each rate β€œhow much
    it influences the application”
        –   0–5

                    give your feedback: twitter with #softmetrics   87/130
1. Data Communications
●   How many communication facilities are there?
       0.Batch processing or standalone computer
       1.Batch processing w/ remote data entry or printing
       2.Batch w/ remote data entry and printing
       3.Online data collection or front-end to a batch
          process or query system
       4.More than a front-end but supports only one
          communication protocol
       5.More than a front-end and supports more than
          one com. protocol

                give your feedback: twitter with #softmetrics   88/130
1. Data Communications - Example
●   Application that allows querying via internet and
    local access β†’ 3 pt
●   Application that allows updating ILF-s via
    internet and local access β†’ 5 pt




                give your feedback: twitter with #softmetrics   89/130
2. Distributed Data Processing
●   How are distributed data and processing
    functions handled
       0.Application doesn't aid data transfer or
          processing between components
       1.Data prepared for end-user processing on
          another component (e.g. store results in DBMS)
       2.Data prepared for transfer, transferred and
          processed on another component
       3.Distributed processing and transfer are online in
          one direction
       4.Distributed processing – online in both directions
       5.Dynamically performed on most appropriate
          component
                give your feedback: twitter with #softmetrics   90/130
3. Performance
●   Requirements of response time or throughput
       0.No special requirements
       1.Stated and reviewed but no special actions
       2.Critical during peak hours
       3.Critical during business hours
       4.Stringent requirements drive performance
          analysis in the design phase
       5.Stringent requirements drive usage of analysis
          tools during various phases (design,
          development, etc)

                give your feedback: twitter with #softmetrics   91/130
4. Heavily Used Configuration
●   Usage of existing hardware to run application
       0.No operational restrictions
       1.Restrictions exist, but no special effort required to
          meet them
       2.Some security or timing considerations required
       3.Processor requirements for specific piece of app.
       4.Special constraints on application in the central
          processor
       5.In addition, special constraints on application in
           distributed components

                give your feedback: twitter with #softmetrics   92/130
5. Transaction Rate
●   Frequency of transaction execution
       0.No peak period anticipated
       1.Peak period (monthly, quarterly, etc) is anticipated
       2.Weekly peak period
       3.Daily peak period
       4.Requirements or SLA drive performance analysis
          in the design phase
       5.Requirements or SLA drive usage of performance
          analysis tools in various phases (design,
          development, installation, etc)

                give your feedback: twitter with #softmetrics   93/130
6. Online Data Entry
●   How much information is entered online
       0.All transactions processed in batch mode
       1.1% – 7% of transactions are interactive data
          entry
       2.8% – 15%
       3.16% – 23%
       4.24% – 30%
       5.More than 30%



                give your feedback: twitter with #softmetrics   94/130
7. End-user Efficiency
●   Was application designed for end-user efficiency?
●   Navigational aids                      ●   Bilingual support (4x)
●   Menus                                  ●   Multilingual (6x)
●   Online help                            ●   Remote printing
●   Scrolling                              ●   Preassigned function
                                               keys
●   Mouse interface
                                           ●   Highlighting, color
●   Pop-up windows
                                               underlining, ..
●   Cursor selection of                    ●   AND MORE ...
    screen data

                   give your feedback: twitter with #softmetrics        95/130
7. End-user Efficiency
●   Was application designed for end-user efficiency?
       0.None of the above
       1.1 – 3 of the above
       2.4 – 5 of the above
       3.More than 6, but no specific requirements stated
       4.More than 6 and requirements require special
          design tasks
       5.More than 6 and requirements require usage of
          special tools to demonstrate achievement


                give your feedback: twitter with #softmetrics   96/130
8. Online Update
●   Number of ILF-s updated online
       0.None
       1.1 – 3 control files, volume of updating is low,
           recovery is easy
       2.4 or more control files, …
       3.Online update of major ILF-s is included
       4.Protection against data loss is required and to be
          designed and implemented
       5.High volumes of updates, highly automated
          recovery procedures, cost considerations

                give your feedback: twitter with #softmetrics   97/130
9. Complex Processing
●   Requirements of logical or mathematical
    processing (each selected β†’ +1 point)
       –   Sensitive control (special audit processing)
            and/or app specific security processing
       –   Extensive logical processing
       –   Extensive mathematical processing
       –   Exception processing resulting in incomplete
            transactions that must be redone (e.g. ATM-s)
       –   Complex processing to handle multiple
            input/output possibilities (e.g. multimedia,
            device independence)
                  give your feedback: twitter with #softmetrics   98/130
10. Reusability
●   Application and code designed and developed to
    be usable in other applications
       0.No reusable code
       1.Reusable code used within the application
       2.<10% of app considered more than one user's
          needs
       3.>10% of app considered …
       4.Packaged and documented for reuse,
          customizable at source code level
       5.Package and documented for reuse,
          customizable by parameter maintenance
               give your feedback: twitter with #softmetrics   99/130
11. Installation Ease
●   Difficulty of conversion and installation
        0.No special considerations stated, no special
           setup is required for installation
        1.No special considerations stated, but special
           setup is required
        2.Requirements stated, but impact of conversion is
           not important, installation and conversion
           guides tested and provided
        3.Requirements stated and impact is important
        4. #2 + Automated conversion and installation
        5. #3 + Automated conversion and installation
                 give your feedback: twitter with #softmetrics   100/130
12. Operational Ease
●   Effectiveness and automation of start-up, back-up
    and recovery procedures, min. manual activities
       0.No special considerations, only normal back-up
          procedures stated
       1-4.Each selection from below β†’ +1 point:
             ●   Effective procedures with operator intervention
             ●   Effective procedures without intervention (+2)
             ●   Minimization of tape mounts needs
             ●   Minimization of paper handling needs
       5.No operator intervention required besides start-up
          and shut-down. Automatic error recovery
                   give your feedback: twitter with #softmetrics   101/130
13. Multiple Sites
●   Support of installation and usage at multiple sites
    for multiple organizations
        0.No requirements of more than one user/site
        1.Identical hardware and software environment
        2.Similar hardware and software environment
        3.Different hardware and software environments
        –   Docs and support plan provided and tested + #1
             or #2
        –   Docs and support plan provided and tested + #3


                  give your feedback: twitter with #softmetrics   102/130
14. Facilitate Change
●   Requirements of change facilitation in biz. data
    (sum points)
        –   Flexible query and report facility with simple
              requests (for 1 ILF) – 1pt
        –   Query and report with average complexity
             requests (for >1 ILF) – 2pts
        –   Query and report with complex requests
             (combinations of ILF-s) – 3pts
        –   Online interactive processes for biz. control data,
             but changes take effect next business day – 1pt
        –   Online interactive processes for biz. control data,
             and changes take effect immediately – 2pts
                   give your feedback: twitter with #softmetrics   103/130
Function Points – Context
      Identify Application Boundaries


Count Transactional                       Count Data
    Functions                              Functions


     Determine Unadjusted FP Count


      Determine Adjusted FP Count


         give your feedback: twitter with #softmetrics   104/130
Value Adjustment Factor



VAF = 0.65 + 0.01 x
      Sum(GSCi)




    give your feedback: twitter with #softmetrics   105/130
Function Points Count
             FP = UFP * VAF

●   UFP – Unadjusted function points
●   VAF – Value adjustment factors




               give your feedback: twitter with #softmetrics   106/130
Different Types of Projects
●   Development project
        –   Data migration, initial installation β†’ assisting
             functionality
●   Enhancement project
        –   New functionality, modification and deletion of
             existing functionality, changes in global system
             characteristics
●   Size of the existing/modified application
        –   Several enhancements, β€œcurrent size”


                   give your feedback: twitter with #softmetrics   107/130
Development Project
     DFP = (UFP + CFP) * VAF

●   UFP – Unadjusted function points
●   CFP – Conversion function points
       –   Data conversion, initial installation, doesn't exist
            after application is up and running
●   VAF – Value adjustment factor



                  give your feedback: twitter with #softmetrics   108/130
Enhancement Project
    EFP = (ADD + CHGA + CFP) *
        VAFA + DEL * VAFB
●   ADD – Added unadjusted function points
●   CHGA – Modified unadjusted function points
       –   Counted AFTER modifications
●   CFP – Conversion function points
●   VAFA – Value adjustment factor AFTER project
●   DEL – Deleted unadjusted function points
●   VAFB – Value adjustment factor BEFORE project
                 give your feedback: twitter with #softmetrics   109/130
Size After Enhancement Project

    AFP = [(UFPB + ADD + CHGA)
      - (CHGB + DEL)] * VAFA
●   UFPB – Unadjusted FP-s before enhancement
●   ADD – Added unadjusted function points
●   CHGA – Modified unadjusted FP-s β€œAFTER”
●   CHGB – Modified unadjusted FP-s β€œBEFORE”
●   DEL – Deleted unadjusted function points
●   VAFA – Value adjustment factor AFTER project
               give your feedback: twitter with #softmetrics   110/130
Current Application Size
              AFP = ADD * VAF

●   ADD – Unadjusted FP-s for functionality
    currently installed
       –   Parts of application may have been deleted,
            modified etc
●   VAF – Value adjustment factor



                  give your feedback: twitter with #softmetrics   111/130
Function Points – Context
      Identify Application Boundaries


Count Transactional                       Count Data
    Functions                              Functions


     Determine Unadjusted FP Count


      Determine Adjusted FP Count


         give your feedback: twitter with #softmetrics   112/130
Home Assignment
●   Group assignment
●   Select software or software project
        –   At least 5 transaction components
●   Perform function point analysis
●   Important dates:
        –   26. Sept 00:00 β†’ submit reports
        –   28. Sept β†’ present your work



                   give your feedback: twitter with #softmetrics   113/130
Report Expectations
●   Application overview
●   State all assumptions (e.g. data model, ...)
●   Clearly stated boundaries
        –   what's inside, what's not
●   For each component:
        –   justify its type
        –   list DETs, RETs, FTRs
●   GSC β†’ for each justify value
●   Be laconic β†’ keep it short
●   English!
                    give your feedback: twitter with #softmetrics   114/130
Presentation Expectations
●   10 mins
●   3 most interesting/complex components
●   3 GSC-s
●   Total number of points
●   English!




               give your feedback: twitter with #softmetrics   115/130
Assignment – Project Examples
●   Projects in English
        –   http://www.cs.gordon.edu/courses/cs211/AddressBookExample/
        –   http://courses.cs.ut.ee/2009/tvp/Teams/MK
●   Projects in Estonian
        –   http://courses.cs.ut.ee/2009/tvp/Teams/SK1
        –   http://courses.cs.ut.ee/2009/tvp/Teams/SK2
        –   http://courses.cs.ut.ee/2008/tvp/Teams/EM1
        –   http://courses.cs.ut.ee/2009/tvp/Teams/PP2




                     give your feedback: twitter with #softmetrics       116/130
Case Study
●   Let's analyze something
       –   iRoute – iPhone App
       –   Twitter web client
       –   ...




                  give your feedback: twitter with #softmetrics   117/130
iRoute: Tallinn, Estonia
●   Created by Vitaly Virulaine
●   Public transportation info
        –   List of stations
        –   Bus, trolleybus, tram lines
        –   Timetable
        –   Favorites
        –   Map with stations
        –   Search


                     give your feedback: twitter with #softmetrics   118/130
iRoute: Tallinn, Estonia




   give your feedback: twitter with #softmetrics   119/130
iRoute: Tallinn, Estonia




   give your feedback: twitter with #softmetrics   120/130
iRoute: Tallinn, Estonia




   give your feedback: twitter with #softmetrics   121/130
iRoute: Tallinn, Estonia




   give your feedback: twitter with #softmetrics   122/130
iRoute: Tallinn, Estonia




   give your feedback: twitter with #softmetrics   123/130
References
●   D. Longstreet, Function Points Analysis Training Course
         –   http://bit.ly/G6WIx




                             give your feedback: twitter with #softmetrics   124/130
Home Assignment

Function Point Analysis of Software
             Projects



         give your feedback: twitter with #softmetrics   125/130
Home Reading #1

   David Longstreet
β€œFunction Point Manual”



   give your feedback: twitter with #softmetrics   126/130
Home Reading #2

            Linda Westfall
β€œ12 Steps to Useful Software Metrics”
   http://www.westfallteam.com/Papers/12_steps_paper.pdf




               give your feedback: twitter with #softmetrics   127/130
Skype Public Chat:
   http://bit.ly/tu-se-2010-chat

              E-mail:
anton.litvinenko@programeter.com




       give your feedback: twitter with #softmetrics   128/130
Thank you for your time and
        attention!

  See you in two weeks!
 Next week: Mark Kofman



     give your feedback: twitter with #softmetrics   129/130

More Related Content

What's hot

Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software EngineeringDrishti Bhalla
Β 
Function Point Analysis (FPA) by Dr. B. J. Mohite
Function Point Analysis (FPA) by Dr. B. J. MohiteFunction Point Analysis (FPA) by Dr. B. J. Mohite
Function Point Analysis (FPA) by Dr. B. J. MohiteZeal Education Society, Pune
Β 
Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)AmanSharma1172
Β 
Software Myths
Software MythsSoftware Myths
Software MythsRajat Bajaj
Β 
Software Metrics
Software MetricsSoftware Metrics
Software Metricsswatisinghal
Β 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5Mohammad Faizan
Β 
Software project-scheduling
Software project-schedulingSoftware project-scheduling
Software project-schedulingsaurabhshertukde
Β 
Cocomo model
Cocomo modelCocomo model
Cocomo modelMZ5512
Β 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentationKudzai Rerayi
Β 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptxubaidullah75790
Β 
Control Flow Analysis
Control Flow AnalysisControl Flow Analysis
Control Flow AnalysisEdgar Barbosa
Β 
Using Function Point Metrics For Software Economic Studies
Using Function Point Metrics For Software Economic StudiesUsing Function Point Metrics For Software Economic Studies
Using Function Point Metrics For Software Economic StudiesCAST
Β 
software effort estimation
 software effort estimation software effort estimation
software effort estimationBesharam Dil
Β 
Test Estimation Techniques
Test Estimation TechniquesTest Estimation Techniques
Test Estimation TechniquesNishant Worah
Β 
Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)ShudipPal
Β 
Software Metrics
Software MetricsSoftware Metrics
Software MetricsMassimo Felici
Β 
software metrics(process,project,product)
software metrics(process,project,product)software metrics(process,project,product)
software metrics(process,project,product)Amisha Narsingani
Β 

What's hot (20)

Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software Engineering
Β 
Overview of Function Points Analysis
Overview of Function Points Analysis Overview of Function Points Analysis
Overview of Function Points Analysis
Β 
Function Point Analysis (FPA) by Dr. B. J. Mohite
Function Point Analysis (FPA) by Dr. B. J. MohiteFunction Point Analysis (FPA) by Dr. B. J. Mohite
Function Point Analysis (FPA) by Dr. B. J. Mohite
Β 
Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)
Β 
Software Myths
Software MythsSoftware Myths
Software Myths
Β 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
Β 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
Β 
Software project-scheduling
Software project-schedulingSoftware project-scheduling
Software project-scheduling
Β 
Cocomo model
Cocomo modelCocomo model
Cocomo model
Β 
Unit 7
Unit 7Unit 7
Unit 7
Β 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentation
Β 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptx
Β 
Control Flow Analysis
Control Flow AnalysisControl Flow Analysis
Control Flow Analysis
Β 
Using Function Point Metrics For Software Economic Studies
Using Function Point Metrics For Software Economic StudiesUsing Function Point Metrics For Software Economic Studies
Using Function Point Metrics For Software Economic Studies
Β 
software effort estimation
 software effort estimation software effort estimation
software effort estimation
Β 
Test Estimation Techniques
Test Estimation TechniquesTest Estimation Techniques
Test Estimation Techniques
Β 
Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)
Β 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
Β 
Software metrics by Dr. B. J. Mohite
Software metrics by Dr. B. J. MohiteSoftware metrics by Dr. B. J. Mohite
Software metrics by Dr. B. J. Mohite
Β 
software metrics(process,project,product)
software metrics(process,project,product)software metrics(process,project,product)
software metrics(process,project,product)
Β 

Similar to Here are some examples of data types for External Inputs:- Business data: customer details, order details, etc. - User credentials: username, password- Configuration settings: printer settings, language preferences- System messages: error messages, notifications- Reference data: lookup values like countries, categoriesThe key is that External Inputs involve data crossing the application boundary into the app

Observability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptxObservability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptxOpsTree solutions
Β 
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...AgileNetwork
Β 
Cost estimation techniques
Cost estimation techniquesCost estimation techniques
Cost estimation techniqueslokareminakshi
Β 
The differing ways to monitor and instrument
The differing ways to monitor and instrumentThe differing ways to monitor and instrument
The differing ways to monitor and instrumentJonah Kowall
Β 
Dynamic Population Discovery for Lateral Movement (Using Machine Learning)
Dynamic Population Discovery for Lateral Movement (Using Machine Learning)Dynamic Population Discovery for Lateral Movement (Using Machine Learning)
Dynamic Population Discovery for Lateral Movement (Using Machine Learning)Rod Soto
Β 
Python for Data Logistics
Python for Data LogisticsPython for Data Logistics
Python for Data LogisticsKen Farmer
Β 
SANJAY_SINGH
SANJAY_SINGHSANJAY_SINGH
SANJAY_SINGHSANJAY SINGH
Β 
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16AppDynamics
Β 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineeringRupesh Vaishnav
Β 
How to develop technical manuals
How to develop technical manualsHow to develop technical manuals
How to develop technical manualsDan Pappas
Β 
Data Ops at TripActions
Data Ops at TripActionsData Ops at TripActions
Data Ops at TripActionsRob Winters
Β 
Welcome Webinar Slides
Welcome Webinar SlidesWelcome Webinar Slides
Welcome Webinar SlidesSumo Logic
Β 
Dot Net performance monitoring
 Dot Net performance monitoring Dot Net performance monitoring
Dot Net performance monitoringKranthi Paidi
Β 
Function points and elements
Function points and elementsFunction points and elements
Function points and elementsBusi Sreedhaar Reddy
Β 
Analysing plc software: A SEMANTIC WEB POWERED FRAMEWORK FOR EVALUATING CONTR...
Analysing plc software: A SEMANTIC WEB POWERED FRAMEWORK FOR EVALUATING CONTR...Analysing plc software: A SEMANTIC WEB POWERED FRAMEWORK FOR EVALUATING CONTR...
Analysing plc software: A SEMANTIC WEB POWERED FRAMEWORK FOR EVALUATING CONTR...Akashdeep Singh
Β 
MuleSoft Manchester Meetup #2 slides 29th October 2019
MuleSoft Manchester Meetup #2 slides 29th October 2019MuleSoft Manchester Meetup #2 slides 29th October 2019
MuleSoft Manchester Meetup #2 slides 29th October 2019Ieva Navickaite
Β 

Similar to Here are some examples of data types for External Inputs:- Business data: customer details, order details, etc. - User credentials: username, password- Configuration settings: printer settings, language preferences- System messages: error messages, notifications- Reference data: lookup values like countries, categoriesThe key is that External Inputs involve data crossing the application boundary into the app (20)

Observability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptxObservability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptx
Β 
Bai giang-spm-13feb14
Bai giang-spm-13feb14Bai giang-spm-13feb14
Bai giang-spm-13feb14
Β 
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Β 
Cost estimation techniques
Cost estimation techniquesCost estimation techniques
Cost estimation techniques
Β 
The differing ways to monitor and instrument
The differing ways to monitor and instrumentThe differing ways to monitor and instrument
The differing ways to monitor and instrument
Β 
Dynamic Population Discovery for Lateral Movement (Using Machine Learning)
Dynamic Population Discovery for Lateral Movement (Using Machine Learning)Dynamic Population Discovery for Lateral Movement (Using Machine Learning)
Dynamic Population Discovery for Lateral Movement (Using Machine Learning)
Β 
Python for Data Logistics
Python for Data LogisticsPython for Data Logistics
Python for Data Logistics
Β 
SANJAY_SINGH
SANJAY_SINGHSANJAY_SINGH
SANJAY_SINGH
Β 
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Β 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineering
Β 
How to develop technical manuals
How to develop technical manualsHow to develop technical manuals
How to develop technical manuals
Β 
Software metrics
Software metricsSoftware metrics
Software metrics
Β 
Data Ops at TripActions
Data Ops at TripActionsData Ops at TripActions
Data Ops at TripActions
Β 
Welcome Webinar Slides
Welcome Webinar SlidesWelcome Webinar Slides
Welcome Webinar Slides
Β 
Dot Net performance monitoring
 Dot Net performance monitoring Dot Net performance monitoring
Dot Net performance monitoring
Β 
Function points and elements
Function points and elementsFunction points and elements
Function points and elements
Β 
Resume_Vellaiyan
Resume_VellaiyanResume_Vellaiyan
Resume_Vellaiyan
Β 
Analysing plc software: A SEMANTIC WEB POWERED FRAMEWORK FOR EVALUATING CONTR...
Analysing plc software: A SEMANTIC WEB POWERED FRAMEWORK FOR EVALUATING CONTR...Analysing plc software: A SEMANTIC WEB POWERED FRAMEWORK FOR EVALUATING CONTR...
Analysing plc software: A SEMANTIC WEB POWERED FRAMEWORK FOR EVALUATING CONTR...
Β 
Requirements Analysis
Requirements AnalysisRequirements Analysis
Requirements Analysis
Β 
MuleSoft Manchester Meetup #2 slides 29th October 2019
MuleSoft Manchester Meetup #2 slides 29th October 2019MuleSoft Manchester Meetup #2 slides 29th October 2019
MuleSoft Manchester Meetup #2 slides 29th October 2019
Β 

More from Programeter

Software Measurement: Lecture 3. Metrics in Organization
Software Measurement: Lecture 3. Metrics in OrganizationSoftware Measurement: Lecture 3. Metrics in Organization
Software Measurement: Lecture 3. Metrics in OrganizationProgrameter
Β 
Software Measurement: Lecture 1. Measures and Metrics
Software Measurement: Lecture 1. Measures and MetricsSoftware Measurement: Lecture 1. Measures and Metrics
Software Measurement: Lecture 1. Measures and MetricsProgrameter
Β 
Panel Discussion
Panel DiscussionPanel Discussion
Panel DiscussionProgrameter
Β 
Software Outsourcing - Inkspin1 Experience
Software Outsourcing - Inkspin1 ExperienceSoftware Outsourcing - Inkspin1 Experience
Software Outsourcing - Inkspin1 ExperienceProgrameter
Β 
What Can We Do Together?
What Can We Do Together?What Can We Do Together?
What Can We Do Together?Programeter
Β 
Russian Speaking Developers Best Match for Estonian Startups?
Russian Speaking Developers Best Match for Estonian Startups?Russian Speaking Developers Best Match for Estonian Startups?
Russian Speaking Developers Best Match for Estonian Startups?Programeter
Β 
Outsourcing for Startups
Outsourcing for StartupsOutsourcing for Startups
Outsourcing for StartupsProgrameter
Β 

More from Programeter (7)

Software Measurement: Lecture 3. Metrics in Organization
Software Measurement: Lecture 3. Metrics in OrganizationSoftware Measurement: Lecture 3. Metrics in Organization
Software Measurement: Lecture 3. Metrics in Organization
Β 
Software Measurement: Lecture 1. Measures and Metrics
Software Measurement: Lecture 1. Measures and MetricsSoftware Measurement: Lecture 1. Measures and Metrics
Software Measurement: Lecture 1. Measures and Metrics
Β 
Panel Discussion
Panel DiscussionPanel Discussion
Panel Discussion
Β 
Software Outsourcing - Inkspin1 Experience
Software Outsourcing - Inkspin1 ExperienceSoftware Outsourcing - Inkspin1 Experience
Software Outsourcing - Inkspin1 Experience
Β 
What Can We Do Together?
What Can We Do Together?What Can We Do Together?
What Can We Do Together?
Β 
Russian Speaking Developers Best Match for Estonian Startups?
Russian Speaking Developers Best Match for Estonian Startups?Russian Speaking Developers Best Match for Estonian Startups?
Russian Speaking Developers Best Match for Estonian Startups?
Β 
Outsourcing for Startups
Outsourcing for StartupsOutsourcing for Startups
Outsourcing for Startups
Β 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
Β 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
Β 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
Β 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
Β 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
Β 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
Β 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
Β 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
Β 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
Β 
WhatsApp 9892124323 βœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 βœ“Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 βœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 βœ“Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
Β 
FULL ENJOY πŸ” 8264348440 πŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY πŸ” 8264348440 πŸ” Call Girls in Diplomatic Enclave | DelhiFULL ENJOY πŸ” 8264348440 πŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY πŸ” 8264348440 πŸ” Call Girls in Diplomatic Enclave | Delhisoniya singh
Β 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
Β 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
Β 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
Β 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
Β 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
Β 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
Β 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
Β 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
Β 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
Β 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Β 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
Β 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Β 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Β 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Β 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
Β 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Β 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Β 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Β 
WhatsApp 9892124323 βœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 βœ“Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 βœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 βœ“Call Girls In Kalyan ( Mumbai ) secure service
Β 
FULL ENJOY πŸ” 8264348440 πŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY πŸ” 8264348440 πŸ” Call Girls in Diplomatic Enclave | DelhiFULL ENJOY πŸ” 8264348440 πŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY πŸ” 8264348440 πŸ” Call Girls in Diplomatic Enclave | Delhi
Β 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
Β 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Β 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
Β 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Β 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Β 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Β 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Β 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
Β 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
Β 

Here are some examples of data types for External Inputs:- Business data: customer details, order details, etc. - User credentials: username, password- Configuration settings: printer settings, language preferences- System messages: error messages, notifications- Reference data: lookup values like countries, categoriesThe key is that External Inputs involve data crossing the application boundary into the app

  • 2. Outline ● Last week – Measures and metrics, what kinds of different metrics exist ● Today – Function point analysis + Home assignment ● Next week – Introduction of metrics in organizations – Application of metrics ● Fourth week – Presentation of group-work assignments give your feedback: twitter with #softmetrics 2/130
  • 3. Agenda 1.Function point analysis give your feedback: twitter with #softmetrics 3/130
  • 4. Function Point Analysis ● Function point is a measure of the amount of business functionality in a software application – The larger number of FP-s the more functionality ● Function Point Analysis is a method of using FP-s to break down applications into smaller components and measure their size give your feedback: twitter with #softmetrics 4/130
  • 5. Function Point Analysis Performed from sophisticated user point of view! give your feedback: twitter with #softmetrics 5/130
  • 6. Software Applications ● Interwoven set of defined elementary processes (=functions) ● Data in motion = Transactions – Moving data from application to outside or from outside to application ● Data at rest – Data storage give your feedback: twitter with #softmetrics 6/130
  • 7. Function Points – Context Identify Application Boundaries Count Transactional Count Data Functions Functions Determine Unadjusted FP Count Determine Adjusted FP Count give your feedback: twitter with #softmetrics 7/130
  • 8. Function Points – Context Identify Application Boundaries give your feedback: twitter with #softmetrics 8/130
  • 9. Application Boundary ● Border between application being measured and external applications give your feedback: twitter with #softmetrics 9/130
  • 10. Exercise ● Assume we are building a web application that aggregates and shows stream of events in a team: – Anton fixed a bug – Mark added new task – Anton committed new code change ● Everybody can sign-up ● Create new streams ● Data is stored in database give your feedback: twitter with #softmetrics 10/130
  • 11. What functionality is part of application? give your feedback: twitter with #softmetrics 11/130
  • 12. Exercise: Within Boundaries or Not? ● Authentication ● Configuration of connections to tools team is using (bug&task tracking, code management) ● Organization/optimization of database files ● Forwarding events to Twitter/Facebook ● Sending HTML/JS/CSS over HTTP to browser give your feedback: twitter with #softmetrics 12/130
  • 13. Components ● Transactions – External Inputs (information input) – External Inquiries (no derived data, data retrieval): – External Outputs (derived data, algorithms): ● Data at rest – Internal Logical Files (maintained internally) – External Interfaces Files (maintained by external apps) give your feedback: twitter with #softmetrics 13/130
  • 14. Components give your feedback: twitter with #softmetrics 14/130
  • 15. Components ● All components rated as Low, Average or High – Based on complexity ● Points are assigned based on the rating give your feedback: twitter with #softmetrics 15/130
  • 16. How would you evaluate complexity of components? give your feedback: twitter with #softmetrics 16/130
  • 17. Break things up into even smaller pieces! ● Transaction – Dependent on data transferred – Dependent on data stored ● Data at rest – Dependent on data stored – Independent of data transferred give your feedback: twitter with #softmetrics 17/130
  • 18. Smaller Pieces ● Data Element Type (DET) – Dynamic user recognizable fields – Controls (things that invoke actions) – Used to estimate complexity of both transactions and data ● Repeatable data element types β†’ β€œRecursive DET” give your feedback: twitter with #softmetrics 18/130
  • 19. Data Element Type – Examples DET-s give your feedback: twitter with #softmetrics 19/130
  • 20. Data Element Type – Examples DET-s Recursive DET-s give your feedback: twitter with #softmetrics 20/130
  • 21. Data Element Type – Examples give your feedback: twitter with #softmetrics 21/130
  • 22. Data Element Type – Examples DET-s give your feedback: twitter with #softmetrics 22/130
  • 23. Smaller Pieces ● Data Element Type (DET) – Dynamic user recognizable field ● Record Element Type (RET) – User recognizable subgroup of data elements in internal logical file or external interface file – For relational databases typically one Internal Logic File (table) = one Record Element Type give your feedback: twitter with #softmetrics 23/130
  • 24. Record Element Type – Examples 1 RET each give your feedback: twitter with #softmetrics 24/130
  • 25. Record Element Type – Examples 2 RET-s give your feedback: twitter with #softmetrics 25/130
  • 26. Record Element Type – Examples Inheritance in object Table per object oriented development hierarchy in relational database give your feedback: twitter with #softmetrics 26/130
  • 27. Record Element Type – Examples 2 RET-s give your feedback: twitter with #softmetrics 27/130
  • 28. Smaller Pieces ● Data Element Type (DET) – Dynamic user recognizable field ● Record Element Type (RET) – User recognizable subgroup of data elements in internal logical file or external interface file ● File Type Referenced (FTR) – File type referenced by transaction (internal logical file or external interface file) give your feedback: twitter with #softmetrics 28/130
  • 29. File Type Referenced - Examples ● Edit article details – Abstract – Tags – Notes give your feedback: twitter with #softmetrics 29/130
  • 30. FTR-s For Edit Article Details Not referenced FTR-s give your feedback: twitter with #softmetrics 30/130
  • 31. File Type Referenced Examples ● How many FTR-s for β€œList of Articles”? – Tables: Articles, Authors, Tags give your feedback: twitter with #softmetrics 31/130
  • 32. Components give your feedback: twitter with #softmetrics 32/130
  • 33. Components and Elements give your feedback: twitter with #softmetrics 33/130
  • 34. Function Points – Context Identify Application Boundaries Count Transactional Functions give your feedback: twitter with #softmetrics 34/130
  • 35. External Inputs ● Information flows into the application – Online, user inserted, from other application give your feedback: twitter with #softmetrics 35/130
  • 36. External Inputs – Examples give your feedback: twitter with #softmetrics 36/130
  • 37. External Inputs – Examples EI give your feedback: twitter with #softmetrics 37/130
  • 38. External Inputs ● Elementary process in which data or control information crosses the boundary from outside to inside – Data is maintained = added, changed or deleted – Application is controlled (manipulated, behavior is changed) ● Rated based upon Data Element Types and Files Type Referenced give your feedback: twitter with #softmetrics 38/130
  • 39. External Inputs β†’ Function Points Files Referenced Data Elements (DET-s) (FTR-s) 1–4 5 – 15 > 15 1 Low (3) Low (3) Average (4) 2 Low (3) Average (4) High (6) >2 Average (4) High (6) High (6) ● Low β†’ 3 function points ● Average β†’ 4 function points ● High β†’ 6 function points give your feedback: twitter with #softmetrics 39/130
  • 40. External Inputs – Examples ● External Inputs include error messages! ● All errors messages are counted as 1 Dynamic Element Type give your feedback: twitter with #softmetrics 40/130
  • 41. External Inputs – Data Types ● Business data: customer name, number of credits for course, … β†’ updates Internal Logical Files (ILF-s) ● Control data: printer port, number of copies, … β†’ may or may not update ILF-s ● Rules data: number of days before registration closes, min amount eligible for free shipping β†’ updates ILF-s give your feedback: twitter with #softmetrics 41/130
  • 42. External Inputs ● Data element types for External Inputs – Fields, Controls, Messages (both error and confirmation) – Calculated values that are stored ● Cancel – not counted in EI – Data doesn't cross boundary – noting changed, edited or deleted – State or behavior of application is not changed give your feedback: twitter with #softmetrics 42/130
  • 43. Invalid External Inputs ● Login screens – Should be counted as External Inquiry ● (Static) menus, link, navigational screens – Usability, not functionality give your feedback: twitter with #softmetrics 43/130
  • 44. External Inputs – Identification Rules ● Data is received from outside the app boundary ● Maintains data in Internal Logical Files ● Process is self contained and leaves the application in consistent state ● Typical vocabulary – Add, Change, Delete, Modify, Remove, Edit, Enable, Save, Store, Submit, ... give your feedback: twitter with #softmetrics 44/130
  • 45. Exercise – Rate External Input give your feedback: twitter with #softmetrics 45/130
  • 46. External Outputs ● Derived information flows from the application – Algorithms, calculations – Reports, graphs, charts give your feedback: twitter with #softmetrics 46/130
  • 47. Derived Information give your feedback: twitter with #softmetrics 47/130
  • 48. External Outputs – Examples EO give your feedback: twitter with #softmetrics 48/130
  • 49. External Output ● Elementary process in which derived data passes across the boundary from inside to outside – Based on internal logical files and/or external interface files – Data processed beyond direct retrieval and editing from internal logical files or external interface files ● Rated based upon Data Element Types and Files Type Referenced give your feedback: twitter with #softmetrics 49/130
  • 50. External Outputs β†’ Function Points Files Referenced Data Elements (DET-s) (FTR-s) 1–5 6 – 19 > 19 1 Low (4) Low (4) Average (5) 2–3 Low (4) Average (5) High (7) >3 Average (5) High (7) High (7) ● Low β†’ 4 function points ● Average β†’ 5 function points ● High β†’ 7 function points give your feedback: twitter with #softmetrics 50/130
  • 51. External Outputs ● Notification messages – result of processing = calculation ● Data element types for External Outputs – Error messages – Calculated values on reports – Values on reports retrieved from application – Recursive DET-s counted only once! ● External Outputs can have input side – Report configuration, ... give your feedback: twitter with #softmetrics 51/130
  • 52. Invalid External Outputs ● Error message, confirmation message – Parts of External Outputs or other transactions ● Reports without derived data – External Inquiries give your feedback: twitter with #softmetrics 52/130
  • 53. External Outputs – Identification Rules ● Data is sent from the app boundary to outside ● Process is self contained and leaves the application in consistent state ● Typical vocabulary – Browse, Display, Query, Report, View, Select, Request, Retrieve, Aggregate, Calculate give your feedback: twitter with #softmetrics 53/130
  • 54. External Outputs – Identification Rules ● Data ordering produces the same external output β†’ counted only once! give your feedback: twitter with #softmetrics 54/130
  • 55. External Outputs – Identification Rules ● Different derived data from the same data β†’ different external outputs! give your feedback: twitter with #softmetrics 55/130
  • 56. Exercise – Rate External Output give your feedback: twitter with #softmetrics 56/130
  • 57. External Inquiries ● Information flows from the application – Existing, already stored data – Input side and output side – Reports, graphs, charts, give your feedback: twitter with #softmetrics 57/130
  • 58. External Inquiries ● Existing data + Input and output sides give your feedback: twitter with #softmetrics 58/130
  • 59. External Inquiries – Examples 1 EI give your feedback: twitter with #softmetrics 59/130
  • 60. External Inquiry – Examples 1 EI give your feedback: twitter with #softmetrics 60/130
  • 61. External Inquiries ● Elementary process with both input and output components that result in data retrieval from one or more internal logical files and/or external interface files – Does not maintain any internal logical files – Does not contain derived information ● Rated based upon Data Element Types and Files Type Referenced give your feedback: twitter with #softmetrics 61/130
  • 62. External Inquiries β†’ Function Points Files Referenced Data Elements (DET-s) (FTR-s) 1–5 6 – 19 > 19 1 Low (3) Low (3) Average (4) 2–3 Low (3) Average (4) High (6) >3 Average (4) High (6) High (6) ● Low β†’ 3 function points ● Average β†’ 4 function points ● High β†’ 6 function points give your feedback: twitter with #softmetrics 62/130
  • 63. External Inquiries – Examples ● Input: customer name in the search field ● Output: list of customers by name ● Input: click on the document title ● Output: document details give your feedback: twitter with #softmetrics 63/130
  • 64. External Inquiries – Data Types ● Pagination: NEXT and BACK buttons – recursive information, counted as the same function ● Messages are DET-s! – β€œsearching”+data+”not found” = 3 DET-s give your feedback: twitter with #softmetrics 64/130
  • 65. Invalid External Inquiries ● Error message, confirmation message – Parts of External Inquiries or other transactions ● Screens with derived data – External Outputs give your feedback: twitter with #softmetrics 65/130
  • 66. External Inquiries – Identification Rules ● Request enters the boundaries, result exits the boundaries ● Data retrieval, no derived data ● Input and Output together form an elementary process ● Data is not maintained (but can be updated) ● Typical vocabulary – Browse, Display, Fetch, Find, List, Drop-down, Select, View, Query, Report, ... give your feedback: twitter with #softmetrics 66/130
  • 67. Exercise – Rate External Inquiry give your feedback: twitter with #softmetrics 67/130
  • 68. Transactional Components Trivia ● For which components is true: – DET-s are retrieved from FTR-s – Updates ILF – Maintains ILF – Contains derived data – Info from outside to inside – Never contains derived data – Info from inside to outside – At least on FTR is referenced give your feedback: twitter with #softmetrics 68/130
  • 69. Function Points – Context Identify Application Boundaries Count Transactional Count Data Functions Functions give your feedback: twitter with #softmetrics 69/130
  • 70. Internal Logical Files ● Data that resides within app. boundaries – Business data, control data, rules based data give your feedback: twitter with #softmetrics 70/130
  • 71. Internal Logical Files – Examples 3 ILF-s give your feedback: twitter with #softmetrics 71/130
  • 72. Internal Logical Files – Data Types ● Business data: course name, address, student ● Control data: printer port, copies, database url ● Rules based data: registration criteria, grading scheme give your feedback: twitter with #softmetrics 72/130
  • 73. Internal Logical Files – Examples ● Application configuration stored on hard drive – If maintained through the application ● Log files give your feedback: twitter with #softmetrics 73/130
  • 74. Internal Logical Files ● Group of logically related data residing entirely within application boundary – Maintained by External Inputs – Has at least one Record Element Type ● Rated based upon Data Element Types and Record Element Types give your feedback: twitter with #softmetrics 74/130
  • 75. Internal Logical Files β†’ FP-s Record Elements Data Elements (DET-s) (RET-s) 1 – 19 20 – 50 > 50 1 Low (7) Low (7) Average (10) 2–5 Low (7) Average (10) High (15) >5 Average (10) High (15) High (15) ● Low β†’ 7 function points ● Average β†’ 10 function points ● High β†’ 15 function points give your feedback: twitter with #softmetrics 75/130
  • 76. Internal Logical Files – Identification Rules ● User identifiable logical grouping ● Data is maintained within application boundaries ● Data is modified via one or more External Inputs give your feedback: twitter with #softmetrics 76/130
  • 77. Exercise – Rate ILF-s give your feedback: twitter with #softmetrics 77/130
  • 78. Exercise – Rate ILF give your feedback: twitter with #softmetrics 78/130
  • 79. External Interface Files ● Data that resides outside app. boundary – Internal data of other application give your feedback: twitter with #softmetrics 79/130
  • 80. External Interface Files – Examples Google Scholar is EIF give your feedback: twitter with #softmetrics 80/130
  • 81. External Interface Files ● Group of logically related data residing entirely outside application boundary – Maintained by another application – Data is retrieved during External Output or External Inquiry ● Rated based upon Data Element Types and Record Element Types give your feedback: twitter with #softmetrics 81/130
  • 82. External Interface Files β†’ FP-s Record Elements Data Elements (DET-s) (RET-s) 1 – 19 20 – 50 > 50 1 Low (5) Low (5) Average (7) 2–5 Low (5) Average (7) High (10) >5 Average (7) High (10) High (10) ● Low β†’ 5 function points ● Average β†’ 7 function points ● High β†’ 10 function points give your feedback: twitter with #softmetrics 82/130
  • 83. External Interface Files – Identification Rules ● User identifiable logical grouping of information ● Data external to application give your feedback: twitter with #softmetrics 83/130
  • 84. Exercise – Rate EIF give your feedback: twitter with #softmetrics 84/130
  • 85. Function Points – Context Identify Application Boundaries Count Transactional Count Data Functions Functions Determine Unadjusted FP Count give your feedback: twitter with #softmetrics 85/130
  • 86. What important aspect is missing in order to start using FPA right now? give your feedback: twitter with #softmetrics 86/130
  • 87. General System Characteristics ● Rate the general functionality of the application ● Things that influence application as a whole (= non-functional requirements) – Context of operation – Performance – Reliability ● 14 Characteristics β†’ For each rate β€œhow much it influences the application” – 0–5 give your feedback: twitter with #softmetrics 87/130
  • 88. 1. Data Communications ● How many communication facilities are there? 0.Batch processing or standalone computer 1.Batch processing w/ remote data entry or printing 2.Batch w/ remote data entry and printing 3.Online data collection or front-end to a batch process or query system 4.More than a front-end but supports only one communication protocol 5.More than a front-end and supports more than one com. protocol give your feedback: twitter with #softmetrics 88/130
  • 89. 1. Data Communications - Example ● Application that allows querying via internet and local access β†’ 3 pt ● Application that allows updating ILF-s via internet and local access β†’ 5 pt give your feedback: twitter with #softmetrics 89/130
  • 90. 2. Distributed Data Processing ● How are distributed data and processing functions handled 0.Application doesn't aid data transfer or processing between components 1.Data prepared for end-user processing on another component (e.g. store results in DBMS) 2.Data prepared for transfer, transferred and processed on another component 3.Distributed processing and transfer are online in one direction 4.Distributed processing – online in both directions 5.Dynamically performed on most appropriate component give your feedback: twitter with #softmetrics 90/130
  • 91. 3. Performance ● Requirements of response time or throughput 0.No special requirements 1.Stated and reviewed but no special actions 2.Critical during peak hours 3.Critical during business hours 4.Stringent requirements drive performance analysis in the design phase 5.Stringent requirements drive usage of analysis tools during various phases (design, development, etc) give your feedback: twitter with #softmetrics 91/130
  • 92. 4. Heavily Used Configuration ● Usage of existing hardware to run application 0.No operational restrictions 1.Restrictions exist, but no special effort required to meet them 2.Some security or timing considerations required 3.Processor requirements for specific piece of app. 4.Special constraints on application in the central processor 5.In addition, special constraints on application in distributed components give your feedback: twitter with #softmetrics 92/130
  • 93. 5. Transaction Rate ● Frequency of transaction execution 0.No peak period anticipated 1.Peak period (monthly, quarterly, etc) is anticipated 2.Weekly peak period 3.Daily peak period 4.Requirements or SLA drive performance analysis in the design phase 5.Requirements or SLA drive usage of performance analysis tools in various phases (design, development, installation, etc) give your feedback: twitter with #softmetrics 93/130
  • 94. 6. Online Data Entry ● How much information is entered online 0.All transactions processed in batch mode 1.1% – 7% of transactions are interactive data entry 2.8% – 15% 3.16% – 23% 4.24% – 30% 5.More than 30% give your feedback: twitter with #softmetrics 94/130
  • 95. 7. End-user Efficiency ● Was application designed for end-user efficiency? ● Navigational aids ● Bilingual support (4x) ● Menus ● Multilingual (6x) ● Online help ● Remote printing ● Scrolling ● Preassigned function keys ● Mouse interface ● Highlighting, color ● Pop-up windows underlining, .. ● Cursor selection of ● AND MORE ... screen data give your feedback: twitter with #softmetrics 95/130
  • 96. 7. End-user Efficiency ● Was application designed for end-user efficiency? 0.None of the above 1.1 – 3 of the above 2.4 – 5 of the above 3.More than 6, but no specific requirements stated 4.More than 6 and requirements require special design tasks 5.More than 6 and requirements require usage of special tools to demonstrate achievement give your feedback: twitter with #softmetrics 96/130
  • 97. 8. Online Update ● Number of ILF-s updated online 0.None 1.1 – 3 control files, volume of updating is low, recovery is easy 2.4 or more control files, … 3.Online update of major ILF-s is included 4.Protection against data loss is required and to be designed and implemented 5.High volumes of updates, highly automated recovery procedures, cost considerations give your feedback: twitter with #softmetrics 97/130
  • 98. 9. Complex Processing ● Requirements of logical or mathematical processing (each selected β†’ +1 point) – Sensitive control (special audit processing) and/or app specific security processing – Extensive logical processing – Extensive mathematical processing – Exception processing resulting in incomplete transactions that must be redone (e.g. ATM-s) – Complex processing to handle multiple input/output possibilities (e.g. multimedia, device independence) give your feedback: twitter with #softmetrics 98/130
  • 99. 10. Reusability ● Application and code designed and developed to be usable in other applications 0.No reusable code 1.Reusable code used within the application 2.<10% of app considered more than one user's needs 3.>10% of app considered … 4.Packaged and documented for reuse, customizable at source code level 5.Package and documented for reuse, customizable by parameter maintenance give your feedback: twitter with #softmetrics 99/130
  • 100. 11. Installation Ease ● Difficulty of conversion and installation 0.No special considerations stated, no special setup is required for installation 1.No special considerations stated, but special setup is required 2.Requirements stated, but impact of conversion is not important, installation and conversion guides tested and provided 3.Requirements stated and impact is important 4. #2 + Automated conversion and installation 5. #3 + Automated conversion and installation give your feedback: twitter with #softmetrics 100/130
  • 101. 12. Operational Ease ● Effectiveness and automation of start-up, back-up and recovery procedures, min. manual activities 0.No special considerations, only normal back-up procedures stated 1-4.Each selection from below β†’ +1 point: ● Effective procedures with operator intervention ● Effective procedures without intervention (+2) ● Minimization of tape mounts needs ● Minimization of paper handling needs 5.No operator intervention required besides start-up and shut-down. Automatic error recovery give your feedback: twitter with #softmetrics 101/130
  • 102. 13. Multiple Sites ● Support of installation and usage at multiple sites for multiple organizations 0.No requirements of more than one user/site 1.Identical hardware and software environment 2.Similar hardware and software environment 3.Different hardware and software environments – Docs and support plan provided and tested + #1 or #2 – Docs and support plan provided and tested + #3 give your feedback: twitter with #softmetrics 102/130
  • 103. 14. Facilitate Change ● Requirements of change facilitation in biz. data (sum points) – Flexible query and report facility with simple requests (for 1 ILF) – 1pt – Query and report with average complexity requests (for >1 ILF) – 2pts – Query and report with complex requests (combinations of ILF-s) – 3pts – Online interactive processes for biz. control data, but changes take effect next business day – 1pt – Online interactive processes for biz. control data, and changes take effect immediately – 2pts give your feedback: twitter with #softmetrics 103/130
  • 104. Function Points – Context Identify Application Boundaries Count Transactional Count Data Functions Functions Determine Unadjusted FP Count Determine Adjusted FP Count give your feedback: twitter with #softmetrics 104/130
  • 105. Value Adjustment Factor VAF = 0.65 + 0.01 x Sum(GSCi) give your feedback: twitter with #softmetrics 105/130
  • 106. Function Points Count FP = UFP * VAF ● UFP – Unadjusted function points ● VAF – Value adjustment factors give your feedback: twitter with #softmetrics 106/130
  • 107. Different Types of Projects ● Development project – Data migration, initial installation β†’ assisting functionality ● Enhancement project – New functionality, modification and deletion of existing functionality, changes in global system characteristics ● Size of the existing/modified application – Several enhancements, β€œcurrent size” give your feedback: twitter with #softmetrics 107/130
  • 108. Development Project DFP = (UFP + CFP) * VAF ● UFP – Unadjusted function points ● CFP – Conversion function points – Data conversion, initial installation, doesn't exist after application is up and running ● VAF – Value adjustment factor give your feedback: twitter with #softmetrics 108/130
  • 109. Enhancement Project EFP = (ADD + CHGA + CFP) * VAFA + DEL * VAFB ● ADD – Added unadjusted function points ● CHGA – Modified unadjusted function points – Counted AFTER modifications ● CFP – Conversion function points ● VAFA – Value adjustment factor AFTER project ● DEL – Deleted unadjusted function points ● VAFB – Value adjustment factor BEFORE project give your feedback: twitter with #softmetrics 109/130
  • 110. Size After Enhancement Project AFP = [(UFPB + ADD + CHGA) - (CHGB + DEL)] * VAFA ● UFPB – Unadjusted FP-s before enhancement ● ADD – Added unadjusted function points ● CHGA – Modified unadjusted FP-s β€œAFTER” ● CHGB – Modified unadjusted FP-s β€œBEFORE” ● DEL – Deleted unadjusted function points ● VAFA – Value adjustment factor AFTER project give your feedback: twitter with #softmetrics 110/130
  • 111. Current Application Size AFP = ADD * VAF ● ADD – Unadjusted FP-s for functionality currently installed – Parts of application may have been deleted, modified etc ● VAF – Value adjustment factor give your feedback: twitter with #softmetrics 111/130
  • 112. Function Points – Context Identify Application Boundaries Count Transactional Count Data Functions Functions Determine Unadjusted FP Count Determine Adjusted FP Count give your feedback: twitter with #softmetrics 112/130
  • 113. Home Assignment ● Group assignment ● Select software or software project – At least 5 transaction components ● Perform function point analysis ● Important dates: – 26. Sept 00:00 β†’ submit reports – 28. Sept β†’ present your work give your feedback: twitter with #softmetrics 113/130
  • 114. Report Expectations ● Application overview ● State all assumptions (e.g. data model, ...) ● Clearly stated boundaries – what's inside, what's not ● For each component: – justify its type – list DETs, RETs, FTRs ● GSC β†’ for each justify value ● Be laconic β†’ keep it short ● English! give your feedback: twitter with #softmetrics 114/130
  • 115. Presentation Expectations ● 10 mins ● 3 most interesting/complex components ● 3 GSC-s ● Total number of points ● English! give your feedback: twitter with #softmetrics 115/130
  • 116. Assignment – Project Examples ● Projects in English – http://www.cs.gordon.edu/courses/cs211/AddressBookExample/ – http://courses.cs.ut.ee/2009/tvp/Teams/MK ● Projects in Estonian – http://courses.cs.ut.ee/2009/tvp/Teams/SK1 – http://courses.cs.ut.ee/2009/tvp/Teams/SK2 – http://courses.cs.ut.ee/2008/tvp/Teams/EM1 – http://courses.cs.ut.ee/2009/tvp/Teams/PP2 give your feedback: twitter with #softmetrics 116/130
  • 117. Case Study ● Let's analyze something – iRoute – iPhone App – Twitter web client – ... give your feedback: twitter with #softmetrics 117/130
  • 118. iRoute: Tallinn, Estonia ● Created by Vitaly Virulaine ● Public transportation info – List of stations – Bus, trolleybus, tram lines – Timetable – Favorites – Map with stations – Search give your feedback: twitter with #softmetrics 118/130
  • 119. iRoute: Tallinn, Estonia give your feedback: twitter with #softmetrics 119/130
  • 120. iRoute: Tallinn, Estonia give your feedback: twitter with #softmetrics 120/130
  • 121. iRoute: Tallinn, Estonia give your feedback: twitter with #softmetrics 121/130
  • 122. iRoute: Tallinn, Estonia give your feedback: twitter with #softmetrics 122/130
  • 123. iRoute: Tallinn, Estonia give your feedback: twitter with #softmetrics 123/130
  • 124. References ● D. Longstreet, Function Points Analysis Training Course – http://bit.ly/G6WIx give your feedback: twitter with #softmetrics 124/130
  • 125. Home Assignment Function Point Analysis of Software Projects give your feedback: twitter with #softmetrics 125/130
  • 126. Home Reading #1 David Longstreet β€œFunction Point Manual” give your feedback: twitter with #softmetrics 126/130
  • 127. Home Reading #2 Linda Westfall β€œ12 Steps to Useful Software Metrics” http://www.westfallteam.com/Papers/12_steps_paper.pdf give your feedback: twitter with #softmetrics 127/130
  • 128. Skype Public Chat: http://bit.ly/tu-se-2010-chat E-mail: anton.litvinenko@programeter.com give your feedback: twitter with #softmetrics 128/130
  • 129. Thank you for your time and attention! See you in two weeks! Next week: Mark Kofman give your feedback: twitter with #softmetrics 129/130