Introducción a los conceptos

← Inicio

  1. Paradigma: una forma de pensar. Se trata de una lente para ver la realidad; Puede ser estructurado: datos + procesos, que generan una serie de transformaciones.
  2. Software/programa: modelado computable de la realidad. Parte de un dominio (negocio), que es parte de una realidad. Pueden existir múltiples abstracciones, por ejemplo, la máquina de Von Neumann (modelo o arquitectura de una computación genérica) o la máquina de Turing que es un modelo matemático capaz de computar cualquier algoritmo.

Referencia: https://en.wikipedia.org/wiki/Von_Neumann_architecture Referencia: https://en.wikipedia.org/wiki/Turing_machine

Otra forma de entender los conceptos de modelos, es que se tratar de representaciones simplificadas e imperfectas de la realidad. Así como un mapa mundi representa los países, las fronteras y la distribución entre tierra y agua, el mapa termina siendo un modelo representativo de la realidad que nos ayuda a entender (simplificado) la geografía del mundo.

[!note] J.L. Borges: del rigor de la ciencia: querer hacer mapa de un imperio en escala 1:1 es inútil.

Referencia: https://es.wikipedia.org/wiki/Del_rigor_en_la_ciencia

La realidad mismas requiere de un proceso de entendimiento y “abstracción”. De la abstracción se puede ir generando y depurando un modelo, basado en una serie de reglas establecidas por un paradigma, donde el modelo representa una porción del dominio de la realidad que de interés (el negocio que se quiere modelar).

El análisis o entendimiento del dominio es que que surge el dominio del problema, o sea el QUE? la esencia de los que se quiere modelar.

Luego, el diseño, que es un proceso para llegar a una representación del dominio del problema. No quiere decir que representa el COMO es ese dominio. El modelado no es nada, lo que importa es el diseño.

Qué es un buen software?

Una posible respuesta, más allá de lo obvio, como: que resuelva el problema para el cual fue diseñado, en los tiempos y costos indicados y que sea de utilidad para quien lo requiere, es: EL SOFTWARE QUE CAMBIA. O sea, el software que está pensado, diseñado, implementado y testeado, preparado para cambiar. Así como el mundo, la realidad y el dominio del problema evolucionan y cambiar debido a múltiples factores, tanto internos como externos, el software que mejor se pueda adaptar a estos cambios y seguir cumpliendo con la esencia para lo que fue concebido, sera entonces un “buen software”.

Diseño de software Orientado a Objetos

Hay varias opiniones al respecto sobre que es y como se diseña software. Una posible afirmación es que el proceso de diseño y construcción de software es un arte y no ingeniería. Otros podrían alegar que se trata de un proceso metódico y bien establecido, como una ingeniería. La combinación de ambas podría ser una respuesta de momento.


Volver arriba

Matias Miguez — Ingeniería de Software, IA, Tecnología

This site uses Just the Docs, a documentation theme for Jekyll.