- PowerPoint PPT Presentation

About This Presentation
Title:

Description:

Qu es la Ingenier a del Software? (1) La aplicaci n de un enfoque sistem tico, disciplinado y cuantificable hacia el desarrollo, operaci n y mantenimiento ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 31
Provided by: Progr79
Category:

less

Transcript and Presenter's Notes

Title:


1
Qué es la Ingeniería del Software?
  • (1) La aplicación de un enfoque sistemático,
    disciplinado y cuantificable hacia el desarrollo,
    operación y mantenimiento del software es decir
    la aplicación de la Ingeniería al software.
  • (2) El estudio de enfoques como (1).
  • IEEE, 1993

2
Aspectos clave en la IS
  • Escala del problema
  • Calidad y productividad
  • Consistencia
  • Manejo del cambio
  • Desafío Lograr consistentemente alta calidad y
    productividad en problemas cuya escala puede ser
    grande y donde pueden ocurrir cambios
    continuamente es el principal desafío de la
    Ingeniería del Software.

3
Qué es el Software?
  • Producto que construyen y diseñan los Ingenieros
    de Software.
  • Comprende
  • Programas
  • Datos (texto, números, imágenes, sonidos, video)
  • Documentación.

4
Características del Software
  • Producto y vehículo.
  • Lógico, no físico.
  • Se desarrolla, no se fabrica.
  • No se desgasta, se deteriora.
  • Mayoría hecho a medida, tendencia a reusar.

5
Aplicaciones del Software
  • SW de Sistemas
  • SW de Tiempo Real
  • SW de Negocio o Gestión
  • SW de Ingeniería o Científico
  • SW Embebido o Empotrado
  • SW de PC
  • SW de IA
  • SW basado en la Web

6
Mitos del Software
  • Propagaron confusión e información errónea.

Del administrador del proyecto Mitos del SW
Del usuario final o cliente Del desarrollador
7
Mitos del Administrador
  • Los estándares y procedimientos son toda la guía
    que los Ing. de software necesitan.
  • Si contamos con la última generación de
    computadoras tenemos todas las herramientas
    necesarias.
  • Si fallamos en la planificación, podemos añadir
    más programadores y adelantar el tiempo perdido.

8
Mitos del Cliente
  • Una declaración general de los objetivos del
    cliente es todo lo necesario para empezar a
    programar.
  • Los requisitos cambian continuamente, pero los
    cambios pueden acomodarse fácilmente porque el
    software es flexible.

9
Mitos del Desarrollador
  • Una vez que se escribió el programa y se lo hizo
    funcionar, el trabajo del Ing. de software está
    terminado.
  • No hay forma de comprobar la calidad del software
    hasta no poder ejecutarlo en alguna máquina.
  • Lo único que se entrega al terminar el proyecto
    es el programa funcionando.

10
El Proceso de Desarrollo de Software
  • Qué es?
  • Marco de trabajo de tareas a realizar para
    desarrollar SW de alta calidad.
  • Es sinónimo de Ingeniería de Software?
  • Define un enfoque para desarrollar software en
    forma ingenieril pero la Ing. de Soft. comprende,
    además, Métodos y Herramientas.

11
Qué es la Ingeniería del Software?
  • Tecnología multicapa (Pressman)

Herramientas
Métodos
Capa fundamental
Proceso
Un enfoque de calidad
12
El Proceso Visión Genérica
Ing. Sistemas Planificación Análisis de req.
Definición (QUE)
Desarrollo (COMO)
Diseño G. de Código Prueba
Mant. Correctivo Mant. Adaptativo Mant.
Perfectivo Mant. Preventivo o Reingeniería del
Software
Soporte (CAMBIOS)
13
Modelo Lineal Secuencial
  • Ciclo de vida clásico, modelo en cascada
  • antiguo, usado
  • Enfoque sistemático secuencial

14
Modelo Lineal Secuencial
  • Críticas
  • Proyectos reales raras veces se ajustan al
    modelo.
  • Raras veces cliente expone todos los req. de
    entrada.
  • Producto operativo al final
  • Paciencia (cliente) alta.
  • Todo o nada.
  • Consejo
  • Usar cuando todos los requerimientos han sido
    establecidos claramente de entrada o la
    organización está familiarizada con el dominio.

