| SIMON METZ - SOFTWARE PROGRAMMING METHODOLOGY |
|
Formalized software programming processes must be implemented with a thought to how your company or clients work in their day to day procedures.
Some structured elements may not apply as cleanly as they do on paper and may actually frustrate development cycles, and therefore different approachs,
such as top down programming or bottom up programming must be used.
Linus Torvalds, the project leader of the Linux kernel, made the following statement on the Linux kernel mailing list:
No major software project that has been successful in a general marketplace (as opposed to niches) has ever gone
through those nice lifecycles they tell you about in CompSci classes.
Some important concepts should be analyzed before proceeding with software programming.
Top Down Programming is a programming style where design begins by specifying high level elements and then dividing them into smaller and more detailed pieces. As the elements of the application become smaller and lower level they are specific enough to be coded and the application can be written. The technique for writing a program using top down programming methods is to write a main procedure that names all the major functions it will need. Later, the programming team looks at the requirements of each of those functions and the process is repeated. These compartmentalized sub-routines eventually will perform actions so simple they can be easily and concisely coded. When all the various sub-routines have been coded the program is done.
Advantages of Top Down Programming
Bottom up programming requires that the simpler programming components are accomplished first and the more complex
programming is designed afterward to create a complete application. Bottom up programming tends to be more general, and thus
more reusable, than pieces of programs written top-down. This fact greatly simplifies maintenance, in particular adding
new features to the application. It also makes it possible to delay the final decision concerning the exact functionality
of the application. Being able to delay this decision makes it less likely that the client has changed his or her mind
between the establishment of the specifications of the application and its implementation.
Advantages of Bottom Up Programming
|