Unidad 3. tecnología de software metodologias de desarrollo de software

136
MAESTRIA EN TECNOLOGIAS DE INFORMACIÓN TECNOLOGÍAS DE LA INFORMACIÓN EN LAS ORGANIZACIONES MTI. ROSA IMELDA GARCÍA CHI UNIDAD 3. TECNOLOGÍA DE SOFTWARE

description

INGENIERIA DE SOFTWARE Y METODOLOGIAS DE DESARROLLO DE SOFTWARE TRADICIONAL, ORIENTADO A OBJETOS Y WEB

Transcript of Unidad 3. tecnología de software metodologias de desarrollo de software

Page 1: Unidad 3. tecnología de software metodologias de desarrollo de software

MAESTRIA EN TECNOLOGIAS DE INFORMACIÓNTECNOLOGÍAS DE LA INFORMACIÓN EN LAS ORGANIZACIONES

MTI. ROSA IMELDA GARCÍA CHI

UNIDAD 3. TECNOLOGÍA DE SOFTWARE

Page 2: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

METODOLOGÍAS DE DESARROLLO DE SOFTWARE

TECNOLOGIA DE SOFTWARE

Page 3: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

LOS SISTEMAS DE INFORMACIÓN Y LA INGENIERÍA DE SOFTWARE

REFLEXIÓN SOBRE SU RELACIÓN

Page 4: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

¿Cómo se relacionan los Sistemas de Información y la Ingeniería de Software?

PARA CREAR UN SISTEMAS

INFORMACIÓN, QUE ES UN SOFTWARE

SE REQUIERE UN PROCESO DE

DESARROLLO DE SOFTWARE

ESE PROCESO DE DESARROLLO SE BASA

EN UNA METODOLOGIA

LAS METODOLOGIAS INVOLUCRAN TECNICAS

Y HERRAMIENTAS

GENERANDO CON ESTO UN PRODUCTO DE

SOFTWARE DE CALIDAD

QUE PUEDE SER MEDIDO CON MÉTRICAS

DE SOFTWARE

Y PROBADO CON PRUEBAS DE SOFTWARE

EN OTRAS PALABRAS PARA GENERAR

SISTEMAS DE INFORMACION

SE APLICA INGENIERÍA DE SOFTWARE

OBTENIENDO UN PRODUCTO DE

SOFTWARE: EL SISTEMA DE INFORMACIÓN

Page 5: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

PROYECTO – PROCESO – PRODUCTO

PROYECTO

• PROCESO

PRODUCTO

• PRUEBAS DE CALIDAD

Page 6: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Entonces…

La ingeniería de software

Sistemas de Información

desarrolla (crea, produce)

Page 7: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

ENTONCES, LOS SISTEMAS DE INFORMACIÓN SE DEFINEN DE LA SIGUIENTE MANERA

Sistemas + Información

Page 8: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Concepto de Sistemas

Concepto de

Información

Concepto de SISTEMA DE

INFORMACIÓN

Page 9: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Repasemos lo básico…

• “Un conjunto de cosas que ordenadamente relacionadas entre sí contribuyen a un determinado objetivo”• [DRAE, 1992]

CONCEPTO de Sistema

Page 10: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

ELEMENTOS DE UN SISTEMALos componentes del sistema

Las relaciones entre ellos

La estructura del sistema

El objetivo del sistema

El entorno del sistema

Los límites del sistema

Page 11: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Enfoque Sistémico

Desde la perspectiva del Enfoque de sistemas

Page 12: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

CONCEPTO DE INFORMACION

QUÉ ES DATO /

QUÉ ES INFORMACIÓN

Page 13: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

DATO/INFORMACIÓN

DATO:

• Elemento o Item• Por ejemplo: 33, Lalo, 93.4, #45,

2013, Diciembre, 9AF3, casa, $1244.78, etc.

INFORMACIÓN:

• Conjunto de datos que tienen un significado• Por ejemplo: edad de Juan=18 años, precio de la

blusa=$345.00, promedio de Pedro=9.2, mes del año= Agosto, etc.

• Ejemplo: Información de un estudiante: su nombre, edad, promedio, carrera que cursa, su numero de control, etc.

Page 14: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

PROPIEDADES DE LA INFORMACIÓN:

. Relevante

. Precisa

. Completa

. Adecuada

. Oportuna

