Let’s take a look at the big picture of the software development process. Computer programming is a cycle of designing, creating and supporting a software. These are usually divided into the following sub-tasks:
- Define the task
- Choose the hardware and software needed for the development
- Choosing the algorithms needed and create the software structure
- Quality assurance (QA)
- Installation and support
As you can see, computer programming is not just writing code, that is
just one of its basics. Many guys who create programs do not follow these
steps. And yes – they often ponder why their customers are not happy
with the product or service.
Remember – being a professional programmer you (or your company) will have customers. In order to succeed, you must keep them happy. You don’t want to skip planning or testing.
It’s a common knowledge that a well defined task is half of the
solution. When you start a project you must know what exactly the
customer expects. The more detailed the description of the task - the better. Ideally, before the start of the project you will have a blueprint( a plan) containing the design and function of every page, form, button etc.
For some tasks (usually in embedded programming) a special hardware is required. For instance, if you want to write a program for a PIC microcontroller you will need a PIC chip, a device to write the program in the chip (pic programmer) and software to command the programmer.
Using the right algorithms is crucial. Professional programming is all about creating flawlessly working programs. Later we will discuss the inevitable choice between optimal usage of CPU time and memory. This is one of the most important phases of the software development process.
Finally it is time to write our program in the chosen computer language. Yes, this is the step, where we actually create the program.
One more phase of the software development process. Once we created some code it is time to see if it is doing what it is supposed to. Well.. sometimes it doesn’t. ;-) So we need to debug.
The first thing you need to do now is to find where the code fails. Most of the time this is the most difficult part of the whole development.
Once you find the code that generates the problem you have to find why it fails.
The final phase is, of course, fixing the code.
Quality assurance is the time when the developer says: “Now it is working and my job is done!”. It feels really great ;)
QA is another test of the software. It aims to assure that the product is working as the customer expects. This also includes interface issues and others.
Usually this is not done by the developer. It can be done by a test script or a QA engineer. It is important that the QA is not done by the developer, because he is too much “in the program”. It is much easier for another guy to look at the program by a different angle. This can make the product much more user-friendly and easy to use.
If the the product does not pass QA, it is returned to the developer to fix the issues.
The last 5%.. Of course your software should be easy to install.
Otherwise the customer could turn it down before he even tried it.
Support of the product is the last and sometimes – the most expensive step of the cycle. The better the support – the longer your customers will be .. your customers ;-)
Now that you have a good idea of the software development process, it is time to continue with the next part of the guide.
2)Software Development Process
4)Flow Chart Symbols
6)What is a variable