Function Points FAQsMiddleware Applications |
|||||||||
Home ISSUE Middleware software does not exhibit the same characteristics as the MIS software to which it typically interfaces. Can FPA be used to count these types of applications?
FUNCTIONAL OVERVIEW While it is recognised that middleware applications each have their own unique characteristics, there are certain generic characteristics shared by the family of systems known as middleware applications. These include:
Issues to be addressed include:
Given that the function/process profile does not conform to existing IFPUG transaction types, what type should be assigned to the transactions?
GENERAL DISCUSSION AND RESOLUTION The functionality offered by middleware software can be counted using IFPUG 4.3 guidelines. The FP Analyst applies the IFPUG definitions to the transactions that enter and leave the application boundary and to the data stored within the application boundary. However, not every data flow that crosses the boundary of the software, nor every 'process' applied to the data flow, is necessarily a unique elementary process. One function may involve multiple data movements, for example, request/response messages, and/or multiple sub-processes, for example, data generation, translation, formatting, and authorisation. The condition that the transaction "achieve a business goal and leave the business of the system in a consistent state" is relevant and should be applied. The sole objective of a middleware application is to provide an interface between systems, which seamlessly transfers data. Note: The following list of functions is intended to be a generic guide for counting this type of application; there may be instances where particular applications may offer more or less functionality. Files: Internal Logical Files Where they exist, the following may be counted as ILFs for the middleware application:
Specify the processing events relevant to transactions, their sequence and timing.
The possibilities are many and varied. They may include:
Record data transfer records that are in error. As per IFPUG guidelines, the error suspense files are only counted if the data is permanently stored and can be reported upon and/or modified.
The middleware application may be required to keep a copy of all data transfers and update the status of these records. The software may also prioritise transactions.
System security files that define transaction authorisations. (See Section 3.2.5, Security.) Files: External Interface Files Where they exist, the following may be counted as EIFs for the middleware system:
(Those that have not been counted as ILFs.)
From a logical perspective, the middleware system may make enquiries upon Frontend/Backend systems' master data files. However, this is always done via a request/response sequence. The middleware systems analysts rarely know which logical files the information is coming from, they simple develop the required messages. The middleware system does not have the processing logic to directly inquire upon the Frontend/Backend system files. As the actual file read is usually not known, a 'representative' file is added to the count file list. The naming standards for these files must identify the file as a 'representative' file. One logical file and one transaction FTR are counted for each unique 'request' made to another application for information to contribute to the current transaction processing. Transactions: External Inputs Any user identifiable transactions required to create or maintain Internal Logical Files may be counted as EIs for the middleware system. Only one generic set of maintenance functions is counted for each unique Error Suspense File, Log File etc. See also Section 3.2.6, Error Files, Suspense Files, Event Logs, Journal Files, Statistics Files. Transactions: External Outputs The IFPUG 4.3 rules do not adequately cover the functions processed by middleware systems. While there is clearly one business process for each transfer/message type handled, these processes do not conform strictly to the IFPUG guidelines for determining transaction type. Where they exist, the following may be counted as EOs for the middleware system:
The output transactions of middleware software are counted as External Outputs rather than External Inquiries. While there may not be any calculated data within the data transfer, the data processing usually involves complex logical processing and therefore the data within the transaction record is defined as derived data. The middleware transactions are logically one EO transaction. The sub-processes of this transaction may include:
Transactions: External Enquiries. Any user identifiable transactions required to view/display data on ILFs or EIFs may be counted as EQs for the middleware system. Count as per IFPUG guidelines but ensure that the EQ actually exists within the boundary of the middleware software and is not a Request/Response message received from another application and being processed by the middleware software. This transaction is counted as an EO as described above. |