. Nivel de detalle adecuado

. Comprensible

Page 15: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

DEFINICIÓN DE SISTEMAS DE INFORMACIÓN (SI)

“Un conjunto formal de procesos que, operando sobre una colección de datos estructurada según las necesidades de la empresa, recopilan, elaboran y

distribuyen la información (o parte de ella) necesaria para las operaciones de dicha empresa y para las actividades de dirección y control correspondientes

(decisiones) para desempeñar su actividad de acuerdo a su estrategia de negocio”

(Andreu et al., 1999)

Page 16: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

ELEMENTOS DE UN SISTEMA DE INFORMACIÓN

− Los procedimientos y las prácticas habituales de trabajo

− La información

− Las personas o usuarios

− El equipo de soporte

Page 17: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

EL SISTEMA DE INFORMACIÓN Y SUS RELACIONES

Page 18: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

LOS SISTEMAS DE INFORMACIÓN Y LA

ORGANIZACIÓN

Page 19: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

ESTRUCTURA DE PIRAMIDE DE LA EMPRESA

R.H. R.F. VENTAS ALMACEN PRODUCCIÓN

Page 20: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

El modelo de la Pirámide

Page 21: Unidad 3. tecnología de software metodologias de desarrollo de software
Page 22: Unidad 3. tecnología de software metodologias de desarrollo de software
Page 23: Unidad 3. tecnología de software metodologias de desarrollo de software

EJEMPLO DE LOS DISTINTOS NIVELES DE DECISIÓN

Page 24: Unidad 3. tecnología de software metodologias de desarrollo de software

EJEMPLO DE UN ORGANIGRAMA DE UN DEPARTAMENTO DE INFORMÁTICA

Page 25: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

LOS CONCEPTOS DE SISTEMA DE INFORMACIÓN (SI), SISTEMA DE INFORMACIÓN AUTOMATIZADO (SIA) Y SISTEMA INFORMÁTICO

UN SISTEMA DE INFORMACIÓN AUTOMATIZADO Y UN SISTEMA INFORMÁTICO SON UN SOFTWARE

Page 26: Unidad 3. tecnología de software metodologias de desarrollo de software

LOS CONCEPTOS DE SI, SIA Y SISTEMA INFORMÁTICO

Page 27: Unidad 3. tecnología de software metodologias de desarrollo de software

PRINCIPALES SUBSISTEMAS DE UN SISTEMA DE INFORMACIÓN

Page 28: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

PRINCIPALES SUBSISTEMAS DE UN SI− Subsistema de Recursos Humanos

• La gestión de la información relacionada con la plantilla• La ejecución de la nómina

− Subsistema de Gestión Comercial

• Las propias ventas• La función de comercialización• Sistema de Factuación

− Subsistema de Gestión Contable y Financiera

• Sistema Contable de la empresa• Sistema de Pago de Impuestos

− Subsistema de Control de Almacén

• Sistema de Control de Inventario• Sistema de Proveedores

− Otros Subsistemas

• Sistemas de automatización de oficinas• Sistemas de producción

Page 29: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

CLASIFICACIÓN DE LOS SI

− Sistema de Información para la Gestión (MIS)

− Sistemas de Apoyo a las

Decisiones (DSS)

− Sistema de Información para Ejecutivos (EIS)

− Sistemas de Procesamiento

de Transacciones

Page 30: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Ingeniería de Software

Unidad 2. Metodologías de Desarrollo de Software

Page 31: Unidad 3. tecnología de software metodologias de desarrollo de software

Ingeniería de Software: una tecnología estratificada

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

ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI

Page 32: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

El IEEE [IEE93] ha desarrollado una definición más completa:

Ingeniería del software:

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

Page 33: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

La ingeniería de Software es una tecnología multicapa

cualquier enfoque de ingeniería de software debe descansar sobre un empeño de organización de calidad.

Page 34: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

La ingeniería de software sigue una tecnología multicapa y estratificada:

Un enfoque de Calidad

Proceso

Métodos

Técnicas yHerramientas

Page 35: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

METODOLOGIAS DE DESARROLLO DE SOFTWARE

Proceso Metodología

TareaProcedimiento

Técnica

Herramienta

Producto o entregable

CONCEPTOS GENERALES

Page 36: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

METODOLOGIAS DE DESARROLLO DE SOFTWARE

