¿Qué es la ingeniería de Software?


En este escrito te explico que es la Ingeniería de Software, mediante mapas conceptuales y texto. Al final hago una crítica a la definición clásica de Ingeniería de Software. El contexto Lo primero es poner la Ingeniería de Software en un contexto, y es que ella es una Ingeniería, por ello primero te presentaré los … Seguir leyendo

El increíble y flexible mecanismo de las interfaces y la desalmada costumbre de no usarlas


Si es increíble que en muchos diseños de software no se utilice el concepto de interfaz cuando es un mecanismo que permite «abstraer» propiedades genéricas de un modelo y que por lo mismo permite «factorizar» código, lo que a su vez lo reduce; pero más importante aún, da mayor flexibilidad al código. Y este artículo … Seguir leyendo

Lista doblemente encadenada ¡ahora en versión animada!


En este escrito te explico lo básico de una lista doblemente encadenada: su estructura y sus dos operaciones principales: insertar y retirar,  y en cada una éstas la precondición, la postcondición y el algoritmo. Al igual que en Lista encadenada lo vemos con gráficos para que lo puedas entender más fácilmente. Pero entremos en materia … Seguir leyendo

Lista encadenada, ¡sin código! con gráficos (segunda parte)


Este escrito es la segunda parte del artículo Lista encadenada, ¡sin código! con gráficos. En esta parte te explicaré operaciones más avanzadas. Pero primero recordemos la estructura de la lista encadenada. Recordarás que la clase de la izquierda es la lista en si y que la de la derecha es cada uno de los nodos … Seguir leyendo

El antiguo pero siempre actual concepto de separación interfaz-implementación


En este escrito te explico en que consiste la separación interfaz-implementación. Primero te presento un diagrama explicándote el concepto, para luego pasar al mapa conceptual y finalmente mediante diagramas, te cuento una de las consecuencias del concepto: el impacto que se tiene en un sistema hecho con muchos módulos interdependientes hecho con y sin separación. … Seguir leyendo