Está en la página 1de 39

TEMA 1:

SOFTWARE
MSc. Andrea Teresa Cubillos Johnen
FACULTAD DE CIENCIAS Y TECNOLOGIA
CARRERA: INGENIERIA DE SISTEMAS
MATERIA: INGENIERIA DEL SOFTWARE
INTRODUCCION
La Ingeniera del Software trata de metodologas, herramientas y
tcnicas utiliadas !ara el desarrollo de software"
#n naciones industrialiadas, el software se encuentra en todas
!artes, en a!licaciones domsticas, sistemas de comunicaci$n,
sistemas de trans!orte y en los negocios"
#l software %iene en diferentes formas y tama&os, desde un
!rograma en un telfono m$%il hasta el software utiliado !ara
dise&ar un autom$%il"
'Sc" )ndrea Teresa Cu*illos +ohnen
INTRODUCCION
#l software !ude categoriar en dos grandes ti!os,
Software de Sistema, #s el software -ue act.a como herramienta !ara
ayudar a construir o dar a!oyo a!licaciones de software"
Software de )!licaciones, #s un software -ue ayuda a realiar algunas
tareas .tiles o di%ertidas" #/em!los de estas son /uegos, el software !ara
ca/eros autom0ticos, el software de control de los a%iones, software de
correo electr$nico, !rocesadores de te1to, ho/as de c0lculo"
Dentro de la categora de software de a!licaciones, !uede ser .til
identificar las siguientes categoras de software"
+uegos
Sistemas de informaci$n 2 sistemas -ue almacenan y acceden a grandes cantidades de
informaci$n, !or e/em!lo, un sistema de reser%a de asientos en una aerolnea"
Sistemas en tiem!o real 2 en donde la com!utadora de*e res!onder r0!idamente, !or e/em!lo,
el software de control !ara una estaci$n de electricidad"
Sistemas em*e*idos 2 en donde la com!utadora /uega un !e-ue&o rol dentro de un sistema
mayor, !or e/em!lo, el software en un telfono m$%il"
Sistema de Oficina 2 !rocesadores de te1to, ho/as de c0lculo, correo electr$nico
Software cientfico 2 lle%a a ca*o c0lculos, modelado, !redicci$n, !or e/em!lo, !ron$stico del
tiem!o"
'Sc" )ndrea Teresa Cu*illos +ohnen
INTRODUCCION
#l software !uede ser com!rado en tiendas 3'icrosoft 4ord5 o
!ersonaliado"
Todos los ti!os de software, a e1ce!ci$n tal %e de los sistemas de
informaci$n caen dentro de la com!etencia de Ingeniera del
Software" Los sistemas de informaci$n tienen una historia
distinta y, generalmente, diferentes tcnicas son utiliadas !ara
su desarrollo" ) menudo la naturalea de los datos 3informaci$n5
es utiliada !ara dictar la estructura del software, as -ue el
an0lisis de datos es el !rimer !aso, lle%ando al dise&o de la *ase
de datos de la a!licaci$n"
'Sc" )ndrea Teresa Cu*illos +ohnen
INTRODUCCION
La construcci$n de software es un reto, esencialmente !or-ue el
software es com!le/o" Los !ro*lemas !erci*idos en el desarrollo
del software y los o*/eti%os -ue *usca el desarrollo de software
son,
Cum!lir con las necesidades del usuario
6a/o costo de !roducci$n
)lto rendimiento
7orta*ilidad
6a/o costo de mantenimiento
)lta confia*ilidad
#ntrega a tiem!o
Cada o*/eti%o es tam*in considerado un !ro*lema !or-ue la
ingenieria de software generalmente ha no ha sido e1itosa en
cum!lirlos"
'Sc" )ndrea Teresa Cu*illos +ohnen
CU'7LIR CON L)S N#C#SID)D#S D#
LOS USU)RIOS
7areciera o*%io -ue una !iea de software haga lo -ue sus
usuarios -uieran" 7ero, l$gicamente, el !rimer !aso en el
desarrollo del software es a%eriguar o -ue el cliente, consumidor o
usuario necesita" #ste !aso es usualmente llamado )n0lisis de
Re-uerimientos o Ingeniera de Re-uerimientos" Tam*in !uede
!arecer o*%io -ue de*iera ser lle%ado a cado con cuidado"
'Sc" )ndrea Teresa Cu*illos +ohnen
19%
4%
!9%
!%
"%
#en$as
)*andonados o
Rehechos
#ntregados !ero no
utiliados
7agados !ero no
entregados
Utiliados como se
los entregaron
8ueron cam*iados
des!us de usarlos
CU'7LIR CON L)S N#C#SID)D#S D# LOS
USU)RIOS
#1iste e%idencia, -ue este no siem!re es el caso" Como e%idencia, un
estudio de la efecti%idad de !royectos de software a gran escala, se
encontraron -ue menos del 9: fue utiliado tal como fue entregado"
#stas cifras son unas de las !ocas !ieas de e%idencia dis!oni*le,
!or-ue las organiaciones mantienen esta informaci$n en secreto"
Cual-uiera -ue sean estas cifras, se !uede %er -ue una gran
!ro!orci$n de los sistemas no cum!len con las necesidades de sus
usuarios y !or lo tanto, no son utiliados cuando son entregados"
7udiera ser, -ue los sistemas m0s !e-ue&os son m0s e1itosos"
7odramos ir m0s all0 y deducir -ue el !rinci!al !ro*lema de
desarrollo de software se encuentra en el an0lisis de re-uerimientos
m0s -ue en otras 0reas, tales como confia*ilidad o costo"
La tarea de intentar de asegurar -ue el software hace lo -ue sus
usuarios desean es conocido como %alidaci$n"
'Sc" )ndrea Teresa Cu*illos +ohnen
6)+O COSTO D# 7RODUCCION
'Sc" )ndrea Teresa Cu*illos +ohnen
7rimero -ue nada, tengamos una idea del costo del software en el mundo" #n
#stados Unidos se estima -ue alrededor de ;<== *illones fueron gastados cada
a&o en !roducir software"
#sta cantidad es cerca del >: del !roducto grueso nacional"
La cifra mundial estimada es -ue ;>,=== *illones es gastado cada a&o en
!roducci$n de software"
#stas cifras se estiman -ue incrementan un ><: anual"
#l Sistema O!erati%o -ue I6' desarrollo 3OS ?@=5 se estima -ue cost$ ;9==
millones"
#n #stados Unidos, el costo del software del !rograma es!acial fueron ;> *ill$n
entre >A@= y >AB="
#stos e/em!los indican -ue la cantidad gastada en software en las naciones
industrialiadas tiene !ro!orciones significantes"
6)+O COSTO D# 7RODUCCION
'Sc" )ndrea Teresa Cu*illos +ohnen
%RO&'CT(#(&A& &E) %RO*RAMA&OR
#l costo del software es mayormente determinado !or la
!roducti%idad de los !rogramadores y sus salarios"
Sor!rendentemente, la !roducti%idad del !rogramador !romedio
es s$lo >=C9= sentencias de lengua/e de !rogramaci$n !or da"
6)+O COSTO D# 7RODUCCION
'Sc" )ndrea Teresa Cu*illos +ohnen
%RE&(C(E+&O COSTOS &E SOFTWARE
#s muy difcil !redecir el tiem!o -ue conlle%ar0 escri*ir una !iea
!articular de software" #s com.n so*reestimar el esfuero
re-uerido !or <=:, y !or consiguiente el costo y fecha de entrega
del software tam*in es afectado"
6)+O COSTO D# 7RODUCCION
'Sc" )ndrea Teresa Cu*illos +ohnen
COSTO &E) ,AR&WARE #S COSTO &E) SOFTWARE
#n los !rimeros das de las com!utadoras, el hardware era
costoso y el software relati%amente *arato"
Doy en da, gracias a la masi%a !roducci$n y miniaturiaci$n, e
hardware es *arato y el software es caro"
#stos cam*ios son refle/ados en la Cur%a en forma de S, -ue
muestra como han cam*iado los costos relati%os a tra%s de los
a&os"
'ientras -ue en el a&o >A<<, el costo del software costa*a
t!icamente solo un >=: del !royecto, ahora ha escalado hasta
A=:, con el hardware solo com!rendiendo un >=:"
6)+O COSTO D# 7RODUCCION
'Sc" )ndrea Teresa Cu*illos +ohnen
Cam*ios en los costos de hardware y software"
7#RC#7CION#S D#L COSTO D#L S4
'Sc" )ndrea Teresa Cu*illos +ohnen
E) (M%ACTO &E COM%'TA&ORAS %ERSO+A)ES
Tal %e la mayor influencia en !erce!ciones !o!ulares de costo de software ha
sido el ad%enimiento de las com!utadoras !ersonales"
'ucha gente com!ra una 7C desde sus hogares y sa*e claramente cuales son
sus costos"
7rimero, es el factor RocEandRoll" Si uno com!ra un estreo !or ;9== d$lares,
uno no es!era com!rar un CD !or ;9,=== d$lares" Similarmente, si se com!ra
una 7C !or ;>,=== d$lares, no se es!era !agar ;>=,=== d$lares !or el software,
lo -ue costara si se contratara un !rogramador !ara -ue lo haga" )s -ue el
software !ara una 7C %iene incluido o es co*rado a!arte !or ;<= d$lares" Sera
difcil com!render -ue !or algo -ue se ha !agado ;<= d$lares ha costado
millones de d$lares en desarrollo"
Lo segundo, sera es sndrome del adolescente" 'uchos estudiantes escri*en
!rogramas como !arte de sus estudios" )s -ue un !adre f0cilmente !ensara
F'i hi/o escri*e !rogramas, -ue tan dificil !uede serG, 7or -u el software es
tan caroGH
7#RC#7CION#S D#L COSTO D#L S4
'Sc" )ndrea Teresa Cu*illos +ohnen
%A-'ETES &E SOFTWARE
Si se -uiere calcular los im!uestos, o dise&ar un /ardn, se !uede
com!rar un !a-uete de software -ue !uede llegar a costar unos
;<= d$lares" La ra$n !or el !recio tan *a/o es, -ue los
!roductores de software %enden %arias co!ias idnticas, las
!roducci$n de software masi%o ha llegado" #l !ro*lema con esos
!rogramas, es -ue no hacen e1actamente lo -ue uno desea y tal
%e se de*a recurrir a software hecho a medida"
7#RC#7CION#S D#L COSTO D#L S4
'Sc" )ndrea Teresa Cu*illos +ohnen
,ERRAM(E+TAS &E &ESARRO))O &E) SOFTWARE
Si se desea crear f0cilmente y r0!idamente distintos ti!os de
a!licaciones, est0n dis!oni*les muchas herramientas de
desarrollo" #/em!los nota*les de stos !uede ser Iisual Studio y
'icrosoft )ccess" #stas herramientas ha*ilitan ciertos ti!os de
!rogramas a ser construidos muy f0cilmente, y hasta gente -ue no
es !rogramadora !uede a!render a desarrollar estas
herramientas como ho/as de c0lculo" )-u se crea la !erce!ci$n de
-ue la !rogramaci$n es f0cil y -ue los !rogramadores no son
necesarios"
La %erdad es -ue algunos software son muy sim!les y f0ciles de
escri*ir, !ero la mayora del software comercial es grande y
e1tremadamente com!le/o"
7#RC#7CION#S D#L COSTO D#L S4
'Sc" )ndrea Teresa Cu*illos +ohnen
)A RE#O)'C(O+ &E TEC+O)O*(A &E )A (+FORMAC(O+
La sofisticaci$n del software es totalmente diferente -ue en el
!asado" 7or el e/em!lo, interfaces de usuario com!le/as son
esenciales, los sistemas son com.nmente im!lementados en la
we*" La gente y las organiaciones es!eran m0s facilidades !ara
las com!utadoras" 'ientras el hardware se %uel%e dis!oni*le
!ara hacer !royectos de software im!r0cticos, el costo de software
solo %a a escalar"
#n resumen, lo -ue %emos hoy en da es -ue el software es caro,
#n relaci$n al !roducto grueso nacional
7or-ue los desarrolladores e1hi*en a!arentemente *a/a !roducti%idad
#n relaci$n al costo del hardware
7erce!ci$n !o!ular
CO'O S# C)LCUL) #L COSTOG
'Sc" )ndrea Teresa Cu*illos +ohnen
#s interesante %er cu0l !arte del desarrollo de un !royecto de
software cuesta mas dinero"
Claramente el costo de !rue*a es enorme, mientras -ue la
codificaci$n constituye solo una !e-ue&a !orci$n del desarrollo de
software"
".%
/.%
!.%
Cos$os rela$i0os a las 1ases de desarrollo
de so1$2are
)n0lisis y Dise&o
7rue*as
Codificaci$n
CO'O S# C)LCUL) #L COSTOG
'Sc" )ndrea Teresa Cu*illos +ohnen
Si los errores son el mayor !ro*lema, entonces, cuando se hacenG
#n el siguiente gr0fico se muestra el n.mero de errores cometidos
en las fases de un !royecto t!ico"
/.%
".%
!.%
+34eros rela$i0os a los errores
co4e$idos duran$e las 1ases de
desarrollo de so1$2are
Dise&o
7rogramaci$n y
L$gica
Sinta1is
CO'O S# C)LCUL) #L COSTOG
'Sc" )ndrea Teresa Cu*illos +ohnen
#stos datos !uede ser enga&osos" Lo -ue im!orta es cuanto
cuesta arreglar una falla" J mientras m0s tiem!o una falla no es
detectada, m0s costoso es arreglar la falla"
Los errores realiados durante las !rimeras eta!as de un !royecto
tienden a ser m0s caras, a menos -ue sean descu*iertas
inmediatamente"
CO'O S# C)LCUL) #L COSTOG
'Sc" )ndrea Teresa Cu*illos +ohnen
Una falla en el dise&o hecha en las !rimeras eta!as del !royecto
!uede no ser detectada hasta des!us, durante las !rue*as del
sistema, y conlle%ara muchsimo tra*a/o" 7or contraste, un error
de sinta1is en un !rograma hecho casi al final del !royecto ser0
autom0ticamente detectado en la !rimera com!ilaci$n y luego
f0cilmente corregido"
5.%
!.%
Cos$o rela$i0o de arre6lar
dis$in$os $i7os de 1allas
Dise&o
7rogramaci$n
L$gica, Sinta1is
CU'7LI#NDO LI'IT#S D# 8#CD)S
'Sc" )ndrea Teresa Cu*illos +ohnen
#l cum!liendo las fechas lmites siem!re ha sido un dolor de ca*ea en la
!roducci$n de software" 7or e/em!lo, las encuestas muestran consistentemente
-ue es el !eor !ro*lema -ue enfrentan los gestores de !royectos"
#l !ro*lema se relaciona con la dificultad de !redecir el tiem!o -ue durar0 el
desarrollo"
#s una e1!eriencia muy com.n -ue un !royecto de software se atrase y se !ase
del !resu!uesto, desilusionando al cliente y causando deses!eraci$n entre el
e-ui!o de tra*a/o"
La e%idencia sugiere -ue el @=: de los !royectos e1ceden sus !resu!uestos
iniciales y cerca del <=: son com!letados tardamente"
#n la dcada de los K=s, el Sistema O!erati%o OS ?@= de I6', se atras$ m0s de
un a&o, y las com!utadoras es!era*an en los de!$sitos !ara ser entregadas"
#l Sistema O!erati%o de 'icrosoft NT tam*in tu%o el retraso de un a&o"
R#NDI'I#NTO D#L SO8T4)R#
'Sc" )ndrea Teresa Cu*illos +ohnen
) %eces llamado eficiencia" #sta terminologa data de los a&os cuando
el costo y la %elocidad de hardware significa*an -ue cada esfuero era
!ara usar el hardware 3!rimordialmente la memoria y el !rocesador5"
Doy en da hay m0s nfasis en cum!lir con los re-uerimientos de los
usuarios" 'uy a menudo estamos !reocu!ados de,
Lue un sistema interacti%o res!onda dentro de un rango de tiem!o raona*le"
Un /uego corra suficientemente r0!ido !ara -ue la animaci$n sea sua%e"
Un tra*a/o !or lotes 3*atch5 no conlle%e >9 horas cuando de*e conlle%arse en >"
#l !ro*lema del r0!ido tiem!o de e/ecuci$n y !oca utiliaci$n de
memoria es -ue son muy contradictorios" Un e/em!lo de ello es el
siguiente, Considere un !rograma -ue calcule el im!uesto" Se
lle%ara a ca*o un c0lculo, -ue in%olucre relati%amente instrucciones
lentas de m0-uinas, o se !odra utiliar una *.s-ueda en ta*las, -ue
in%olucrara relati%amente una instrucci$n de ndices r0!ida" #l
!rimer caso es !e-ue&o !ero lento, y el segundo es r0!ido !ero
grande" 7or ello, generalmente de*emos %er cuales son los
re-uerimientos de desem!e&o de dicho software"
7ORT)6ILID)D
'Sc" )ndrea Teresa Cu*illos +ohnen
#l sue&o de la !orta*ilidad siem!re ha sido el de !oder transferir
el software de una com!utadora a otra con el mnimo esfuero"
Con el ad%enimiento de lengua/es de alto ni%el y el
esta*lecimiento de est0ndares internacionales, se %e un !ros!ecto
*rillante !ara una com!leta !orta*ilidad de las a!licaciones"
La realidad es -ue la fuera de los mercados dominan la
situaci$n" Un !ro%eedor *usca atraer a un consumidor ofreciendo
me/ores facilidades -ue !ro%een los lengua/es est0ndares"
T!icamente, estos disminuyen el tiem!o de desarrollo" Un
e/em!lo es un e1$tico archi%o de control de acceso" Una %e -ue el
usuario ha com!rado el sistema, el consumidor es de!endiendo de
usar facilidades es!eciales y es confiado en el !ro%eedor !ara el
desarrollo de otros e-ui!os -ue son com!ati*les"
La contradicci$n es -ue cada usuario esta amarrado a un
!ro%eedor en !articular"
')NT#NI'I#NTO
'Sc" )ndrea Teresa Cu*illos +ohnen
#l mantenimiento es el trmino utiliado !or cual-uier esfuero
-ue es !uesto a un software des!us de -ue ha sido escrito y
!uesto en o!eraci$n" #1isten dos ti!os !rinci!ales,
'antenimiento de remedio, es el tiem!o em!leado corrigiendo fallas de
software"
'antenimiento ada!tati%o, modificaci$n del software de*ido a -ue las
necesidades del usuario han cam*iado o !or-ue el sistema o!erati%o o
lengua/e han cam*iado"
#l mantenimiento de remedio es una consecuencia de !rue*as
inadecuadas"
#s difcil !redecir el uso futuro del software, as -ue el
mantenimiento ada!tati%o rara %e se e%ita"
')NT#NI'I#NTO
'Sc" )ndrea Teresa Cu*illos +ohnen
Una idea de lo -ue es llamado Fmolestia de mantenimientoH !uede
ser a!reciada en el siguiente gr0fico, donde muestra datos t!icos
del tiem!o utiliado en las diferentes acti%idades del desarrollo de
software"
%
5%
%
/%
"%
"%
8%
Cos$os rela$i0os en las e$a7as de
desarrollo de so1$2are
!rue*as al sistema
!rue*asde unidad
codificaci$n
dise&o
re-uerimientos
es!ecificaci$n
mantenimiento
')NT#NI'I#NTO
'Sc" )ndrea Teresa Cu*illos +ohnen
#n un !royecto como ste, el esfuero de mantenimiento es
claramente a*rumador" No es inusual -ue las organiaciones -ue
utilian sistemas *ien esta*lecidos gasten tres cuartos del tiem!o de
su !rogramaci$n en mantenimiento"
'undialmente, hay <= *illones de lneas de Co*ol en uso"
#n los #stados Unidos, 9: del MN7 es in%ertido en el mantenimiento de
software
#n Inglaterra, cerca de ;>,< millones de d$lares son gastados anualmente en el
mantenimiento de software"
Los millones de lneas de c$digo escritas en los !rogramas en lo -ue la
gente considera sistemas o*soletos 3como Co*ol5 constituyen lo -ue se
conoce como sistemas legacy" #stos son sistemas de software -ue
tienen m0s de ?= a&os, !ero son utiliados en las organiaciones" Son
usualmente, !o*remente documentadas, tal %e !or -ue desde el
!rinci!io no ha*a documentaci$n o !or-ue la documentaci$n es
inser%i*le de*ido a -ue no se ha actualiado cuando han ha*ido
cam*ios"
')NT#NI'I#NTO
'Sc" )ndrea Teresa Cu*illos +ohnen
Los sistemas legacy han sido escritos utiliando la e1!eriencia en
herramientas y mtodos -ue no e1isten hoy en da" 7or estas
raones, es caro actualiarlas" Igualmente, sera caro
reescri*irlas desde cero utiliando lengua/es y mtodos
contem!or0neos" 7or lo -ue los sistemas legacy son una gran
res!onsa*ilidad en las organiaciones"
Otro gran e/em!lo de los !ro*lemas de mantenimiento fue el error
del milenio" 'uchos software fueron reescritos cuando la
memoria era !oca y cara" Las fechas eran almacenadas
econ$micamente, utiliando s$lo los dos .ltimos dgitos del a&o,
as -ue, !or e/em!lo el a&o >AAA era almacenado como AA"
Des!us del a&o 9===, una com!utadora !odra tratar el %alor de
la fecha AA como >AAA, 9=AA o incluso ==AA" #l !ro*lema es -ue el
significado de la fecha difiere de un !rograma a otro, de!endiendo
en c$mo el !rogramador decidi$ dise&ar el software"
')NT#NI'I#NTO
'Sc" )ndrea Teresa Cu*illos +ohnen
La .nica forma !ara asegurarse -ue un !rograma funciona*a
correctamente des!us del a&o 9=== era e1aminarlo lnea !or
lnea !ara *uscar alguna referencia a una fecha y luego arreglar
el c$digo a!ro!iadamente"
#sto fue un h0*il y costoso !roceso inmenso de consumo de
tiem!o" La tarea re-uera conocimiento de un lengua/e de
!rogramaci$n o*soleto y un entendimiento de la l$gica del
!rograma" Las !enalidades de no actualiar el software
correctamente eran !otencialmente inmensas, ya -ue las
organiaciones modernas de!enden totalmente de los sistemas
com!utacionales !ara casi todas sus acti%idades"
CON8I)6ILID)D
'Sc" )ndrea Teresa Cu*illos +ohnen
Se dice -ue un software es confia*le si funciona, y continua
funcionando, sin -ue se cuelgue y sin -ue haga algo no desea*le" Se
dice -ue un sistema tiene un *ug o una falla si este no funciona
a!ro!iadamente" Se !resume -ue el !rogramador sa*ia lo -ue era
re-uerido y -ue el com!ortamiento no deseado no fue intencional"
#s com.n ha*lar de *ugs en software, !ero es tam*in .til definir
algunos trminos adicionales,
#rror, una mala decisi$n hecha durante el desarrollo de software
8alla, un !ro*lema -ue !ueda causar -ue el software se a!arte de su
com!ortamiento !re%isto
8racaso, un e%ento, cuando un software se a!arta de su com!ortamiento !re%isto
#n esta terminologa una falla es lo mismo -ue un *ug" Un error es
una e-ui%ocaci$n cometida !or un humano durante una de las eta!as
de desarrollo de software" Un error causa una o mas fallas dentro del
software, su es!ecificaci$n o documentaci$n" Sucesi%amente, una
falla !uede causar uno o mas fracasos" Los fracasos ocurrir0n
mientras el sistema este siendo !ro*ado y des!us de -ue lo estn
utiliando"
CON8I)6ILID)D
'Sc" )ndrea Teresa Cu*illos +ohnen
Los fracasos son los sntomas -ue los usuarios e1!erimentan,
mientras -ue las fallas son el !ro*lema -ue tratan los
desarrolladores" Una falla !uede -ue nunca se manifieste !or-ue
las condiciones -ue a causan -ue el software falle nunca surgen"
) la in%ersa, una sola falla !uede causar fracasos diferentes y
frecuentes"
#l !ro*lema de remo%er los *ugs y tratar de asegurar la
confia*ilidad se llama %erificaci$n"
#l an0lisis de re-uerimientos se !reocu!a en esta*lecer
claramente lo -ue el usuario -uiere" Ialidaci$n es una colecci$n
de tcnicas -ue intentan asegurar -ue el software cum!la con los
re-uerimientos" 7or otro lado, la confia*ilidad se refiere a un
!ro*lema tcnico en donde hay muchas fallas en el software"
CON8I)6ILID)D
'Sc" )ndrea Teresa Cu*illos +ohnen
)ctualmente, las !rue*as son una de las tcnicas !rinci!ales !ara
tratar de asegurar -ue el software funciona correctamente" #n las
!rue*as, el software es e/ecutado y su com!ortamiento %alidado
contra lo -ue es es!erado -ue suceda"
#l reconocimiento de -ue no se !uede !roducir software sin fallas,
aun-ue lo tratemos, ha lle%ado al conce!to de software
suficientemente *ueno" #sto significa -ue el desarrollador e%al.a -u
ni%el de fallas es ace!ta*le !ara un !royecto en !articular y !u*lica el
software cuando ese ni%el es alcanado"
7or ni%el nos referimos al n.mero y se%eridad de las fallas" 7ara
algunas a!licaciones, tales como un !rocesador de te1tos, m0s fallas
son ace!ta*les -ue en un sistema crtico"
7or otro lado, otra escuela de !ensamiento dice -ue s$lo !odemos ser
lo suficientemente cuidadosos, !odemos crear software sin defectos, es
decir con cero fallas"
CON8I)6ILID)D
'Sc" )ndrea Teresa Cu*illos +ohnen
Una forma de medir la magnitud del !ro*lema de confia*ilidad es
o*ser%ar la siguiente serie de cuentos con morale/a,
#l Sistema O!erati%o de I6' llamado OS ?@= tena al menos >,===
fallas cada %e -ue era relanado" #sto era de*ido a -ue cada %e -ue
la siguiente entrega era !u*licada, a!arecan >,=== errores
encontrados en la !u*licaci$n anterior"
Como !arte del !rograma es!acial de #stados Unidos, un %ehculo no
tri!ulado fue en%iado !ara %er al !laneta Ienus" ) medio camino de
su %ia/e se corrigi$ el curso de direcci$n" #n una com!utadora se
e/ecut$ la siguiente sentencia, escrita en el lengua/e 8ortran, DO ? I N
>"?
#ste es una sentencia %0lida en 8ortran" La intenci$n del
!rogramador era -ue fuese una sentencia re!etiti%a, la cual es
introducida !or la !ala*ra DO" Sin em*argo, la sentencia DO de*e
incluir una coma en %e del !unto -ue se utili$" #l uso del !unto hace
la sentencia una asignaci$n, asignando el %alor >"? a la %aria*le
nom*rada DO?I"
CON8I)6ILID)D
'Sc" )ndrea Teresa Cu*illos +ohnen
#l sonda es!acial dio un giro a una direcci$n e-ui%ocada y /am0s fue
%ista otra %e" )s es como !e-ue&os errores conlle%an grandes
consecuencias" Note -ue este !rograma fue com!ilado e1itosamente
sin errores, lo cual ilustra como una notaci$n del lengua/e !uede ser
im!ortante" Los *ugs !ueden estar sint0cticamente correctos !ero
incorrectos !ara el tra*a/o al -ue son re-ueridos" #l !rograma ha
sido minuciosamente !ro*ado, lo cual demuestra las limitaciones de
las tcnicas de !rue*as"
#n maro de >ABA, un error fue encontrado en el !rograma -ue ha*a
sido utiliado !ara dise&ar los sistemas de refrigeraci$n de los
reactores nucleares de los #stados Unidos" Cinco !lantas fueron
cerradas !or-ue su seguridad fue cuestiona*le"
)lgunos a&os atr0s, el sistema de los #stados Unidos -ue ad%erta
contra los misiles enemigos inform$ -ue los #stados Unidos esta*a
siendo atacado" Result$ ser una falsa alarma 3resultado de un error
en la com!utadora5" #sto no sucedi$ s$lo una %e, sino tres %eces en
el !eriodo de un a&o"
CON8I)6ILID)D
'Sc" )ndrea Teresa Cu*illos +ohnen
Lui0s la consecuencia m0s costosa de un fallo de software fue el
cho-ue O= segundos des!us del des!egue, del cohete es!acial
)riane < de la )gencia #s!acial #uro!ea en /unio de >AA@" La
!rdida se estim$ en ; <== millones, afortunadamente sin !rdida
de %idas"
#n >AAA, el sitio de e6ay, el sitio de su*astas en Internet no
estu%o dis!oni*le !or 99 horas" 'ientras los mercados
comenaron a dudar de -ue e6ay !odra mantener
adecuadamente su tecnologa, las acciones cayeron en ; @ *illones
de d$lares"
Los incidentes relacionados anteriormente son s$lo algunos de
una larga lista de !ro*lemas costosos causada !or errores de
software en los .ltimos a&os, y no hay indicios de -ue la situaci$n
me/ore"
CON8I)6ILID)D
'Sc" )ndrea Teresa Cu*illos +ohnen
PC$mo afecta la confia*ilidad del software com!arada con la
confia*ilidad de hardwareG #studios muestran -ue cuando tanto
el hardware como el software se encuentran en ni%eles
com!ara*les de desarrollo, el hardware falla tres %eces m0s -ue el
software" )un-ue esto es moti%o de ri%alidad amistosa entre los
dise&adores de software y hardware, no !uede ha*er moti%os !ara
la com!lacencia entre la gente de software"
#1isten a!licaciones -ue e1igen alta confia*lidad" #stos son
conocidos como sistemas de seguridad crticos" #/em!los de stas
son,
Control de %uelo de una aerona%e
Control de los !rocesos crticos, como una central elctrica
Control de los e-ui!os mdicos
INT#R)CCION DO'6R#C')LUIN)
'Sc" )ndrea Teresa Cu*illos +ohnen
La interfa de usuario es lo -ue un humano de un !a-uete de
software %e cuando necesita utiliar el software" #1isten muchos
e/em!los de sistemas com!utacionales -ue no son f0ciles de usar"
'ucha gente tiene dificultad !ara gra*ar un %ideo en el ICR"
)lgunas !ersonas tienen dificultad en diferir una llamada
telef$nica a otro usuario dentro de la organiaci$n"
#n a&os recientes, muchas interfaces se han %uelto gr0ficas -ue
utilian %entanas con *otones y *arras de des!laamiento, todo
esto con dis!ositi%os como mouse y cursores" 'ucha gente %io
esto como un !aso im!ortante en me/orar la interfa de usuario,
!ero sigue siendo un !ro*lema dise&ar una interfa de usuario
-ue es sim!le y f0cil de usar"
CRISIS D#L SO8T4)R#
'Sc" )ndrea Teresa Cu*illos +ohnen
)-u unos !ro*lemas con el software,
8alla en hacer lo -ue un usuario -uiere -ue haga
#s caro
No es lo suficientemente r0!ido
No !uede ser transferido f0cilmente a otra m0-uina
Su mantenimiento es caro
No es confia*le
Usualmente se tarda
No siem!re es f0cil de utiliar
CRISIS D#L SO8T4)R#
'Sc" )ndrea Teresa Cu*illos +ohnen
O*/eti%os com!lementarios y conflicti%os en un !royecto de
software
80cil de
mantener
Costo de
!roducci$n
Cum!limiento
de fechas
lmites
Desem!e&o
Confia*ilidad
O*/eti%os en conflicto
O*/eti%os com!lementarios
#L R#'#DIO 2 INM#NI#RI) D#L S4
'Sc" )ndrea Teresa Cu*illos +ohnen
Se reconoce -ue e1isten serios !ro*lemas !ara -ue el desarrollo de
software sea e1itoso" Un gran n.mero de ideas se han sugerido
!ara me/orar esta situaci$n" #stos mtodos y herramientas son
colecti%amente conocidas como ingeniera del software" )lgunas
de sus ideas !rinci!ales son,
'ayor nfasis en lle%ar a ca*o sistem0ticamente todas las eta!as de
desarrollo"
)sistencia com!utacional !ara el desarrollo de software 2 herramientas de
software
Qnfasis en descu*rir -ue es lo -ue los usuarios desean 3ingeniera de
re-uerimientos y %alidaci$n5
Demostrar una %ersi$n del sistema 3!rototi!o5
Uso de nue%os, e inno%adores lengua/es de !rogramaci$n
'ayor nfasis en tratar de asegurar -ue el software es li*re de fallas
3%erificaci$n5"
Desarrollo incremental, donde un !royecto !rocede de !e-ue&os !asos
mane/a*les"

También podría gustarte