Fundamentos de Ingeniería de Software: Ciclo de Vida, UML y Gestión de Proyectos

Plástica y Educación Artística5,31 KB

Ingeniería de Software

Es el establecimiento y uso de principios robustos de la ingeniería a fin de obtener económicamente software fiable y que funcione eficientemente sobre máquinas reales.

Capas de la Ingeniería del Software

  • Enfoque de calidad: Base fundamental de todo desarrollo.
  • Procesos: Es la unión que mantiene juntas las capas de tecnología y que permite un desarrollo racional y oportuno de la ingeniería del software.
  • Métodos: Indican «cómo» construir técnicamente el software. Abarcan una gran gama de tareas que incluyen especificación de requisitos, diseño, construcción de programas, pruebas y mantenimiento.
  • Herramientas: Proporcionan un enfoque automático o semiautomático para el proceso y los métodos.

Ciclo de Vida Clásico del Desarrollo de Software

  1. Investigación preliminar
  2. Revisión de requisitos
  3. Diseño
  4. Programación
  5. Pruebas
  6. Puesta en operación
  7. Mantenimiento

Fase Inicial del Proyecto

Dinámica: Discusión y estudio de las etapas del ciclo de vida clásico del desarrollo del software.

Meta de la etapa: Presentación de la propuesta al cliente y firma del contrato de trabajo.

Actividades primarias:

  • Investigación del problema.
  • Definición de alternativas.
  • Estudio de costo-beneficio.
  • Elaboración de la propuesta.
  • Presentación al cliente.
  • Negociación y firma de contratos.

Investigación del Problema

  • ¿Qué interesa relevar?: Requerimientos, datos de volúmenes y cargas de trabajo, procesos, tiempos, problemas existentes, inventarios (equipo, infraestructura, personal), herramientas estadísticas, entre otros.
  • Técnicas de obtención de datos: Entrevistas, cuestionarios, observaciones y recopilación de documentación.
  • Documentos útiles del cliente: Manual de métodos y procedimientos, manual de puestos y funciones, y organigramas.
  • Sugerencias para el cliente: Evaluar la estructura de la empresa para sugerirle el esquema adecuado que le permita tomar decisiones relativas al proyecto, así como revisar y aceptar o rechazar todos los entregables.

Costos, Beneficios y Elaboración de la Propuesta

  • Costos y beneficios: Identificación (tangibles e intangibles), balance de costo-beneficio (retornos de inversión, flujos de efectivo), herramientas de cálculo y determinación del costo de desarrollo.
  • Elaboración de la propuesta: Involucra a la empresa proveedora, al cliente, la negociación y la presentación formal.
  • Dificultades en la elaboración: Experiencia requerida para la estimación de tiempos y costos relativos al sistema planteado, adecuada definición del problema, comprensión profunda del proceso de negocio actual y negociación final con el cliente.

Modelado con UML (Lenguaje Unificado de Modelado)

El UML prescribe un conjunto de notaciones y diagramas estándar para modelar sistemas orientados a objetos. Describe la semántica esencial de lo que estos diagramas y símbolos representan.

  • Casos de uso: Representan la funcionalidad del sistema desde el punto de vista del usuario y definen las fronteras del sistema. Se componen de:
    • Texto: Descripciones narrativas de los procesos.
    • Gráficos: Representación gráfica de los procesos e interacciones.
  • Modelo conceptual: Identificación de componentes, atributos y asociaciones del dominio que se juzgan importantes.
  • Diagrama de colaboración: Muestra la asignación de responsabilidades entre los objetos y su interacción a través del paso de mensajes.
  • Diagrama de secuencia: Representa el comportamiento del sistema en términos de interacciones temporales entre un conjunto de objetos. Se utiliza para identificar objetos en los dominios de la aplicación e implementación.
  • Diagramas de diseño de clases: Se usan para modelar la estructura estática de un sistema en términos de objetos con sus atributos, métodos y relaciones. Muestran formalmente las definiciones de las clases.

Personal y Participantes del Proyecto

  • Gestores superiores: Definen los aspectos de negocio que a menudo tienen una significativa influencia en la dirección del proyecto.
  • Gestores (técnicos) del proyecto: Deben planificar, motivar, organizar y controlar a los profesionales que realizan el trabajo de software.
  • Profesionales: Proporcionan las capacidades técnicas necesarias para la ingeniería de un producto o aplicación.
  • Clientes: Especifican los requisitos para la ingeniería del software y otros elementos con impacto en el alcance global.
  • Usuarios finales: Interactúan directamente con el software una vez que este ha sido entregado para su fase de producción.

Descargar

PDF Word HTML