Clase 1, 21/8/2007

26
Metodologías de Análisis Clase 1 – 21/8/2007 Christian Sifaqui

Transcript of Clase 1, 21/8/2007

Page 1: Clase 1, 21/8/2007

Metodologías de Análisis

Clase 1 – 21/8/2007

Christian Sifaqui

Page 2: Clase 1, 21/8/2007

Repaso

Objetivo de la Ingeniería de Software

Page 3: Clase 1, 21/8/2007

Repaso

Objetivo de la Ingeniería de Software

- producir software de calidad

Page 4: Clase 1, 21/8/2007

Repaso

Objetivo de la Ingeniería de Software

- producir software de calidad

- en el tiempo comprometido

Page 5: Clase 1, 21/8/2007

Repaso

Objetivo de la Ingeniería de Software

- producir software de calidad

- en el tiempo comprometido

- dentro del presupuesto

Page 6: Clase 1, 21/8/2007

Repaso

Objetivo de la Ingeniería de Software

- producir software de calidad

- en el tiempo comprometido

- dentro del presupuesto

- que satisfaga los requerimientos

Page 7: Clase 1, 21/8/2007

Repaso

Finalizadostarde, máscaros, y/o

incompletos53%

Exitosos29%

Cancelados 18%

Según [Johnson et al. 2001]

www.softwaremag.com/archive/2001feb/CollaborativeMgt.html

Page 8: Clase 1, 21/8/2007

Repaso

• Un 78% de la empresas de IT han estado involucradas en disputas que finalizan en litigios

• En el 67%, la funcionalidad o rendimiento de los productos de software no coinciden con lo solicitado

• El 56%, la fecha prometida se prorroga• El 45%, los defectos son tan severos que el producto es

inutilizable

www.cutter.com/research/2002/edge020409.html

Page 9: Clase 1, 21/8/2007

Repaso

• Ciencia de la computación investiga variadas formas de producir software

• Ingeniería de software se interesa en las formas de producir software que sean económicas

Problema:

Se descubre una técnica de codificación CT2 que produce código en 9/10 del tiempo de CT1 (y a 9/10 del costo)

¿Aplicarla?

Page 10: Clase 1, 21/8/2007

Repaso

• Ciencia de la computación investiga variadas formas de producir software

• Ingeniería de software se interesa en las formas de producir software que sean económicas

Problema:

Se descubre una técnica de codificación CT2 que produce código en 9/10 del tiempo de CT1 (y a 9/10 del costo)

¿Aplicarla?

Aprendizaje

Mantención

Sólo afecta codificación

Page 11: Clase 1, 21/8/2007

Repaso

Ciclo de vida: período de tiempo que empieza con la exploración de conceptos y finaliza con el retiro del software

Hasta 1970: Cascada

Fase 1 Requerimientos

Fase 2 Análisis (especificaciones)

Fase 3 Diseño

Fase 4 Implementación

Fase 5 Mantención post-entrega

Fase 6 Retiro

Page 12: Clase 1, 21/8/2007

Repaso

Modelo cascada:

Fase de requerimientos: se explora y refina el concepto y los requerimientos del cliente se obtienen

Page 13: Clase 1, 21/8/2007

Repaso

Modelo cascada:

Fase de requerimientos: se explora y refina el concepto y los requerimientos del cliente se obtienen

Fase de análisis (especificación): los requerimientos se analizan y presentan en la forma de un documento de especificación. Al final de esta fase se bosqueja el Plan de Administración de Proyectos de Software (IEEE 1058-1998 SPMP)

Page 14: Clase 1, 21/8/2007

Repaso

Modelo cascada:

Fase de requerimientos: se explora y refina el concepto y los requerimientos del cliente se obtienen

Fase de análisis (especificación): los requerimientos se analizan y presentan en la forma de un documento de especificación. Al final de esta fase se bosqueja el Plan de Administración de Proyectos de Software (IEEE 1058-1998 SPMP)

