capitulo 2 - pressman

27
INGENIERIA DE SOFTWARE Un enfoque practico Roger S. Pressman CAPITULO 2 Modelos del Proceso

Upload: gabal0r

Post on 29-Dec-2015

107 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Capitulo 2 - Pressman

INGENIERIA DE SOFTWAREUn enfoque practico

Roger S. Pressman

CAPITULO 2

Modelos del Proceso

Page 2: Capitulo 2 - Pressman

PROCESO DEL SOFTWARE

Se define como una estructura para las actividades,

acciones y tareas que se requieren a fin de construir

software de alta calidad.

NOTA:

No es lo mismo proceso de software que ingeniería de

software. Un proceso define el enfoque adoptado

mientras se hace ingeniería sobre el software.

Page 3: Capitulo 2 - Pressman

UN MODELO GENERAL DE PROCESO

Page 4: Capitulo 2 - Pressman

Flujo del proceso

Describe la manera en que están organizadas las

actividades estructurales y las acciones y tareas que

ocurren dentro de cada una con respecto a la secuencia

y el tiempo.

Flujo de proceso lineal. Ejecuta cada una de las

actividades estructurales en secuencia.

Page 5: Capitulo 2 - Pressman

Flujo de proceso Iterativo. Repite una o más actividades

antes de pasar a la siguiente

Page 6: Capitulo 2 - Pressman

Flujo de proceso evolutivo. Realiza las actividades en

forma circular. A través de las cinco actividades, cada

circuito lleva a una versión más completa del software.

Page 7: Capitulo 2 - Pressman

Flujo de proceso paralelo. Ejecuta una o más

actividades en paralelo con otras.

Page 8: Capitulo 2 - Pressman

Evaluación y mejoras del proceso

La existencia de un proceso de software no es garantía de que elsoftware se entregue a tiempo, que satisfaga las necesidades delos consumidores, o que tenga las características técnicas queconducirán a características de calidad a largo plazo.

Además el proceso en si puede evaluarse para garantizar quecumple con ciertos criterios de proceso básicos que se hayademostrado que son esenciales para el éxito de la ingeniería desoftware.

Algunos enfoques para la evaluación y mejora de un proceso delsoftware:

- Método de evaluación del estándar CMMI para el proceso de mejoras (SCAMPI)

- Evaluación basada en CMM para la mejora del proceso interno (CBA IPI)

- SPICE

- ISO9001:2000 para software

Page 9: Capitulo 2 - Pressman

MODELOS DEL PROCESO PRESCRIPTIVO

Fueron propuestos originalmente para poner orden en

el caos del desarrollo de software. Se les llama así

porque prescriben un conjunto de elementos del

proceso: actividades estructurales, acciones de

ingeniería de software, tareas, productos de trabajo,

aseguramiento de la calidad y mecanismos de control

del cambio para cada proyecto.

Page 10: Capitulo 2 - Pressman

Modelo de la cascada

El modelo de cascada, a veces llamando ciclo de vida

clásico, sugiere un enfoque sistemático y secuencial

para el desarrollo de software que comienza con la

especificación de los requerimientos por parte del

cliente y avanza a través de la planeación, modelado,

construcción y desarrollo, para concluir con el apoyo

del software terminado.

Page 11: Capitulo 2 - Pressman

Modelos de proceso incremental

El modelo incremental combina elementos de los flujos

del proceso lineal y paralelo. Aplica secuencias lineales

en forma escalonada a medida que avanza el

calendario de actividades. Cada secuencia lineal

produce “incrementos” de software susceptibles a

entregarse de manera parecida a los incrementos

producidos en un flujo de proceso evolutivo.

Se utiliza en situaciones en las que los requerimientos

iniciales de software están razonablemente bien

definidos, pero el alcance general del esfuerzo de

desarrollo imposibilita un proceso lineal. Además, tal vez

haya la necesidad imperiosa de dar rápidamente cierta

funcionalidad limitada de software a los usuarios y

aumentarla en las entregas posteriores.

Page 12: Capitulo 2 - Pressman

- En cada incremento se entrega un producto que ya

opera

- Los primeros incrementos son versiones desnudas (básicas)

- Es útil en particular cuando no se dispone de personal

para la implementación completa del proyecto en el plazo

establecido por el negocio.

Page 13: Capitulo 2 - Pressman

Modelos de proceso evolutivo

Los modelos evolutivos son iterativos. Se caracterizan

por la manera en que permiten desarrollar versiones

cada vez más completas del software.

Se utiliza cuando los requerimientos del negocio y del

producto cambian conforme avanza el desarrollo, lo

que hace que no sea realista realizar un trayectoria

rectilínea hacia el producto final.