15
Modelo de Construcción de Prototipos
  • No están claros de entrada los requisitos.
  • Sistemas nuevos, poco conocimiento del dominio
  • Reduce el riesgo.
  • Iterativo. Hasta cuando se itera?
  • Working prototype, desechar y empezar con
    desarrollo de sistema.

16
Modelo de Construcción de Prototipos
  • Críticas
  • Producto de mala calidad. Cliente cree que es el
    sistema.
  • Peligro de familiarización con malas elecciones
    iniciales (quick and dirty).
  • Consejo
  • Usar cuando inicialmente no están claros los
    requisitos.
  • Definir claramente al inicio las reglas de juego
    con el cliente.
  • No ceder a presión del cliente.

17
Modelo de Desarrollo Rápido de Aplicaciones (DRA)
  • Lineal secuencial con ciclo extremadamente corto.
  • Candidatos sistemas que se pueden modularizar gt
    equipos de desarrollo paralelos.
  • Basado en el uso de componentes y T4G.

18
Modelo DRA
Qué información? Quién la genera? A dónde va?
Identificación de objetos y relaciones
Descripciones de procesos de negocio para ABM de
objetos de MD
T4G Reusabilidad de Componentes
Prueba de componentes nuevos e interfaces.
Tiempo
lt-------------------------------60-90
días------------------------gt
19
Modelo DRA
  • Críticas
  • Proyectos grandes gt gran nro. de personas.
  • Alto compromiso en tiempo.
  • No apto para todo tipo de sistema (ej. no
    modularizable, bajo reuso de componentes).
  • Desaconsejable cuando existen riesgos
    tecnológicos altos.

20
Modelos Evolutivos
  • Se adaptan más fácilmente a los cambios
    introducidos a lo largo del desarrollo.
  • Iterativos
  • En cada iteración se obtienen versiones más
    completas del SW.
  • Modelos Evolutivos
  • Modelo Incremental
  • Modelo en Espiral
  • Modelo de Desarrollo Basado en Componentes

21
Modelo Incremental
  • Combina lineal secuencial (aplicado
    repetidamente) con filosofía interactiva de
    construcción de prototipos.
  • Cada iteración devuelve un Incremento o versión
    operativa.
  • Útil cuando no se está seguro de cumplir con
    plazos de tiempo o se tiene una fecha imposible
    de cambiar.

22
Modelo Incremental
23
Modelo en Espiral
24
Modelo en Espiral
  • Permite usar el prototipado en todas las etapas
    de la evolución para reducir el riesgo.
  • Mantiene el enfoque sistemático de los pasos
    sugeridos por el lineal secuencial, pero lo
    incorpora dentro de un marco iterativo más real.
  • Críticas
  • Difícil de convencer a los clientes de que es
    controlable.
  • Requiere mucha habilidad para el análisis de
    riesgos y de esta habilidad depende su éxito.

25
Desarrollo Basado en Componentes
  • Basado en modelo en Espiral (evolutivo e
    iterativo) Tecnologías de Objetos.
  • Enfatiza la Reusabilidad.

26
Modelo de Métodos Formales
  • Usan notación rigurosa.
  • Especificaciones sin ambigüedades.
  • Útiles para sistemas críticos.
  • Demostraciones formales de propiedades.
  • Dificulta validación con cliente gt combinación
    con otras técnicas semi-formales.
  • Buen nivel de manejo de Lógica y Algebra.

27
Técnicas de Cuarta Generación (T4G)
  • Herramientas que facilitan la realización de
    especificaciones a alto nivel ? código fuente.
  • Basadas en Lenguajes de 4ta Generación (L4G).
  • Ventajas Reducción en tiempo de desarrollo.

28
Técnicas de Cuarta Generación (T4G)
  • Críticas
  • Código ineficiente.
  • No mas fáciles de usar que L3G.
  • Mantenimiento cuestionable.
  • Consejo En sistemas grandes, aunque se usen T4G
    se debe hacer análisis, diseño y pruebas.

29
(No Transcript)
30
El Proceso Modelo de Madurez de Capacidad
(CMM) http//www.sei.cmu.edu
  • Nivel 1 Inicial
  • Nivel 2 Repetible
  • Nivel 3 Definido
  • Nivel 4 Gestionado
  • Nivel 5 Optimizado
Write a Comment
User Comments (0)
About PowerShow.com