Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
$mtodo%
Mtodos / Metodologas Mtodo: &s un conjunto de herramientas, tcnicas ' procesos (ue brindan so)orte ' facilitan el lo*ro u obtenci+n de una meta
Mtodos / Metodologas Mtodo: (ue /acer, a lo largo de todo el ciclo de vida del software, )ara construir un )roducto bueno, de calidad, dentro del )resu)uesto ' a tiem)o
software
Describe la vida de un )roducto de software desde su definicin, )asando )or su dise0o, im)lementaci+n, verificaci+n, validaci+n, entre*a, ' hasta su operacin y mantenimiento
Mtodos / Metodologas
3roductos, Sub)roductos, 2nsumos, &ntre*able (definici+n)
(definici+n)
Gu<as, :erramientas
5uenas 3rcticas
Mtodos / Metodologas (Herramientas) Casos de Uso, Plantillas de Documentos, UML Dia!ramas de Clases, de Casos de Uso, de "cti#idades, de $ecuencia, etc%tera. &rafos de na#e!aci'n, len!uajes de pro!ramaci'n, bibliotecas, armazones de aplicaci'n (framewor)s*, entornos inte!rados de desarrollo (+D,s*, armazones de pruebas, etc%tera. $oftware de !esti'n, herramientas de !esti'n, etc%tera
y muchas otras...
Mtodos / Metodologas Qu es el Proceso? Un )roceso define (uien est /aciendo (u, cundo ' c+mo lo*rar cierta meta. (he three )*migos+ Un )roceso es =una serie de )asos (ue involucra actividades, restricciones ' recursos (ue )roducen una salida de al*>n ti)o= ,fleeger
...
?os "procesos de desarrollo de software" )oseen reglas preestablecidas, ' deben ser a)licados en la creaci+n del software de mediano ' *ran )orte, 'a (ue en caso contrario lo ms se*uro es (ue el )ro'ecto o no lo*re concluir o termine sin cum)lir los ob@etivos )revistos, ' con variedad de fallos inace)tables (fracasan, en )ocas )alabras).
;omado deA/tt)A11es.wi6i)edia.or*1wi6i1Software
Mtodos / Metodologas (Di erencia entre Proceso ! Modelo de Proceso) Un modelo de )roceso de software es una representacin abstracta de un )roceso de software. !ommerville
Modelo de 3roceso (lo (ue deber<a ocurrir)
3!
3#
...
3n
"lgunas Caractersticas de los Procesos (Modelos de###) .laridad: $&s fcil de com)render% Fiabilidad: 3robabilidad de 5uen 8uncionamiento Facilidad de !oporte *ceptacin: $Se vende% $?os DUsuariosE lo ,onsideran Biable% .onveniencia: $&s el mtodo conveniente )ara lo (ue vamos a /acer% -isibilidad: $3uedo Ber lo (ue Ccurre en el 3roceso% /obuste0: $&s Dif<cil de 3erturbar% Facilidad de Mantenimiento /apide0: $3ermite &ntre*ar -)ido el 3roducto% *daptabilidad: $?o )uedo cambiar se*>n las necesidades%
2nforme de Biabilidad
Definici+n de -e(uisitos
3rototi)os
Mtodos / Metodologas (Hitos) 3roducto intermedio Dense0ableE Se consi*ue un /ito cuando se /a revisado la calidad de uno o ms )roductos ' se /an ace)tado ;ras cada /ito se deber<a *enerar un informe de )ro*reso del )ro'ecto Definir Fu, Fuin, ,undo ' ,+mo se va a evaluar ,oincidiendo con el final de una fase (al menos) Definir los )roductos corres)ondientes a cada /ito
4uente ,P$ +nform5tica U"M (36 7897:*
roles actores
Los roles sir#en para definir qui%n hace que (y probablemente cuando*, son una forma de asi!nar y definir responsabilidades a personas, sin tener que nombrar a las personas en particular
importante
=o confundir los roles en los procesos de desarrollo con los actores o roles del sistema o con los interesados o )sta7eholders+ >$on dos cosas totalmente distintas? ,j Describir al /desarrollador0 como actor del sistema en el documento de casos de uso probablemente ser5 un error en la mayor@a de los casos
Ciclo de Vida / Ciclo de Desarrollo ($o 'ue usualmente (asa) ! no de*e (asar)
Anlisis
Dise0o
3ruebas
,odificaci+n
)roceso en cascada
Proceso en Cascada?
Definici+n de -e(uerimientos
Se /acen com)romisos en las eta)as iniciales &l resultado de cada eta)a son documentos firmados ' a)robados )or las )artes involucradas Altos costos, es)ecialmente si se re(uieren cambios
Modelo en V
C)eraci+n ' Mantenimiento
Balida -e(uerimientos
Definici+n de -e(uerimientos
Berifica Dise0o
3ruebas de Ace)taci+n
Berifica Dise0o
3ruebas de Sistema
Dise0o de 3ro*rama
,odificaci+n
&s una variacin del modelo de cascada (ue /ace e7)l<cito el proceso de Aerificaci'n (A* en las fases de anlisis ' dise0o
Proceso en Cascada?
Definici+n de -e(uerimientos
Proceso en Cascada?
&s el modelo ms sim)le, conocido &l )roducto 1 resultado s+lo se ve al final ()ara el cliente). Si e7iste al*>n error (diferencia) sto tiene un resultado catastr+fico Suele ser dif<cil )ara el cliente establecer (545! los re(uisitos de manera e7)licita (' al )rinci)io del )roceso). .aturaleza del softwareA ,ambio Suele ser dif<cil )ara el cliente establecer (54* las ar(uitectura del software de manera e7)licita al )rinci)io del )roceso. Se )roducen estados de blo(ueo, en los (ue al*unos miembros del e(ui)o deben es)erar a otros )ara terminar tareas de)endientes
&n *eneral se )uede asociar cada *iro a una fase del )roceso de desarrollo. &@. #er *iroA ob@etivos, alternativas restriccionesG !do *iroA es)ecificaci+n de re(uisitosG Jer *iroA dise0oG Kto *iroA im)lementaci+n, etctera.
Fuente8 /tt)A11es.wi6i)edia.or*1wi6i1&s)iralIdeI5oe/m
Fuente8 /tt)A11en.wi6i)edia.or*1wi6i1S)iralImodel
2nclu'e de forma e7)l<cita en cada *iro la es)ecificaci+n de ob@etivos, definici+n de alternativas ' restricciones ' evaluaci+n de ries*os (verdaderamente im)ortante) &n cada *iro se constru'e un nuevo modelo del sistema. :asta los momentos, se considera el me@or modelo )ara el desarrollo de sistemas *randes (&l ms fiable) .o es aconse@able )ara sistemas )e(ue0os debido a su alta com)le@idad
...
2ncremento # 2ncremento ! 2ncremento J 2ncremento .
?as fases se dividen en incrementos, en cada incremento se desarrolla una )arte de la funcionalidad ' se validan los )roductos resultantes
,liente
&n *eneral, una vez los )roductos de una fase se consideran listos, estos no se modifican ms a lo lar*o de las si*uientes fases
2ncremento #
,U
actor
,U ,U
,U ,U
actor
,U ,U
actor
,U
,U ,U ,U
actor
&n *eneral, cada incremento a0ade funcionalidad nueva al sistema, de manera (ue el usuario )uede ir utilizando (validando) la funcionalidad antes de terminar el sistema com)leto
...
2teraci+n # 2teraci+n ! 2teraci+n J 2teraci+n .
,ada iteraci+n refina lo realizado en la iteraci+n anterior. De esta forma se )roduce una dinmica en la (ue se van me@orando los )roductos (entre*ables) obtenidos en la iteraci+n anterior. &ventualmente se realizarn todas las iteraciones )lanificadas, o se lle*ar al nivel de refinamiento deseado
Modelo ,terati%o-,ncremental
Bjo con los t%rminos y las confusiones en relaci'n a la concepci'n de los modelos iterati#os, incremetales y e#oluti#os
3ambi%n se puede iterar sobre todo el proceso de desarrollo, aunque esto est5 mas asociado a los procesos e#oluti#os que a los procesos iterati#os
Modelos +%oluti%os
?a definici+n ' es)ecificaci+n de re(uerimientos ' el desarrollo de software es un )roceso evolutivo (ue demanda la e7)erimentaci+n )revia con al*>n com)onente (o la totalidad) del Sistema 3ro*ramado (&@. 2nterfaz UQS, funci+n o subsistema) antes de desarrollar la totalidad del sistema.
-qu% es e#olucionar.
Modelos +%oluti%os
?o*ran su ob@etivo )or medio del desarrollo de una serie de )rototi)os (ue van evolucionando a medida (ue se tiene realimentaci+n del cliente
&s)ecificaci+n Dise0o
Bersi+n 2nicial
5os(ue@o 2nicial
Desarrollo
Bersiones 2ntermedias
Balidaci+n 3retende vencer las limitaciones del modelo en cascada debidas a la deficiente realimentaci+n entre sus fases
Fuente8 Sommerville 1 2n*enier<a del Software
Bersi+n 8inal
Modelos +%oluti%os
-qu% es un prototipo.
,rototipos 6volutivos
3oner un sistema a dis)osici+n de los usuarios finales. &l )roceso comienza con una serie de re(uisitos, se desarrollan una serie de )rototi)os, se e7)onen al usuario ' se van refinando )aso a )aso
3rototi)os &volutivo
Sistema
Desarrollo
3rototi)os &7)erimental
.ecesidades 1 Balidaci+n
&s)ecificaci+n Abstracta
&ntre*ar el Sistema
S2
$Sistema es Adecuado%
,odificaci+n
Desarrollo de 3rototi)os
3ruebas
...por cierto...
Dise0o Ar(uitect+nico
CB3$ ,ommercial Cff t/e S/elf Fuente8 Sommerville 1 2n*enier<a del Software (&7ce)to lo ro@o)
&l costo del sistema se )uede reducir notablemente debido a la reutilizaci+n &l sistema se constru'e DuniendoE com)onentes e7istentes Se est limitado a los com)onentes e7istentes, es necesario ne*ociar los re(uerimientos en base a estos, o modificar los com)onentes (lo (ue no siem)re es fcil) )ara lo*rar satisfacerlos (o ambas cosas) Se necesita todo un Darmaz+nE o un Dlen*ua@eE )ara )oder unir los com)onentes
Proceso en Cascada?
Diferencia entre las e7)ectativas del usuario ' los resultados )roducidos
Diferencia entre las e7)ectativas del usuario ' los resultados )roducidos (muc/os mtodos *iles lo*ran esto tambin involucrando al cliente lo ms (ue sea )osible)
Generacin de Factura
Bersi+n inicial de la ar(uitectura
El usuario introduce la informacin del cliente. Si el cliente ya est registrado con slo introducir la cdula se 3rototi)o, )rueba deben cargar sus datos. Luego se ingresan los elementos a o e7)erimento r)ido )ensado facturar y las cantidades de cada elemento. )ara reducir el Finalmente el sistema registra la factura y es capaz de ries*o imprimirla en la impresora local asociada al terminal del usuario
F) &% horas a la semana: .adie. W.AD2&X ;raba@a /oras e7tra. B!abe usted porqueC G) 6l cliente involucrado en el ambiente de desarrollo: &l cliente (o un re)resentante) es un miembro ms del e(ui)o de desarrollo. >%)6stndares de codificacin: Se definen estndares adecuados de codificaci+n ' se res)etan. Sobre todo a(uellos (ue enfatizan la DautoQdocumentaci+nE ' adecuada documentaci+n del c+di*o.
ad#ertencia
La Pro!ramaci'n ,2trema (EP* y otros m%todos no si!nifican desarrollar /sin m%todo0 Los m%todos 5!iles requieren en el fondo mucha disciplina para poder ejecutarlos y mantener el orden de forma satisfactoria
ad#ertencia
las si!uientes transparencias han sido tomadas (-mutiladas.* de la clase de scrum que #imos al comienzo del semestre, lo que #iene es un simple resumen
tareas de R #_ /oras
?as /istorias de usuario sirven de DrecordatorioE de un *ru)o de caracter<sticas (ue es necesario im)lementar en el sistema. Antes de im)lementar una caracter<stica se )roduce una discusi+n con el usuario ' se refina y e:tiende la informacin de la historia de usuario
?os re(uisitos del product bac)lo! se )riorizan ' se asi*nan a los distintos s)rints )lanificados, es decir, al sprint bac)lo! de cada s)rint
7C&.M (&oles)
7C&.M (&oles)
pollos (in#olucrados*
Modelos 6giles (8esti2n ! 7eguimiento / &euni2n Diaria) /eunin 4iaria: &s una fi*ura fundamental en S,-UM. ;iene (ue reunirse (545 el e(ui)o ' debe /acerse se*>n ciertas re*las
,F, G ;raba@o restante, /oras, )untos de funci+n u otra unidad de medida ,F, E D<a o fec/a del s)rint
/tt)A11www.mountain*oatsoftware.com1scrum1tas6Qboards
bien... )ero...
-ecuerde (ue no todos los )ro'ectos ' ti)os de a)licaciones a desarrollar son i*uales. Use el mtodo (ue ms se ada)te a sus necesidades o al )ro'ecto a enfrentarA .o e7isten mtodos )erfectos o soluciones universales... &vite caer en el DfanatismoE de mtodosA Y3 fans vs -U3 fans vs Scrum fans etc... (de /ec/o, evite caer en cual(uier ti)o de fanatismo) Si 'a /a usado un mtodo anteriormente en )ro'ectos similares a los (ue debe desarrollar ' /a tenido resultados adecuados entonces vuelva a utilizar ese mtodo...
3roceso ;cnico #
3roceso ;cnico !
...
3roceso ;cnico .
...
3roceso de *esti+n o de so)orte M
Fuente: L/*M N*(.O MP(545 46 46!*//5335 46 !5F(N*/6 ,*/* *,32.*.25I6! 6M,/6!*/2*36! # Ioviembre ?%%F
3roceso A
...
3roceso 5
...
3roceso ,
...
Sub)roceso A.#
...
Sub)roceso A.n
...
Fuente: *daptado de L/*M N*(.O MP(545 46 46!*//5335 46 !5F(N*/6 ,*/* *,32.*.25I6! 6M,/6!*/2*36! # Ioviembre ?%%F
Salida 3roceso Y
...
...
2nformaci+n 3roducida
RRa)o'a``
RRre)ositorio``
RR)roducto``
&ntrada
RRe@ecuta``
RRrecurso``
RRa)o'a``
Gru)o o Actor
2nformaci+n -e(uerida
Datos
Fuente: *daptado de L/*M N*(.O MP(545 46 46!*//5335 46 !5F(N*/6 ,*/* *,32.*.25I6! 6M,/6!*/2*36! # Ioviembre ?%%F
RRdocumento`` &nunciado del Alcance del 3ro'ecto RRdocumento`` 3lan de Gesti+n de Alcance RRdocumento`` &structura de Des*lose de ;raba@o
Fuente: *daptado de L/*M N*(.O MP(545 46 46!*//5335 46 !5F(N*/6 ,*/* *,32.*.25I6! 6M,/6!*/2*36! # Ioviembre ?%%F
Los modelos de Productos describen todos los productos que se utilizan o se producen en el m%todo
Fuente: *daptado de L/*M N*(.O MP(545 46 46!*//5335 46 !5F(N*/6 ,*/* *,32.*.25I6! 6M,/6!*/2*36! # Ioviembre ?%%F
,l modelo de actores especifica los actores 9 roles que participan en el proceso de desarrollo y sus respecti#as responsabilidades
Fuente: *daptado de L/*M N*(.O MP(545 46 46!*//5335 46 !5F(N*/6 ,*/* *,32.*.25I6! 6M,/6!*/2*36! # Ioviembre ?%%F
!crum
/tt)A11www.scrumalliance.or*1
otros...
refle2i'n final
Pase lo que pase, siempre procure que el m%todo de desarrollo que use trabaje a su fa#or. $i el m%todo que est5 usando trabaja en su contra >entonces cambie el m%todo? Hecuerde, el m%todo no es importante, lo importante es el cliente, el producto y las personas in#olucradas en su desarrollo
8racias
JLraciasK