Sunteți pe pagina 1din 37

Desarrollo de software:

procesos y estndares
04: Procesos para el desarrollo de software
Eugenio Jacobo Hernndez Valdelamar
2014
10/2014 EJHV - Dev sw: Procesos y Estndares 2
ontenido

Procesos ! pro!ectos

Pro!ecto "Proceso#$ecursos% & Producto

Proceso para desarrollo de software

'odelos de proceso

(ineal# iterati)o ! marco de tiempo

E)oluci*n

+rma tu propia a)entura

El proceso de desarrollo de software no est solo

omentarios finales
10/2014 EJHV - Dev sw: Procesos y Estndares 3
,emario
-ituaci*n nacional e internacional
Procesos para
el desarrollo de
software
'odelos de
me.ora del
proceso /
Personal#
ad0uisici*n#
desarrollo#
ser)icio
1esarrollo de
software
"0u2 es#
0ui2n lo 3ace#
c*mo lo 3ace
0u2 3ace%
t
4ndustrializaci*n
del
desarrollo
de software
"fbricas !
colaboraci*n%
alidad
10/2014 EJHV - Dev sw: Procesos y Estndares 4
5uando los generales son d2biles ! carecen de
autoridad# cuando las *rdenes no son
claras# cuando oficiales ! soldados no tienen
solidez ! las formaciones son anr0uicas# se
produce re)uelta65
-un ,zu# El arte de la guerra
10/2014 EJHV - Dev sw: Procesos y Estndares 5
7rden

uando se .uega en e0uipo# 3a! 2 e8tremos "futbol%:

,odos corren tras la pelota

,odos saben 0ue 3acer para intentar 0ue la pelota entre en


el arco

-i tratas de .ugar futbol americano# la organizaci*n# la di)isi*n


de tareas# la sincronizaci*n ! la cooperaci*n son imperati)as9
de lo contrario# acabas 0/1:

Por ms sencilla 0ue sea "parezca% la acti)idad# el orden a!uda


a me.orar los resultados6

uando la acti)idad es comple.a# no se puede de.ar el control al


azar o a la casualidad6
10/2014 EJHV - Dev sw: Procesos y Estndares 6
Proceso

;n proceso es un conjunto de actividades mutuamente


relacionadas o 0ue al interactuar transforman elementos
de entrada ! los con)ierten en resultados6 "<%

;n proceso es una secuencia de pasos dispuesta con


alg=n tipo de l*gica 0ue se enfoca en lograr alg=n
resultado espec>fico6 (os procesos son mecanismos de
comportamiento 0ue dise?an los 3umanos para me.orar
la producti)idad de algo# para establecer un orden o
eliminar alg=n tipo de problema6 "<%
10/2014 EJHV - Dev sw: Procesos y Estndares 7
aracter>sticas de un proceso

1efinible6 (os procesos deben estar documentados# ! sus


re0uerimientos ! mediciones deben ser establecidos6

$epetible6 (os procesos son secuencias de acti)idades


recurrentes6 1eben ser comunicados# entendidos ! e.ecutados
consistentemente6

Predecible6 (os procesos deben lograr un ni)el de estabilidad


tal 0ue se asegure 0ue sus acti)idades se e.ecutan
consistentemente ! producen los resultados deseados6

'edible6 (os procesos deben tener mediciones 0ue aseguren


la calidad de cada tarea indi)idual as> como la calidad del
resultado final6
10/2014 EJHV - Dev sw: Procesos y Estndares
10/2014 EJHV - Dev sw: Procesos y Estndares !
Pro!ecto

;n pro!ecto es un conjunto de acciones 0ue


se planifican a fin de conseguir una meta
pre)iamente establecida# para lo 0ue se cuenta
con una determinada cantidad de recursos 6
Pro!ecto
Producto
10/2014 EJHV - Dev sw: Procesos y Estndares 10
aracter>sticas de un pro!ecto "<%

,emporal6 ,emporal significa 0ue cada pro!ecto


tiene un comienzo definido ! un final definido6

;n pro!ecto crea productos entregables


/bienes !@o ser)icios o resultados =nicos6

AElaboraci*n gradualB significa desarrollar en


pasos e ir aumentando mediante incrementos6

ontar con un con.unto limitado de recursos6


