IP Library Granted Patent US 7,743,369
Granted Patent B1
US 7,743,369 · App. 11/193,608 · Granted Jun 22, 2010

Enhanced function point analysis

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,743,369
App. No.
11/193,608
Granted
Jun 22, 2010
Kind
B1
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.

Claims (48)

1. 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.

2. The system of claim 1 , wherein information about the set of data objects is elicited through a questionnaire displayed on the user interface.

3. The system of claim 1 , wherein the start point is selected from a group of start points consisting of:

user interfaces;

actors; and

system components.

4. The system of claim 3 , wherein the end point is selected from a group of end points consisting of:

user interfaces;

actors;

system components; and

application data stores.

5. The system of claim 1 , wherein when a plurality of sequence diagrams comprise one or more transactions involving one or more data objects of the set of data objects identified by 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 plurality sequence diagrams.

6. The system of claim 1 , wherein the count of function points is decreased by a count of equivalent previously existing function points.

7. The system of claim 6 , wherein the count of function points is used to estimate a level of effort to be expended to develop the software application.

8. The system of claim 7 , wherein the estimated level of effort and an actual level of effort expended to develop the software application are used to calculate a productivity metric for the development of the software application.

9. The system of claim 1 , wherein a user interface start point and a system component end point define an external input function point.

10. The system of claim 1 , wherein a user interface start point and an application data store end point define an external input function point.

11. The system of claim 1 , wherein an actor start point and an application data store end point define an external input function point.

12. The system of claim 1 , wherein a system component start point and one of an actor end point, a user interface end point, and an application data store end point define an external output function point.

13. The system of claim 1 , wherein a system component start point and one of an actor end point, a user interface end point, and an application data store end point define an external query function point.

14. 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.

15. The system of claim 14 , wherein the estimator component further determines a total cost for development of the software application based on the count of net function points.

16. The system of claim 14 , further comprising a component that monitors productivity using at least one of the count of the function points from the first and the second documents and the net function points.

17. The system of claim 14 , wherein at least one pair of start points and end points in at least one of the first sequence diagram and the second sequence diagram defines a function point.

18. The system of claim 17 , wherein the function points are selected from a group of function points consisting of:

external inputs;

external outputs;

external queries;

internal logical files; and

external interface files.

19. 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.

20. The method of claim 19 ,

wherein the calculated level of effort and an actual level of effort expended to develop a software application are used to calculate a productivity metric for the development of the software application.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2022
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: IBSV LLC; LAYER3 TV, LLC; PUSHSPRING, LLC; T-MOBILE CENTRAL LLC; T-MOBILE USA, INC.; ASSURANCE WIRELESS USA, L.P.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; SPRINTCOM LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM LLC
Reel/Frame 062595/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2021
From: SPRINT COMMUNICATIONS COMPANY L.P.
To: T-MOBILE INNOVATIONS LLC
Reel/Frame 055604/0001 →
TERMINATION AND RELEASE OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS Recorded Apr 2, 2020
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: SPRINT COMMUNICATIONS COMPANY L.P.
Reel/Frame 052969/0475 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: T-MOBILE USA, INC.; ISBV LLC; T-MOBILE CENTRAL LLC; LAYER3 TV, INC.; PUSHSPRING, INC.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; CLEARWIRE LEGACY LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM L.P.; ASSURANCE WIRELESS USA, L.P.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 053182/0001 →
GRANT OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS Recorded Mar 6, 2017
From: SPRINT COMMUNICATIONS COMPANY L.P.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 041895/0210 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2005
From: SRINIVASAN, LAVANYA; STEFAN, STEVEN S.
To: SPRINT COMMUNICATIONS COMPANY L.P.
Reel/Frame 016830/0700 →