Fase de diseño: se desarrolla un diseño arquitectónico, donde el producto como un todo se separa en componentes (módulos); se diseña cada módulo en la etapa de diseño detallado

Page 15: Clase 1, 21/8/2007

Repaso

Modelo cascada:

Fase de implementación: codificación y testing unitario; luego integración y testing; luego test de aceptación y finalmente instalación y aceptación

Page 16: Clase 1, 21/8/2007

Repaso

Modelo cascada:

Fase de implementación: codificación y testing unitario; luego integración y testing; luego test de aceptación y finalmente instalación y aceptación

Fase de mantención post-entrega: todos los cambios que el producto requiere. Mantención perfectiva y mantención adaptiva.

Page 17: Clase 1, 21/8/2007

Repaso

Modelo cascada:

Fase de implementación: codificación y testing unitario; luego integración y testing; luego test de aceptación y finalmente instalación y aceptación

Fase de mantención post-entrega: todos los cambios que el producto requiere. Mantención perfectiva y mantención adaptiva.

Fase de retiro: se elimina el producto

Page 18: Clase 1, 21/8/2007

Repaso

Mantención:

definición temporal: cambios al software después de haber entregado al cliente, modelo desarrollo-luego-mantención (mantención post-entrega) IEEE 610.12 de 1990

Page 19: Clase 1, 21/8/2007

Repaso

Mantención:

definición temporal: cambios al software después de haber entregado al cliente, modelo desarrollo-luego-mantención (mantención post-entrega) IEEE 610.12 de 1990

No es real.

Page 20: Clase 1, 21/8/2007

Repaso

Mantención:

definición temporal: cambios al software después de haber entregado al cliente, modelo desarrollo-luego-mantención (mantención post-entrega) IEEE 610.12 de 1990

No es real.

definición operacional: cambios al software para corregir fallas o hay cambios en los requerimientos (independiente de si ocurren antes o después de la entrega) ISO/IEC 12207 de 1995

Page 21: Clase 1, 21/8/2007

Repaso

Mantención:

costos promedio entre desarrollo y mantención post-entrega

entre 1976 y 1981 entre 1992 y 1998

desarrollo33%

desarrollo25%

mantención post-entrega

75%

mantención post-entrega

67%

Page 22: Clase 1, 21/8/2007

Repaso

Mantención:

datos de proyectos entre 1974 y 1980

200

30

431

mantenciónpost-entrega

implementaciónrequerimientos análisis (especificación)

diseño

Co

sto

re

lati

vo a

pro

xim

ado

pa

ra

det

ecta

r y

corr

egir

un

a fa

lla

Page 23: Clase 1, 21/8/2007

Repaso

Términos:

Cliente: persona que quiere construir un producto

Desarrolladores: miembros del equipo responsable pata construir el producto

Usuario: persona(s) que usará(n) el software. A veces cliente y usuario son la misma persona

Software: código, documentación legal, de diseño, manuales

Page 24: Clase 1, 21/8/2007

Action Workflow

Client Supplier

Could you do this?

Yes, I’ll do it

It’s doneOK, thank you

Page 25: Clase 1, 21/8/2007

Action Workflow

Client Supplier

1.- Clientask for an action(request phase)

Could you do this?

Yes, I’ll do it

It’s doneOK, thank you

2.- Supplieragrees to do it (commitment phase)

3.- Supplierfulfills the work and reports to be done (performance phase)

4.- Clientaccepts report and declares satisfaction(evaluation phase)

Page 26: Clase 1, 21/8/2007

Action Workflow

Client Supplier

1.- Clientask for an action(request phase)

Could you do this?

Yes, I’ll do it

It’s doneOK, thank you

Conditions of satisfaction

2.- Supplieragrees to do it (commitment phase)

3.- Supplierfulfills the work and reports to be done (performance phase)

4.- Clientaccepts report and declares satisfaction(evaluation phase)