Conceptos Fundamentales en Ingeniería de Software: Modelos, Prototipos y Arquitectura

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 5,42 KB

Conceptos Fundamentales en Ingeniería de Software

1. ¿Qué son los Modelos de Sistemas?

Los modelos de sistemas son representaciones gráficas de la especificación del sistema que describen el problema a resolver y el sistema a desarrollar. Se aplican para desarrollar una comprensión del sistema existente a reemplazar o a mejorar.

2. Tipos de Modelos de Sistemas

A continuación, se explican los principales tipos de modelos de sistemas:

  • Modelos de Contexto: Definen los límites del sistema para distinguir entre el sistema y su entorno. Se ven influidos por aspectos sociales y organizacionales (factores no técnicos).
  • Modelos de Comportamiento: Determinan cómo el sistema procesa los datos, cómo fluyen, modelan la respuesta a eventos internos y externos, y las transacciones de un estado a otro.
  • Modelos de Datos: Se utilizan junto con los flujos de datos para describir la estructura de la información. La más utilizada es la entidad-relación, que muestra entidades de datos, atributos asociados y relaciones entre ellas.
  • Modelos de Objetos: Definen la estructura lógica de los documentos y el modo en que se accede y se manipula. Permiten a los programadores construir documentos, navegar por su estructura, y añadir, eliminar o modificar su contenido.

3. Ejemplo de Modelo de Sistema: Modelo de Contexto

(El ejemplo específico del modelo de contexto no fue proporcionado en el documento original, pero su aplicación implica la delimitación visual de un sistema y sus interacciones con el entorno, como usuarios, otros sistemas o dispositivos externos).

4. Bancos de Trabajo CASE: Concepto y Beneficios

Un banco de trabajo CASE (Computer-Aided Software Engineering) es un conjunto de herramientas integradas diseñadas para trabajar conjuntamente y automatizar (o proporcionar ayuda automatizada) el ciclo de vida completo del software, incluyendo el análisis, el diseño, la codificación y la prueba.

Entre sus beneficios clave se encuentran:

  • La reutilización del software.
  • El mantenimiento de la integridad del sistema.
  • El control de cambios y versiones.

5. Definición de Prototipo de Software

Un prototipo es una versión inicial de un sistema de software (SW) que se utiliza para demostrar conceptos, probar opciones de diseño y comprender mejor el problema y sus posibles soluciones.

6. Prototipos Desechables vs. Evolutivos: Diferencias Clave

La principal diferencia radica en su propósito y fiabilidad:

  • El prototipo evolutivo es un sistema funcional independiente, fiable y eficiente, diseñado para evolucionar hacia el producto final.
  • El prototipo desechable se enfoca en validar los requisitos del sistema y explorar opciones, aunque carece de la fiabilidad necesaria para ser un producto final y se descarta una vez cumplido su objetivo.

7. Ventajas del Prototipo Desechable en Sistemas Grandes

Se recomienda el uso de prototipos desechables para el desarrollo de sistemas grandes porque extienden el proceso de análisis de requisitos con la intención de reducir los costos del ciclo de vida completo. Además, clarifican los requisitos y proporcionan información adicional a los administradores para valorar los riesgos del proceso.

8. Diseño Arquitectónico de Software

El diseño arquitectónico es la primera etapa en el proceso de diseño y representa un enlace crítico entre los procesos de ingeniería de diseño y de requisitos. Es un proceso creativo que busca establecer una organización del sistema que satisfaga los requisitos funcionales y no funcionales del propio sistema.

9. Módulo vs. Subsistema: Distinciones Fundamentales

  • Un subsistema es una descomposición abstracta de un sistema en componentes de grano grueso, cada uno de los cuales puede ser un sistema importante por sí mismo. Se compone de módulos y utiliza interfaces definidas para la comunicación con otros módulos.
  • Un módulo es un componente del sistema que suministra uno o más servicios a otros módulos. No se considera un sistema independiente y se compone de elementos más simples del sistema.

10. Modelos Arquitectónicos Comunes

Los modelos arquitectónicos que se pueden desarrollar incluyen:

  • Modelo estructural estático.
  • Modelo de proceso dinámico.
  • Modelo de interfaz.
  • Modelos de relaciones.
  • Modelo de distribución.

11. Modelo Cliente-Servidor: Concepto

El modelo Cliente-Servidor es un modelo de sistema en el que este se organiza como un conjunto de servicios y servidores asociados, más unos clientes que acceden y utilizan dichos servicios.

12. Diagramas de Componentes y Despliegue en UML

El Diagrama de Componentes muestra el sistema como una colección de componentes tecnológicos (ejecutables, DLLs, páginas HTML, etc.) y se utiliza para agrupar clases en componentes o módulos. La distribución general del hardware del sistema se modela utilizando el Diagrama de Despliegue (anteriormente conocido como Diagrama de Implementación o Distribución en versiones más antiguas de UML).

Entradas relacionadas: