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.

Complejidad y Tecnologías <strong>de</strong> la Información5. Métricas <strong>de</strong>l tamaño <strong>de</strong>l programaParece claro que los programas muy gran<strong>de</strong>s son complejos, aunque sólo sea porla gran cantidad <strong>de</strong> información que hay que consi<strong>de</strong>rar para po<strong>de</strong>rlos <strong>en</strong>t<strong>en</strong><strong>de</strong>r.Según esta apreciación, una primera medida <strong>de</strong> la complejidad <strong>de</strong>l programav<strong>en</strong>drá dada por su tamaño. El problema está <strong>en</strong> <strong>de</strong>finir qué es el tamaño <strong>de</strong> unprograma. O dicho <strong>de</strong> otra forma, qué es lo que hace que un programa seaconsi<strong>de</strong>rado como gran<strong>de</strong> o pequeño. Según sea esta <strong>de</strong>finición, t<strong>en</strong>emos lassigui<strong>en</strong>tes métricas:a. Número <strong>de</strong> líneas.b. Métricas <strong>de</strong> Halstead.Ambas son fáciles <strong>de</strong> calcular y ampliam<strong>en</strong>te utilizadas. La primera <strong>de</strong>staca por sus<strong>en</strong>cillez. El segundo apartado incluye <strong>en</strong> realidad varias métricas, cada una <strong>de</strong>ellas c<strong>en</strong>trada <strong>en</strong> difer<strong>en</strong>tes aspectos <strong>de</strong> la complejidad software.5.1 Número <strong>de</strong> líneasPo<strong>de</strong>mos suponer que, <strong>en</strong> igualdad <strong>de</strong> otros factores, es más complejo el programamás gran<strong>de</strong>. La suposición implícita que sust<strong>en</strong>ta esta afirmación es que un objetoes más complejo cuando manejamos más información para <strong>de</strong>scribirlo. Y el tamaño<strong>de</strong>l programa está <strong>en</strong> relación directa con la cantidad <strong>de</strong> información que lo<strong>de</strong>scribe (el código <strong>de</strong> un programa es precisam<strong>en</strong>te información <strong>de</strong>tallada <strong>de</strong>cómo se ejecuta).Contar la cantidad <strong>de</strong> líneas <strong>de</strong> código <strong>de</strong> un programa es una forma s<strong>en</strong>cilla <strong>de</strong> medirsu tamaño. El problema principal <strong>de</strong> esta s<strong>en</strong>cilla métrica estriba <strong>en</strong> <strong>de</strong>cidir qué consi<strong>de</strong>ramoscomo línea. Según sea la <strong>de</strong>cisión, estaremos midi<strong>en</strong>do cosas difer<strong>en</strong>tes:a. En primer lugar, el mismo programa dará difer<strong>en</strong>te medida según el l<strong>en</strong>guaje<strong>en</strong> que sea codificado (aunque esto tal vez esté <strong>en</strong> relación con una mayor om<strong>en</strong>or complejidad "intrínseca" <strong>de</strong>l l<strong>en</strong>guaje). Así, al comparar tamaños <strong>de</strong>programas escritos <strong>en</strong> difer<strong>en</strong>tes l<strong>en</strong>guajes, no sólo estamos comparando lacomplejidad <strong>de</strong> los programas, sino también la <strong>de</strong> los l<strong>en</strong>guajes utilizados. Poreso, para quedarnos con la compon<strong>en</strong>te <strong>de</strong>bida al propio programa, se hac<strong>en</strong>ecesario realizar comparaciones para el mismo l<strong>en</strong>guaje.b. En segundo, t<strong>en</strong>emos las líneas <strong>de</strong> com<strong>en</strong>tario. Aunque puedan añadir máscomplejidad al aum<strong>en</strong>tar la cantidad <strong>de</strong> información que hay que asimilar,también simplifican la compr<strong>en</strong>sión <strong>de</strong>l código. Por tanto, si las contamos, nosestaremos c<strong>en</strong>trando más <strong>en</strong> la cantidad <strong>de</strong> información total. Si no lascontamos, nos c<strong>en</strong>traremos sin embargo <strong>en</strong> la aportada sólo por el código.272

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

Saved successfully!

Ooh no, something went wrong!