# Functional Decomposition - PowerPoint PPT Presentation

1 / 11

Functional Decomposition. At the beginning of this unit we discussed how most of your programs have been written like this: public class BigProgram { public static void main (String [ ] args) { statement; statement; statement; statement; statement; statement;

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Functional Decomposition

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

## Functional Decomposition

• At the beginning of this unit we discussed how most of your programs have been written like this:

public class BigProgram

{

public static void main (String [ ] args)

{

statement;

statement;

statement;

statement;

statement;

statement;

statement;

statement;

statement;

statement;

statement;

statement;

}

}

• There are problems with writing all of the code in the main method:

• Programs can get very long. The longer they are the harder they are to manage.

• Human beings are not computers. We don’t see information as a whole like a computer.

• Human beings “chunk” data. For example, try memorizing the following number:

7743125039

• What is that number?

• Now, let’s divide that number into chunks:

774 – 312 - 5039

• Try memorizing that number now.

• What is that number?

• Chances are you were able to memorize it that time because you “chunked” the data.

• Programmers do the same thing when they design and develop programs.

• Functional Decomposition:

• The process of breaking a problem into smaller pieces.

• Functional Decomposition has advantages in programming:

• The best way to solve a complex problem is to break it down into smaller problems.

• Using methods, specific parts of a problem can be written at one time. You don’t have to worry about the whole program.

• Methods allow the program to be broken up so multiple people can work on ONE program.

main method

• Again, this is what a program looks like when it is broken up into smaller methods:

public class DividedProgram

{

public static void main (String [ ] args)

{

statement;

statement;

}

public static void method2( )

{

statement;

statement;

}

public static void method3( )

{

statement;

statement;

}

public static void method4( )

{

statement;

statement;

}

}

method 2

method 3

method 4

• Here is an example of a main method that uses functional decomposition to call other methods:

public static void main(String[] args) throws IOException

{

int intNumDays = 30; // Number of days of sales

String strFileName; // The name of the file to open

double dblTotalSales; // Total sales for period

double dblAverageSales; // Average daily sales

// Get the name of the file.

strFileName = getFileName();

// Get the total sales from the file.

dblTotalSales = getTotalSales(strFileName);

// Calculate the average.

dblAverageSales = calcAverageSales(dblTotalSales, intNumDays);

// Display the total and average.

displayResults(dblTotalSales, dblAverageSales);

System.exit(0);

}