Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
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 />
✐