Software Design, can’t really think of a pun right now

So today I will talk to you about software design. Again, it’s not that much of a complicated idea to get around with. With design you gathered all your components and requirements for your peace of software. You tend to do this on a specifications document, where you specify your design. Not very complicated really. So the whole idea of the design can be deconstructed in three stages:

  1. Architecture, where you have an overall, and broad understanding of your project’s functionality and requirements.
  2. The High-level, in this level you start to see more specific view on the modules, and subsystems of the project.
  3. Detailed. I think that it’s a bit of the given this one, but okay. You see each subsystem specifically and you have a detailed description of the implementation that your project should have.

Before going into my point of view about this subject, and overall discussion about it; I want to thanks Carlos Martell for his blog post about this subject, because it helped me to clear some ideas about it. Go ahead, and check it out, he’s pretty good at writing. So design is cool, because once you have it you can easily visualize the project. There’s less ambiguity. Also, when you have it in a good system you can treat each subsystem as it’s own, and set interactions between them. So it’s easier to understand, and also easier to implement. I’m not very much for planning and design. However, in big projects or implementations. So yeah, it’s pretty neat.