Resultado de cada etapa.

Producto o entregable:

Para realizar una técnica,

podemos apoyarnos

en las herramienta

s software que

automatizan su

aplicación.

Herramienta:

Herramienta utilizada

para aplicar un

procedimiento. Se

pueden utilizar una o

varias.

Técnica:

Definición de la forma de ejecutar la

tarea.

Procedimiento:

Actividades elementales

en que se dividen los

procesos.

Tarea:

Conjunto de procedimiento

s técnicas, herramientas y

un soporte documental que ayuda a

los desarrolladore

s a realizar nuevo

software.

Metodología:

Colección de tareas de

trabajo interrelacionadas, iniciadas en respuesta a un

evento, que permiten

alcanzar un resultado

específico y entregar un producto al

cliente

Proceso:

CONCEPTOS GENERALES

Page 37: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

METODOLOGIAS DE DESARROLLO DE SOFTWARE

Actividades elementales en que se dividen los procesos.

Tarea:

Conjunto de procedimientos técnicas, herramientas y un soporte documental

que ayuda a los desarrolladores a realizar nuevo software.

Metodología:

Colección de tareas de trabajo interrelacionadas, iniciadas en

respuesta a un evento, que permiten alcanzar un resultado específico y

entregar un producto al cliente

Proceso:

CONCEPTOS GENERALES

Page 38: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

METODOLOGIAS DE DESARROLLO DE SOFTWARE

Resultado de cada etapa.

Producto o entregable:

Para realizar una técnica, podemos apoyarnos en las

herramientas software que automatizan su

aplicación.

Herramienta:

Herramienta utilizada para aplicar un

procedimiento. Se pueden utilizar una o

varias.

Técnica:

Definición de la forma de ejecutar la tarea.

Procedimiento:

CONCEPTOS GENERALES

Page 39: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Ahora definamos:

•Enfoque de calidad•Proceso•Métodos•Técnicas y Herramientas

Ingeniería de Software

Page 40: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

ENFOQUE DE CALIDAD

INGENIERÍA DE SOFTWARE

Page 41: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

EXISTEN TRES ENFOQUES DE LA INGENIERÍA DE SOFTWARE

Ingeniería de Software Tradicional

Ingeniería de Software Orientada a Objetos

Ingeniería de Software Web

Page 42: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Estos tres enfoques dan soporte a la Ingeniería de Software

Para obtener un producto de software de calidad, es necesario medirlo.

En la I

nge

niería

de s

oft

ware existe

n las

métricas

para

me

dir el s

oft

ware y

deter

mi

nar si c

umple c

on las características

de cali

da

d.

Las métricas varían según el Modelo de Calidad que se utilice.

Page 43: Unidad 3. tecnología de software metodologias de desarrollo de software

Todo lo que se mide

Se controla

Si se controla

Se verifica

Si se verificaSe puede corregir o entregar

Si se entrega un producto con

características de calidad

Hemos cumplido el objetivo

Crear un Producto de Sw con calidad

Calidad de Software

Page 44: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

CADA UNO DE LOS ENFOQUES DE LA INGENIERÍA DE SOFTWARE SE

BASA EN LA CALIDAD

Por lo que es necesario adoptar

un modelo de calidad

Page 45: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

En cuanto a la calidad del software

Se tienen varios modelos de Calidad de Sw

CMM

ISO 9000

TICKIT

NMX-059/01-NYCE-2005

Page 46: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

CMM (Modelo de Capacidad de Madurez)

El SEI (Software Engineering Insitute)

•establece cinco niveles de madurez del proceso en el modelo CMM:

Nivel 1: Inicial

Nivel 2: Repetible

Nivel 3: Definido

Nivel 4: Gestionado

Nivel 5: Optimización

Page 49: Unidad 3. tecnología de software metodologias de desarrollo de software

•El proceso del software se caracteriza según el caso, y ocasionalmente de forma caótica. Se definen pocos procesos y el éxito depende del esfuerzo individual

Nivel 1: Inicial

•Se establecen los procesos de gestión del proyecto para hacer seguimiento al coste, de la planificación y de la funcionalidad.

Nivel 2: Repetible

ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI

Page 50: Unidad 3. tecnología de software metodologias de desarrollo de software

•El proceso del software de las actividades de gestion y de ingeniería se documenta se estandariza y se integra dentro de un proceso de software a toda organización

