Sei sulla pagina 1di 25

Proceso de desarrollo de software

Pablo Gervs

F. Informtica, UCM, noviembre


2007

Contenidos
El proceso de desarrollo de software (PDS)
Una vara de medir para empresas: SW CMM

Conceptos importantes
Personas (los que trabajan)
Producto (lo que se obtiene)
Proyecto (la pauta a seguir para desarrollar
un producto)
Proceso (la pauta a seguir para desarrollar
un proyecto)

Para vosotros

Personas
Producto
Proyecto
Proceso

(vuestro grupo)
(la aplicacin elegida)
(parte prctica IS)
(entregas mensuales +
cmo vosotros decidis
organizaros)

Modelos Genricos de Desarrollo de


Software

Desarrollo Evolutivo
Modelo de Cascada
Prototipado
En espiral
Desarrollo basado en componentes
Mtodos Formales

Desarrollo Evolutivo
Actividades
Concurrentes

Descripcin
del sistema

Especificacin

Versin
Inicial

Desarrollo

Versiones
Intermedias

Validacin

Versin
Final

Modelo de Cascada
Definicin de
Requerimientos

Diseo del Software


y del Sistema

Implementacin y
Prueba de unidades

Integracin y Prueba
del Sistema

Operacin y
Mantenimiento

Prototipado
Se usa un prototipo para dar al usuario una idea
concreta de lo que va a hacer el sistema
Se aplica cada vez ms cuando la rapidez de
desarrollo es esencial
Prototipado exploratorio: el prototipo inicial se
refina progresivamente hasta convertirse en versin
final
Prototipado de usar y tirar: de cada prototipo se
extraen ideas buenas que se usan para hacer el
siguiente, pero cada prototipo se tira entero

Modelo de Proceso de Espiral


Determine objetivos
alternativas y
restricciones

Anlisis de
Riesgos
Anlisis de
Riesgos

Evale alternativas,
identifique y resuelva
riesgos

Anlisis de
Riesgos

REVISIN

Prototipo
Anlisis
Prototipo
3
de Proto
2
Riesgostipo1

Plan de requerimientos
Concepto de
Plan del ciclo de vida Operacin

Planea la
siguiente fase

Prototipo
Operacional

Simulaciones, modelos y benchmarks

Requeri
Diseo
Diseo
mientos de
del
Detallado
SW
Plan de
Validacin de
Producto Codificacin
Desarrollo
Requerimientos
Prueba de
Unidades
Plan de Integracin Diseo
Prueba de
y Prueba
V &V
Prueba de Integracin
Desarrolla y verifica
Aceptacin
el siguiente nivel
Servicio
del producto

Desarrollo basado en
componentes
Identificar
componentes
candidatos
Construir
iteracin N
del sistema

Buscar
componentes
en biblioteca

Aadir
componentes
a biblioteca

Extraer
componentes
disponibles

Construir
componentes
que falten

Desarrollo con mtodos formales

Requirements
definition

Formal
specification

Formal
transformation

Integration and
system testing

Transformaciones formales
Formal transformations
T1

Formal
specification

T2

R1

P1

T3

R2

P2

T4

Executable
program

R3

P3

Proofs of transformation correctness

P4

El Proceso de Software
Conjunto estructurado de actividades requeridas
para desarrollar un sistema de software.

Especificacin.
Diseo.
Validacin.
Evolucin.

Las actividades varan dependiendo de la


organizacin y del tipo de sistema a desarrollarse.
Debe estar explcitamente modelado si va a ser
bien administrado.

El Proceso de Software
Las instrucciones para desarrollar una aplicacin.

Cmo descubrir qu tiene que hacer la aplicacin.


Cmo decidir cmo va a estar estructurada la aplicacin.
Cmo asegurarse de que la aplicacin funciona y hace lo que tena que hacer.
Cmo ocuparse de que la aplicacin se pueda ampliar / migrar / adaptar.

Hay que adaptarlas para cada caso.


Conviene que las instrucciones figuren por escrito
(Cundo?)

Proceso explcito: condiciones

Se llevan a cabo varios proyectos en paralelo


Se hacen proyectos peridicamente
El equipo es muy grande
Hay mucha rotacin de personal
Se pretende ir refinando la manera de trabajar

Qu debe incluir un Proceso


Especificacin - establecer los requisitos y
restricciones del sistema
Diseo - producir un modelo en papel del sistema
Manufactura - construir el sistema
Prueba - verificar que el sistema cumpla con las
especificaciones requeridas
Instalacin - entregar el sistema al usuario y asegurarse
de que satisface sus necesidades
Mantenimiento - reparar fallos en el sistema cuando
sea descubiertos

Ejemplos
Dos modelos de proceso concretos:
Proceso Unificado de Rational (pesado)
Extreme Programming
(gil)

Proceso Unificado de Rational


Organization along time

Phases
Process Components

Inception Elaboration

Construction

Transition

Requirements Capture
Analysis & Design

Organization
along content

Implementation
Test

Supporting Components
Management
Environment
Deployment
preliminary
iteration(s)

iter.
#1

iter.
#2

iter.
#n

iter. iter.
#n+1 #n+2

Iterations

iter.
#m

iter.
#m+1

Extreme Programming (XP)


Diferencias fundamentales (hay ms que ya se vern)
No hay requisitos explcitos sino que el cliente participa
en el desarrollo
Se empieza por automatizar las pruebas
Se desarrolla siempre la versin ms simple posible que
resuelva el problema
Se ejecutan todas las pruebas todos los das
Se cambia el diseo (aunque sea radicalmente) siempre
que haga falta

Contenidos
El proceso de desarrollo de software (PDS)
Una vara de medir para empresas: SW CMM

La empresa ideal
El Dpto. de la Defensa de los US fund el
Software Engineering Institute (SEI)
asociado con Carnegie Mellon.
Desarrollan el Software Capability Maturity
Model (SW CMM) a mediados de 1980s,
refinado en los inicios de l990s.

Software Capability Maturity Model


Level5
Optimizing
Le vel4
Managed
Level3
Defined
Le vel2
Repeatable
Level1
Initial

Areas clave del proceso


Optimizing
Process changemanagemen t
Technologychangemanagemen t
Defectprevention
Managed
Softwarequalitymanagement
Quantitativeprocess management
Defined
Peerreviews
Intergroupcoordination
Softwareproductengineering
Integrated softwaremanagement
Trainingprogramme
Organizationprocessdefinition
Organizationprocessfocus
Repeatable
Softwareconfiguratio nmanagement
Softwarequalityassurance
Softwaresubcontract management
Softwareproject trackingandoversight
Softwareproject planning
Requirementsmanagement
Initial

Ian Sommerville 1995

Software Engineering, 5th edition. Chapter 31.

Slide ##

Datos Agosto 2000

Inicial 34,9%
Repetible
38,2%
Definido18,5%
Gestionado
5,5%
Optimizado
2,9%

Resultados de 901 empresas desde 1996.

Referencias
Modelos de proceso
Pressman 17-46, Sommerville 42-67

Proceso unificado de Rational


Jacobson, Krutchen

SW CMM
reas clave del SW CMM (campus virtual)
Pressman 21-25, Sommerville 557-575
http://www.sei.cmu.edu/cmm/obtain.cmm.html

Potrebbero piacerti anche