Tp Cuatrimestral

Objetivo

Se realizará un TP Cuatrimestral que consiste en la creación de una arquitectura y la implementación cierta funcionalidad de la aplicación que permita validar que los drivers arquitecturales han sido logrados. Los alumnos deben elegir una propuesta de algún sistema empresarial y a lo largo de las entras irán definiendo su alcance, sus principales requerimientos funcionales y no funcionales, para luego poder crear una arquitectura y a los largo de las entregas parciales implementando esta en la tecnología o plataforma seleccionada para poder verificar que las decisiones arquitectonicas tomadas han sido correctas.

Entregas

1. Selección de Proyecto

  • Se deben 3 posibles propuestas y con el Tutor decidirán cual será el seleccionado.
  • Cada propuesta deberá tener minimamente un Objetivo, Alcance y Límite.

2. Visión y Atributos de Calidad

  • Cuáles son los requerimientos no funcionales o restricciones más importantes para guiar la construcción de la arquitectura.
  • Cuáles son los casos de uso más importantes para construir para probar que la arquitectura cierra. Esto debe incluir casos de uso complejos para probar cuestiones específicas y/o casos de uso prototípicos.

3. Estrategias y Creación de Arquitectura

  • Qué módulos o componentes tendría el proyecto completo. Tanto componentes de negocio como de arquitectura. Los componentes de arquitectura ya deberían estar todos documentados, los de negocio sólo los que ellos hayan definido en la etapa 1.
  • Qué estilo arquitectónico va a tener el sistema, o sea, cómo se relacionan esos componente principales.
  • Algunas definiciones metodológicas: cómo lo van a documentar, algo de scm , etc. Aunque sea una primera iteración de esto.
  • Las etapas del desarrollo, es decir, la planificación de las siguientes 3 entregas. Qué módulos de arquitectura y qué casos de uso van a estar en cada etapa y con qué avance. Nota: no es necesario tener un Gantt hecho por ejemplo, en MS-project, con una especificación de todas las actividades, la idea es que esté mostrado claramente las fechas más importantes y qué se entrega dentro de un marco de tiempo claro.
  • Documentación de las decisiones que van tomando, por lo menos para las decisiones más importantes o críticas, qué alternativas evaluaron y por qué se decidieron por una de ellas.
  • Administración de riesgos. Qué riesgos ven, planes de mitigación y contingencia. Los riesgos serían a nivel de la arquitectura, no del proyecto en general.
    • Ejemplo de un riesgo que se podría evaluar: Caída del middleware con el que se comunica el módulo core de mi sistema.
    • Ejemplo de riesgo que NO evaluaríamos: Renuncia más del 20% de mi equipo de desarrollo en un período de 5 días.
  • Es importante tener en cuenta que la creación de una arquitectura (como del software en general) es un proceso iterativo y que , además, estamos en un proceso de aprendizaje, por esta razón es razonable que la arquitectura pueda sufrir modificaciones en las posteriores entregas. En esta entrega se apunta a poder tener YA el marco general de nuestra arquitectura y que las modificaciones (que si bien pueden existir), no sean demasiadas.

4..N Entrega Parcial

  • Código: La idea de esta entrega es mostrar la estructura básica de la arquitectura ya codificada. En general se requiere un caso de uso codificado. Se discute con el tutor el caso de uso y la forma, dependiendo de la arquitectura y el requerimiento elegido.
  • Documentación de las decisiones que van tomando, por lo menos para las decisiones más importantes o críticas, qué alternativas evaluaron y por qué se decidieron por una de ellas.

Entrega Final

  • Documentación actualizada (SAD Completo)
  • Código: En general se requiere un caso de uso sencillo y uno más complejo (A definir con el Tutor). No es necesario que estén todos lo requerimientos, ni tampoco todos los componentes de arquitectura terminados en un 100%, pero sí se requiere que todas las interfaces entre los diferentes componentes esté terminada.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.