Post on 25-Jan-2016
ADN2 Diseño ágil de noticias
Historia de un trabajo profesional
Temario Origen de la idea. Metodologías utilizadas.
SCRUM XP UML
Hibernate, Spring y Struts2 como arquitectura elegida. Solución -> AppFuse Herramientas
Repositorio IDE - Eclipse
Presentación de la solución. Características Ejemplos de prueba
Origen de la idea ADN ciudad es una agencia de noticias virtual
que utiliza Joomla como administrador de contenido(CMS).
Joomla y los administradores de contenidos necesitan de un diseñador para crear las plantillas del sitio web y realizar cambios sobre estas.
La propuesta es crear un CMS donde no haga falta saber de HTML para diseñar una pagina de noticias.
SCRUM
SCRUM – Como metodologia de gestion. Reuniones semanales para evaluar el progreso del proyecto y setear objetivos a cumplir. Desarrollo por Sprints- Para cada ciclo del
desarrollo se presento la aplicación con un delta de funcionalidad completa. (sin demos)
En cada iteración se definió : Alcance funcional de la iteración siguiente. Estimación de tiempos para el desarrollo.
UML UML – Como metodologia de modelado del
sistema. Diagramas de casos de uso.
Generado a partir del listado de requerimientos del sistema.
Utilizado también para realizar estimaciones de tiempos por UCP (use case points).
Herramienta utilizada: Enterprise Architect (EA)
UML
XP XP (Extreme Programming) – Metodologia
utilizada en el desarrollo. Pruebas unitarias continuas repetidas: Ejecución
de test con cada compilación del sistema.
Programación en parejas. - Cuando posible
Corrección de todos los errores antes de añadir nueva funcionalidad. (Requisito que la aplicación compile antes de hacer submit del código nuevo)
Arquitectura Utilización de una de las arquitecturas mas
conocidas dentro del desarrollo de aplicaciones web en JAVA. Hibernate – Para persistencia Spring - Para capa de servicios/ negocios Struts2 – Para capa de presentación
My-SQLHibernate
Spring
Struts2Struts2
AppFuse AppFuse es un arquetipo de maven open
source. Provee un esqueleto para el desarrollo de nuestra aplicación basado en la arquitectura que planeamos.
Maven es una herramienta para proyectos de JAVA que permite compilar, ejecutar test, armar paquetes y realizar distribuciones.
Beneficios: Reducción de tiempos de start up.
Contras: Bugs ajenos.
Herramientas Repositorio SVN:
Google Code lab.
Ide Eclipse Plugins de Maven Integración con SVN
ADN2 Conceptos importantes de la solución:
Diseño: Estructuras: Cada sección tiene una estructura asociada
que define el esqueleto del contenido. La misma esta dividida en celdas.
Contenedores: Elemento de contenido de la pagina. Los contenedores se asocian con una celda de la
estructura. Esto nos permite determinar que queremos mostrar en cada lugar de la pagina de manera dinámica.
Ejemplo: Sección
Ejemplo: Sección
Ejemplo: Sección
Publicidad
Menu
Encuesta
Contenedor Logo
Estático
Demo ADN: Pasos para agregar sección “Sindicales”:
Definir una nueva estructura de la sección. Crear una nueva sección. Crear un Nuevo Item del menú. Agregar el ítem al menú Ordenar el menú Agregar noticia.
Otros componentes:
Preguntas?