Nivel 3: Definido

•Se recopilan medidas detalladas del proceso del software y de la calidad del producto mediante la utilización de medidas detalladas, se comprenden y se controlan cuantitativamente tanto los productos como el proceso del software

Nivel 4: Gestionado

•mediante un resultado cuantitativo del proceso y de las ideas tecnologicas innovadoras se posibilita una mejora del proceso

Nivel 5: Optimización

ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI

Page 51: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

CMM Vs MOPROSOFT

El modelo CMM se adapta bien a productos de software de gran escala.

¿pero que pasa con los software de pequeña y mediana escala?

En México el desarrollo de software se orienta a las Pymes

Por tal razón, adoptar el modelo Mexicano de la calidad de Software resulta útil

Page 53: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Se recomienda adoptar un modelo de calidad de software que oriente el proceso de desarrollo del sw

Modelo de Calidad del Software

Page 54: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

PROCESOS

INGENIERÍA DE SOFTWARE

Page 55: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Un proceso software es:

• Un conjunto coherente de políticas, estructuras organizacionales, tecnologías, procedimientos y artefactos que son necesarios para concebir, desarrollar, instalar y mantener un producto software.

• (Fugetta, 2000)

Page 56: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI

A los Proceso de la Ingeniería de Software

se les conoce como

Ciclo de vida del Software

• Unidad 2. Metodologías de Desarrollo de software

Page 57: Unidad 3. tecnología de software metodologias de desarrollo de software

El fundamento de la Ingeniería de Software

es la capa de proceso

porque es la unión que mantiene juntas las capas de tecnología y que permite un desarrollo racional y oportuno de la ingeniería de software

ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI

Proceso:

Page 58: Unidad 3. tecnología de software metodologias de desarrollo de software

El Proceso del Software

• Se establece un marco común del proceso definiendo un pequeño numero de actividades del marco de trabajo que son aplicables a todos los proyectos del Software, con independencia de su tamaño y o complejidad

Marco de trabajo del proceso común

Actividades de protección

Actividades del marco de trabajo

Conjunto de tareasTareas

Hitos, estrategias

Puntos SQA

ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI

Page 59: Unidad 3. tecnología de software metodologias de desarrollo de software

Modelos de proceso de software

• Para resolver los problemas reales de una industria, un ingeniero en Sistemas Computacionales o un Ingeniero de software o un equipo de ingenieros debe incorporar una estrategia de desarrollo que acompañe al proceso, métodos, capas de herramientas y las faces genéricas.

Esta estrategia a menudo se llama modelo de proceso o paradigma de ingeniería de software o ciclo de vida.

• Todo el desarrollo del software se puede caracterizar como un bucle de resolución de problemas en el que se encuentran cuatro etapas distintas

ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHIITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI

Page 60: Unidad 3. tecnología de software metodologias de desarrollo de software

Definición de Problemas

Integración de soluciones

Desarrollo TécnicoStatus quo

Faces de un buclede resolución de

problemas (RAC 95)

ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHIITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI

Faces de un bucle de resolución de problemas

Page 61: Unidad 3. tecnología de software metodologias de desarrollo de software

•Representa el estado actual de sucesosStatus quo:

•Identifica el problema especifico a resolverse

Definición de problemas:

•Resuelve el problema a través de la aplicación de alguna tecnología.

Desarrollo técnico:

•ofrece los resultados p. Ej.: documentos, programas, datos, nueva función comercial, producto nuevo.

Integración de soluciones:

ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHIITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI

Faces de un bucle de resolución de problemas

Page 62: Unidad 3. tecnología de software metodologias de desarrollo de software

Status quo

Definición de Problemas

Integración de soluciones

Desarrollo TécnicoStatus quo

Faces de un buclede resolución de

problemas (RAC 95)

Definición de Problemas

Integración de soluciones

Desarrollo TécnicoStatus quo

Faces de un buclede resolución de

problemas (RAC 95)

Status quo

Definición de Problemas

Integración de solucio

nes

Desarrollo

TécnicoStatus quo

Faces de un buclede resolución de

problemas (RAC 95)

Definición de Problemas

Integración de solucio

nes

Desarrollo

TécnicoStatus quo

Faces de un buclede resolución de

problemas (RAC 95)

Definición de Problemas

Integración de solucio

nes

Desarrollo

