Você está na página 1de 21

Taller de Mantencin de

Software
2 semestre 2013

2
Unidad 1
Contenido:

Ciclo de vida del desarrollo de software.

Terminologa est!ndares de mantencin de software.

"dentificacin de necesidades de mantencin.


#$%& es el software'

Programas de computador ms la documentacin asociada. Puede


ser desarrollado para un cliente particular o para un mercado
general (Ian Sommerville).

(Producto que disean, construyen y mantienen los ingenieros de


software. !arca programas que se e"ecutan en un computador de
cualquier tamao y arquitectura, documentacin impresa o virtual y
representacin de informacin de audio, video e imgenes) *#oger
Pressman+.

3
,vol%cin del -esarrollo de Software

.rimeros desarrolladores / Cientficos e investigadores

Conocen 0ien s%s re1%erimientos

Mantienen software constr%ido 2or ellos mismos

.roceso de desarrollo / ca3a negra



4
,vol%cin del -esarrollo de Software *cont.+

5tras !reas tam0i&n re1%ieren 2rod%ctos de software

-esarrolladores desconocen o no entienden los re1%erimientos

.roceso se estr%ct%ra 2ara o0tener %n me3or 2rod%cto

6e1%erimientos contin7an informales

Se origina la llamada crisis del software.



8
Crisis del Software

