lunes, 7 de junio de 2010

Capítulo 6 - Creando el diseño físico

Antes de continuar, he de mencionar queel material exppuesto acá lo he ido investigando en un excelente libro de Microsoft llamado Analyzing Requirements and Defining Microsoft .NET Solutions Architectures, que es el texto de preparación para el examen Microsoft 70-300, afortunadamente en mi instituto lo tienen y he podido leerlo aunque fuese en inglés, en español no lo he visto.

-----------------

Capítulo 6 - Creando el diseño físico

La etapa de diseño físico es el último paso en la fase de planificación de el modelo de proceso de MSF. El equipo de proyecto procede al diseño físico después que todos los miembros asumen que ellos tienen la información suficiente desde el diseño lógico para comenzar con la etapa del diseño físico. En el diseño físico, el equipo aplica consideraciones técnicas y restricciones a los diseños conceptuales y lógicos. Porque el diseño físico evoluciona desde el diseño lógico y conceptual, su éxito depende de la certeza de los diseños previos.

El diseño físico es la tercera actividad en la etapa de planificación  del modelo de proceso del MSF. El diseño físico es el proceso que describe los componentes, servicios y tecnologías de la solución desde la perspectiva de los requerimientos de desarrollo. 

Mientras trabaja en el diseño físico, el equipo crea, basado en diseños previos, y refina la arquitectura de solución que ha sido creada hasta el momento.

Las entradas del diseño físico son los artefactos que han sido creados hasta el momento.

En la etapa de diseño físico, el equipo reduce la brecha entre el diseño lógico de la solución y la implementación por la definición de la solución en términos de detalles de implementación.

Al final del diseño físico, el equipo entrega especificaciones para un conjunto de componentes, ensamblados .NET, binarios y librerías enlazadas; detalles de la interfaz de usuario para la solución; El esquema de bases de datos; Objetos de bases de datos como Triggers, índices y procedimientos almacenados.

Espectro del diseño físico

En el diseño físico, el equipo de proyecto desarrolla las especificaciones de componente y topología de desarrollo con la cual el equipo trabajará para crear la solución.

El diseño físico no implica codificar, pero permite crear especificaciones detalladas para el desarrollo y determinar donde los componentes podrían ser ubicados.

Tampoco es implementación de tecnología, pero permite identificar las tecnologías que serían necesarias para desarrollar la aplicación.

Metas del diseño físico

Identificar las tecnologías apropiadas para el desarrollo.

Transformar el diseño lógico en modelos de diseño lógico.

Proveer una línea base para el proceso de desarrollo.

Definir cuando el hito del plan de proyecto  ha sido alcanzado.


Responsabilidades de los roles del equipo en esta etapa

El administrador del producto, gestionará las expectativas del cliente y creará el plan de comunicación, además preparará la implementación de la solución.

El administrador del programa, gestionará el proceso de diseño físico y creará la especificación funcional, además definirá e plan de proyecto, incluyendo recursos, agendas y riesgos.

Los desarrolladores diseñarán los entregables físicos: modelos de diseño, planes de desarrollo, agendas y estimados de desarrollo, además evaluarán las tecnologías, construirán prototipos (de ser necesario) y prepararán los entornos de desarrollo.

Los testeadores, evaluarán y validarán la funcionalidad y consistencia de los diseós físicos contra los escenarios de uso. Además, definirán planes detallados de testing y prepararán los entornos de testing y aseguramiento de calidad.

User experience, evaluará diseños físicos contra requerimientos de usuario y diseñará soluciones de ayuda, además definirá el plan de capacitación.

Administración de entrega, evaluará las implicancias de infraestructura del diseño físico, además definirá la infraestructura,  requerimientos de operaciones y soluciones de implementación.

Entregables

Al final del diseño físico, el equipo de proyecto tiene suficiente documentación de diseño completa para empezar a crear la solución. La documentación específica puede variar de solución a solución. Algunos de los entregables al final de la etapa de diseño físico incluyen:

