Вы находитесь на странице: 1из 38

PROCESOS DE SOFTWARE

Alumno: Acosta Matas Gonzalo


Materia: Ingeniera de Software

PROCESOS

DE

SOFTWARE

Una serie de actividades que conducen a la


elaboracin de un producto de software.
Qu tipo de produccin se observa hoy en da?

1- Produccin artesanal.
-

2- Transformar el desarrollo de software en


una disciplina de ingeniera.
ENTONCES . . .
CICLO DE VIDA DE DESARROLLO DE SISTEMAS,
METODOLOGAS, HERRAMIENTAS.

PROCESOS DE SOFTWARE
ACTIVIDADES FUNDAMENTALES
Especificacin
Diseo e implementacin
Validacin
Evolucin
ACTIVIDADES

DE SOPORTE

Documentacin
Manejo de configuraciones de software

LOS

PROCESOS TAMBIN DEBEN INCLUIR

...

Producto, Roles, Precondiciones y Postcondiciones.

CLASIFICACIN DE PROCESOS
giles

Dirigidos por un plan

Las actividades del


proceso se planean por
anticipado.

CUL

CONVIENE? O

CUL

La planeacin es
incremental.
ES MEJOR?

Por Ejemplo:

- Sistema Empresarial -> Es probable que sea mejor un


proceso menos formal y flexible.
- Sistema Crtico -> Se requiere un proceso muy
estructurado.

ENTONCES . . .
Por lo general, se necesita encontrar un equilibrio entre
procesos dirigidos por un plan y procesos giles.

CONTENIDO

Modelos de proceso de software

Actividades del proceso

Como enfrentar el cambio

El Proceso Unificado Racional

MODELO

DE PROCESO

Representacin simplificada de este proceso.


Informacin parcial.
Abstracciones del proceso, para explicar diferentes
enfoques de desarrollo de software.

LOS MODELOS QUE VAMOS A VER SON:


Modelo en cascada (The waterfall model).
Desarrollo incremental.
Ingeniera de software orientada a la reutilizacin.

MODELO

EN CASCADA

CARACTERSTICAS:
Las actividades principales se toman como fases
de proceso separadas.
La siguiente fase no comienza hasta que se
termina la fase previa.

ETAPAS:
Anlisis y definicin de requerimientos.
Diseo del sistema y del software.
Implementacin y prueba de unidad.
Integracin y prueba de sistema.
Operacin y mantenimiento.

VENTAJAS

Cada etapa produce una documentacin que logra hacer


visible el proceso.

CONTRAS

Debido a los costos de produccin y aprobacin de


documentos -> las iteraciones pueden ser onerosas e implicar
un rediseo significativo.
Entonces . .
Es normal detener algunas partes del
desarrollo y continuar con etapas
posteriores.
Tendr alguna consecuencia esto?
Es posible que el sistema no haga lo que el
usuario desea.
Implica tambin una mala estructuracin
del sistema.
Tienen que establecerse un compromiso en etapa temprana
del proceso.

ENTONCES... CUNDO
MODELO?

USAR ESTE

Cuando los requerimientos se entiendan bien.


Cuando sea improbable un cambio radical durante
el desarrollo.

EXISTE

UNA VARIANTE DE ESTE MODELO

Desarrollo de sistemas formales -> se crea un modelo


matemtico para especificar el sistema. Y luego se
corrige este modelo mediante transformaciones
matemticas que preservan su consistencia.
Cundo es til esto? . . .
Cuando los requerimientos de seguridad,
fiabilidad o proteccin son rigurosos.

DESARROLLO INCREMENTAL

CARACTERSTICAS
Las actividades estn entrelazadas.
Desarrollo del software de manera incremental.
Los primeros incrementos incluyen la funcin mas
importante o urgente.

VENTAJAS CON RESPECTO AL MODELO EN


CASCADA

Se reduce el costo de adaptar requerimientos


cambiantes del cliente.
Mas fcil obtener retroalimentacin del cliente
sobre el desarrollo.
Rpida entrega de un software til.

INCONVENIENTES,

DESDE LA
PERSPECTIVA ADMINISTRATIVA.
El proceso no es visible.
La estructura del sistema tiende a degradarse.

