procesos del software

20
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja Carolina Rojas FUNDAMENTOS DE INGENIERIA DE SOFTWARE 2008

Upload: carolina-rojas

Post on 08-Jun-2015

35.545 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Procesos del Software

UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja

Carolina Rojas

FUNDAMENTOS DE INGENIERIA DE SOFTWARE

2008

Page 2: Procesos del Software
Page 3: Procesos del Software

Ingeniería del Software: Una Ingeniería del Software: Una tecnología estratificadatecnología estratificada

La Ingeniería de software La Ingeniería de software designa el conjunto de designa el conjunto de técnicas destinadas a la técnicas destinadas a la producción de un producción de un programa de programa de computadora, más allá de computadora, más allá de la sola actividad de la sola actividad de programación. programación.

Estratos de la Ingeniería del Software

Page 4: Procesos del Software

EL MARCO DE TRABAJO GENÉRICOEL MARCO DE TRABAJO GENÉRICO

Se combina la interacción con el cliente, Se combina la interacción con el cliente, y de esta manera obtener información y de esta manera obtener información valiosa y detallada de lo que se podría valiosa y detallada de lo que se podría crear y generar como resultado final.crear y generar como resultado final.

Determinación del plan de actividades, Determinación del plan de actividades, entre ellas está la determinación de las entre ellas está la determinación de las técnicas a utilizar, los riegos probables, técnicas a utilizar, los riegos probables, los recursos que podríamos necesitar, los recursos que podríamos necesitar, que resultados se espera obtener y un que resultados se espera obtener y un programa de trabajo.programa de trabajo.

Comunicación

Planeación

Page 5: Procesos del Software

Determinar un modelo o esquema Determinar un modelo o esquema compartido entre desarrollador y cliente, compartido entre desarrollador y cliente, para tener una orientación de lo que se para tener una orientación de lo que se va a crear.va a crear.

Es la creación del código manual o Es la creación del código manual o digital, y la revisión del mismo para digital, y la revisión del mismo para poder depurarlo encontrando posibles poder depurarlo encontrando posibles errores.errores.

Modelado

Construcción

Despliegue

Es la entrega al cliente para su prueba Es la entrega al cliente para su prueba con el fin de obtener información que con el fin de obtener información que permita mejorar el producto.permita mejorar el producto.

Page 6: Procesos del Software

La elaboración del modeloLa elaboración del modelo está compuesto por 2 actividades:está compuesto por 2 actividades:

AnálisisAnálisis

Investigación

Negociación

Elaboración

determinar que es lo que el determinar que es lo que el usuario espera obtenerusuario espera obtener

conjunto de técnicas factiblesconjunto de técnicas factibles

periodos de entrega y costos, periodos de entrega y costos, especificación y validación de especificación y validación de requisitosrequisitos

Diseño de interfaz de usuario

DiseñoDiseño

Las Tareas

Diseño de datos

Arquitectura

Page 7: Procesos del Software

Modelos del Proceso del Modelos del Proceso del SoftwareSoftware

Es una representación abstracta de un proceso del software que Es una representación abstracta de un proceso del software que pueden utilizar para explicar diferentes enfoques para el pueden utilizar para explicar diferentes enfoques para el desarrollo del software. Los modelos del proceso son:desarrollo del software. Los modelos del proceso son:

Modelo Cascada

Modelo Incremental

Desarrollo Iterativo

Desarrollo Evolutivo o Espiral

Page 8: Procesos del Software

Modelo CascadaModelo Cascada

Es el más utilizado. Es el más utilizado.

Es una visión del proceso de desarrollo de software como Es una visión del proceso de desarrollo de software como una sucesión de etapas que producen productos intermedios. una sucesión de etapas que producen productos intermedios.

Para que el proyecto tenga éxito deben desarrollarse todas Para que el proyecto tenga éxito deben desarrollarse todas las fases. las fases.

Las fases continúan hasta que los objetivos se han cumplido. Las fases continúan hasta que los objetivos se han cumplido.

Si se cambia el orden de las fases, el producto final será de Si se cambia el orden de las fases, el producto final será de inferior calidad,inferior calidad,

CARACTERISTICASCARACTERISTICAS

Page 9: Procesos del Software

Modelo Cascada

Page 10: Procesos del Software

DESVENTAJASDESVENTAJAS

Se tarda mucho tiempo en pasar por todo el cicloSe tarda mucho tiempo en pasar por todo el ciclo

El mantenimiento se realiza en el código fuenteEl mantenimiento se realiza en el código fuente

