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 25 — #63<br />
✐<br />
1.9. Análisis y diseño<br />
1.9.4. Fase 3: Construir el núcleo<br />
Esta es la conversión inicial desde el diseño rudo al cuerpo del código compilable<br />
y ejecutable que se puede probar, y que aprobará y desaprobará su arquitectura. No<br />
es un proceso <strong>en</strong> un solo paso, más bi<strong>en</strong> es el principio de una serie de pasos que<br />
iterativam<strong>en</strong>te construirán el sistema, como verá <strong>en</strong> la fase 4.<br />
Su objetivo es <strong>en</strong>contrar el núcleo de la arquitectura de su sistema que hay que<br />
implem<strong>en</strong>tar para g<strong>en</strong>erar un sistema funcional, sin importar lo incompleto que esté<br />
el sistema <strong>en</strong> la pasada inicial. Está creando una estructura que se puede construir<br />
con más iteraciones. También está llevando a cabo la primera de muchas integraciones<br />
del sistema y pruebas, y dando a los cli<strong>en</strong>tes realim<strong>en</strong>tación sobre cómo serán<br />
y cómo progresan sus sistemas. Idealm<strong>en</strong>te, también expone algunos de los riesgos<br />
críticos. Probablem<strong>en</strong>te descubrirá cambios y mejoras que se pued<strong>en</strong> hacer <strong>en</strong><br />
la arquitectura original - cosas que podría no haber apr<strong>en</strong>dido sin implem<strong>en</strong>tar el<br />
sistema.<br />
Parte de la construcción del sistema es la dosis de realidad que se obti<strong>en</strong>e al probar<br />
su análisis de requisitos y su especificación del sistema (existe de cualquier forma).<br />
Asegúrese de que sus pruebas verifican los requisitos y los casos de uso. Cuando<br />
el núcleo de su sistema sea estable, estará preparado para progresar y añadir más<br />
funcionalidad.<br />
1.9.5. Fase 4: Iterar los casos de uso<br />
Una vez que la estructura del núcleo está funcionando, cada conjunto de características<br />
que añade es un pequeño proyecto <strong>en</strong> sí mismo. Añada una colección de<br />
características durante cada iteración, un periodo razonablem<strong>en</strong>te corto de desarrollo.<br />
¿Cómo de grande es una iteración Idealm<strong>en</strong>te, cada iteración dura unas tres semanas<br />
(puede cambiar dep<strong>en</strong>di<strong>en</strong>do del l<strong>en</strong>guaje de implem<strong>en</strong>tación). Al final de<br />
ese periodo, t<strong>en</strong>drá un sistema probado e integrado con más funcionalidades de las<br />
que t<strong>en</strong>ía antes. Pero lo que es particularm<strong>en</strong>te interesante son las bases de la iteración:<br />
un único caso de uso. Cada caso de uso es un paquete de funcionalidades<br />
relacionadas que se puede construir <strong>en</strong> su sistema de una vez, a lo largo de una iteración.<br />
No sólo le da una mejor idea de qué alcance debería t<strong>en</strong>er, también le da más<br />
valor a la idea un caso de uso, ya que el concepto no se descarta después del análisis<br />
y diseño, sino que es una unidad fundam<strong>en</strong>tal de desarrollo durante el proceso de<br />
construcción de software.<br />
Se deja de iterar cuando se consigue la funcionalidad deseada o se acaba el plazo<br />
impuesto y el cli<strong>en</strong>te está satisfecho con la versión actual. (Recuerde, el software es<br />
una subscripción de negocios). Como el proceso es iterativo, ti<strong>en</strong>e muchas oportunidades<br />
para <strong>en</strong>viar un producto <strong>en</strong> lugar de un simple punto final; los proyectos de<br />
software libre trabajan exclusivam<strong>en</strong>te <strong>en</strong> un <strong>en</strong>torno iterativo con alta realim<strong>en</strong>tación,<br />
que es precisam<strong>en</strong>te la clave de su éxito.<br />
Un proceso de desarrollo iterativo es valioso por muchas razones. Puede mostrar<br />
y resolver pronto riesgos críticos, los cli<strong>en</strong>tes ti<strong>en</strong><strong>en</strong> abundantes oportunidades<br />
de cambiar sus opiniones, la satisfacción del programador es más alta, y el proyecto<br />
puede dirigirse con más precisión. Pero un b<strong>en</strong>eficio adicional importante es la realim<strong>en</strong>tación<br />
para los cli<strong>en</strong>tes, los cuales pued<strong>en</strong> ver <strong>en</strong> el estado actual del producto<br />
exactam<strong>en</strong>te donde se <strong>en</strong>cu<strong>en</strong>tra todo. Esto puede reducir o eliminar la necesidad de<br />
abrumadoras reuniones de control y aum<strong>en</strong>tar la confianza y el apoyo de los cli<strong>en</strong>tes.<br />
25<br />
✐<br />
✐<br />
✐<br />
✐