Software Development HOWTO — Part 3

Ronnie, 16 May 2007,
Categories: Programming

This is the third part of a mini-series I have introduced in this blog.

In the previous part, I discussed about sizing the target down to manageable parts. The next logical step to do right now is to dig deeper into each unit, determining how each unit will contribute to the whole.

  1. Design each unit

    It’s now time to think about how each unit will do its intended task. For a team of developers, this can be done in parallel by each developer assigned to each unit. Needless to say, if you’re the only one doing the work, the best approach would be to do it one by one. From the most complicated to the simplest, or by the general flow as planned in the previous stage — the decision would be up to you.

    1. Determine each unit will do the intended operation

      Similar to the previous stage, but on a lower scale, we now create an algorithm that would illustrate how each unit will work. A flowchart, or the use of pseudocodes may be of great help. It may be better if the details outlined in the flowchart and the pseusocode are such that they can be translated line by line into source code in the succeeding stages. It may be convenient to do optimizations to the algorithm at this stage, since doing so at later stages may introduce bugs which may be difficult to work out.

      Previously we’ve thought about data structures that the whole application will be using. Now, we think of what data structures may be utilized within the unit. Arrays, stacks, and queues may be used in places where a large amount of data need to be processed. Temporary storage areas, where needed, should also be considered. The general idea should be that the design at this point should only involve a particular unit’s intended function.

    2. Create a checklist/table of all information gathered

      Just as in the previous part, a checklist for everything that has been designed or decided upon at this point should be created.

As you may have observed, the descriptions of the task may be getting a bit shorter. However, as short as the tasks may be, the level of detail to the work at hand is increasing.

That will be all there is for this step. Again if you have comments or questions, please leave a comment so that we can clarify things. Keep visiting these site for more updates on this series.

Software Development Series: Part 1 Part 2

Comments

Leave a Reply:

Name *

Mail (hidden) *

Website