Parecen
pocosinconvenientes, pero . . .
Parecen
pocos
inconvenientes . . .

SI

EL SISTEMA FUERA:

Grande
Complejo
De larga duracin
Con diversos equipos de trabajo

El inconveniente se incrementa.!!!

INGENIERA

DE SOFTWARE
LA REUTILIZACIN

ORIENTADA

CARACTERSTICAS
Basado en una cantidad significativa de
componentes reutilizables.
Tambin puede haber reutilizacin informal.

ETAPAS
Anlisis de componentes.
Modificacin de requerimientos.
Diseo de sistema con reutilizacin.
Desarrollo e integracin

TIPOS DE COMPONENTES QUE SE PUEDEN


REUTILIZAR

Servicios web
Coleccin de objetos desarrollados como un paquete
para ser integrados como framework de componentes.
Sistemas hechos a medida (stand-alone).

VENTAJAS DE STE PROCESO

Reduce: Software desarrollado, costo y riesgo.


Conduce a una entrega mas rpida del software.

Y LAS DESVENTAJAS?

No cubrir necesidades reales de los clientes.


Se pierde el control de la evolucin del sistema.

ACTIVIDADES DEL PROCESO

Especificacin del software


Definicin de requerimientos.
Identificacin de restricciones.

ESPECIFICACIN DEL SOFTWARE

Actividades principales:
Estudio de factibilidad.
Obtencin y anlisis de requerimientos.
Especificacin de requerimientos.
Validacin de requerimientos.

stas actividades siguen una secuencia estricta.?


No necesariamente, el anlisis de requerimientos
continua en las siguientes actividades, dado que pueden
surgir nuevos requerimientos.

ACTIVIDADES DEL PROCESO

Diseo e implementacin del software.


Descripcin de la estructura del software.
Convertir la descripcin en un ejecutable.

DISEO

E IMPLEMENTACIN DEL
SOFTWARE

Actividades principales:
Diseo arquitectnico.
Diseo de interfaz.
Diseo de componentes.
Diseo de base de datos.

Las actividades del proceso de diseo estn vinculadas,


es inevitable la retroalimentacin de una actividad a otra.

ACTIVIDADES

DEL PROCESO

Validacin del software

Verificar que el sistema cumple con sus


especificaciones y las expectativas del cliente.

VALIDACIN

DE SOFTWARE

Un plan de prueba. Aplicable, por ejemplo, a un


sistema crtico.

ACTIVIDADES

DEL PROCESO

Evolucin del software


Flexibilidad
La ingeniera de software como proceso evolutivo.

CMO

ENFRENTAR EL CAMBIO

El cambio es inevitable en proyectos grandes de


software.
El sistema responde a presiones externas cambiantes.

Nuevos requerimientos.
Nuevas tecnologas.
Nuevas posibilidades de diseo e implementacin.

Existen dos enfoques para reducir costos de rehacer:

Evitar el cambio -> Prototipo de sistema.


Tolerancia al cambio -> Entrega incremental.

CMO

ENFRENTAR EL CAMBIO

Creacin del prototipo

Caractersticas
Demuestra conceptos.
Permite encontrar mas sobre el problema y soluciones.

CMO

ENFRENTAR EL CAMBIO

Etapas de creacin del prototipo


Establecimiento de objetivos del prototipo.
De lo contrario los administradores o usuarios finales
pueden malinterpretar la funcin del mismo.
Definicin de la funcionalidad del prototipo.
Decidir que poner y que dejar fuera, para reducir costos
y acelerar entrega.
Desarrollo del prototipo.
Evaluacin del prototipo.
Capacitacin del usuario.

Inconvenientes
Que el prototipo no se utilice igual que el sistema final.
Que el revisor talvez no sea el usuario final.
Que el prototipo sea lento -> no se prueba completo.

CMO ENFRENTAR EL CAMBIO

Otras consideraciones.

Si se entrega un prototipo en lugar de la versin final:


Puede ser imposible corregir el prototipo para cubrir
requerimientos no funcionales.(rendimiento, seguridad,
robustez y fiabilidad).
El prototipo no tiene la misma documentacin que el
sistema final.
Ser difcil y costoso mantener.
Se hacen mas flexibles los estndares de calidad de la
organizacin.

