Evaluando el diseño

by Valeriano Tortola 19. septiembre 2007 04:06

Antes de empezar a desarrollar una aplicación, es conveniente revisar el diseño lógico para asegurar que es esta completo y correcto. Esto viene a ser evaluar el diseño en los siguientes terminos:

  • Evaluación de ejecución:
    • Rendimiento.
    • Escalabilidad.
    • Disponibilidad.
    • Recuperación.
    • Seguridad.
  • Evaluación de la arquitectura:
    • Mantenibilidad.
    • Extensibilidad.
  • Evaluación de los requerimientos:
    • Casos de uso.

Mas...

Tags: , ,

MCPD | WinApps

Creando modelos para desarrolladores

by Valeriano Tortola 17. septiembre 2007 03:23

Siguiendo con el tema del modelado del software en capas, es el turno de crear modelos físicos más precisos para los programadores que han de escribir el código. Los modelos físicos indican como los programadores deberían desarrollar la aplicación.

Un diagrama de componentes indica los componentes ó paquetes de los que se compondrá la aplicación y las dependencias de estos. Un componente es un conjunto de clases relacionadas formando una unidad distribuible, como una DLL, un control ó un Webservice. Los componentes se representan por rectangulos con dos pequeños rectangulos a su izquierda, en el nombre se indica la capa a la que pertenecen separados con dos dobles puntos ('::'). Otros rectangulos mayores que agrupan varios componentes simbolizan un contenedor de distribución llamado nodo, que suele indicar una separación física, como estar en distinto hardware.

Mas...

Tags: , ,

MCPD | WinApps

Los pools de programadores

by Valeriano Tortola 15. septiembre 2007 06:37

Me gusta todo lo relacionado con IT, puedo construir lo que que quiera, mi herramienta es un ordenador y mis materias primas la imaginación y el conocimiento, el límite esta en cuanto puedo aprender, eso me hace sentirme... bien. Empece en telecomunicaciones, pasé a sistemas y fortuitamente empecé a programar con VB6 y después con Delphi, cuando descubrí C# y .NET decidí dedicarme únicamente a ello pues me encantaba, me resultaba creativo y divertido. Llevo escasos dos años en el mundo del desarrollo en continuo avance para mejorar, pero últimamente estoy algo desmoralizado pues después de haber estado este tiempo desarrollando en plan "ágil", ahora he chocado frontalmente con los conceptos de software factory y pool de programadores, formas de convertir el desarrollo en una cadena de montaje sin sentido supuestamente en pos de la máxima productividad y a mi parecer en decrimento de la calidad, la innovación y la creatividad, formas que ya no me parecen divertidas ni motivadoras.

Mas...

Tags:

Modelado en capas.

by Valeriano Tortola 14. septiembre 2007 03:45

El modelado en capas de un sistema representa como se planea dividir el código en partes lógicas ó grupos. La abstracción del código en capas permite mejorar, reparar y reemplazar partes de la aplicación de forma sencilla y sin que afecte a las demás. Además provee una representación lógica y clara de la aplicación.

El modelo en capas más comun es el de tres capas, presentación, lógica de negocio y base de datos. El model n-capas extiende este modelo de forma que cualquier capa puede dividirse en subcapas, aportando así mayor claridad.

La capa más alta es en la que se interactua con el usuario, la capa más baja donde los datos son almacenados/recuperados y las capas intermedias son las encargadas de realizar el procesado de datos, el movimiento de estos de la base de datos al usuario y el control del estado de la aplicación.

Mas...

Tags: , , ,

MCPD | WinApps

Prototipos y pruebas de concepto

by Valeriano Tortola 11. septiembre 2007 02:29

Después de evaluar los requerimientos y el diseño previo de una aplicación, el siguiente paso es realizar un prototipo.

Un prototipo tiene el propósito de cubrir los huecos  que quedan entre la teoría y la práctica, es decir, entre los requerimientos junto el diseño y la implementación real.

Las maquetas se usan para proponer y validar interfaces de usuario y la navegación por el sistema. Se pueden crear desde con papel y lapiz a herramientas como Microsoft Visio. También se conocen como prototipos horizontales y verifican el cumplimiento de los requerimientos y casos de uso a través de una serie de formularios clave.

Los prototipos de prueba de concepto prueban la arquitectura propuesta con todas sus capas, se conoce también como arquitectura de referencia. Se deben crear con las tecnologías propuestas ó aproximadas. También se conocen como prototipos verticales (por lo de que influyen todas las capas).

Mas...

Tags: , ,

MCPD | WinApps

Requerimientos y diseño de un proyecto.

by Valeriano Tortola 10. septiembre 2007 19:24

Los requerimientos de un proyecto deberían ser definidos desde múltiples perspectivas:  

  • Requerimientos del negocio: Definidos por los gerentes y comerciales. Exponen que puntos se consideran importantes para el éxito del proyecto.
  • Requerimientos de usuario: Definidos por los futuros usuarios. Exponen que tareas deben ser capaces de realizar con la aplicación para cumplir los objetivos de su trabajo.
  • Requerimientos funcionales ó especificaciones funcionales: Definidos por el lider técnico ó el arquitecto. Definen las caracteristicas que se deben desarrollar para cumplir los requerimientos anteriores. Son definidos mejor a través de herramientas de modelado, sin tener que hacer por un lado un documento de requerimientos y por otro el modelado de dichos requerimientos.
  • Requerimientos de calidad de servicio: Definen requerimientos sobre el rendimiento, escalabilidad y estandares a cumplir, no sobre aspectos funcionales ó problemas específicos.

Unos requerimientos bien expuestos no deberian presentar ambiguedad. No deben exponer metas a conseguir, si no cosas que se pueden hacer y estimar. No deben dar lugar a malas interpretaciones.

Mas...

Tags: , , ,

MCPD | WinApps