Las revisiones de proyectos de gran complejidad son muy Las revisiones de proyectos de gran complejidad son muy difíciles.difíciles.

LIMITACIONESLIMITACIONES

No se permiten las iteraciones.No se permiten las iteraciones.

Los requisitos se congelan al principio del proyecto.Los requisitos se congelan al principio del proyecto.

No existe un proyecto “enseñable” hasta el final del proyecto.No existe un proyecto “enseñable” hasta el final del proyecto.

Page 11: Procesos del Software

Modelo EspiralModelo Espiral

Page 12: Procesos del Software

Incorpora objetivos de calidad y gestión de riesgosIncorpora objetivos de calidad y gestión de riesgos

Elimina errores y alternativasElimina errores y alternativas

Permite iteraciones, vuelta atrás y finalizaciones rápidasPermite iteraciones, vuelta atrás y finalizaciones rápidas

Cada ciclo empieza identificando:Cada ciclo empieza identificando:

Los objetivos de la porción correspondienteLos objetivos de la porción correspondiente Las alternativasLas alternativas RestriccionesRestricciones

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

CARACTERISTICASCARACTERISTICAS

Page 13: Procesos del Software

VENTAJASVENTAJAS

Complicado: Consume muchos recursos. Complicado: Consume muchos recursos.

Las etapas y sus E/S no están claramente definidas.Las etapas y sus E/S no están claramente definidas.

DESVENTAJASDESVENTAJAS

Utiliza las fases de modelos tradicionales. Se centra en la Utiliza las fases de modelos tradicionales. Se centra en la eliminación de errores y alternativas poco atractivas. eliminación de errores y alternativas poco atractivas.

Su orientación a detectar y prevenir el riesgo evita muchas Su orientación a detectar y prevenir el riesgo evita muchas dificultadesdificultades..

Page 14: Procesos del Software

Es una repetición de varios ciclos de vida en cascada.

Al final de cada ciclo se entrega una versión parcial del software incrementada con cierta funcionalidad nueva respecto a las entregas anteriores.

Los ciclos se repiten hasta obtener un producto completo.

Los usuarios disponen antes del software, aunque no sea completo, por lo que pueden sugerir mejoras.

Se suele aplicar a desarrollos de gran tamaño.

Modelo IncrementalModelo Incremental

Page 15: Procesos del Software

Modelo Incremental

Page 16: Procesos del Software

Es también una repetición de varios ciclos de vida en cascada.

Al final de cada ciclo se entrega una versión completa del software mejorada respecto a la anterior.

Los ciclos se repiten hasta obtener un producto satisfactorio.

Los usuarios deben evaluar el producto en cada iteración y proponer mejoras.

Se suele aplicar en desarrollos en los que los requisitos no están claros, las primeras versiones pueden ser prototipos que se desechan posteriormente.

Modelo IterativoModelo Iterativo

Page 17: Procesos del Software

Modelo Iterativo

Page 18: Procesos del Software

El IMCM define actividades específicas de las áreas de proceso en función de metas específicas.

Ejemplo

En la Planeación del Proyecto se puede determinar una actividad como: Establecer estimaciones, la cual puede tener sub actividades como estimar el alcance del proyecto, otra actividad que componga el área de Planeación del Proyecto puede ser: Desarrollar un plan de proyecto, en donde las metas serian Establecer el prepuesto del programa, identificar los riegos del proyecto, etc.

Integración del Modelo de Integración del Modelo de Capacidad de Madurez (IMCM)Capacidad de Madurez (IMCM)

Page 19: Procesos del Software

El IIMCM representa un modelo completo de 2 formas diferentes:

ContinuoContinuo

Incompleto

Las áreas del modelo son Las áreas del modelo son evaluadas en un esquema de evaluadas en un esquema de niveles en base a metas y niveles en base a metas y prácticas específica esto en prácticas específica esto en base a niveles de capacidadbase a niveles de capacidad.

Realizado

Administrado

Definido

Administrado en forma cuantitativa

Mejorado

DiscretoDiscreto

Define las mismas áreas, Define las mismas áreas, metas y prácticas que el metas y prácticas que el proceso continuo. Su proceso continuo. Su diferencia es que especifica diferencia es que especifica niveles de madurezniveles de madurez

Optimización

Gestión Cuantitativa

Definido

Gestionado

Ejecutado

Page 20: Procesos del Software

¿Como determinar un¿Como determinar un Patrón? Patrón?

Nombre

Los patrones tienen partes y Los patrones tienen partes y estas son:estas son:

Propósito

Tipo

Contexto Inicial

Problema

Solución

Contexto resultante

Patrones Relacionados

Usos conocidos