Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Imagine that job hunting has been going so well that you need to develop a system to support your efforts. The system should allow you

Imagine that job hunting has been going so well that you need to develop a system to support your efforts. The system should allow you to input information about the companies with which you interview, the interviews and office visits that you have scheduled, and the offers that you receive. It should be able to produce reports, such as a company contact list, an interview schedule, and an office visit schedule, as well as generate thank-you letters to be brought into a word processor to customize. You also need the system to answer queries, such as the number of interviews by city and your average offer amount.

Questions

Determine the number of inputs, outputs, interfaces, files, and queries that this system requires. For each element, determine whether the complexity is low, medium, or high. Record this information on a worksheet similar to the one in Figure 2A-2.

Calculate the total function points for each line on your worksheet by multiplying the number of each element with the appropriate complexity score.

Sum up the total unadjusted function points.

Suppose that the system will be built by you using Visual Basic (VB). Given your VB skills, multiply the TUFP score by the APC score that best estimates how complex the system will be for you to develop (0.65 = simple, 1 = average, 1.35 = complex), and calculate a TAFP value.

Using the table in Figure 2A-3, determine the number of lines of code that correspond to VB. Multiply this number by the TAFP to find the total lines of code that your system will require.

Language

Approximate Number of Lines of Code per Function Point

C

130

COBOL

110

Java

55

C++

50

Turbo Pascal

50

Visual Basic

30

PowerBuilder

15

HTML

15

Packages (e.g., Access, Excel)

1040

Data Source: Capers Jones, Software Productivity Research, www.spr.com

FIGURE 2A-3 Converting from function points to lines of code.

In the planning phase, the exact nature of the system has not yet been determined, so it is impossible to know exactly how many inputs, outputs,

and so forth will be in the system. It is up to the project manager to make an intelligent guess. Some people feel that using function points this early in a project is not practical for this reason. We believe function points can be a useful tool for understanding a projects size at any point in the SDLC. Later in the project, once more is known about the system, the project manager will revise the estimates, using this better knowledge to produce more accurate results.

Once you have estimated the number of function points, you need to convert the number of function points into the lines of code that will be required to build the system. The number of lines of code depends on the programming language you choose to use. Figure 2A-3 presents a very rough conversion guide for some popular languages.

YOUR TURN 2A-2 Calculate Effort and Schedule Time

Refer to the project size and lines of code that you calculated in Your Turn 2A-1.

Questions

Determine the effort of your project in person-months of effort by multiplying your lines of code (in thousands) by 1.4.

Calculate the schedule time in months for your project by using the formula .

Based on your numbers, how much time will it take to complete the project if you are the developer?

For example, the system in Figure 2A-2 has 243 function points. If you were to develop the system in COBOL, it would typically require approximately

26,730 lines of code to write it. Conversely, if you were to use Visual Basic, it typically would take 7,290 lines of code. If you could develop the system by using a package such as Excel or Access, it would take between 2,430 and 9,720 lines of code. There is a great range for packages, because different packages enable you to do different things and not all systems can be built with certain packages. Sometimes you end up writing lots of extra code to do some simple function because the package does not have the capabilities you need.

There is also a very important message from the data in this figure. Since there is a direct relationship between lines of code and the amount of effort and time required to develop a system, the choice of development language has a significant impact on the time and cost of projects.

Step 2: Estimate Effort Required Once an understanding is reached about the size of the system, the next step is to estimate the effort that is required to build it. Effort is a function of the system size combined with production rates (how much work someone can complete in a given time). Much research has been done on software production rates. One of the most popular algorithms, the COCOMO model,21 was designed by Barry W. Boehm to convert a lines-of-code estimate into a person-month estimate.

There are different versions of the COCOMO model that vary with the complexity of the software, the size of the system, the experience of the developers, and the type of software that you are developing (e.g., business application software such as the registration system at your university; commercial software such as Word; or system software such as Windows). For small to moderate-size business software projects (i.e., 100,000 lines of code and 10 or fewer programmers), the model is quite simple:

For example, let us suppose that we were going to develop a business software system requiring 10,000 lines of code. This project would typically take 14 person-months of effort. If the system in Figure 2A-2 were developed in COBOL (which equates to 26,730 lines of code), it would require about 37.42 person-months of effort.

Step 3: Estimate Time Required Once the effort is understood, the optimal schedule for the project can be estimated. Historical data or

estimation software can be used as aids, or one rule of thumb is to determine schedule by the following equation:

This equation is widely used, although the specific numbers vary (e.g., some estimators may use 3.5 or 2.5 instead of 3.0). The equation suggests that a project that has an effort of 14 person-months should be scheduled to take a little more than 7 months to complete. Continuing the Figure 2A-2 example, the 37.42 person-months would require a little over 10 months. It is important to note that this estimate is for the analysis, design, and implementation phases; it does not include the planning phase.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Accounting questions