TécnicoStatus quo

Faces de un buclede resolución de

problemas (RAC 95)

Faces dentro de las faces del bucle de resolución de problemas. (RAC95)

ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI

Page 63: Unidad 3. tecnología de software metodologias de desarrollo de software

Faces dentro de las faces del bucle de resolución de problemas. (RAC95)

El bucle de resolución

descrito anteriormente

se aplica al trabajo de

ingeniería de software en

muchos niveles diferentes de resolución.

Se puede utilizar en el macro nivel cuando se tiene en

consideración la aplicación entera; en un nivel medio cuando se

están considerando

los componentes del programa.

ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI

Page 64: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Proceso = Modelo = Ciclo de Vida del Sw

• Los Procesos de Desarrollo de Software

modelo de proceso

paradigma de ingeniería del software

Page 65: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

LOS MODELOS SON

DESDE LOS TRES ENFOQUES DE INGENIERÍA DE SOFTWARE

Page 66: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

MODELOS

ENFOQUE TRADICIONAL

• Modelo Clásico (Lineal, Tradicional, Cascada, Secuencial)• Modelo Prototipos• Modelo Espiral• Modelo DRA• Modelo Incremental

ENFOQUE ORIENTADO OBJETOS

• Modelo basado en componentes• Modelo de Métodos Formales

ENFOQUE IWEB

• Modelo Iweb

Page 67: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

LOS MODELOS SIGUEN UN PROCESO

PLANEAR/ANALIZAR

DISEÑAR

IMPLEMENTAROPERAR

EVALUAR

Page 68: Unidad 3. tecnología de software metodologias de desarrollo de software
Page 69: Unidad 3. tecnología de software metodologias de desarrollo de software
Page 71: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

TODOS LOS MODELOS DEL ENFOQUE TRADICIONAL SE BASAN:

MODELO DE ANÁLISIS

MODELO DE DISEÑO

Page 72: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

MODELO DE ANALISIS Y MODELO DE DISEÑO DE LA INGENIERÍA DE SOFTWARE TRADICIONAL

I. Especificación de procesos • a. Diagrama de flujo de datos

II. Especificación de control • a. Diagrama de transición de datos

III. Descripción de objetos de datos • a. Diagrama entidad-relación • b. Diccionario de datos

1. Análisis del

sistema

I. Diseño de datos

II. Diseño arquitectónico

III. Diseño de interfaz

IV. Diseño a nivel de componentes

2. Diseño de sistemas

Page 73: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

MODELO TRADICIONAL

SE CONOCE TAMBIEN

LINEAL

SECUENCIAL

CLASICO

CASCADA

Page 74: Unidad 3. tecnología de software metodologias de desarrollo de software

MODELO EN CASCADA

Page 75: Unidad 3. tecnología de software metodologias de desarrollo de software

MODELO EN CASCADA

Page 76: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

MODELO EN CASCADA

• CRITICAS:No refleja realmente el proceso de desarrollo del softwareSe tarda mucho tiempo en pasar por todo el cicloPerpetua el fracaso de la industria del software en su comunicación con el usuario finalEl mantenimiento se realiza en el código fuenteLas revisiones de proyectos de gran complejidad son muy difícilesImpone una estructura de gestión de proyectos

Page 77: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

MODELO PROTOTIPOS

Page 78: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

MODELO DE PROTOTIPO

No modifica el flujo del ciclo de vidaReduce el riesgo de construir productos que no satisfagan las necesidades de los usuariosReduce costos y aumenta la probabilidad de éxitoExige disponer de las herramientas adecuadasNo presenta calidad ni robustezUna vez identificados todos los requisitos mediante el prototipo, se construye el producto de ingeniería.

Page 79: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

EL PROTOTIPADO PARA QUE SEA EFECTIVO:

Debe ser un sistema con el que se pueda experimentar

Debe ser comparativamente barato (< 10%)Debe desarrollarse rápidamenteEnfasis en la interfaz de usuarioEquipo de desarrollo reducidoHerramientas y lenguajes adecuados“El prototipado es un medio excelente para

recoger el ‘feedback’ (realimentación) del usuario final”

Page 80: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

EL PROTOTIPADO EVOLUTIVO

Construcción de una implementación parcial que cubre los requisitos conocidos, para ir aprendiendo el resto y, paulatinamente, incorporarlos al sistema