-    Diagrama de clases de la solución
-    Modelos de componentes, diagramas de secuencia o diagramas de actividades de la solución
-    Esquema de base de datos de la solución.
-    Línea de base del modelo de implementación, el que provee:
o    Topología de red,  que indica ubicaciones de hardware e interconexiones.
o    Topología de datos y componentes, que indica las ubicaciones de los componentes de la solución, servicios y almacenes de información respecto a la topología de red.
-    Especificaciones de componentes que incluyen la estructura interna de los componentes y las interfaces de los componentes.
-    Estrategia de packaging y distribución, que identifica los componentes que han de empaquetarse juntos en un componente y especifica como los componentes serán distribuidos a través de la topología de red propuesta.
-    Modelo de programación, que identificará las elecciones respecto a la implementación, desarrollo y documentación.


Pasos del diseño físico


Los pasos del diseño lógico son 4 y en ellos el equipo realiza las siguientes tareas:

1.    Investigación
a.    Determinar las restricciones físicas y de requerimientos.
b.    Identificar cualquier cambio de infraestructura.
2.    Análisis,
a.    Desarrollar un modelo preliminar de implementación.
b.    Seleccionar las tecnologías a utilizar en el desarrollo de la solución.
3.    Racionalización
a.    Determinar una estrategia de packaging y distribución.
b.    Empaquetar componentes y servicios
c.    Distribuir componentes sobre la topología de red propuesta.
4.    Implementación
a.    Determinar un modelo de programación
b.    Especificar interfaces de componente, atributos y servicios.

Entregables del proceso de diseño físico

Los entregables del paso de investigación describen la infraestructura actual del negocio y proveen los cimientos para los pasos de análisis, racionalización y especificación del diseño físico. Los entregables del paso de investigación incluyen:

a.    Topología actual de redes
b.    Topología actual de datos
c.    Topología actual de componentes
d.    Requerimientos físicos sobre la aplicación
e.    Actualización de riesgos y planes de mitigación

Identificación de requerimientos y restricciones

A través del proceso de diseño. Se recopila información sobre los requerimientos y restricciones del negocio. En el diseño físico, se enfatiza en los requerimientos físicos y restricciones que afectan al desarrollo de la solución.

Entre los requerimientos típicos a cualquier solución encontraremos:

-    Desempeño
-    Costo y beneficio
-    Facilidad de uso
-    Facilidad de implementación
-    Facilidad de soporte
-    Robustez
-    Reusabilidad

A la par, tenemos restricciones comunes a cualquier solución:

-    Presupuesto
-    Tiempo
-    Topología de redes
-    Topología de datos
-    Topología de componentes
-    Directrices de seguridad

Ahora lo que resta es sopesar y determinar que requerimientos han de ponderarse  por sobre las restricciones y viceversa.

En ocasiones, el equipo podrá tomar medidas paliativas a las restricciones y conseguir cumplir con los requerimientos, pero en algunos casos se necesitará del apoyo s de un sponsor o del cliente. Ya sea aumentando presupuesto, restando o optimizando requerimientos, etc.

Establecida esta línea base, ya es posible entrar al paso de análisis, donde han de crearse los modelos UML que contendrán nuestro negocio (diagramas de clases, secuencia, colaboración, etc), y nuestro entorno (diagramas de topología).

Con estos modelos y habiendo salvado el obstáculo de los requisitos y requerimientos, en el paso de racionalización ya se puede determinar la mas óptima de las distribuciones de los componentes de la solución. Ya a esta altura estará claro, por ejemplo, si es necesario un cluster de servidores de datos (paso análisis) y si es posible implementarlo (Investigación) por las restricciones que pudieran existir por presupuesto, conocimiento técnico o la topología de redes y datos existente, y según eso hacer los ajustes a la .distribución de los componentes de manera que calcen con la realidad de la organización, el presupuesto existente, el conocimiento técnico a disposición y la tecnología existente., entre otros factores

Finalmente en la etapa de implementación (nda Implementation, no Deployment), se determina el modelo de programación a utilizar. Acá se define como se llevará el manejo de errores, de objetos, factorización de métodos, capas, etc. Aquí es donde los programadores se pelean para elegir si desarrollan en 3 capas, en ene capas, con MVC(Model View Controller), con MVP(Model View Presenter), si usarán multihebras o no, como manejraán la seguridad y todas aquellas calamidades por las que los programadores dejan de hablarse.

No hay comentarios:

Publicar un comentario