You are on page 1of 2

An Introduction to the Designing and Implementation of Software

Many programmers have enthusiastically delved into a software project, armed with intuitive knowledge and the confidence that if they start, they can somehow finish. There are many types of programmers and different programming languages, yet the purpose of software design should be seen provides the clues as to the methodology used. A good analogy would be to consider a paper that you have to write. For whom are you writing the paper? What do you know about the topic? What methodology should be used? These fundamental questions are as important to professional programmers when designing software as they are to professional writers.

The first item to be considered should be the output of the program as stated by the requirements of the user. For example, the user states that they want the program help them transfer data faster via a program that would send it all at once. That is a good example, and one could make a simple miniprogram that does not use a specific language but still shows how it could be done:

procedure data-input (Snippet) begin

If the user inputs Data A then check to see if Data A matches appropriate criteria. If Data A matches criteria, then save Data A. Else Data A input does not match criteria then send a message back to user. end

While small, this snippet of a program using a standard If-then-else programming demonstrates many practical good points and bad points of programming design. First, the sample given emphasizes defensive programming techniques by requiring the computer to check if the data that has been entered and tests whether or not Data A matches a type of data required, albeit a char, byte, String, Boolean, Integer, double, float or combination.

However, this snippet does NOT specify which type of data that should be entered, which is a flaw in the design process. This is a 'mini-question', one where no requirement has been given and, therefore, no answer can be provided. The whole situation needs further investigation. Another flaw is that it does not tell where Data A has to be stored. In other words, software design entails both the activity and the result.

This snippet has exemplified how to write a simple mini-code in plain English that will prevent several programming errors using a standard computer language structure,.this snippet can be adjusted to do the required work. To go further into the types of languages that exist would be beyond the scope of this paper, which is to introduce simple design techniques. Good programming design assumes that preventable errors, such as logical or syntactical will occur. To prevent these programming mistakes, use good program design: Break things down into smaller, analyzable modules written in plain English will be done first, then look for potential weaknesses.

Finally, once all of that has been worked out, a more effective piece of code can be written, regardless of whether the programming language is JavaScript, object-oriented, or procedural. These same techniques should be used while writing the actual code. Also, the programmer should document each module using this type of methodology. One cannot underestimate the importance of testing as well, for while this methodology will save time and energy, run-time errors will still exist.

You might also like