10/2014 EJHV - Dev sw: Procesos y Estndares 11
E3 a3i el dilema "o a3i est el detalle%
3ttp:@@www6smartdraw6com@articles@blog@pro.ect/)s/process63tm
10/2014 EJHV - Dev sw: Procesos y Estndares 12
Pro!ecto "Proceso# Personas% & Producto

Personas

los 0ue traba.an

Producto

lo 0ue se obtiene

Pro!ecto

la pauta a seguir para desarrollar un producto

Proceso

la pauta a seguir para desarrollar un pro!ecto


10/2014 EJHV - Dev sw: Procesos y Estndares 13
Producto /< ;n tra.e

Personas

El sastre

Producto

El tra.e

Pro!ecto

Presupuesto# insumos# personal# manufactura#calendario

Proceso

-ecuencia de acciones para 3acer el tra.e solicitado


10/2014 EJHV - Dev sw: Procesos y Estndares 14
Pro!ecto "Proceso# $ecursos% & Producto

$ecursos

Personas# Herramientas# 1atos# C

Producto

lo 0ue se obtiene

Pro!ecto

la pauta a seguir para desarrollar un producto

Proceso

la pauta a seguir para desarrollar un pro!ecto


10/2014 EJHV - Dev sw: Procesos y Estndares 15
Proceso para el desarrollo de
software "<%

;n proceso para el desarrollo de software# "tambi2n


denominado ciclo de vida del desarrollo de software#
metodolog>a de desarrollo de software# proceso de
software%# es una estructura de di)isi*n del traba.o
aplicada al desarrollo de un producto de software6

Ha! )arios modelos a seguir para el establecimiento


de un proceso para el desarrollo de software# cada
uno de los cuales describe un enfo0ue diferente para
diferentes acti)idades 0ue tienen lugar durante el
proceso6
10/2014 EJHV - Dev sw: Procesos y Estndares 16
+cti)idades "t>picas% del desarrollo
del software

+nlisis de re0uisitos6 -e estudian las necesidades de los usuarios# se decide 0u2 debe 3acer la aplicaci*n
informtica para satisfacerlas en todo o en parte# ! se genera un 1ocumento de $e0uisitos6

1ise?o de la ar0uitectura6 -e estudia el 1ocumento de $e0uisitos ! se establece la estructura global de la


aplicaci*n# descomponi2ndola en partes "m*dulos# subsistemas% relati)amente independientes6 -e genera
un 1ocumento de 1ise?o6

1ise?o detallado6 En esta segunda parte de la acti)idad de dise?o se fi.an las funciones de cada m*dulo#
con el detalle de su interfaz6 -e genera el c*digo de declaraci*n "o especificaci*n% de cada m*dulo6

odificaci*n6 -e desarrolla el c*digo de cada m*dulo6

Pruebas unitarias6 omo complemento de la codificaci*n# cada m*dulo o grupo de m*dulos se prueba por
separado6 En las pruebas se comprueba si cada m*dulo cumple con su especificaci*n de dise?o detallado6

Pruebas de integraci*n6 -e 3ace funcionar la aplicaci*n completa# combinando todos sus m*dulos6 -e
realizan ensa!os para comprobar 0ue el funcionamiento de con.unto cumple lo establecido en el documento
de dise?o6

Pruebas de )alidaci*n6 omo paso final de la integraci*n se realizan nue)as pruebas de la aplicaci*n en su
con.unto6 En este caso el ob.eti)o es comprobar 0ue el producto desarrollado cumple con lo establecido en
el documento de re0uisitos# ! satisface por tanto las necesidades de los usuarios en la medida pre)ista6

Dase de mantenimiento6 Eo 3a! acti)idades diferenciadas de las anteriores6 El mantenimiento del producto
e8ige re3acer parte del traba.o inicial# 0ue puede corresponder a cual0uiera de las acti)idades de las etapas
anteriores6
10/2014 EJHV - Dev sw: Procesos y Estndares 17
,odas las acti)idades generan subproductos llamados entregables (deliverables) o
artefactos6 Estas salidas se )uel)en las entradas de las acti)idades subsecuentes6
Por lo general# los entregables son documentos# configuraciones# c*digo fuente#
binarios@e.ecutables# instaladores# diagramas# modelos6
En el caso de los documentos# algunos procesos plantean formatos con una estructura
establecida# los cuales se )an llenando con el detalle necesario6
10/2014 EJHV - Dev sw: Procesos y Estndares 1
(os e0uipos de traba.o se integran de roles 0ue son adoptados por las personas6
Ha! roles ! tareas bien definidas para cada fase@acti)idad del proceso6
10/2014 EJHV - Dev sw: Procesos y Estndares 1!
'odelos de proceso