Reduce el riesgo y aumenta la probabilidad de éxitoNo se conocen niveles apropiados de calidad y

documentaciónProblemas de gestión de configuraciónConstruir software para que pueda ser modificado

fácilmente es un “arte desconocido”

Page 81: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

MODELO ESPIRAL

Page 82: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

MODELO ESPIRAL

PLANIFICACIÓN ANÁLISIS DE RIESGO

EVALUACIÓN DEL CLIENTE INGENIERÍA

Page 83: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

MODELO EN ESPIRAL

Trata de mejorar los ciclos de vida clásicos y prototipos.Permite acomodar otros modelos Incorpora objetivos de calidad y gestión de riesgosElimina errores y alternativas no atractivas al comienzoPermite iteraciones, vuelta atrás y finalizaciones rápidasCada ciclo empieza identificando:

Los objetivos de la porción correspondiente Las alternativas Restricciones

Cada ciclo se completa con una revisión que incluye todo el ciclo anterior y el plan para el siguiente

Page 84: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

MODELO EN ESPIRAL

Diferencias entre modelo en espiral y demás modelos tradicionales

• Reconocimiento explícito de las diferentes alternativas.• Identificación de riesgos para cada alternativa desde el comienzo.• Al dividir el proyecto en ciclos, al final de cada uno existe un acuerdo para los

cambios que hay que realizar en el sistema.• El modelo se adapta a cualquier tipo de actividad adicional

Page 85: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Modelo DRA

Page 86: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Modelo Incremental

Page 87: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

MODELO INCREMENTAL

Se evitan proyectos largos y se entrega “Algo de valor” a los usuarios con cierta frecuenciaEl usuario se involucra másDifícil de evaluar el coste totalDifícil de aplicar a sistemas transaccionales que tienden a ser integrados y a operar como un todoRequiere gestores experimentadosLos errores en los requisitos se detectan tarde.El resultado puede ser muy positivo

Page 88: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

ENFOQUE ORIENTADO A OBJETOS

MODELOS

Page 89: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

MODELO DE ANALISIS Y DISEÑO DEL ENFOQUE ORIENTADO A OBJETOS

Page 90: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Modelo basado en componentes

Page 91: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

LA REUTILIZACION EN EL CICLO DE VIDA

Page 92: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

…LA REUTILIZACION EN EL CICLO DE VIDA

Page 93: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

…LA REUTILIZACION EN EL CICLO DE VIDA

Page 94: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Modelo de Métodos Formales

Page 95: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Métodos Formales y Síntesis Automática del Software

• Se define el sistema utilizando un lenguaje formal• La implementación es automática, asistida por elordenador• La documentación se genera de forma automática• El mantenimiento se realiza “por sustitución” no

mediante “parches”• Dificultad en la participación del usuario• Diseños poco optimizados

Page 96: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

ENFOQUE INGENIERIA WEB

MODELOS

Page 97: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Modelo Iweb

Page 98: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

LOS MÉTODOS SON

DESDE LOS TRES ENFOQUES

Page 99: Unidad 3. tecnología de software metodologias de desarrollo de software

Indican como construir técnicamente el software los métodos abarcan una gran gama de tareas que incluyen:

• Análisis de requisitos• Diseño • Construcción de programas • Pruebas • Mantenimiento

Estos dependen de un conjunto de principios básicos que gobiernan cada área de la tecnología.

ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI

Métodos:

Page 100: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

METODOLOGÍA Vs CICLO DE VIDA

Page 101: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

CARACTERISTICAS DESEABLES DE UNA METODOLOGIA

☺ Existencia de reglas predefinidas ☺ Cobertura total del ciclo de desarrollo ☺ Verificaciones intermedias ☺ Planificación y control ☺ Comunicación efectiva ☺ Utilización sobre un abanico amplio de proyectos ☺ Fácil formación ☺ Herramientas CASE ☺ Actividades que mejoren el proceso de desarrollo ☺ Soporte al mantenimiento ☺ Soporte de la reutilización de software

Page 102: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

GENERACIONES DE METODOLOGÍADesarrollo Convencional (Sin Metodología)

Desarrollo Web

Desarrollo Ágil

Desarrollo en Tiempo Real

Page 103: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

CLASIFICACION DE LAS METODOLOGIAS

Metodologías Estructuradas

