Enhanced function point analysis
AssigneeSprint Communications Company L.P.
InventorsLavanya Srinivasan, Steven S. Stefan
Life of this patent
Estimating the term…
Abstract
A system for automatically counting function points is provided. The system includes an electronic document, an analysis component, and a user interface. The electronic document contains a sequence diagram that specifies interactions in a software application. The analysis component can analyze the interactions in the sequence diagram to identify a start point and an end point in the sequence diagram as a function point. The analysis component can also maintain a count of the function points. The user interface can promote counting one or more function points when more than one of the sequence diagrams involve data that is part of a set of data objects identified via the user interface.
Claims20
A computer-implemented system for automatically counting function points, comprising:
- an electronic document containing a sequence diagram that specifies transactions in a software application;
- at least one component stored in a memory and executable by a processor to analyze the transactions in the sequence diagram to identify a start point and an end point in the sequence diagram as a function point, the at least one component further maintains a count of function points;
- and
- a user interface stored in a memory and executable by a processor to enable a set of data objects to be identified and a number of function points to be assigned to the set of data objects prior to the at least one component counting the function points in the sequence diagram, wherein when the sequence diagram comprises one or more transactions involving one or more data objects of the set of data objects identified via the user interface, the at least one component counts the one or more transactions as the number of function points assigned regardless of how many of the one or more transactions are in the sequence diagram.
A computer-implemented system for automatically estimating a level of effort to be expended to develop a software application based on an automatically generated function point count, comprising:
- a first electronic document containing a first sequence diagram that specifies transactions for the software application to be developed;
- a second electronic document containing a second sequence diagram that specifies transactions for the software application to be developed;
- a function point counter stored in a memory and executable by a processor to analyze the transactions in the first sequence diagram in the first electronic document and in the second sequence diagram in the second electronic document to identify a start point and an end point in the first sequence diagram and a start point and an end point in the second sequence diagram as function points, the function point counter further maintains a count of the function points;
- a user interface stored in a memory and executable by a processor to enable a set of data objects to be identified and a single function point to be assigned to the set of data objects prior to the function point counter counting the function points in the first and second sequence diagrams, wherein when the first and second sequence diagrams comprise one or more transactions involving one or more data objects of the set of data objects identified via the user interface, the function point counter counts the one or more transactions as the single function point assigned regardless of how many of the one or more transactions are in the first and second sequence diagrams;
- a tool stored in a memory and executable by a processor to compute a net function points for the software application to be developed by subtracting from the count of the function points a count of previously developed function points having interactions similar to interactions of the function points from the first and second electronic documents;
- and
- an estimator component stored in a memory and executable by a processor to use the count of net function points to create an estimate of the level of effort to be expended to develop the software application.
A computer-implemented method for managing a software development project, comprising:
- identifying a set of data objects via a user interface;
- assigning a single function point to the set of data objects via the user interface;
- analyzing, by a function point counter stored in a memory and executed by a processor, transactions in a sequence diagram contained in an electronic document to identify a start point and an end point in the sequence diagram as a function point;
- maintaining, by the function point counter, a count of function points after the set of data objects have been identified and the single function point assigned to the set of data objects via the user interface, wherein when one or more transactions in the sequence diagram involve one or more data objects of the set of data objects identified via the user interface, the one or more transactions are counted as the single function point assigned regardless of how many of the one or more transactions are in the sequence diagram;
- creating, by the function point counter, a net function points count by subtracting from the count of function points a number of previously developed function points;
- and
- calculating, by a level of effort estimator stored in a memory and executed by a processor, a level of effort based on the count of net function points.
Dependencies are inferred from the claim text.