Para resol)er los problemas reales de una industria# un


ingeniero del software debe incorporar una estrategia de
desarrollo 0ue acompa?e al proceso# m2todos ! tenga
3erramientas6

Esta estrategia se llama modelo de proceso o paradigma


de ingenier>a del software6

-e selecciona un modelo de proceso para la ingenier>a del


software seg=n la naturaleza del pro!ecto ! de la
aplicaci*n# los m2todos ! las 3erramientas a utilizarse# los
controles ! entregas 0ue se re0uieren6 "<%
10/2014 EJHV - Dev sw: Procesos y Estndares 20
'odelo lineal

El modelo lineal de desarrollo


de software se basa en la
premisa de 0ue el software
se desarrolla me.or "o s*lo
puede desarrollarse % #
traba.ando a tra)2s de una
serie de pasos discretos en
una secuencia espec>fica6

(os pasos se definen


generalmente como la
siguiente # o como una
)ariaci*n en lo siguiente:

$e0uisitos del sistema

$e0uisitos de software

+nlisis

El dise?o del programa

odificaci*n

Pruebas

7peraciones
10/2014 EJHV - Dev sw: Procesos y Estndares 21
Primer modelo empleado "$o!ce#
1FG0%# tambi2n denominado ciclo de
)ida clsico ! modelo lineal secuencial6
onsiste en la e.ecuci*n secuencial
de una serie de fases 0ue se suceden#
lo 0ue da nombre al modelo6
ada fase genera documentaci*n
para la siguiente6 Esta documentaci*n
debe ser aprobada6
;na fase no comienza 3asta 0ue la
anterior 3a terminado6
$e0uiere disponer de unos re0uisitos
completos ! precisos al principio del
desarrollo6
Para un pro!ecto pe0ue?o# en el 0ue
el per>odo de congelaci*n de los
re0uisitos es corto# o un pro!ecto con
unos re0uisitos bastante estables6
10/2014 EJHV - Dev sw: Procesos y Estndares 22
10/2014 EJHV - Dev sw: Procesos y Estndares 23
'odelo iterati)o

;n modelo iterati)o supone 0ue una sola


pasada a tra)2s de los pasos de desarrollo
can*nicos no se traducir en un buen
resultado# !a 0ue no es factible saber todo
acerca de la soluci*n de antemano# ! debido a
acontecimientos inesperados ! nue)os
aprendiza.es 0ue ine)itablemente ocurrirn a
pesar de realizar por adelantado la ms
cuidadosa planificaci*n6
10/2014 EJHV - Dev sw: Procesos y Estndares 24
'odelo iterati)o "2%

+l re)isar los re0uisitos en repetidas ocasiones


o interactuando sobre los re0uisitos# las
personas tratan de lle)ar los productos al
mercado en menos tiempo ! alinear la
funcionalidad ms estrec3amente con las
necesidades de las partes interesadas6

(a forma ms sencilla de un modelo iterati)o


simplemente repite el modelo lineal )arias
)eces# digiriendo un subcon.unto del alcance
cada )ez6
10/2014 EJHV - Dev sw: Procesos y Estndares 25
'odelo iterati)o "H%

+lgunos procesos iterati)os proponen pasar a tra)2s


de todos los re0uisitos en cada iteraci*n ! la adici*n
de profundidad o refinamiento a la funcionalidad en
cada iteraci*n6

7tros proponen la entrega de caracter>sticas de alto


)alor temprana ! en forma completa ! luego la entrega
de funciones adicionales en las siguientes iteraciones6

7tros re0uieren el desarrollo de un subcon.unto de


funcionalidades como un prototipo ! luego refinar el
dise?o basado en la retroalimentaci*n de las partes
interesadas6
10/2014 EJHV - Dev sw: Procesos y Estndares 26
10/2014 EJHV - Dev sw: Procesos y Estndares 27
10/2014 EJHV - Dev sw: Procesos y Estndares 2
'odelos de marco de tiempo

