12.07.2015 Views

Libro en PDF - DIT - Universidad Politécnica de Madrid

Libro en PDF - DIT - Universidad Politécnica de Madrid

Libro en PDF - DIT - Universidad Politécnica de Madrid

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Medidas <strong>de</strong> la complejidad <strong>de</strong>l softwareproductos sin garantía, <strong>en</strong> el s<strong>en</strong>tido <strong>de</strong> que es común la v<strong>en</strong>ta "tal cual", singarantizar un <strong>de</strong>terminado comportami<strong>en</strong>to <strong>de</strong>l sistema informático. Los estudiossobre fiabilidad y verificación constituy<strong>en</strong> un campo don<strong>de</strong> la investigación esmuy activa, aunque hasta el mom<strong>en</strong>to no ha <strong>de</strong>parado resultados espectaculares(véase el capítulo sobre el <strong>de</strong>sarrollo <strong>de</strong>l software).2. Estudio <strong>de</strong>l software <strong>de</strong>s<strong>de</strong> el marco HxIxO = IOUna vez que hemos llegado a la conclusión <strong>de</strong> que el software es efectivam<strong>en</strong>te algobastante complejo, po<strong>de</strong>mos analizarlo d<strong>en</strong>tro <strong>de</strong>l marco conceptual HxIxO -> IO,propuesto por Sáez Vacas. Para ello, com<strong>en</strong>cemos por id<strong>en</strong>tificar cada uno <strong>de</strong> loselem<strong>en</strong>tos <strong>de</strong> este marco.De una forma s<strong>en</strong>cilla, podremos id<strong>en</strong>tificar el objeto (O) como el propio software,tal y como estamos acostumbrados a <strong>en</strong>t<strong>en</strong><strong>de</strong>rlo. Eso es, un programa dado, queuna vez ejecutado <strong>de</strong>termina el comportami<strong>en</strong>to <strong>de</strong> un ord<strong>en</strong>ador, y que estáescrito <strong>en</strong> algún l<strong>en</strong>guaje <strong>de</strong> programación. Consi<strong>de</strong>raremos como objeto el códigofu<strong>en</strong>te y no el código objeto porque este primero es con el que se <strong>en</strong>fr<strong>en</strong>ta elprogramador (o cualquier otra persona que participa <strong>en</strong> el diseño, <strong>de</strong>sarrollo omant<strong>en</strong>imi<strong>en</strong>to), y <strong>de</strong>l que <strong>de</strong>p<strong>en</strong><strong>de</strong> <strong>en</strong> último extremo el funcionami<strong>en</strong>to <strong>de</strong>lprograma. Estamos asumi<strong>en</strong>do implícitam<strong>en</strong>te que la herrami<strong>en</strong>ta que utilizamospara convertirlo <strong>en</strong> ejecutable (normalm<strong>en</strong>te un compilador o un intérprete)funciona a<strong>de</strong>cuadam<strong>en</strong>te, sin errores y sin efectos "extraños". Aunque esto nosiempre es cierto, no nos planteará <strong>de</strong>masiados problemas, ya que la herrami<strong>en</strong>tano es más que otro objeto software, al que podríamos aplicar el mismo tratami<strong>en</strong>toque vamos a aplicar a nuestro programa.Si queremos <strong>en</strong>marcar este objeto d<strong>en</strong>tro <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> tres niveles <strong>de</strong> complejidad, not<strong>en</strong>dremos problemas <strong>en</strong> colocarlo <strong>en</strong> el nivel más bajo, don<strong>de</strong> nos ocupamos <strong>de</strong> lacomplejidad <strong>de</strong> los elem<strong>en</strong>tos aislados (ver capítulo sobre marcos conceptuales).El H <strong>de</strong> nuestra fórmula pue<strong>de</strong> ser asociado a toda persona que participe <strong>en</strong> el ciclo<strong>de</strong> vida <strong>de</strong> un programa, <strong>de</strong>s<strong>de</strong> que se especifica su funcionalidad, hasta que seretira <strong>de</strong> la vida activa. Cada una <strong>de</strong> ellas t<strong>en</strong>drá sus intereses y motivaciones, ybuscará un aspecto difer<strong>en</strong>te d<strong>en</strong>tro <strong>de</strong>l objeto consi<strong>de</strong>rado. Así, al personal<strong>en</strong>cargado <strong>de</strong>l mant<strong>en</strong>imi<strong>en</strong>to y modificación le interesará que no haya dificultad<strong>en</strong> la compr<strong>en</strong>sión y sí facilidad para cambiar partes <strong>de</strong>l código. El codificador estaráinteresado <strong>en</strong> la capacidad expresiva <strong>de</strong> las herrami<strong>en</strong>tas que use al programar, y<strong>en</strong> conseguir con el m<strong>en</strong>or esfuerzo posible una codificación efici<strong>en</strong>te y sin errores.Y así, cada uno <strong>de</strong> ellos se c<strong>en</strong>trará <strong>en</strong> unas características difer<strong>en</strong>tes <strong>de</strong>l programa.Un caso especial aparece cuando id<strong>en</strong>tificamos H con el usuario <strong>de</strong>l programa.Aquí O no es propiam<strong>en</strong>te el código fu<strong>en</strong>te, sino el programa <strong>en</strong> ejecución, y sobretodo su interfaz con la persona que lo usa. En este caso particular (y muy267

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!