5rigina la disci2lina ("ngeniera de Software) en los a9os :0

Sntomas t2icos:

;%ncionalidad incorrecta

Costos 2la<os e=cedidos

Software de 0a3a calidad

"nsatisfaccin de clientes %s%arios

.oca o n%la visi0ilidad de lo 1%e oc%rre en (el negocio)

Software no satisface los re1%erimientos

.roectos inmane3a0les> cdigo dif$cil de mantener

?2licaciones no son entregadas n%nca

.lanificacin 2o0re o inadec%ada

"ncom2etencia t&cnica

,scasa ingeniera

Crisis de investigacin 6o0ert @. Alass> 1BB4



:
Crisis del Software

?lg%nos mitos 0astante arraigados:

,st!ndares 2rocedimientos 0astan

Tecnologa de 2%nta 0asta

"ncor2orar m!s gente 2ara 2onerse al da

.roceso de software similar a c%al1%ier 2roceso de ingeniera

.rogramacin inmediata

;!cil acomodo de los cam0ios

.rogramacin ;in del tra0a3o

Calidad Slo del e3ec%ta0le

Cdigo es el 7nico 2rod%cto



C
"ngeniera de Software
-ific%ltades en la .rod%ccin de Software.

,sencia:

Com2le3idad

Conformidad

Decesidad de cam0ios

"nvisi0ilidad

?ccidentes:

.ocos avances en investigacin

Do e=iste %na sol%cin ideal *silver !ullet+



E
"ngeniera de Software
6iesgos de Software

M&tricas inadec%adas

.roceso de medicin inadec%ado

.resin e=cesiva de tiem2o

Malas 2r!cticas de gestin

,stimacin im2recisa de costos

6e1%erimientos 2oco claros

Fa3a calidad

Fa3a 2rod%ctividad

Cancelacin de 2roectos

B
"ngeniera de Software
.roceso de Software.

.roveer %n 2rod%cto o %n servicio> siem2re consiste en seg%ir %na


sec%encia de pasos> 2ara llevar a ca0o %n con3%nto de tareas

@as tareas se e3ec%tan %s%almente en el mismo orden todas las


veces

Un 2roceso es %na serie de 2asos 1%e invol%cran actividades>


restricciones recursos> 1%e 2rod%cen %na salida esperada> de
alg7n ti2o 2redeterminado

Un 2roceso invol%cra %s%almente %n con3%nto de %erramientas


t&cnicas

10
"ngeniera de Software
.roceso de Software G ?ctividades.

?n!lisis de re1%erimientos

-ise9o del sistema

-ise9o de 2rogramas

Codificacin

Testing %nitario de integracin

Testing del sistema

Testing de ace2tacin

52eracin mantencin

11
Modelos de -esarrollo
Modelos en Cascada.

12
Modelos de -esarrollo
Modelo en Cascada en la .r!ctica

13
;ases Aen&ricas

14
1. -efinicin

18
,l .roceso de 6e1%erimientos
Cmo lo e=2lic
el cliente
Cmo lo entendi
el 3efe de 2roecto
Cmo lo dise9
el analista
Cmo lo codific
el 2rogramador
Cmo lo descri0i
el cons%ltor comercial
Cmo se doc%ment
el 2roecto
@o 1%e instal
o2eraciones
@o 1%e se co0r
al cliente
Cmo es
so2ortado
@o 1%e realmente
necesita0a el cliente

1:
,l .roceso de 6e1%erimientos
6e1%erimientos 6iesgo.
H "deas f%er<a:
H Sa0er lo 1%e Ia 1%e Iacer antes de em2e<ar a Iacerlo.
H Conocer el 2ro0lema antes de inventar la sol%cin
H .ro2sito: 6ed%cir el riesgo de constr%ccin
H Inefectividad: 6iesgo de Iacer algo in7til
H Ineficiencia: 6iesgo de s%0Jso0re estimar rec%rsos
H 6iesgo de la sol%cin: (.ar!lisis de an!lisis)
H $%erer sa0erlo todo antes de Iacer nada

1C
2. -esarrollo

1E
Codificacin de Software

1B
,st!ndares .rocedimientos

20
Calce del -ise9o la "m2lementacin

21
Calce del -ise9o la "m2lementacin

22
?ctividad Ar%2al

,l Iotel @",DTU6 necesita desarrollar %na a2licacin 2ara cons%ltar so0re las 2ie<as dis2oni0les
la reserva de Ia0itaciones. ,l Iotel 2osee 3 ti2os de Ia0itaciones: sim2le> do0le> matrimonialK
adem!s reconoce dos ti2os de clientes: Ia0it%ales es2or!dicos. Una reserva de Ia0itacin
de0e almacenar los datos del cliente> de la Ia0itacin la cantidad de das 1%e ser! oc%2ada. ,l
rece2cionista del Iotel de0e 2oder reali<ar las sig%ientes o2eraciones:

50tener %n listado de Ia0itaciones dis2oni0les seg7n s% ti2o.

Cons%ltar el 2recio de %na Ia0itacin seg7n s% ti2o.

Cons%ltar desc%entos ofrecidos a clientes Ia0it%ales.

Cons%ltar el valor total de %na reserva> considerando el ti2o de Ia0itacin.

"ngresar eliminar reservas.

,l administrador de0e reali<ar las sig%ientes o2eraciones:

Cam0iar el 2recio de las Ia0itaciones *individ%al o 2or ti2o+.

Cam0iar el valor de los desc%entos ofrecidos a clientes Ia0it%ales.

,stimar las ganancias del mes act%al> en 0ase a las reservas reali<adas.

Como ingeniero de software> se le 2ide lo sig%iente:

-esarrollar %n 2lan 2ara a0ordar el 2roecto> desde el 2%nto de vista del an!lisis de
re1%erimientos *#1%edan claros o falta informacin'> #se entiende 0ien el 2ro0lema'>
#acciones 2ara aclarar los re1%erimientos'+.

?nali<ar las condiciones 1%e 2odran generar cam0ios en los re1%erimientos.

"dentificacin 2reliminar de s%0sistemas s%s f%ncionalidades.

Lacer informe del an!lisis



23
Estndar IEEE 1219

24
,st!ndar ",,, 121B

('ste estndar descri!e un proceso iterativo para la gestin y e"ecucin de


las actividades de (antenimiento del Software. )...* +os criterios
esta!lecidos se aplican tanto a la planificacin del (antenimiento del
Software mientras &ste est en desarrollo, como a la planificacin y
e"ecucin de las actividades de (antenimiento para productos software
e,istentes...)

-e esta forma se descri0e el alcance del est!ndar ",,, 121B. ?%n1%e slo
menciona las fases de desarrollo de 2rod%ccin de %n 2rod%cto software>
las fases 1%e se descri0en en el interior de s%s 2!ginas c%0ren todo el ciclo
de vida de %n software> c%al1%iera 1%e sea s% tama9o o com2le3idad. @as
fases del ciclo de vida mediante las 1%e se dirige el est!ndar son:

.r%e0as del sistema.

.r%e0as de ace2tacin.

.%esta en 2rod%ccin o li0eracin


de versin.

Identificacin del pro!lema.

?n!lisis.

-ise9o.

"m2lementacin.

28
,st!ndar ",,, 121B

-entro de cada %na de estas fases> el est!ndar define %na serie de


2rocedimientos 1%e se Ian de llevar a ca0o con los 1%e se identifican la
documentacin> personas productos de software 1%e intervienen. @os
elementos de descri2cin de cada 2rocedimiento son:

,ntrada

.roceso

Control

Salida

-entro de todas las fases de desarrollo de %n 2rod%cto de software> se


llevan a ca0o tareas 1%e a Ian sido definidas 2or el ",,, en est!ndares>
adicionales> 2or lo 1%e 2odemos encontrar m7lti2les referencias a estos
est!ndares 2ara s% correcta e3ec%cin. ? contin%acin se detalla %na ta0la
con estas referencias:
Se refiere a procesos e,ternos definidos
en otros estndares, como- aseguramiento
de la calidad, gestin de configuracin,
verificacin y validacin, medicin, etc.

2:
,st!ndares ",,, ?dicionales

2C
,st!ndar ",,, 121B G Mantenimiento de Software

Seg7n el ",,,> el Mantenimiento del Software es la modificacin de %n


2rod%cto software des2%&s de s% entrega al cliente o %s%ario 2ara corregir
defectos> 2ara me"orar el rendimiento u otras propiedades desea!les> o
para adaptarlo a un cam!io de entorno. Sin em0argo> el 2roceso de
mantenimiento del software comien<a con las 2rimeras fases del ciclo de
vida> 2%esto 1%e el costo de mantenimiento va a estar estrecIamente
infl%ido 2or las decisiones 1%e se tomen en cada %na de estas fases.

,=isten diversos ti2os de Mantenimiento del Software de2endiendo de las


demandas de los %s%arios del 2rod%cto Software a mantener:

Mantenimiento ?da2tativo

Mantenimiento Correctivo

Mantenimiento .erfectivo

Mantenimiento .reventivo

2E
,st!ndar ",,, 121B G Mantenimiento ?da2tativo

,s la modificacin de %n 2rod%cto de software> des2%&s de s% 2%esta en


2rod%ccin> 2ara mantener o2erativo %n 2rograma mientras se reali<a %n cam0io
en el entorno de 2rod%ccin.

Tiene 2or o03etivo la modificacin de un programa de!ido a cam!ios en el


entorno, !ien cam!ios en el %ardware o en el software, en el que se e"ecuta.

,n c%anto a los cam0ios en el Iardware ca0e destacar> 2or e3em2lo> los cam0ios
en la 2lataforma de instalacin> 2asar de %n sistema de 32 0its a %no de :4 0itsK
los cam0ios en el sistema de com%nicaciones> 2asar de %n sistema de tra0a3o
standMalone a %n sistema de redK etc.

,n c%anto a los cam0ios en el software ca0e destacar> 2or e3em2lo> c%ando se


desea 2asar %n sistema ClienteMServidor t2ico a %n sistema 3Mca2asK los
cam0ios de %n cliente cl!sico desarrollado en Nis%al Fasic> -el2Ii o CJCOO a %n
cliente (ligero) *TIin Client+ 2ara e3ec%tarse so0re %n navegador de "nternetK etc.

,ste ti2o de mantenimiento es el m!s %s%al de0ido a los r!2idos cam0ios 1%e se
2rod%cen en la tecnologa inform!tica> 1%e en la maora de ocasiones de3an
o0soletos los 2rod%ctos software desarrollados> no 2or s% ino2erancia> sino 2or
la com2etitividad entre las em2resas> en las 1%e cada ve< infl%e m!s el
software %tili<ado. .or e3em2lo> dar acceso a los 2rod%ctos a trav&s de "nternet>
etc.

2B
,st!ndar ",,, 121B G Mantenimiento Correctivo

,s la modificacin de %n 2rod%cto de software des2%&s de s% 2%esta en


2rod%ccin 2ara corregir los fallos descu!iertos.

,l Mantenimiento Correctivo tiene 2or o03etivo locali<ar eliminar los


2osi0les defectos de los 2rogramas. ? 2esar de las 2r%e0as verificaciones
1%e a2arecen en eta2as anteriores del ciclo de vida del software> los
2rogramas 2%eden tener defectos. .n defecto en un sistema es una
caracter$stica del sistema que podr$a ser la causa de un fallo. ,l fallo se
2rod%ce c%ando el com2ortamiento del sistema es diferente al es2erado 2or
s% es2ecificacin.

,stos fallos 2%eden ser de procesamiento> de programacin> de


documentacin> etc. Seg7n est%dios reali<ados la maora de los defectos
se originan en las fases de es2ecificacin de re1%isitos de codificacin>
2or lo 1%e tam0i&n son im2ortantes las 2rimeras fases del ciclo de vida 2ara
el Mantenimiento del Software.

M?DT,D"M",DT5 -, ,M,6A,DC"?: ,s %n mantenimiento correctivo


reali<ado sin 2lanificacin 2revia %tili<ado 2ara mantener o2erativo el
sistema.

30
,st!ndar ",,, 121B G Mantenimiento Correctivo
H -efecto de Software .ro0lema o inconsistencia 1%e ca%sa 1%e %n
2rograma o sistema falle com2letamente o entreg%e res%ltados
incorrectos
H Ciclo de vida de la falla:
-efecto
*;a%lt+
;alla
*;ail%re+
,rror
*MistaPe+
Testing 6evisiones

31
,st!ndar ",,, 121B G Mantenimiento .reventivo

,ste ti2o de mantenimiento no se menciona como tal en el est!ndar


",,, 121B> sino 1%e se incl%e como Mantenimiento .erfectivo>
2ero 1%e es conveniente tener en c%enta de0ido a los costos 1%e
2%ede aIorrar frente a otro ti2o de mantenimientos.

Consiste en la modificacin del 2rod%cto Software sin alterar las


especificaciones del mismo> 2ara me3orar las 2ro2iedades de
mantenimiento del 2rod%cto facilitar as las f%t%ras tareas de
mantenimiento.

@os cam0ios 1%e se llevan a ca0o son en c%anto a los comentarios


del cdigo> la reestr%ct%racin de los 2rogramas 2ara me3orar s%
com2rensin> etc.

32
,st!ndar ",,, 121B G Mantenimiento .erfectivo

,s la modificacin de %n 2rod%cto software> des2%&s de s% 2%esta


en 2rod%ccin para me"orar el rendimiento o la manteni!ilidad>
1%e es la facilidad de mantenimiento 1%e tiene %n software> es
decir> la facilidad de %n software 2ara ser modificado> lo 1%e infl%e
directamente en los costos del mantenimiento.

Tam0i&n s%elen ser de0idos a cam0ios en las es2ecificaciones del


2rod%cto> detalle 1%e no Ia tenido en c%enta el est!ndar ",,, 121B
al definir los ti2os de mantenimiento> a%n1%e si lo es2ecifica a lo
largo del te=to.

,n c%anto a los cam0ios 2ara me3orar el rendimiento 2%eden ser>


2or e3em2lo> la incl%sin de %n monitor transaccional s% gestin>
2ara me3orar los accesos a la Fase de -atosK la %tili<acin de
cacIes en los clientes de %n sistema ClienteMServidor> 2ara li0erar
la carga de la red de com%nicacionesK 2ara me3orar la e3ec%cin de
c!lc%los en %n algoritmo determinado> etc.

33
,st!ndar ",,, 121B G Mantenimiento .erfectivo

?l Ia0lar de cam0ios 2or modificacin de los re1%isitos de %s%ario o


de las es2ecificaciones f%ncionales> 2odemos citar el a%mento del
n7mero de %s%arios del 2rod%cto> lo 1%e 2odra re2erc%tir en el
rendimiento del sistema> o el a%mento de las f%ncionalidades> etc.

@as tres 2reg%ntas claves en el Mantenimiento del Software son:


1. #,=iste alg%na forma de determinar analticamente los efectos de %n
cam0io antes de s% im2lementacin'
2. #,=iste alg%na forma de garanti<ar 1%e el cam0io 2ro2%esto no tendr!
efectos adversos en 2artes del sistema 1%e no se Ian modificado'
3. #Se 2%ede Iacer %na estimacin ra<ona0le del esf%er<o total necesario
2ara reali<ar %na modificacin antes de llevarla a ca0o'

34
-istri0%cin de ,sf%er<os de Mantenimiento

38
,st!ndar ",,, 121B M Terminologa

/liente: .ersona o gr%2o de 2ersonas 2ara las c%!les se orienta el 2rod%cto


de software> %s%almente *2ero no necesariamente+ decide los re1%isitos.

0est de Interopera!ilidad: .r%e0as orientadas a aseg%rar 1%e el sistema


modificado retiene la ca2acidad de intercam0iar informacin con sistemas
de distintos ti2os> %tili<ar informacin 2roveniente de ellos.

#equerimiento de (odificacin ((#): T&rmino gen&rico 1%e incl%e los


form%larios asociados con los doc%mentos de re2orte de distintos ti2os de
2ro0lemas> adem!s de los doc%mentos de control de cam0io de
config%racin *e3: re1%erimiento de modificacin de software+.

Proyecto: Un s%0sistema 1%e es o03eto de actividades de mantenimiento.

0est de #egresin: .r%e0as re2etitivas orientadas a detectar defectos


introd%cidos d%rante la modificacin.

3:
,st!ndar ",,, 121B M Terminologa

6e2ositorio: *?+ Coleccin de todos lo o03etos relacionados al software 1%e


2ertenece al sistema. *F+ U0icacin J formato en los c%ales dicIa coleccin
est! almacenada.

"ngeniera "nversa: .roceso de e=traer informacin de %n sistema de


software *incl%endo doc%mentacin+> a 2artir del cdigo f%ente.

Sistema: Con3%nto de %nidades interrelacionadas> organi<adas 2ara c%m2lir


con %na o m!s f%nciones es2ecficas.

Us%ario: .ersona o gr%2o de 2ersonas 1%e o2eran o interact7an


directamente con el sistema.

3C
,st!ndar ",,, 121B
"dentificacin> Clasificacin> .riori<acin del .ro0lema J Modificacin.

,n esta fase se identifican clasifican las modificaciones de software>


tam0i&n se le asigna %na 2rioridad inicial *seg7n %n rango 2redefinido+. @a
clasificacin de0e indicar %no de las sig%ientes ti2os de mantenimiento:

?da2tativa

Correctiva

.erfectiva

,mergencia

3E
,st!ndar ",,, 121B
"dentificacin> Clasificacin> .riori<acin del .ro0lema J Modificacin.

,ntrada: -e0e ser %n M6 G (odification #equest.

.roceso: Si se re1%iere %na modificacin del software> se de0en reali<ar las


sig%ientes actividades dentro del 2roceso de mantenimiento:

?signar %n n7mero de identificacin

Clasificar el ti2o de mantenimiento

?nali<ar la modificacin 2ara determinar si se ace2ta> se recIa<a o se de3a 2ara


%na eval%acin 2osterior

,fect%ar %na estimacin 2reliminar de tama9o J magnit%d

.riori<ar la modificacin

?signar %n M6 a 0lo1%es de tareas 2lanificadas 2ara im2lementacin

Control: M6 determinaciones del 2roceso de0en identificarse de forma


7nica se de0en registrar en el re2ositorio.

3B
,st!ndar ",,, 121B
"dentificacin> Clasificacin> .riori<acin del .ro0lema J Modificacin.

Salida: @a salida d este 2roceso de0e ser %n M6 validado las


determinaciones del 2roceso 1%e f%eron almacenadas en %n re2ositorio. ,l
re2ositorio de0e contener los sig%ientes tems:

-escri2cin del 2ro0lema o del n%evo re1%erimiento

,val%acin del 2ro0lema o re1%erimiento

Clasificacin del ti2o de mantencin re1%erida

.rioridad inicial

-atos de verificacin *2ara el mantenimiento correctivo+

,stimacin inicial de los rec%rsos re1%eridos 2ara modificar el sistema e=istente



40
,st!ndar ",,, 121B
"dentificacin> Clasificacin> .riori<acin del .ro0lema J Modificacin.

@a 2rioridad de las Solicit%des de Modificacin de0er! ser asignada 2or


alg%no de los integrantes del 2roecto: ,l a%tor de la solicit%d o %n
re2resentante> %n %s%ario reconocido> %n e=2erto del dominio> ingenieros de
software dentro del 2roecto o el 3efe de 2roecto. .ara ello Ia 1%e
considerar los sig%ientes criterios:

6ec%rsos estimados inicialmente seg7n la facilidadJdific%ltad de im2lementacin


el tiem2o a2ro=imado 2ara llevarla a ca0o seg7n los rec%rsos dis2oni0les.

"m2acto es2erado a los %s%arios act%ales f%t%ros> indicando las venta3as


desventa3as.

?signacin de %n 0lo1%e de modificaciones 2lanificadas 2ara minimi<ar el


im2acto a los %s%arios.

41
?ctividad Ar%2al
-efinicin de .rioridades de Modificacin de Software.

Tra0a3ar en gr%2o de 3 4 al%mnos.

,l gr%2o de tra0a3o corres2onde a %n e1%i2o de ingenieros de


software 1%e de0en esta0lecer la clasificacin de 2rioridades 1%e
se de0en asignar a %n re1%erimiento de modificacin de software>
seg7n lo esti2%lado en el est!ndar ",,,M121B.

503etivo:

-efinir los ti2os de 2rioridades de atencin> detallando los criterios


%tili<ados 2ara decidir c%!les 2rioridades se asignar!n a los distintos
ti2os de re1%erimientos de modificacin de software.

-ise9ar %n form%lario 6M.

Una ve< terminado se de0e entregar %n informe reali<ar %na


0reve 2resentacin de los res%ltados del an!lisis efect%ado.

Você também pode gostar