01_paradignas.pdf

17
GESTION DE TECNOLOGIAS DE LA INFORMACION Paradigma de Ingeniería de Software

Transcript of 01_paradignas.pdf

GESTION DE TECNOLOGIAS DE LA INFORMACION

Paradigma de Ingeniería de Software

Temario

• El proceso.

• Capas de la ingeniería de Software.

• Fases de un bucle de resolución de problemas.

• ¿ Qué es un Modelos ?

• Modelos de desarrollo en el proceso del Software. • Modelo Lineal Secuencial. • Modelo de construcción de prototipos. • Modelo Incremental. • Modelo Espiral.

El Proceso

“Un conjunto de actividades

y resultados asociados que conducen a la

creación de un producto de software”

Sommerville

“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 ingeniería al software”

IEEE

“Marco de trabajo de las tareas que se

requieren para construir software de alta

calidad”

Pressman

Capas de la ingeniería de Software

El proceso : Define un marco de trabajo para un conjunto de áreas claves del proceso.

Los Métodos : Indican cómo construir técnicamente el software.

Un enfoque de calidad Proceso Métodos

Herramientas

Las Herramientas : Proporcionan un soporte para el proceso y los métodos.

Enfoque de calidad : Cultura continua de mejoras de procesos

Fases de un bucle de resolución de problemas

Estado actual

Definición de problemas

Desarrollo técnico

Integración de soluciones

Fases dentro de las fases del bucle de resolución de problemas

Estado actual

Todas las etapas de un proceso de software –

estado actual, definición del problema, desarrollo

técnico e integración de la solución – coexisten

simultáneamente en algún nivel de detalle

Estado actual

Estado actual

Estado actual

¿ Qué es un Modelos O Paradigma ?

• Arquetipo o punto de referencia para imitarlo o reproducirlo.

• Es una conceptualización que se representa como un esquema con símbolos descriptivos de características y relaciones más importantes.

• Esquema teórico de un sistema o de una realidad compleja que se elabora para facilitar su comprensión.

• Representación en pequeño de alguna cosa.

• Es una descripción simplificada de la realidad.

• Arquetipo

• Representación en pequeño

descripción simplificada

• Es una conceptualización que se representa como un esquema

• Esquema teórico de un sistema o de una realidad compleja que se elabora para facilitar su comprensión.

Modelos de ejemplo • Modelo Cliente-Servidor : El modelo cliente-servidor se apoya en

terminales (clientes) conectadas a una computadora que los provee de un recurso (servidor) .

• Modelo Relacional : representan los datos y las relaciones entre

estos, a través de una colección de tablas . • Modelo Matemático.

• Modelos de proceso y desarrollo del software

Modelos de proceso del Software

• Para resolver los problemas reales de

una industria, un ingeniero del software o un equipo de ingenieros debe incorporar una estrategia de desarrollo que acompañe al proceso……..Esta estrategia a menudo se llama modelo de proceso o paradigma de ingeniería del software.

Paradigmas de la Ingeniería de Software

Modelo Lineal Secuencial.

Análisis

Diseño

Código

Pruebas

• Llamado “ciclo de vida básico” o “modelo en cascada”.

• Sigue un enfoque sistémico secuencial para el desarrollo del software.

• Es el paradigma más antiguo y más extensamente utilizado sin embargo, la crítica del paradigma ha puesto en duda su eficacia.

Inconvenientes

• Los proyectos reales raras veces siguen el modelo secuencial que propone este paradigma.

• Es difícil que el cliente exponga explícitamente todos los requerimientos. Este modelo los necesita y tiene dificultades para considerar incertidumbres naturales que se dan en muchos proyectos.

• El cliente debe tener paciencia, una versión de trabajo no estará disponible hasta que el proyecto esté muy avanzado.

• Un error grave puede ser desastroso si no se detecta hasta que se revisa el programa.

Modelo de construcción de prototipos.

Escuchar al cliente

Construir/revisar la maqueta

El cliente prueba la maqueta

• Cuando el cliente tiene una necesidad legítima, pero está desorientado sobre los detalles, el primer paso es desarrollar un prototipo

Inconvenientes

• El cliente considera el prototipo como el producto final, listo para usar.

• La calidad del software o la factibilidad de mantenimiento no se tienen en cuenta.

• El desarrollo, a menudo, hace compromisos de implementación.

Ventajas

• Ayuda a identificar los requerimientos.

Paradigmas de la Ingeniería de Software

El Modelo Incremental (modelo evolutivo).

• Combina elementos de modelos lineal secuencial (aplicados repetidamente) con la filosofía de creación de prototipos

• Cada secuencia lineal produce un incremento.

• Aplica secuencia lineal de forma escalonada mientras progresa el tiempo en el calendario.

El modelo incremental entrega el software en partes pequeñas, pero utilizables, llamadas “incrementos”. En general, cada

incremento se constituye sobre aquél que ya ha sido entregado.

Paradigmas de la Ingeniería de Software

El Modelo Incremental (modelo evolutivo).

El modelo incremental entrega el software en partes pequeñas, pero utilizables, llamadas “incrementos”. En general, cada

incremento se constituye sobre aquél que ya ha sido entregado.

Paradigmas de la Ingeniería de Software

El Modelo Incremental (modelo evolutivo).

Ventajas

• Se puede financiar el proyecto por partes.

• Es apropiado para proyectos grandes de larga duración.

• No se necesita tanto personal como para una implementación completa.

Inconvenientes

• Se necesitan pruebas de regresión.

• Pueden aumentar el costo debido a las pruebas.

Paradigmas de la Ingeniería de Software

El Modelo Espiral (modelo evolutivo).

• Tiene la naturaleza iterativa de construcción de prototipos y los aspectos controlados y sistémicos del modelo lineal secuencial

• Durante la primera iteración, la versión incremental podría ser un modelo en papel o prototipo.

• Durante la última iteración, se producen versiones cada vez más completas de ingeniería de sistemas

• Proporciona el potencial para el desarrollo rápido de versiones incrementales de software.

Paradigmas de la Ingeniería de Software

• El modelo en espiral se divide en un número de actividades de marcos de trabajo, también llamadas regiones de tareas. La figura representa un modelo en espiral que contiene seis regiones de tareas:

El Modelo Espiral (modelo evolutivo).

Paradigmas de la Ingeniería de Software

• Modelos evolutivos como el modelo espiral, son apropiados, particularmente , para el desarrollo de sistemas orientados a objetos.

El Modelo Espiral (modelo evolutivo).