Grupo anterior Proyecto Arquitectura

Entrega previa 1-semana 3. Arquitectura del Software Documento de Análisis de una situación problemática real con base

Views 112 Downloads 0 File size 471KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Entrega previa 1-semana 3. Arquitectura del Software

Documento de Análisis de una situación problemática real con base en los patrones de software de arquitectura orientados a servicios

INTEGRANTES

Alejandro de Jesús Bustamante Loaiza - Cód: 1720210168 Juan Rios Moreno - Cód: 1110014212

2019 OBJETIVOS

GENERALES Mediante patrones de software de arquitectura orientados a servicios se busca dar una solución a una problemática de parqueo identificada en algunos sectores específicos de la ciudad y poder garantizar disponibilidad de parqueo para los conductores, la disminución en los tiempos de parqueo, mejorar la movilidad en el sector y un precio fijo a los conductores.

ESPECÍFICOS ●

Identificar las causas que generan la problemática del parqueo en algunos sectores de la ciudad.



Desarrollar una aplicación que permita a conductores visualizar el estado de los parqueaderos o zonas de parqueos.



Mediante la aplicación otorgar a conductores un turno de parqueo con el fin de evitar que los mismos den vueltas en círculos. (Mediante bloqueo temporal o reserva del cupo)



Reducir la problemática de parqueo en algunos sectores de la ciudad

JUSTIFICACIÓN Este proyecto se va a realizar con el fin de dar cumplimiento a los objetivos del módulo que son aplicar un lenguaje de programación y sus relaciones que lo conforman dentro de la arquitectura del software en una situación problema de la vida real, usando estilos diferentes estilos arquitecturales, estándares de tecnología, buenas prácticas, patrones de software y patrones de arquitecturas de servicios. En este caso resuelve una problemática de parqueo en algunas zonas concentradas de la ciudad mediante una aplicación desarrollada teniendo en cuenta la arquitectura orientada a servicios.

GLOSARIO DEL DOMINIO DE ARQUITECTURA DE SOFTWARE ●

Arquitectura orientada a servicios: Son implementaciones desarrolladas en diferentes tecnologías que buscan brindar un servicio de calidad superior a consumidores, aplicando patrones y principios de diseño.



Java: Es un lenguaje de programación orientado a objetos con código abierto que permite que sea modificado fácilmente por cualquiera en cualquier circunstancia.



Test Driven Development: Hace referencia al desarrollo guiado por pruebas de software con el fin de ir realizando pruebas a medida que se va desarrollando con el propósito de desarrollar un código limpio



POJO: Plain Old Java Object



DTO: Data Transfer Object

SITUACIÓN PROBLEMÁTICA RECURRENTE Problema: Hemos identificado una situación recurrente al momento de parquear el vehículo en determinadas zonas de altísima concentración vehicular en la ciudad. Por ejemplo en el centro o en las zonas rosa de la 93 u 85 en horarios picos. Los conductores deben recorrer manzanas completas buscando un parqueadero disponible y que se ajuste a su presupuesto, ocasionando un caos vehicular y que anden en círculos sin rumbo definido convirtiendo la experiencia de parquear en un evento que pueda tardar hasta unos 30 minutos convirtiéndose en un verdadero dolor de cabeza. Solución: Mediante una red delimitada dentro de una zona o perímetro, se pretende actualizar de forma centralizada la disponibilidad y precio al conductor de manera que pueda asegurar el espacio mediante un bloqueo temporal o mediante una reserva y se le pueda brindar la ruta óptima para que llegue al sitio de forma rápida y sin ocasionar caos vehicular, teniendo en cuenta la alta demanda, buscando distribuir el flujo vehicular hacia los distintos centros de parqueo de la zona. Arquitectura: - la arquitectura elegida es SOA (Arquitectura Orientada a servicios)

-

Figura 1: Arquitectura SOA nuestro sistema estará basado en capas y procesos independientes (Servicios)

Figura 2: uso de DTO, POJOS y entidades Crearemos objetos independientes para la interfaz de servicio y objetos (entidades) diferentes para el modelo de datos; de esta manera podremos hacer cambios en el modelo de datos sin afectar a los clientes. 4 capas 1 - Presentación, consumiremos los servicios usando POst Man 2 - Negocio, Expondremos end point (catálogo de servicios) usando Java WS (REST) y Spring 3 - Integración, Aquí manejaremos las entidades, POJOs y DTOS usando JPA 4 - Persistiremos la información en base de datos MySql Tecnologías Usaremos las siguientes tecnologías Java SE 8, Java WS (REST), Spring Boot, Junit, GIT, Post Man (para testear los servicios) Patrones Implementaremos el uso de los patrones de GoF Framework Usaremos un Framework de Caja Blanca

Modelos El modelo a usar es Model-Driven Software (MDS).

Metodologia agil: Scrum, usaremos Historias de usuario y las ceremonias de planning (cada 2 semanas) y stand up (cada semana) tendremos 3 sprints de 2 semanas cada uno.

eXtreme Programming Método ágil basado en cuatro principios: simplicidad, comunicación, retroalimentación, valor Pruebas ● Test Driven Development ● Diseño e implementación de las pruebas antes de programar la funcionalidad ● El programador crea sus propios tests de unidad Propiedad colectiva del código Cualquier integrante del grupo tiene autoridad para cambiar cualquier parte del código fuente Usaremos un repositorio en GIT para centralizar el código

CRONOGRAMA Nos guiaremos mediante el siguiente cronograma de Gantt

CONCLUSIONES

Por medio de esta primera entrega logramos profundizar en qué se debe tener en cuenta para el desarrollo de un software, que se debe tener en cuenta para su creación e implementación, que lo primero que se debe hacer es identificar la problemática, luego

enfrentarla y dar una posible solución usando la Arquitectura de software orientada a servicios. Para ello se requiere del estudio de los diversos lenguajes de programación que son la base para el buen entendimiento de la lógica, análisis, diseño y creación de nuevos software. 2 de septiembre de 2019 o7:50pm