During my college years I suffered from - or should I say, enjoyed from- several obsessions. One of them was discovering the difference between what was called a “software design” and a “software analysis”. I read and read a multitude of computer design and analysis books, but I couldn’t resolve my doubts: in some books they called analysis, in others the same thing is called design. In none of those books did I find the difference between these terms. If I became obsessed with them, it was due to some books, or courses that I took, where the phases of software development were specified: from requirement collection, to the coding, they went through several stages: two of those stages were analysis and design.
As much as I asked my teachers and classmates, and as much as I searched in books and on the internet, I couldn’t resolve this question. What is the difference between analysis and software design? In the end I managed to resolve this doubt in the most unexpected place of all, -I don’t remember how I came to the conclusion of looking there, maybe desperation-: the place where I found the difference was the dictionary of the Spanish academy.
My confusion was caused by the fact that everywhere I looked, the result of the analysis and design was the same, but everywhere they say that is different. Thanks to the dictionary I was able to discover that analysis is a mental process with which we break down concepts in order to understand them better. A design is a graphic representation of concepts. Analysis and design are related because to design anything we must first analyze it, and thanks to that design, we can continue analyzin without having to have everything in our heads. In other words, design is a tool that helps to analyze, and to leave a graphic record of that analysis.
All this, today, seems superficial even simple, but I can assure you that reading all those software engineering books, none of them presented it in such a simple way, which caused me many doubts about something that was that simple. . Why do we get so complicated?