The term ‘user’, as typically used in information technology, refers to a physical, living, breathing person who interacts with or uses the software. This is the most frequent answer given when one asks a developer “what is a user?” The terminology problem with the word ‘user’ arises because the function point use of the word has a wider meaning. The Counting Practices Manual defines user as:
“User. A user is any person that specifies Functional User Requirements and/or any person or thing that communicates or interacts with the software at any time.”
In other words, for Function Point Counting, users can be people, applications, departments, and other external parties — in short, anything that requires data from or provides data to, the software. Functional “user” requirements include the logical business processes of many “users”. Users can include other software application(s), physical persons, external government bodies, departments, animals (if they trigger a process in the application such as in security systems), things (such as pressure in a pipeline system), — anything that interacts by sending or receiving data across the boundary of the software application.
This difference in meaning can cause some countable functions to be overlooked by developers because they don’t appear to be requirements provided for or by a physical person “user”.