13.01.2015 Views

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

✐<br />

✐<br />

✐<br />

“Volum<strong>en</strong>1” — 2012/1/12 — 13:52 — page 21 — #59<br />

✐<br />

1.9. Análisis y diseño<br />

Invernadero<br />

Mant<strong>en</strong>er<br />

temperatura<br />

Jardinero<br />

Figura 1.11: Un ejemplo de caso de uso<br />

Los casos de uso produc<strong>en</strong> las especificaciones de requisitos determinando todas<br />

las interacciones que el usuario puede t<strong>en</strong>er con el sistema. Int<strong>en</strong>te descubrir una<br />

serie completa de casos de uso para su sistema, y una vez que lo haya hecho t<strong>en</strong>drá<br />

lo es<strong>en</strong>cial sobre lo que se supone que hace su sistema. Lo bu<strong>en</strong>o de c<strong>en</strong>trarse <strong>en</strong><br />

casos de uso es que siempre le lleva de vuelta a lo es<strong>en</strong>cial y le manti<strong>en</strong>e alejado<br />

de los asuntos no críticos para conseguir terminar el trabajo. Es decir, si ti<strong>en</strong>e una<br />

serie completa de casos de uso puede describir su sistema y pasar a la sigui<strong>en</strong>te fase.<br />

Probablem<strong>en</strong>te no lo hará todo perfectam<strong>en</strong>te <strong>en</strong> el primer int<strong>en</strong>to, pero no pasa<br />

nada. Todo le será revelado <strong>en</strong> su mom<strong>en</strong>to, y si pide una especificación del sistema<br />

perfecta <strong>en</strong> este punto se atascará.<br />

Si se ha atascado, puede reactivar esta fase usando una herrami<strong>en</strong>ta tosca de<br />

aproximación: describir el sistema <strong>en</strong> pocos párrafos y después buscar sustantivos y<br />

verbos. Los nombres pued<strong>en</strong> sugerir actores, contexto del caso de uso (ej. «lobby»),<br />

o artefactos manipulados <strong>en</strong> el caso de uso. Los verbos pued<strong>en</strong> sugerir interacción<br />

<strong>en</strong>tre actores y casos de uso, y pasos específicos d<strong>en</strong>tro del caso de uso. Además<br />

descubrirá que nombres y verbos produc<strong>en</strong> objetos y m<strong>en</strong>sajes durante la fase de<br />

diseño (y observe que los casos de uso describ<strong>en</strong> interacciones <strong>en</strong>tre subsistemas, así<br />

que la técnica «nombre y verbo» sólo se puede usar como una herrami<strong>en</strong>ta de lluvia<br />

de ideas puesto que no g<strong>en</strong>era casos de uso) 10 .<br />

El límite <strong>en</strong>tre un caso de uso y un actor puede mostrar la exist<strong>en</strong>cia de una<br />

interfaz de usuario, pero no la define. Si le interesa el proceso de definición y creación<br />

de interfaces de usuario, vea Software for Use de Larry Constantine y Lucy Lockwood,<br />

(Addison Wesley Longman, 1999) o vaya a www.ForUse.com.<br />

Aunque es un arte oscuro, <strong>en</strong> este punto es importante hacer algún tipo de estimación<br />

de tiempo básica. Ahora ti<strong>en</strong>e una visión g<strong>en</strong>eral de qué está construy<strong>en</strong>do<br />

así que probablem<strong>en</strong>te será capaz de t<strong>en</strong>er alguna idea de cuánto tiempo llevará.<br />

Aquí <strong>en</strong>tran <strong>en</strong> juego muchos factores. Si hace una estimación a largo plazo <strong>en</strong>tonces<br />

la compañía puede decidir no construirlo (y usar sus recursos <strong>en</strong> algo más razonable<br />

-eso es bu<strong>en</strong>o). O un ger<strong>en</strong>te puede t<strong>en</strong>er ya decidido cuánto puede durar un proyecto<br />

e int<strong>en</strong>tar influir <strong>en</strong> su estimación. Pero es mejor t<strong>en</strong>er una estimación honesta<br />

desde el principio y afrontar pronto las decisiones difíciles. Ha habido un montón<br />

de int<strong>en</strong>tos de crear técnicas de estimación precisas (como técnicas para predecir la<br />

bolsa), pero probablem<strong>en</strong>te la mejor aproximación es confiar <strong>en</strong> su experi<strong>en</strong>cia e intuición.<br />

Utilice su instinto para predecir cuánto tiempo llevará t<strong>en</strong>erlo terminado,<br />

<strong>en</strong>tonces multiplique por dos y añada un 10%. Su instinto visceral probablem<strong>en</strong>te<br />

sea correcto; puede conseguir algo contando con este tiempo. El «doble» le permitirá<br />

convertirlo <strong>en</strong> algo dec<strong>en</strong>te, y el 10% es para tratar los refinami<strong>en</strong>tos y detalles fi-<br />

10 Puede <strong>en</strong>contar más información sobre casos de uso <strong>en</strong> Applying Use Cases de Schneider & Winters<br />

(Addison-Wesley 1998) y Use Case Driv<strong>en</strong> Object Modeling with UML de Ros<strong>en</strong>berg (Addison-Wesley 1999).<br />

21<br />

✐<br />

✐<br />

✐<br />

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

Saved successfully!

Ooh no, something went wrong!