Function Points FAQs
Robots, File Transfer Systems - Number of Applications Counted
Can you count applications that use Robots/File Transfer Systems as being more than one application?
Robots and File Transfer Systems exhibit many similar characteristics. In the discussion that follows, the term Robot will be used to represent both types of systems. Where it is necessary to make a distinction between the two types of systems this is made clear.
Applications utilise Robots to perform generic functions.Robots are commonly used to assist with moving data from one application to another, or within the same application from one platform to another, via 'screen scraping' and 'screen pasting' functions or the movement of entire files. In this role the Robot/Screen Scraper acts as a 'virtual' system user.
When the functionality offered by Robots is inside the application's 'black box', can this functionality be counted as an application in its own right?
GENERAL DISCUSSION AND RESOLUTION
It is the purpose of the count, and the recommended guidelines on the Positioning of Application Boundaries (See Section 3.1.2) that determines if, and when, Robots are counted as applications in their own right.
If the application under study utilises Robots and the purpose of the count is to establish the user functionality offered by the application, then the Robot should be considered inside the application boundary.User transactions would flow through both application and Robot before they would be considered "complete and leaving the business in a consistent state".
When assessing the functionality offered by the application under study, all user requirements that are satisfied by a single application are to be counted within one application boundary, i.e. a conceptual interface between the external user and the internal software.This conceptual interface is at the point of interaction of the user with the functions delivered by the software.
The technical boundary offered by the Robot is inside a 'black box' and is not a user business requirement, rather, it constitutes part of the underlying technical infrastructure of the application being counted.
The transactions counted are the ones from a business user perspective, for example, Create Customer, Modify Customer Details, Delete Customer Details.Each user function may employ the functionality offered by the Robot; however, the transactions are not "complete and the business is left in a consistent state" until the data is processed by both the user and Robot.
Note: When determining the position of boundaries between applications remember to use a business view to partition the applications not a technical delimitation such as language, hardware or platform etc.
(See Section 3.3.4, Robots, File Transfer Systems - Counting Guidelines.)
If the application under study utilises Robots and the purpose of the count is to establish the Robot functionality, an application boundary should be drawn around the Robot itself, and all data movement through the application boundary should be treated as transactions.Logical groupings of data reference by the Robot functions would be considered as the logical files.
Typically, in Alternative 2, the Robot functions are assigned a separate Application Id and delivered and maintained by a separate project team. Separate Work Requests are received for changes to the Robot functionality.
In the following diagram, Application Boundary 1 is as seen from the User's perspective, and Application Boundary 2 from the Robot's perspective:
Figure 2. Application Boundaries and data transfers for Robot Systems.