Name that Tune Application
music.gif (398 bytes)
by David Longstreet

Since there is a shortage of examples on Function Points and Internet application, this will be the first of several example we intend to post. This short article describes a local PC application that interfaces with the internet.  Links to other related articles are provided at the bottom of this page. Click on the title bar to go to our home page.


Generic.gif (12615 bytes)





Since Music CD's do not provide a listing of all the music tracks on the CD, the Name that Tune Application was developed.  When a CD is inserted into the PC, the internet is searched.  A complete listing of tracks for a particular CD are provided.

That is, the application invokes an external inquiry.  The internet is searched with a very specific parameters and very specific information is returned.

Steve Miller Band.gif (13045 bytes)





The Greatest Hits 1974-1978 of Steve Miller CD was inserted.  As the internet is searched the above dialog appears.  After the information is found, the dialog at the left is shown.   Notice that there are three data elements on the output side of this inquiry (Album Title, Current Song and Artist).  If the Track button is selected then a list of all possible tracks are displayed.  This would be another external inquiry.  On the input side is the click of the button and on the output side is a listing of songs.  The output side has three data elements (song name, length of song and current selection).  Notice the current selection is bolded.

Steve Miller Tracks.gif (8894 bytes)The bold items changes.  In the screen shot (or dialog) above the song playing is Junglelove while when the screen shot at the left the song playing is Take the Money and Run.  Hence bolding is considered a DET because it is dynamic and changes based upon a user selection.

The internet transaction takes information that is external to this application and brings it internal into the application boundary and it is processed by this application. This is much different than an application that provides a hyperlink to another internet/intranet site.  Hyperlinks alone are not external inquiries. For a link to an internet site to be considered an external inquiry it must provide a very specific parameter and bring information back to the application at hand.  It is a mistake to consider every hyperlink as an external inquiry. 

If another CD is inserted into the player a new search is conducted.  The input side parameter is passed from the CD via search icon.gif (2123 bytes)the application and a search of a very specific site is conducted.  Note that the icon (animated gif) at the far right is displayed during the search.   This is an example of a confirmation message on the input side of an external inquiry.  If the CD is found, then very specific information is passed back to the application.  

Bruce.gif (12830 bytes)





Notice the data elements are the same, but the content in the output sides is different.  In the second example provides a listing of songs from the Greatest Hits of Bruce Springsteen.

Now compare the two results --.  It is clear that there are two external inquiries.  Each is meaningful information to the user.  That is, the summary external inquiry has changed and the contents of the second external inquiry has changed -- the information is dynamic!   Again the two external inquiries are the summary external inquiry that provides (Album Title, Current Song and Artist) and the second external inquiry is the list of songs and playing time.    To rate the external inquiries we must know both the number of data elements and the number of files referenced (FTR's).

In this case there is only one external interface file or one FTR.   From our view  can not describe in detail the external interface file, but we can easily conclude that it has less than 50 data elements and would be rated as a low external interface file.

Hence in this small example, we have two low external inquiries and one low external interface file.

But why are hyperlinks not external inquiries?
According to the rules for an external inquiry a request must come from outside the application boundary and information must be displayed from inside to outside the application boundary.  A hyperlink is just that – a hyperlink. A hyperlink is navigation to another part of the application or another Internet/Intranet site. No information crosses the boundary. 

An external inquiry must reference at least one internal logical file and/or one external interface file.  Both an internal logical file or an external interface file must be a logical group of related information.   Imagine hyperlinking to another Website -- all the information displayed is not a logical group of information.

We only looked at one small part of this application, but the idea is to understand the functionality that is provided by the internet portion of this application.  

It is a common mistake to consider each hyperlink as an external inquiry.  A hyperlink is nothing more than navigation to another internet site or another application. It is important to understand what specific things are passed back and forth between and application and the internet.

If you would like more information on function points, then please visit our training page or the articles index which has links to numerous online and downloadable files and outlines our training course) or our home pages www.SoftwareMetrics.Com.   Questions and comments can be summated to David Longstreet via email (David@SoftwareMetrics.Com)

Copy and distribution is permitted if and only if copyright notice appears - .
Copyright Longstreet Consulting Inc., David Longstreetlclogo.jpg (3760 bytes)

Tools   Consulting    Full Articles    Training    Contact Us    Clients    Links

Copyright Longstreet Consulting Inc. 1995 -2003
Longstreet Consulting Inc.
2207 S. West Walnut St.
Blue Springs, MO 64015
(816) 739-4058