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 20 — #58<br />
✐<br />
Capítulo 1. Introducción a los Objetos<br />
3. «¿Cómo puede este actor hacer eso con este sistema»<br />
4. «¿Cómo podría algui<strong>en</strong> más hacer este trabajo si algui<strong>en</strong> más estuviera haciéndolo,<br />
o si el mismo actor tuviera un objetivo difer<strong>en</strong>te» (para revelar variaciones).<br />
5. «¿Qué problemas podrían ocurrir mi<strong>en</strong>tras hace esto con el sistema» (para<br />
revelar excepciones).<br />
Si está diseñando un cajero automático, por ejemplo, el caso de uso para un aspecto<br />
particular de la funcionalidad del sistema es poder describir qué hace el contestador<br />
automático <strong>en</strong> todas las situaciones posibles. Cada una de esas «situaciones»<br />
se d<strong>en</strong>omina esc<strong>en</strong>ario, y se puede considerar que un caso de uso es una colección<br />
de esc<strong>en</strong>arios. Puede p<strong>en</strong>sar <strong>en</strong> un esc<strong>en</strong>ario como una pregunta que comi<strong>en</strong>za con:<br />
«¿Qué hace el sistema si...» Por ejemplo, «¿Qué hace el cajero automático si un cli<strong>en</strong>te<br />
ingresa un cheque d<strong>en</strong>tro de las 24 horas y no hay sufici<strong>en</strong>te <strong>en</strong> la cu<strong>en</strong>ta para<br />
proporcionar la nota para satisfacer el cargo»<br />
Los diagramas de caso de uso son int<strong>en</strong>cionadam<strong>en</strong>te simples para impedir que<br />
se atasque con los detalles de implem<strong>en</strong>tación del sistema demasiado pronto:<br />
Usos<br />
Hacer<br />
Depósito<br />
Retirar<br />
Fondos<br />
Banco<br />
Cajero<br />
Cli<strong>en</strong>te<br />
Pedir Balance<br />
de cu<strong>en</strong>ta<br />
Transferir<br />
<strong>en</strong>tre cu<strong>en</strong>tas<br />
Cajero<br />
automático<br />
Figura 1.10: Diagramas de casos de uso<br />
Cada monigote repres<strong>en</strong>ta un «actor», que típicam<strong>en</strong>te es un humano o algún<br />
otro tipo de ag<strong>en</strong>te libre. (Incluso puede ser otro sistema de computación, como es<br />
el caso del «ATM»). La caja repres<strong>en</strong>ta el límite del sistema. Las elipses repres<strong>en</strong>tan<br />
los casos de uso, los cuales son descripciones de trabajo válido que se puede llevar<br />
a cabo con el sistema. Las líneas <strong>en</strong>tre los actores y los casos de uso repres<strong>en</strong>tan las<br />
interacciones.<br />
No importa cómo está implem<strong>en</strong>tado realm<strong>en</strong>te el sistema, mi<strong>en</strong>tras se lo parezca<br />
al usuario.<br />
Un caso de uso no necesita ser terriblem<strong>en</strong>te complejo, incluso si el sistema subyac<strong>en</strong>te<br />
es complejo. Lo único que se persigue es mostrar el sistema tal como aparece<br />
ante el usuario. Por ejemplo:<br />
20<br />
✐<br />
✐<br />
✐<br />
✐