CMO

ENFRENTAR EL CAMBIO

Entrega incremental

Caractersticas

Cada incremento proporciona un subconjunto de la


funcionalidad del sistema.
Experimentar con el sistema ayuda a clarificar
requerimientos, para posteriores incrementos.

CMO

ENFRENTAR EL CAMBIO

Ventajas
Los clientes utilizan los primeros incrementos como
prototipos -> adquieren experiencia.
Los clientes no tienen esperar hasta la entrega
completa del sistema para ganar valor del mismo.
Se mantiene el beneficio del desarrollo incremental.
Los servicios mas importantes reciben mayores
pruebas -> menores fallas en partes significativas.

Inconvenientes

Requerimientos no definidos en detalle -> Difcil


identificar recursos que necesiten todos los
requerimientos.
Desarrollo iterativo complicado cuando se disea un
sistema de reemplazo.
Algunos clientes requieren toda la especificacin de
antemano.

CMO

ENFRENTAR EL CAMBIO

Modelo en espiral de Boehm

CMO ENFRENTAR EL CAMBIO

Caractersticas
Cada ciclo representa una fase del proceso de software.
Combina evitar el cambio, con la tolerancia al cambio.
Supone que los cambios son resultados de los riesgos.

Sectores

Establecimiento de objetivos.
Valoracin y reduccin del riesgo.
Desarrollo y validacin.
Planeacin.

La diferencia principal con otros modelos es el


reconocimiento explicito del riesgo.

REPASO
Especificacin
Procesos de
software

Tienen

Diseo e implementacin

Actividades
principales

Validacin
Evolucin

Pueden representarse
como
Modelo en cascada
Modelos de procesos
de software

Modelos
generales

Desarrollo incremental
Orientado a reutilizacin

Deben
Enfrentar el cambio

Enfoques

Evitar el cambio -> Prototipos


Tolerar el cambio -> Desarrollo incremental

Modelo en espiral de Boehm

PROCESO UNIFICADO RACIONAL

Caractersticas
Combina elementos de todos los procesos genricos.
Buenas practicas en especificacin y diseo.
Apoya creacin de prototipos y entrega incremental.
Se describe desde tres perspectivas:
Dinmica -> muestra fases a travs del tiempo.
Esttica -> presenta actividades (disciplinas) del proceso.
Prctica -> sugiere buenas prcticas durante el proceso.

Fases

Concepcin.
Elaboracin.
Construccin.
Transicin.

PROCESO UNIFICADO RACIONAL

Visin dinmica:

Cada fase puede desarrollarse incrementalmente.


Todo el conjunto de fases puede expresarse de manera
incremental.

PROCESO UNIFICADO RACIONAL

Visin esttica

Flujos de trabajo de proceso centrales (Disciplinas)


Modelado del negocio -> casos de uso de la empresa
Requerimientos -> casos de uso para requerimientos
Anlisis y diseo -> modelos arquitectnicos, de componentes,
de objetos y de secuencias
Implementacin -> generacin de cdigo a partir de modelos
Pruebas
Despliegue -> instalacin
Flujos de trabajo de apoyo
Administracin de la configuracin y del cambio -> gestin de
cambios
Administracin del proyecto -> gestin de desarrollo
Entorno -> pone a disposicin del equipo las herramientas
adecuadas

PROCESO UNIFICADO RACIONAL

Visin esttica y dinmica

PROCESO UNIFICADO RACIONAL

Aclaraciones

Cada ciclo constituye una versin del sistema


Cada ciclo consta de cuatro fases
Cada fase se divide en iteraciones
Cada iteracin desarrolla en secuencia un conjunto de
flujos de trabajo

El proceso unificado consiste en una serie de


flujos de trabajo que van desde los requisitos
hasta las pruebas.

PROCESO UNIFICADO RACIONAL

Buenas prcticas

Desarrollo de software de manera iterativa


Gestin de requerimientos
Usar arquitecturas basadas en componentes
Visualizar el software a partir de modelos
Verificar la calidad del software
Controlar los cambios del software

Вам также может понравиться