• Orientadas a Procesos• Orientadas a datos

• Jerárquicas• No Jerárquicas

• Mixtas

Metodologías Orientadas a Objetos

Metodologías de Aplicaciones Web

Metodologías Ágiles

Metodologías para Sistemas de Tiempo Real

Page 104: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

DESARROLLO CONVENCIONAL

Los resultados finales son impredeciblesNo hay forma de controlar lo que está sucediendo en el ProyectoLos cambios organizativos afectan negativamente al proceso de desarrollo

Page 105: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

En el desarrollo convencional…

• Prácticamente el programador se sienta a resolver el problema sobre la marcha, no existe ninguna “metodología”

Page 106: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

DESARROLLO ESTRUCTURADO

Análisis estructurado

Es pecificaciones funcionales:

GráficasParticionadasMínimamente redundantesGráficasParticionadasMínimamente redundantesGráficas

Particionadas

Mínimamente redundantes

Page 107: Unidad 3. tecnología de software metodologias de desarrollo de software

RELACION HISTORICA DE LAS PRINCIPALES METODOLOGIAS ESTRUCTURADAS

Page 108: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

DESARROLLO ORIENTADO AL OBJETO

La esencia del desarrollo

orientado a objetos es la identificación y organización de

conceptos del dominio de la

aplicación

y no tanto de su

representación final en un lenguaje de

programación.

Page 109: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

CONSIDERACIONES SOBRE MODELOS OO

Se eliminan fronteras entre fases debido a la naturaleza iterativa del desarrollo orientado al objeto.

Aparece una nueva forma de concebir los lenguajes de programación y su uso al incorporarse bibliotecas de clases y otros componentes reutilizables.

Hay un alto grado de iteración y solapamiento, lo que lleva a una forma de trabajo muy dinámica.

Page 110: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

ASPECTOS POSITIVOS DE LAS METODOLOGÍAS OO

Son interactivas e incrementales.

Fácil de dividir el sistema en varios

subsistemas independientes.

Se fomenta la reutilización de componentes.

Page 111: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

DESARROLLO WEB

En esta metodología se destaca el Diseño De Contenido el cual incluye

• Diseño Arquitetónico• Diseño Navegacional• Diseño de Interfaz

Obteniendo un Producto:

• una aplicación web

Page 112: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

DESARROLLO ÁGIL

Cada iteración del ciclo de vida incluye: planificación, análisis de requerimientos, diseño, codificación, revisión y documentación.

Una iteración no debe agregar demasiada funcionalidad para justificar el lanzamiento del producto al mercado, pero la meta es tener una «demo» (sin errores) al final de cada iteración.

Al final de cada iteración el equipo vuelve a evaluar las prioridades del proyecto.

Page 113: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Los métodos ágiles enfatizan las comunicaciones cara a cara en vez de la documentación.

La mayoría de los equipos ágiles están localizados en una simple oficina abierta, a veces llamadas "plataformas de lanzamiento" (bullpen en inglés).

La oficina debe incluir revisores, escritores de documentación y ayuda, diseñadores de iteración y directores de proyecto.

Page 114: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Los métodos ágiles también enfatizan que el software funcional es la primera medida del progreso.

Combinado con la preferencia por las comunicaciones cara a cara, generalmente los métodos ágiles son criticados y tratados como "indisciplinados" por la falta de documentación técnica.

Page 115: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Del ENFOQUE que se elija para desarrollar el sistema de información dependerá la metodología a utilizar

Algunas metodologías

Page 116: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

ENFOQUE TRADICIONAL

METODOLOGÍAS

Page 117: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

METODOLOGÍAS PARA INGENIERIA DE SOFTWARE TRADICIONAL

GANE & SARSON

SSADM/ IDEFO

DeMarco/ Yourdon

Métrica V2 Métrica V3

MoProSoft

Page 118: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

ENFOQUE ORIENTADO A OBJETOS

METODOLOGÍAS

Page 119: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

METODOLOGÍAS PARA INGENIERIA DE SOFTWARE OO

UML Métrica V2

Métrica V3

MoProSoft

Page 120: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

METODOLOGIAS EN LA IOO

Metodologías dirigidas por los datos (data-driven)

• OMT (Rumbaugh et al. 1991)• FUSION (Coleman et al. 1994)

Metodologías dirigidas por las responsabilidades (responsability-driven)

