April is finishing so I have had to rush to my month's entry. Yeah, I would have liked to write more frequently but there are a lot of things to do and there is not to much avaiable time for them. Anyway, I like to keep my promises, so I have had to sacrifice some entertainments for this week end, such as the traditional Romeria de Tegueste. I hope to finally go the next year ;)
I would like to talk a little bit about models, mainly, because it's the world in which I'm completely immersed in my daily job. I have said (unconsciously?) some times that models are everywhere, actually, this blog's title announce that models are the key. I'll try to explain that, or at least, give my point of view about why models are so important in our world.
Firstly, what is a model?. Unfortunately I think that there isn't an obvious answer for this question, in fact, if you try to find a definition in wikipedia or the RAE (Real Academia Española), you could get stunned about the amount of entries which relate to a model definition. So, in spite of the importance of this term in our world, specially in Software Development, I'm afraid that its ambiguity won't help too much for the task of this blog's entry. You only have to take a look to the following pictures which could be considered as models:
A mathematical model:
A economic model:
A data model:
A 3D model:
A car model:
A lovely model:
Well, as you see, models are everywhere and we can try to think any kind of scenario and we'll probably obtain a model which will fit in it. I could invest hours to get the correct definition or the perfect picture to represent a model, but If I had to use a specific and simple one, it would be the following: "A model is a general abstraction which represents or describes a concrete reality". They basically help us to describe or show a problem or situation in a simpler way. In Software Development, the idea is that we can model a real system so that we will use new and different kinds of processes, artifacts and tools in order to obtain the final application to manage that real system. Obviously, all the these introduced concepts should be easier to make, manage, modify, etc than the traditional one.
These ideas could probably say nothing to you and I'd obviously need something else more illustrative, such as an example. I have to confess that modeling can't be explained in some lines in a blog and if I were able to do it properly, you wouldn't probably understand anything. However, stay tunned, I'll make a practical example in which I hope you can oversee the power of the models... Just remember, be a model my friend.