Fundamentos de Ingeniería de Software: Proceso y Modelado

Clasificado en Magisterio

Escrito el en español con un tamaño de 4,74 KB

Objetivos SWEBOK

  • Promover una visión consistente del mundo.
  • Clarificar el papel de las IS.
  • Caracterizar los contenidos de la disciplina.
  • Proveer acceso a los contenidos del cuerpo de conocimientos.
  • Proveer las bases para desarrollar planes de estudios.

Proceso de Desarrollo de Software

Ciclo de Vida

  • Adquisición
  • Suministro
  • Desarrollo
  • Explotación
  • Mantenimiento

Fases del Desarrollo

  • Requisitos:
    • Elicitación
    • Análisis
    • Especificación
    • Validación
  • Diseño:
    • Arquitectura
    • Componentes
  • Construcción
  • Pruebas
  • Mantenimiento

Paradigmas de Desarrollo

  • Convencional: (años 50, sin metodología, mucha programación)
  • Estructurado: (años 60-70, normas al código, comprensión, abstracción, elemento básico: módulo, gráficos)
  • Orientado a Objetos: (identificar y organizar conceptos, años 80, sin fronteras, se trabaja por partes)

Tendencias Actuales

  • Desarrollo Dirigido a Modelos (MDD)
  • Orientación a Servicios (SOC) - etiquetas XML
  • Orientación a Procesos (BPM)

Inicio de un Proyecto

  • Nivel de Empresa:
    • Entender proyecto (origen, ¿qué hacer?, viabilidad)
    • Selección del director (características)
  • Nivel de Proyecto:
    • Director (establece entorno)
    • Identificar áreas de riesgo
    • Calendario
    • Plan de trabajo
    • Tareas

Prioridad de Solicitudes

  • Proyectos de emergencia
  • Cambios requeridos para una fecha específica
  • De mejora
  • Desarrollo de nuevo sistema

Metodología General

  • Estudiar solicitud
  • Situación actual
  • Definición preliminar de requisitos
  • Soluciones alternativas
  • Evaluar alternativas (económica, técnica, legal, operativa, análisis de costes)
  • Selección de la mejor alternativa

Gestión de Requisitos

Definición de Requisito

Condición o capacidad que necesita el usuario para resolver un problema o conseguir un objetivo.

Técnicas de Recogida de Información

  • Análisis: (identificar fuentes, preguntas, analizar información, requisitos)
  • Técnicas: (entrevista, desarrollo de aplicaciones, prototipado, observación, documentación, tormenta de ideas, ETHICS)

La Entrevista

Entrevistado

  • Pasivo
  • No aceptación
  • Rechazo
  • Agresividad

Entrevistador

  • Cualidades personales
  • Técnicas
  • Actitud
  • Experiencia

Fases de la Entrevista

  • Preparación
  • Realización (apertura, desarrollo, fin)
  • Análisis

Relación entre Requisitos, Diseño e Implementación

REQ-ANÁLISIS-DISEÑO-IMPLEMENTACIÓN-PRUEBAS:

  • Clases
  • Interfaz de usuario
  • Entrada del proceso de prueba
  • Ayudan a los jefes de proyecto
  • Mecanismo para trazabilidad de requisitos

Relaciones en Casos de Uso

  • Generalización: (el hijo hereda el comportamiento del padre y puede añadir o redefinir su comportamiento)
  • Inclusión: (un caso base incorpora explícitamente el comportamiento de otro caso)
  • Extensión: (reutiliza el comportamiento en un lugar específico, un caso extiende el comportamiento de otro caso)

Conceptos de Diseño y Modelado

Concepto de Objeto

Objeto = estado + comportamiento + identidad

Encapsulamiento

Los objetos tienen parte pública y privada.

Relación entre Clases

  • Asociación: (conexión bidireccional, enlaces y diferencias por el contexto)
  • Agregación: (es todo o nada, o parte de algo, o que algo integra a algo, ambas partes pueden sobrevivir sin la otra)
  • Composición: (si desaparece el objeto ‘contenedor’ no tiene sentido hablar de las partes agregadas)

Tipos de Diagramas (UML)

  • Casos de uso
  • Clases
  • Objetos
  • Secuencia
  • Comunicación
  • Transición de estados
  • Actividad
  • Componentes
  • Despliegue
  • Paquetes
  • Estructura compuesta
  • Tiempos
  • Revisión de interacciones

Otros Conceptos

Inflación: VAN = (beneficio neto / (1 + i/100)^n - 1)

Entradas relacionadas: