Compiladores, intérpretes y máquinas virtuales.

- Posted in programacion, ingenieria-del-software by - Comments

Cuando aprendemos a programar, normalmente escogemos o nos imponen un determinado lenguaje de programación. Una de las primeras distinciones que es interesante conocer acerca de nuestro lenguaje es si el lenguaje se compila o se interpreta. En este artículo intentaremos explicar las diferencias entre ambas formas de trabajar. Además, desde la aparición del lenguaje Java hace ya algunos años, ... more

Un bucle para cada cosa

- Posted in programacion, ingenieria-del-software by - Comments

En los lenguajes generalistas modernos existen distintos tipos de estructuras repetitivas, comunmente llamadas "bucles". Cada una de ellas tiene una funcionalidad concreta. En la mayor parte de casos sólo una de ellas es la indicada. Si utilizamos un tipo de bucle que no es adecuado para resolver un problema, es probable que escribamos código ineficiente o confuso. Antes de utilizar un bucle u ... more

Qué es la complejidad de un algoritmo

- Posted in ingenieria-del-software by - Comments

Cuando solucionamos un problema mediante la construcción de un algoritmo, normalmente podemos atacar el problema desde distintos puntos de vista, aplicando distintas estrategias, y por tanto, llegando a soluciones algorítmicas distintas. Desde el punto de vista computacional, es necesario disponer de alguna forma de comparar una solución algorítmica con otra, para conocer cómo se ... more

La planificación: Gantt, PERT y CPM

- Posted in ingenieria-del-software by - Comments

En el desarrollo de casi cualquier proyecto de cierto tamaño pueden identificarse algunas tareas que podrían realizarse simultáneamente por distintas personas o equipos de personas. El hecho de trabajar en paralelo con distintas tareas suele hacer que el proyecto total se termine antes. Al fin y al cabo, el tiempo es nuestro recurso más valioso: no se puede comprar. En este artículo, ... more

Metodologías de desarrollo del software

- Posted in ingenieria-del-software by - Comments

El concepto de metodología, dentro de la Ingeniería del Software es, sin duda, uno de los más oscuros y que más confusión produce tanto en estudiantes como en profesionales involucrados en procesos de desarrollo de software. Tanto es así, que en muchos proyectos de desarrollo (no todos, por supuesto), la aplicación de una metodología brilla por su ausencia, siendo éste un concepto casi ... more

Ley de Demeter

['Demeter', diosa griega de la agricultura. Foto: Jastrow en Wikipedia] La Ley de Demeter, también llamada del buen estilo, o de inyección de dependencias, es un principio de diseño de software, algo antiguo y con un nombre algo pretencioso, del que se suele comentar que aporta algunas ventajas para obtener un código más sencillo de mantener si lo seguimos en un escenario en el cual estemos ... more

Lenguajes fuertemente, débilmente, estáticamente y dinámicamente tipados

- Posted in programacion, ingenieria-del-software by - Comments

Uno de los aspectos más importantes de cualquier programa es, sin duda, el tema de los datos. Los datos son el soporte de la información, y la información es el corazón de cualquier programa. Los lenguajes de programación utilizan las variables como contenedores de datos, para manipularlos y almacenarlos en una amplia variedad de maneras. Está claro que los datos tienen distintos tipos. A ... more

ACID (Atomicity, Consistency, Isolation, Durability)

- Posted in ingenieria-del-software by - Comments

Atomicity, Consistency, Isolation, and Durability. ACID es un acrónimo en inglés qe utiliza en el ámbito de las bases de datos. A menudo se utilizan expresiones como "esta base de datos o este sistema cumple las propiedades ACID". Atomicity (atomicidad) siginifica que el sistema permite operaciones atómicas. Una operación atómica es aquella que si está formada por operaciones más ... more

Las actividades del ciclo de vida del software

- Posted in ingenieria-del-software, ciclo-de-vida by - Comments

Tiempo atrás hablábamos del ciclo de vida del software, que es, básicamente, el proceso que sigue un software, desde que es un simple proyecto hasta que deja de utilizarse, pasando por estudiar su origen, sus funcionalidades, sus restricciones, realizar su diseño, "fabricarlo", probarlo, instalarlo, utilizarlo, mantenerlo... y casi cualquier cosa que podamos hacer con un producto ... more

El ciclo de vida del software

- Posted in ingenieria-del-software, ciclo-de-vida by - Comments

¿Quién se ha llevado mi análisis? Parece mentira, pero el mundo del software, y en general de las tecnologías de la información, esta lleno de grandes fracasos. Algunos de ellos, realmente estrepitosos. Muchos de los sistemas de información que causan y han causado problemas lo han hecho por no prever factores externos ("No mandé mis naves a luchar contra los elementos", que dicen que ... more

»