• RSS
  • Print this article!
  • Digg
  • del.icio.us
  • DZone
  • Facebook
  • Mixx
  • Google Bookmarks
  • Design Float
  • Reddit
  • StumbleUpon
  • Technorati
  • Live
  • TwitThis
Home > Development Best Practices > Levels of Design: Breaking Down Program Construction

Levels of Design: Breaking Down Program Construction

June 10th, 2009

When designing an online application, it is always good to start broad and work your way into the details.  This is called top down development. Here is the breakdown of the different levels that you should consider when designing a program.

Entire Program

At this point you should just figure out what you want the application to do. Figure out the prerequisites and the ultimate goal of the application.

levels-application

Packages

At this point you want to figure out how you want to split up the application.  Some examples might be user interface, graphics, data storage, business rules…etc.  Basically layout everything your application will need in the most general of terms.

levels-packages

Design Classes

Each package should be separated further into classes. Also you should be figuring out how each class interacts with one another.  An example might be splitting up the business rules package into smaller pieces. You might have a class for parsing data from the database, one class for any rules, one class for any restrictions…etc.

levels-classes

Design Methods

Break down the classes even further into methods.  For each class you should figure out the elements it needs.  Also which methods are private and which ones are public. For example you might have a class for manipulating data from the database.  You might break the class down into methods that handle adding info, editing info, selecting info and deleting info.

levels-methods

Internal Method Design

Now you’re down to the nitty gritty. You should just fill out the methods and make them work. At this point you should have a firm understanding how your application is laid out and how each method / class interacts with one another.

levels-internal-method

  • RSS
  • Print this article!
  • Digg
  • del.icio.us
  • DZone
  • Facebook
  • Mixx
  • Google Bookmarks
  • Design Float
  • Reddit
  • StumbleUpon
  • Technorati
  • Live
  • TwitThis
Comments are closed.