La Ingeniería, Arquitectura y Diseño de software

En los años ‘60s las personas empezaban a notar que las técnicas que se utilizaban para programar habían quedado obsoletas, incluso algunos todavía creían que la programación de software debía considerarse un arte, como una actividad que debía ser más creativa que tradicional y disciplinada.

Otro de los problemas es que en esa época muchos programadores no obtuvieron una educación formal y por lo tanto habían aprendido experimentando lo que llevo a la época de la crisis de software entre los años 60’s y 80’s.


Tres conceptos y definiciones que según el significado de cada uno podremos llegar a visualizar los métodos en los que podremos crear cualquier tipo software a través de algoritmos.

Digamos que estos tres conceptos te llevan a través de métodos a crear y solucionar problemas de software.

La ingeniería de Software es una de las ramas de las ciencias de la computación que estudia la creación de software confiable y de calidad, basándose en métodos y técnicas de ingeniería.

La arquitectura de software se refiere a las estructuras fundamentales de un sistema de software y la disciplina de crear tales estructuras y sistemas. Cada estructura comprende elementos de software, relaciones entre ellos y propiedades de elementos y relaciones.

El diseño de software es el proceso de visionado y definición de soluciones de software a uno o más conjuntos de problemas.


La ingeniería de software incluye los pasos de diseño y arquitectura.

 

-Ingeniería de software

--Diseño de software

---Arquitectura de software

----Programación

---Arquitectura de software

--Diseño de software

-Ingeniería de software


 Dentro de los pasos a realizar para conseguir la solución de problemas para crear un software tenemos:

 

-Ingeniería de software

  • Obtención de los requisitos de software

--Diseño de software

  • Análisis de requisitos de software
  • Automatizado o Experiencia de usuario
  • Documentación (Diagrama de flujo, UML, BPMN, DFD, PROLOG)

---Arquitectura de software

  • Razonamiento y toma de decisiones
  • Herramientas CASE
  • Diagramas (clases, despliegue, secuencias, bases de datos)

----Programación

  • Algoritmo, Pseudocodigo
  • Lenguaje de programación
  • Entorno de desarrollo
  • Desarrollo de la aplicación (Lenguaje, Código)
  • Pruebas de software

----Programación

  • Documentación

---Arquitectura de software

  • Limitaciones
  • Especificaciones

--Diseño de software

  • Implementación
  • Mantenimiento

-Ingeniería de software


Cada uno de estos pasos nos asegura el objetivo de la ingeniería de software como aplicación práctica del conocimiento científico al diseño y construcción de programas de computadora y a la documentación asociada requerida para desarrollar, operar y mantener dicho software.