• RDD (Wirfs-Brock et al. 1990)• OBA (Rubin y Goldberg 1992)

Metodologías dirigidas por los casos de uso (use case-driven)

• OOSE (Jacobson et al. 1992)

Metodologías dirigidas por estados (state-driven)

Metodología de Shlaer y Mellor 1992)

Page 121: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

ENFOQUE WEB

METODOLOGÍAS

Page 122: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

METODOLOGÍAS PARA INGENIERIA DE SOFTWARE WEB

UML Métrica V2

Métrica V3

MoProSoft

Page 123: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

METODOS AGILES

METODOLOGÍAS

Page 124: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Algunos métodos ágiles de desarrollo de software:

Adaptive Software Development (ASD).

Agile Unified Process (AUP).

Crystal Clear.

Essential Unified Process (EssUP).

Feature Driven Development (FDD).

Lean Software Development (LSD).

Kanban.

Open Unified Process (OpenUP).

Programación Extrema (XP).

Método de desarrollo de sistemas dinámicos (DSDM).

Scrum.

G300 (o también llamada del 300%).

Page 125: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

METODOLOGIAS PARA SISTEMAS DE TIEMPO REAL

METODOLOGÍAS

Page 126: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

METODOLOGIAS PARA SISTEMAS DE TIEMPO REAL

Manejo de interrupcionesComunicación y sincronización entre tareasGestión de procesos concurrentesRespuesta oportuna ante eventos externosDatos continuos o discretosSe está produciendo una evolución de las

metodologías orientadas a objetos para desarrollos de sistemas de tiempo real

Page 127: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

METODOLOGIA MERISE

METODOLOGIA SSADM

METODOLOGIA METRICA

METODOLOGIAS PARA SISTEMAS DE TIEMPO REAL

Page 128: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

METODOLOGIA MERISE

Fases de la Metodología:

• Estudio Preliminar• Estudio Detallado• Implementación• Realización y puesta en marcha

Page 129: Unidad 3. tecnología de software metodologias de desarrollo de software

METODOLOGIA SSADM

Page 130: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

METODOLOGIA METRICA

FASE 0: Plan de Sistemas de Información

FASE 1: Análisis de Sistemas

FASE 2: Diseño de Sistemas

FASE 3: Construcción de

Sistemas

FASE 4: Implantación de

Sistemas

Page 131: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

HERRAMIENTAS

PARA LOS TRES ENFOQUES

Page 132: Unidad 3. tecnología de software metodologias de desarrollo de software

Herramientas:

• Estas proporcionan un soporte semi-automático para el proceso y para los métodos. • Cuando se integran herramientas para que la información creada por una herramienta la

pueda utilizar otra, se establece un sistema de soporte para el desarrollo del software llamado ingeniería de software asistida por computadora (CASE) combina software, hardware y una base de datos de ingeniería de software.

ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI

Page 133: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Herramientas de Desarrollo de Software

VISIO

CONCEPTDRAW

DIA

EASY CASE

STUDIO CASEFLOW CHARTING

RATIONAL ROSE

PRIMAVERA

EDRAW

Page 134: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

Se puede resumir…

Page 135: Unidad 3. tecnología de software metodologias de desarrollo de software

ENFOQUEIngeniería de Software

Tradicional

Ingeniería de Software Orientada

a Objetos

Ingeniería de Software Web

PROCESO

Basado en componentes

Métodos Formales Modelo IWeb

METODOS

GANE & SARSON

SSADM/ IDEFO

DeMarco/ Yourdon

Métrica V2

Métrica V3

MoProSoft

UML

Métrica V2

Métrica V3

MoProSoft

OMT (Rumbaugh et al. 1991)

FUSION (Coleman et al. 1994)

RDD (Wirfs-Brock et al. 1990)

OBA (Rubin y Goldberg 1992)

OOSE (Jacobson et al. 1992)

UML

Métrica V2

Métrica V3

MoProSoft

HERRAMIENTAS

VISIO

CONCEPTDRAW

DIA

EASY CASE

STUDIO CASEFLOW CHARTING

RATIONAL ROSE

PRIMAVERA

EDRAW

Page 136: Unidad 3. tecnología de software metodologias de desarrollo de software

MTI. ROSY CHI

GRACIAS POR SU ATENCIÓN

Unidad 2. Metodología de desarrollo de software