Page 14: Capitulo 2 - Pressman

Hacer prototipos. Se utiliza cuando se tienen un

conjunto de objetivos generales para el software, pero

no se han identificado los requerimientos detallados

para las funciones y características.

Page 15: Capitulo 2 - Pressman

El modelo espiral. Propuesto por Barry Boehm, el modelo

espiral es un modelo evolutivo del proceso de software

y se acopla con la naturaleza iterativa de hacer

prototipos con los aspectos controlados y sistémicos del

modelo de cascada.

Page 16: Capitulo 2 - Pressman

Modelos concurrentes

En ocasiones llamado “ingeniería concurrente”, es un

modelo de desarrollo de software que permite que un

equipo de software represente elementos iterativos y

concurrentes de cualquiera de los modelos de proceso

descritos anteriormente.

Page 17: Capitulo 2 - Pressman

MODELOS DE PROCESO ESPECIALIZADO

Tienen muchas características de uno o más de los

modelos tradicionales, sin embargo, estos modelos

tienden a aplicarse cuando se elige un enfoque de

ingeniería de software especializado o definido muy

específicamente.

Page 18: Capitulo 2 - Pressman

Desarrollo basado en componentes.

Se trata de un desarrollo basado en componentes

comerciales de software generalmente desarrollados

por vendedores que los ofrecen como productos y que

brindan una funcionalidad bien definida y permite que

se integren al software que se va a construir.

Incorpora muchas de las características del modelo

espiral. Es de naturaleza evolutiva y demanda un

enfoque iterativo para la creación de software.

Construye aplicaciones a partir de fragmentos de

software prefabricados.

Page 19: Capitulo 2 - Pressman

El modelo de métodos formales

Agrupa actividades que llevan a la especificación

matemática del software de cómputo.

Permiten especificar, desarrollar y verificar un sistema

basado en computadora por medio del empleo de una

notación matemática rigurosa.

Aunque este modelo promete un software libre de

defectos, no es muy seguido y tiene algunos

inconvenientes:

- Se consume mucho tiempo de desarrollo y es caro

- Se requiere de mucha capacitación ya que pocos

desarrolladores tiene la formación necesaria

- Incluyen complejidad técnica para el cliente

Page 20: Capitulo 2 - Pressman

Desarrollo de software orientado a aspectos

Conocido también como programación orientada a

aspectos (POA), es un paradigma de ingeniería de

software relativamente nuevo que proporciona un

proceso y enfoque metodológico para definir,

especificar, diseñar y construir aspectos: “mecanismos

más allá de subrutinas y herencia para localizar la

expresión de una preocupación global”.

Page 21: Capitulo 2 - Pressman

EL PROCESO UNIFICADO

Es un intento por obtener los mejores rasgos y

características de los modelos tradicionales del proceso

de software, pero en forma que implemente muchos de

los mejores principios de desarrollo ágil de software.

Page 22: Capitulo 2 - Pressman

Fases del proceso unificado

Fase de concepción. Agrupa actividades tanto de

comunicación con el cliente como de planeación.

Fase de elaboración. Incluye actividades de

comunicación y modelado del modelo general del

proceso

Fase de construcción. Es idéntica a la actividad de

construcción definida para el proceso general del

software.

Fase de transición. Incluye las últimas etapas de la

actividad general de construcción y la primera parte de

la actividad de despliegue general.

Fase de producción. Se vigila el uso que se le da ala

software

Page 23: Capitulo 2 - Pressman

Fases del proceso unificado

Page 24: Capitulo 2 - Pressman

MODELOS DEL PROCESO PEROSONAL Y DEL EQUIPO

Se trata de la creación de un modelo que cubra las

necesidades más estrechas de los individuos y las más

generales de la organización.

Page 25: Capitulo 2 - Pressman

Proceso personal del software

Representa un enfoque disciplinado basado en la

medición, enfatiza la necesidad de detectar pronto los

errores.

Define cinco actividades estructurales:

- Planeación

- Diseño de alto nivel

- Revisión de diseño de alto nivel

- Desarrollo

- Post mortem

Page 26: Capitulo 2 - Pressman

Proceso del equipo de software

El objetivo es construir un equipo “autodirigido” para el

proyecto, que se organice para producir software de

alta calidad.

Tiene los siguientes objetivos:

- Formar grupos autodirigidos

- Mostrar a los gerentes como dirigir y motivar a sus

equipos

- Acelerar la mayoría del proceso del software

- Brindar a las organizaciones muy maduras una

guía para la mejora

- Facilitar la enseñanza universitaria de aptitudes de

equipo con grado industrial

Page 27: Capitulo 2 - Pressman

GRACIAS