;n marco de tiempo "time/bo8% es un periodo de


tiempo predefinido en el 0ue un determinado con.unto
de ob.eti)os se pretende alcanzar6

En el caso de 0ue no se cumplan los ob.eti)os# no


e8tendemos el marco de tiempo para permitir la
finalizaci*n6

En su lugar# tratamos de a.ustar nuestras prcticas de


manera 0ue podamos completar el siguiente con.unto
de ob.eti)os dentro de los l>mites del nue)o marco de
tiempo6
10/2014 EJHV - Dev sw: Procesos y Estndares 2!
3ttp:@@redletterda!6c3@Ip&JJ0
10/2014 EJHV - Dev sw: Procesos y Estndares 30
E)oluci*n de los procesos
3ttp:@@testconsultant6blogspot6m8@200F@01@w3at/we/can/learn/from/3istor!63tml
It surprised me that development methods which empowers the business
involvement exist already for some time and still we tending to use the more
waterfall approaches and thinking.
10/2014 EJHV - Dev sw: Procesos y Estndares 31
(o 0ue E7 5dice5 el proceso

El proceso no )a a especificar:

*mo le)antar ! especificar re0uisitos

*mo analizar

*mo dise?ar el software

*mo programar el software

*mo 3acer las pruebas

*mo desplegar el producto@ser)icio


10/2014 EJHV - Dev sw: Procesos y Estndares 32
+rma tu propia a)entura
+nlisis
+nlisis de
re0uisitos
47E4K
1ise?o
Patrones de dise?o
47E4K
,11
1ise?o de ;4
Programaci*n
Programaci*n
orientada
a ob.etos
,11
Pruebas
,11
4ngenier>a de
pruebas
+dministraci*n de
pro!ectos
P'L7M o
-$;'
+dministraci*n de
la configuraci*n
10/2014 EJHV - Dev sw: Procesos y Estndares 33
3ttp:@@www6finport6com6ua@en@standards@met3odolog!63tml
;na )isi*n ms completa debe
integrar procesos adicionales a
los 0ue generan el producto6
4ncluso lo 0ue se considera
como acti)idades en un
proceso pueden ser procesos
en s>6
+un0ue ms procesos# por lo
general implican ms personas
para su implementaci*n !
e.ecuci*n# deben ponderarse
los beneficios6
10/2014 EJHV - Dev sw: Procesos y Estndares 34
'etaprocesos

E8isten procesos encargados de la empresa


"reas de ,4% en su con.unto ! donde el
desarrollo de software es solo un subproceso6

E.emplo de esto es E;P "Enterprise ;nified


Process% "<%
10/2014 EJHV - Dev sw: Procesos y Estndares 35
omentarios finales

'etaproceso & Procesos para desarrollo de


software N Procesos para administrar el
software

Pro!ecto "Proceso# onte8to# $ecursos% &


Producto@-er)icio

(as empresas e8igen recursos altamente


preparados ! especializados# pero Olos
apro)ec3anI Oel funcionamiento de la
ma0uinaria re0uiere engranes o transistoresI
10/2014 EJHV - Dev sw: Procesos y Estndares 36
,area

4n)estigar 0ue procesos para desarrollo de software e8isten6 $esumen


bre)e de cada uno6

Oonoces algunoI OulI O*mo lo usa tu empresaI

$ealizar una matriz comparati)a de los procesos encontrados#


considerando si contemplan:

'odelo de proceso 0ue adoptan

+cti)idades de administraci*n

+cti)idades propias del desarrollo de software

Oul es el rol de la administraci*n de pro!ectos en un proceso de estosI

Haz un es0uema de 5+rma tu propia a)entura56 Pu2 acti)idades@procesos


contemplarias en tu procesoI Pu2 t2cnicas@m2todos usar>as%
10/2014 EJHV - Dev sw: Procesos y Estndares 37
$eferencias

Process models "<%

-oftware de)elopment process "<%

-oftware 1e)elopment +cti)ities: + atalogue of ,ec3nical and


,ec3nicall! 7riented +cti)ities "<%

Q3at we can learn from 3istor!I"<%

S-ar putea să vă placă și