-
Notifications
You must be signed in to change notification settings - Fork 0
PRODUCTO DRS
La tecnología es una de las herramientas que más son utilizadas hoy en día, estas nos facilitan el acceso a la información incluso la elaboración de muchas actividades cotidianas, es por ello que todos acuden a ella, y aprovechando la tecnología con la que se cuenta, se decidió elaborar un proyecto pensando en los habitantes de Tlaxiaco que decidan convivir con amigos o familiares, guiándose en esta aplicación al obtener información de los establecimientos registrados donde se ofrecen los servicios de bebidas alcohólicas, aperitivos, cafés, entre otros, mostrando la información de estos locales ayudando a estos usuarios para la toma de una buena decisión. Esta aplicación abarca a los establecimientos ubicados en el centro de la Heroica Ciudad de Tlaxiaco, ayudando a la vez a estos a darse a conocer más entre la población, y promoviendo el uso de las tecnologías. Mediante este documento se pretende realizar un informe sobre todos los puntos generales con las cuales se aplicarán en la aplicación y la forma en la que estará estructurara o bien la arquitectura de la aplicación como el prototipo, diseño (mockups) y la actualización de este mismo, la base de datos ya no se le realizara ninguna modificación ya que la estructura ya está definida, codificación, etc. De igual manera vamos a comprender la estructura del MODELO VISTA CONTROLADOR o bien MVC con la cual vamos a trabajar para estructurar nuestra aplicación y de igual manera conocer que es MVC y para que nos sirve este modelo. También se documentará la codificación del Front-End y el Back-End del desarrollo de la aplicación que será desarrollado mediante arquitectura MVC y realizar pruebas para que la aplicación sea funcional.
Con la creación de CB-24H se pretende facilitar al usuario la selección de se café-bar de su preferencia, esto con la intención de brindar mayor información de los establecimientos localizados en la Ciudad de Tlaxiaco, este funcionara con internet en el cual el usuario debe de crearse una cuenta. Cuenta para usuarios que cuentan con un establecimiento, este usuario registrara datos referentes a su establecimiento, dirección, menú, fotografías, etc. Cuenta para usuario normal, este usuario podrá acceder a información de los establecimientos registrados en la plataforma donde podrá ver los servicios con las que estos establecimientos cuenta.
Asistentes:
- Ana Laura Aparicio Hernández
- Elvis Cruz Bautista
- María Concepción García Castro
- Samuel José Antonio
- Alexis Vásquez
Orden del día
- Presentación del proyecto
- Comunicación de las ventajas
- Ejemplo de funcionamiento
- Costos
- Fecha de inicio de lanzamiento
- Fecha de pruebas
- Fecha de entrega
Desarrollo
- Siendo las 14:00 horas, se lleva a cabo la reunión en donde se tratarán uno a uno los puntos antes mencionados para la realización y entrega de este software.
- Ana Laura Aparicio explica de manera detallada el objetivo de esta aplicación mostrando al cliente a ventaja que este sistema le traerá a su negocio.
- María Concepción se encarga de mostrarle la forma de manejo de este sistema, explicándole los pasos a seguir para poder utilizarlo de manera teórica.
- Elvis Cruz Bautista se encarga de mostrarle de una manera dinámica el funcionamiento, creando un usuario de prueba para el cliente.
- Samuel José se encarga de terminar los detalles y darle el presupuesto para poder adquirir este sistema.
- Se llega a un acuerdo del precio y de las fechas para lanzar este sistema a manera que se adapte a la necesidad del cliente.
- Se acuerda de una fecha de entrega del sistema.
- Se acuerda fecha de capacitación para que el cliente pueda manejar el sistema.
- Se acuerdan fechas para los pagos de este sistema, y la forma en la que este se realizará.
- Se acuerda el tiempo de garantía que se le proporcionara para cualquier detalle técnico.
- Se establece una fecha y clausulas para proceder a elaborar el. Contrato donde se regirá todo lo anteriormente te platicado.
ACTA DE REUNION REGISTRO DE ASISTENTES
- ITEM DE LOS REQUISITOS DEL SISTEMA
RI-01: INFORMACIÓN DE ESTABLECIMIENTO
RI-02 INFORMACIÓN DEL DUEÑO DEL ESTABLECIMIENTO
RI-03 INFORMACIÓN DE USUARIOS
4.2 REQUISITOS FUNCIONALES (DIAGRAMA)
RF-01 REGISTRAR AL DUEÑO DEL LOCAL
RF-02 REGISTRAR AL USUARIO
RF-03 REGISTRAR ESTABLECIMIENTO
RF-04 ACTUALIZAR ESTABLECIMIENTO
RF-05 MOSTRAR ESTABLECIMIENTO Y SU INFORMACIÓN
RF-06 ELIMINAR ESTABLECIMIENTO
RF-07 ELIMINAR DUEÑO DEL LOCAL
RF-08 REGISTRARSE EN LA APP
RF-10 CONSULTAR INFORMACIÓN DEL LOCAL
RF-11 CALIFICAR ESTABLECIMIENTO
RF-12 INGRESAR INFORMACIÓN PERSONAL
RF-13 INGRESAR INFORMACIÓN DEL ESTABLECIMIENTO
RF-14 MODIFICAR INFORMACIÓN DEL ESTABLECIMIENTO
4.2.1 DIAGRAMAS DE CASO DE USO
4.2.2 DEFINICIÓN DE ACTORES
4.2.3 CASOS DE USO DEL SISTEMA
<<SUBSISTEMA GESTIÓN DUEÑO LOCAL>> RF-01 REGISTRAR AL DUEÑO DEL LOCAL
RF-03 REGISTRAR ESTABLECIMIENTO
RF-04 ACTUALIZAR ESTABLECIMIENTO
RF-06 ELIMINAR ESTABLECIMIENTO
RF-07 ELIMINAR DUEÑO DEL LOCAL
RF-12 INGRESAR INFORMACIÓN PERSONAL.
RF-13: INGRESAR INFORMACION DEL ESTABLECIMIENTO
RF-14: MODIFICAR INFORMACION DEL ESTABLECIMIENTO
<<SUBSISTEMA GESTIÓN DE USUARIOS>> RF-02: REGISTRAR USUARIO
RF-05: MOSTRAR ESTABLECIMIENTO Y SU INFORMACION
RF-08: REGISTRARSE EN LA APP
RF-09: CONSULTAR LOCALES EN LA APP
RF-10: CONSULTAR INFORMACION DEL LOCAL
RF-11: CALIFICAR ESTABLECIMIENTO
4.3 REQUISITOS NO FUNCIONALES
RNF-01: SEGURIDAD
RNF-02 TIEMPO DE RESPUESTA
RNF-03 PORTABILIDAD
RNF-04 ROBUSTEZ
RNF-05 INTEROPERABILIDAD
RNF-06 FIABILIDAD
RNF-07 USABILIDAD
- MATRIZ DE TRAZABILIDAD
Asistentes:
- Ana Laura Aparicio Hernández
- Elvis Cruz Bautista
- María Concepción García Castro
- Samuel José Antonio
- Alexis Vásquez
Orden del día
- Presentación del proyecto
- Comunicación de las ventajas
- Ejemplo de funcionamiento
- Costos
- Fecha de inicio de lanzamiento
- Fecha de pruebas
- Fecha de entrega
Desarrollo
- Siendo las 14:00 horas, se lleva a cabo la reunión en donde se tratarán uno a uno los puntos antes mencionados para la realización y entrega de este software.
- Ana Laura Aparicio explica de manera detallada el objetivo de esta aplicación mostrando al cliente a ventaja que este sistema le traerá a su negocio.
- María Concepción se encarga de mostrarle la forma de manejo de este sistema, explicándole los pasos a seguir para poder utilizarlo de manera teórica.
- Elvis Cruz Bautista se encarga de mostrarle de una manera dinámica el funcionamiento, creando un usuario de prueba para el cliente.
- Samuel José se encarga de terminar los detalles y darle el presupuesto para poder adquirir este sistema.
- Se llega a un acuerdo del precio y de las fechas para lanzar este sistema a manera que se adapte a la necesidad del cliente.
- Se acuerda de una fecha de entrega del sistema.
- Se acuerda fecha de capacitación para que el cliente pueda manejar el sistema.
- Se acuerdan fechas para los pagos de este sistema, y la forma en la que este se realizará.
- Se acuerda el tiempo de garantía que se le proporcionara para cualquier detalle técnico.
- Se establece una fecha y clausulas para proceder a elaborar el. Contrato donde se regirá todo lo anteriormente te platicado.
ACTA DE REUNION REGISTRO DE ASISTENTES
- PLANEACION La arquitectura de software tiene un rol muy importante en el desarrollo de software ya que mediante este nos basaremos para un buen desarrollo de la aplicación aplicando las funcionalidades correctamente como puede ser requisitos funcionales o no funcionales para mostrar una buena calidad de software al usuario y que el sistema sea seguro, confiable y que tenga un buen rendimiento. El sistema que pretendemos realizar será una aplicación hibrida ya que deseamos que se pueda acceder desde una plataforma web, como de igual manara desde un dispositivo móvil. Pero por el momento solo se desarrollará en la plataforma web. Para poder utilizar la aplicación web y tener acceso a nuestra plataforma solo los que deseen registrar o agregar algún local con el que cuenten solo serán los que podrán crear un registro en el cual pondrán los datos del usuario, nombre del local y la ubicación para que este puede visualizarse en el mapa con el que contaremos. Recalcando el software será de aplicación web, por lo que se ejecutará mediante una computadora accediendo desde nuestra página web.
OBJETIVOS DE LA ARQUITECTURA
Funcionalidad: Buen diseño tal que las funcionalidades asignadas tengan un buen funcionamiento al momento de interactuar con este.
Mantenible: Que tenga buen funcionamiento y a su vez que se pueda seguir actualizando para un mejor funcionamiento del software.
Confiablidad: No debe causar daños físicos o económicos en el caso de fallos.
Seguridad: El software contara con seguridad mediante encriptación de contraseña la cual estará basada mediante h5 la cual nos ofrece un servicio de encriptación para proteger a los usuarios de ataques a su cuenta o que la contraseña sea más segura si se desea extraer desde la base de datos, razón por la que se eligió el tipo de encriptación.
Eficiencia: El sistema no debe desperdiciar los recursos del sistema.
Expansibilidad: Mantendrá la expansibilidad necesaria para facilitar ese proceso de desarrollar versiones posteriores
Portabilidad: El sistema se desarrollará mediante PHP, MYSQL Y JAVASCRIPT, ya que al crear la página mediante estos componentes será un sistema más confiable y con mejor funcionalidad.
Reutilización: El sistema puede transferirse de un sistema a otro.
ESTRUCTURA DE DESGLOSE DE PROYECTO Es un gráfico en el que los elementos de trabajo críticos, actividades y tareas de un proyecto, se representan para retratar sus relaciones entre sí y con el proyecto en su conjunto. La naturaleza gráfica de la EDT puede ayudar a un gerente de proyecto a predecir los resultados basados en diversos escenarios, lo que contribuye a optimizar la toma de decisiones en todo lo relativo a procedimientos y cambios. Al crear una EDT, el director del proyecto define los objetivos clave primero y después identifica las tareas necesarias para alcanzar esas metas. El propósito de la estructura de desglose de trabajo es minimizar los errores, ganar en eficacia y asegurar un mejor control. Hay tres razones para utilizar una EDT:
- Ayuda a ganar en precisión a la hora de definir y organizar el alcance del proyecto total.
- Simplifica la asignación de responsabilidades y recursos, el seguimiento del proyecto y su control.
- Contribuye a lograr una mejor estimación de los costos, los riesgos y los plazos, ya que se puede trabajar desde las tareas más pequeñas hasta el nivel global La mejor manera de estructurarlos es tomando en cuenta que el objetivo se muestra en la parte de arriba del gráfico, con detalles cada vez más específicos que van apareciendo a medida que se va descendiendo. Cuando se termina de completar, una EDT bien estructurada se asemeja a un diagrama de flujo en el que todos los elementos están conectados lógicamente, sin redundancias ni ausencias. Los elementos pueden ser prestados en forma de texto sin formato o como texto dentro de los cuadros. A continuación, se muestra la Estructura de Desglose de Trabajo (EDT) de nuestro proyecto CB-24H, para esto fue necesario identificar cada una de las actividades previamente realizadas y así poder acomodarlas en cada una de las etapas, obteniendo como resultado el siguiente diagrama.
DIAGRAMA DE ACTIVIDADES DE GANTT
El diagrama de Gantt es una herramienta de gestión de proyectos en la que se recoge la planificación de un proyecto. Normalmente tiene dos secciones: en la parte izquierda se incluye una lista de tareas y, en la derecha, un cronograma con barras que representan el trabajo. Los diagramas de Gantt también pueden incluir las fechas de inicio y de finalización de las tareas, los hitos, las dependencias entre tareas y las personas asignadas.
Se utilizan los diagramas de Gantt con tres fines principales:
• Crear y gestionar un proyecto completo: Los diagramas de Gantt sirven para visualizar los componentes básicos de un proyecto y para organizarlo en tareas más pequeñas y gestionables.
• Determinar la logística y las dependencias de las tareas: Los diagramas de Gantt se pueden utilizar para supervisar la logística de un proyecto. Las dependencias de tareas hacen que una tarea nueva solo pueda iniciarse una vez que se haya completado otra.
• Supervisar el progreso de un proyecto: A medida que los equipos registran el tiempo que van a dedicar a incidencias en el plan, puedes supervisar el estado de los proyectos y realizar los ajustes necesarios.
A continuación, se presenta el diagrama de Gantt de nuestro `proyecto CB- 24H
PLAN DE CALIDAD
TAREAS DEL PLAN DE CALIDAD
TEST CASE (TEST LINK)
Ya creado nuestra cuenta procedemos a agregar nuestro proyecto con la cual vamos a trabajar.
- Para agregar un proyecto nos dará por defecto la opción, a lo cual le daremos clic sobre el botón Agregar Proyecto.
- Seguido nos aparecerá la siguiente ventana en la cual le daremos un nombre a nuestro proyecto, así también una leve descripción y por último en la parte inferior encontraremos la opción de crear proyecto.
- Ya creado nuestro proyecto nos lo notificara.
- Después de unos segundos nos aparecerá una ventana de bienvenida y una pequeña recomendación.
- Ya leído la bienvenida y recomendación, nos dirigimos a la pestaña de casos de prueba y le damos clic al botón de Agregar sección.
- Seguido nos aparecerá la siguiente ventana a la cual rellenaremos para agregar una sección.
- Seguido procedemos a agrega un caso de prueba de la siguiente manera y también nos daremos cuenta se agregó nuestra sección.
- Cuando le demos clic al botón de Agregar casos de prueba nos aparecerá lo siguiente y rellenamos el recuadro remarcado de la siguiente manera
5.1 PRECONDICIÓN Para esta parte nos dirigimos al recuadro remarcado donde insertaremos la o las condiciones previas.
5.2 PASO 1, PASO 2, PASO 3. Para esta parte insertaremos los pasos necesarios para ejecutar el caso de prueba.
5.3 POSTCONDICIÓN Insertaremos el resultado esperado después de ejecutar el caso de prueba ya rellenado todo le damos clic en el botón verde que dice Agregar casos de prueba.
Como podemos ver ya nos aparece los demás componentes de nuestro caso de prueba.
SE DEBE SE CORRER EL TEST CASE SI HUBIESE ALGÚN ERROR SE CAPTURA UNA INCIDENCIA EN GITHUB EN EL TABLERO DE KANBAN Y SE DEBE ASIGNAR EL BUG A ALGÚN MIEMBRO DEL EQUIPO Y ARREGLARLO. Una vez agregado los casos de prueba, nos dirigimos a la pestaña de EJECUCIÓN DE PRUEBAS Y RESULTADOS, donde encontraremos nuestro proyecto para poder realizar el caso de pruebas y le damos clic.
Este nos dirigirá a la siguiente ventana donde pasaremos a realizar las pruebas.
Le daremos clic sobre el siguiente recuadro.
A lo cual este nos va a desplegar sus propiedades que anteriormente insertamos.
En la parte inferior de las propiedades podremos encontrar la pestaña de RESULTADOS & COMENTARIOS con sus respectivos botones.
Resultado Como podemos ver, nos marca un 67% de casos aprobados a lo cual se ira mejorando para poder dar un porcentaje más elevado.
COSTO DE DESARROLLO DEL PROYECTO
ROL Y PERFIL DEL EQUIPO DE DESARROLLO
Integrantes | Rol |
---|---|
Samuel José Antonio |
Lider de Proyecto 👨🎨 🧥 |
María Concepción García Castro |
Tester 🔍 |
Ana Laura Aparicio Hernández |
Diseñadora 🔢 🎨 |
Elvis Cruz Bautista |
Programador y Analista 💻 👨💻 |
PRODUCTO DRA MODELO DE CLASES
- DIAGRAMA DE SECUENCIAS
INTERFAZ GRAFICA DE LA APLICACIÓN
Prototipo (Mockups) en ADOBE XD
En la ventana principal de nuestra aplicación se encontrarán las ubicaciones de los locales registrados desde nuestra aplicación.
En la ventana principal de nuestra aplicación se encontraran las ubicaciones de los locales registrados desde nuestra aplicación.
El usuario podrá logearse mediante un usuario que el haya creado o bien acceder desde las opciones que se ofrecen en nuestra aplicación mediante FACEBOOK o GMAIL.
Si el usuario cuenta con algún local y desea darse a conocer entonces tendremos la opción de REGISTRAR LOCAL en la cual describirá ubicación, descripción, nombre de usuario con la cual le permitirá poder fijar ubicación y más detalles del local. De igual manera se cuenta con la opción de un usuario normal, la cual es el consumidor.
Si el usuario cuenta con local entonces contaremos con la siguiente ventana donde el usuario que desea dar a conocer el local pondrá los datos que se le pide.
Una vez que el usuario se haya registrado y logeado tendremos la siguiente ventana donde tendrá las opciones de mostrar detalladamente el local dando referencias de su local.
Por último el usuario del local fijara los horarios en el que abren el local, tendrá la opción de poner si cuenta con servicio a domicilio o no, y los días que está abierto el local.
Como último punto es como se muestra al usuario normal al momento de buscar algún local fijado o registrado desde nuestra aplicación donde el usuario tendrá la opción de ver los horarios, el menú del local, los días y una breve reseña del local.
Actualización de la aplicación Conforme a los primeros diseños que se habían realizado para la aplicación y en su primera etapa de desarrollo de ha decido actualizar nuestra aplicación para esta segunda etapa de desarrollo.
De igual manera se actualizo la vista de Home para cuando el usuario acceda a su cuenta.
Creamos una opción de perfil para que el usuario pueda modificar el nombre y asignar una foto para su perfil de usuario.
De igual manera creamos una opción para que el usuario pueda modificar su contraseña si es que así lo desea.
DIAGRAMA DE CLASES El diagrama de clase es un tipo de diagrama que nos permite realizar una estructura donde se describimos con los puntos más importantes con la cual contara nuestro software y la cual será base fundamentar para el buen funcionamiento, para el desarrollo de nuestra aplicación el diagrama de clases queda de la siguiente manera.
DIAGRAMA DE SECUENCIA El diagrama de secuencia es un tipo de diagrama usado para modelar interacción entre objetos en un sistema según sea su funcionalidad de dicho sistema, en este caso el diagrama de secuencias del proyecto es el siguiente:
Vista de Datos (Diagrama Relacional)
DIAGRAMA DE COMPONENTES
DIAGRAMA DE ESTADOS
DIAGRAMA DE DESPLIEGUE Los diagramas de despliegue se utilizan para visualizar los procesadores nodos/dispositivos de hardware de un sistema, los enlaces de comunicación entre ellos y la colocación de los archivos de software en ese hardware.
Es un estilo de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos.
- El Modelo que contiene una representación de los datos que maneja el sistema, su lógica de negocio, y sus mecanismos de persistencia.
- La Vista, o interfaz de usuario, que compone la información que se envía al cliente y los mecanismos interacción con éste.
- El Controlador, que actúa como intermediario entre el Modelo y la Vista, gestionando el flujo de información entre ellos y las transformaciones para adaptar los datos a las necesidades de cada uno.
- Acceder a la capa de almacenamiento de datos. Lo ideal es que el modelo sea independiente del sistema de almacenamiento.
- Define las reglas de negocio (la funcionalidad del sistema). Un ejemplo de regla puede ser: "Si la mercancía pedida no está en el almacén, consultar el tiempo de entrega estándar del proveedor".
- Lleva un registro de las vistas y controladores del sistema.
- Si estamos ante un modelo activo, notificará a las vistas los cambios que en los datos pueda producir un agente externo (por ejemplo, un fichero por lotes que actualiza los datos, un temporizador que desencadena una inserción, etc.).
- Recibe los eventos de entrada (un clic, un cambio en un campo de texto, etc.).
- Contiene reglas de gestión de eventos, del tipo "SI Evento Z, entonces Acción W". Estas acciones pueden suponer peticiones al modelo o a las vistas. Una de estas peticiones a las vistas puede ser una llamada al método "Actualizar ()". Una petición al modelo puede ser "Obtener_tiempo_de_entrega ( nueva_orden_de_venta )".
- Recibir datos del modelo y los muestra al usuario.
- Tienen un registro de su controlador asociado (normalmente porque además lo instancia).
- Pueden dar el servicio de "Actualización ()", para que sea invocado por el controlador o por el modelo (cuando es un modelo activo que informa de los cambios en los datos producidos por otros agentes).
Capa de Interfaz Gráfica: Es la capa que presenta todo lo que el usuario puede observar, interactuar, utilizar, consultar datos del sistema. Dependiendo el tipo de usuario, la interacción con el sistema se restringe y la interfaz cambia.
Capa de Lógica: En esta capa se reciben las llamadas al sistema para realizar la conexión entre la interfaz gráfica y la base de datos.
Capa de Persistencia: Esta permite las conexiones de la base de datos con la interfaz gráfica, es la que ejecutan el comando de llamas al sistema.
Autenticación de usuario, se exigen dos requerimientos de información para ingresar al sistema correo electrónico y contraseña. Ingresar usuario y contraseña, de no estar registrado acceder a registro crear cuenta
Al implementar la metodología SCRUM se tiene como objetivo desarrollar la aplicación de una manera ágil generando entregas incrementales en lugar de realizar una planificación y ejecución completa del desarrollo del software. Para el desarrollo de la aplicación web que permitirá el cálculo automático de horas extra para los conductores de una empresa de transporte se definió la metodología ágil scrum, la cual acelerará las entregas del proyecto para así suplir de manera rápida la necesidad que tiene esta empresa.
El documento se divide en una serie de capítulos que a su vez se subdividen en apartados. Los Capítulos son los siguientes:
- Introducción: da una visión global del proyecto, exponiendo los objetivos a alcanzar, él porque de la realización de este proyecto y el contexto.
- Análisis del sistema: es un estudio previo al desarrollo en el cual se detalla las propiedades del sistema y los elementos que se deben desarrollar.
- Desarrollo del sistema: en este capítulo se detalla todo lo relativo al propio desarrollo del proyecto.
- Planificación y presupuesto: se expone la planificación previa basada en las estimaciones para la duración del proyecto y se realiza un pequeño análisis económico de éste para hallar el coste final de su realización.
- Conclusiones: último capítulo del documento en el cual se plasman las conclusiones extraídas después de la finalización del proyecto, tanto personales como de resultados.
También se proponen desarrollos futuros que enriquezcan al sistema Scrum es una metodología ágil y flexible para gestionar el desarrollo de software, cuyo principal objetivo es maximizar el retorno de la inversión para su empresa (ROI). Se basa en construir primero la funcionalidad de mayor valor para el cliente y en los principios de inspección continua, adaptación, auto-gestión e innovación. Con la metodología Scrum el cliente se entusiasma y se compromete con el proyecto dado que lo ve crecer iteración a iteración. Asimismo le permite en cualquier momento realinear el software con los objetivos de negocio de su empresa, ya que puede introducir cambios funcionales o de prioridad en el inicio de cada nueva iteración sin ningún problema. Esta metódica de trabajo promueve la innovación, motivación y compromiso del equipo que forma parte del proyecto, por lo que los profesionales encuentran un ámbito propicio para desarrollar sus capacidades.
• Cumplimento de expectativas: El cliente establece sus expectativas indicando el valor que le aporta cada requisito / historia del proyecto, el equipo los estima y con esta información el Product Owner establece su prioridad. De manera regular, en las demos de Sprint el Product Owner comprueba que efectivamente los requisitos se han cumplido y transmite se feedback al equipo.
• Flexibilidad a cambios: Alta capacidad de reacción ante los cambios de requerimientos generados por necesidades del cliente o evoluciones del mercado. La metodología está diseñada para adaptarse a los cambios de requerimientos que conllevan los proyectos complejos. • Reducción del Time to Market: El cliente puede empezar a utilizar las funcionalidades más importantes del proyecto antes de que esté finalizado por completo.
• Mayor calidad del software: La metódica de trabajo y la necesidad de obtener una versión funcional después de cada iteración, ayuda a la obtención de un software de calidad superior.
• Mayor productividad: Se consigue entre otras razones, gracias a la eliminación de la burocracia y a la motivación del equipo que proporciona el hecho de que sean autónomos para organizarse.
• Maximiza el retorno de la inversión (ROI): Producción de software únicamente con las prestaciones que aportan mayor valor de negocio gracias a la priorización por retorno de inversión.
• Predicciones de tiempos: Mediante esta metodología se conoce la velocidad media del equipo por sprint (los llamados puntos historia), con lo que consecuentemente, es posible estimar fácilmente para cuando se dispondrá de una determinada funcionalidad que todavía está en el Backlog.
• Reducción de riesgos: El hecho de llevar a cabo las funcionalidades de más valor en primer lugar y de conocer la velocidad con que el equipo avanza en el proyecto, permite despejar riesgos eficazmente de manera anticipada.
VISTAS DE PROCESO
VISTAS DE IMPLEMENTACIÓN
GESTIÓN DE REPOSITORIOS SERVIDOR DE PRODUCCIÓN
La nube es el servicio de almacenamiento de datos a servidores localizados en la red. Esta modalidad permite subir, abrir, modificar o usar programas y archivos a través de una conexión sin la necesidad de que se encuentren en el almacenamiento del dispositivo que usas para el proyecto. Heroku es una plataforma como servicio de computación en la nube la cual ha extendido su soporte a numerosos lenguajes y aplicaciones que ofrecen una mayor flexibilidad y agilidad a la hora de construir aplicaciones en este entorno de desarrollo.
- Creación de una nueva aplicación en Heroku
- Vinculación de Git Hub con Heroku para desplegar el dominio del sistema a desarrollar.
- Seguido buscamos nuestro repositorio para poder vincularlo, para esto le damos a la opción de Conectar.
- Seguido nos aparecerá la siguiente indicando que la coneion se realizo con éxito.
- Posteriormente procedemos a habilitar implementaciones automáticas desde la rama principal o main, en el recuadro rojo se ilustra que la acción fue exitosa.
METODOLOGÍA DE DESARROLLO A la hora de poner en marcha un proyecto, toda empresa debe asegurar que el equipo implicado conoce sus tareas y plazos de tiempo de entrega. Scrum es una metodología de trabajo que nos ayuda a conseguirlo y que, además, permite agilizar la entrega de valor al cliente en iteraciones cortas de tiempo. La metodología Scrum es un marco de trabajo o framework que se utiliza dentro de equipos que manejan proyectos complejos. Es decir, se trata de una metodología de trabajo ágil que tiene como finalidad la entrega de valor en períodos cortos de tiempo y para ello se basa en tres pilares: la transparencia, inspección y adaptación. Esto permite al cliente, junto con su equipo comercial, insertar el producto en el mercado pronto, rápido y empezar a obtener ventas. Al estar enmarcada dentro de las metodologías agile, Scrum se basa en aspectos como: • La flexibilidad en la adopción de cambios y nuevos requisitos durante un proyecto complejo. • El factor humano. • La colaboración e interacción con el cliente. • El desarrollo iterativo como forma de asegurar buenos resultados.
Los pilares o características de la metodología Scrum más importantes son 3 Transparencia Con el método Scrum todos los implicados tienen conocimiento de qué ocurre en el proyecto y cómo ocurre. Esto hace que haya un entendimiento “común” del proyecto, una visión global. Inspección Los miembros del equipo Scrum frecuentemente inspeccionan el progreso para detectar posibles problemas. La inspección no es un examen diario, sino una forma de saber que el trabajo fluye y que el equipo funciona de manera auto-organizada. Adaptación Cuando hay algo que cambiar, el equipo se ajusta para conseguir el objetivo del sprint. Esta es la clave para conseguir el éxito en proyectos complejos, donde los requisitos son cambiantes o poco definidos y en donde la adaptación, la innovación, la complejidad y flexibilidad son fundamentales. Roles en el equipo Scrum Con la metodología Scrum, el equipo tiene como foco entregar valor y ofrecer resultados de calidad que permitan cumplir los objetivos de negocio del cliente. Para ello, los equipos de Scrum son auto-organizados y multifuncionales. Es decir, cada uno es responsable de unas tareas determinadas y de terminarlas en los tiempos acordados. Esto garantiza la entrega de valor del equipo completo, sin necesidad de ayuda o la supervisión minuciosa de otros miembros de la organización. En Scrum existen 3 roles muy importantes: Product Owner, Scrum Master y Equipo de desarrollo. Product owner: Es el responsable de maximizar el valor del trabajo del equipo de desarrollo. La maximización del valor del trabajo viene de la mano de una buena gestión del Product Backlog, el cual explicaremos más adelante. Scrum Master: Es el responsable de que las **técnicas Scrum **sean comprendidas y aplicadas en la organización. Es el manager de Scrum, un líder que se encarga de eliminar impedimentos o inconvenientes que tenga el equipo dentro de un sprint (que ya revisaremos en detalle más adelante), aplicando las mejores técnicas para fortalecer el equipo de marketing digital. Equipo de desarrollo: Son los encargados de realizar las tareas priorizadas por el Product Owner. Es un equipo multifuncional y auto-organizado. Son los únicos que estiman las tareas del product backlog, sin dejarse influenciar por nadie.
Sprint: El sprint es el corazón de Scrum, es el contenedor de los demás hitos del proceso. Todo lo que ocurre en una iteración para entregar valor está dentro de un sprint. La duración máxima es de un mes, el tiempo se determina en base al nivel de comunicación que el cliente quiere tener con el equipo. .
Sprint planning: En esta reunión todo el equipo Scrum define qué tareas se van a abordar y cuál será el objetivo del sprint. La primera reunión que se hace en el sprint puede llegar a tener una duración de 8 horas para sprints de un mes. El equipo se hace las siguientes preguntas: ¿Qué se va a hacer en el sprint? En base a ello, se eligen tareas del Product backlog. Daily meeting: Es una reunión diaria dentro del sprint que tiene como máximo 15 minutos de duración. En ella debe participar, sí o sí, el equipo de desarrollo y el Scrum Master. El Product Owner no tienen necesidad de estar presente. En esta reunión diaria el equipo de desarrollo hace las siguientes tres preguntas: • ¿Qué hice ayer? • ¿Qué voy a hacer hoy? • ¿Tengo algún impedimento que necesito que me solucionen? Esta reunión es la más oportuna para poder inspeccionar el trabajo y poder adaptarse en caso de que haya cambio de tareas dentro de un sprint.
Sprint review: La review del valor que vamos a entregar al cliente se hace en esta reunión, al final de cada sprint. Su duración es de 4 horas para sprints de un mes, y es la única reunión de Scrum a la que puede asistir el cliente. En ella el Product Owner presenta lo desarrollado al cliente y el equipo de desarrollo muestra su funcionamiento. El cliente valida los cambios realizados y además brinda feedback sobre nuevas tareas que el Product Owner tendrá que agregar al Product backlog. Sprint retrospective: La retrospectiva es el último evento de Scrum, tiene una duración de 3 horas para Sprints de un mes, y es la reunión del equipo en la que se hace una evaluación de cómo se ha implementado la metodología Scrum en el último sprint.
METODOLOGÍA DE DESARROLLO EJECUCIÓN La metodología de desarrollo de ejecución de un proyecto es un documento formal, normalmente breve, que describe tu proyecto en su totalidad, incluidos cuáles son los objetivos, cómo se llevará a cabo y quiénes son las partes interesadas. Es un ingrediente fundamental en la planificación del proyecto porque se usa durante todo el ciclo de vida del proyecto. La metodología de desarrollo de ejecución de un proyecto normalmente documenta: Motivos para el proyecto
• Objetivos y limitaciones del proyecto • Quiénes son las principales partes interesadas • Riesgos identificados • Beneficios del proyecto • Descripción general del presupuesto
SPRINT #1 En el sprint #1 hemos llevado un control sobre los tiempos de diseño y control de tiempo mediante un scrum. Front-End
En el sprint #1 hemos llevado un control sobre los tiempos de diseño y control de tiempo mediante un scrum.
En el sprint #1 también contamos con un Scrum de los tiempos de desarrollo de la parte del Back-End, en la cual incluye reuniones que se realiza constantemente con el equipo de desarrollo.
Para crear nuestra aplicación vamos a utilizar y crear archivos que nos permitirá navegar entre los archivos y así cargar las rutas que definiremos para cada ventana que deseemos navegar, por lo que utilizaremos un modelo conocido como MVC (MODELO-VISTA-CONTROLADOR.).
A continuación mostramos la manera en la que se carga un controlador para luego poder visualizar nuestra vista.
En la parte de modelo es donde se ejecutara todo el código QUERY de MYSQL como la carga de datos del formulario en nuestra aplicación y es donde hará el proceso de inserción a la base de datos.
En el modelo de vista cargamos todos los archivos que se cargaran para que pueda ver el usuario cuando navegue en nuestra aplicación.
Por ultimo realizamos prueba de nuestra aplicación que ya está en la web
El cliente podrá registrarse o crear un nuevo usuario con características de su negocio.
Como podemos al registrar un nuevo usuario al igual que el local podemos ver que nuestro registro se almaceno correctamente a nuestra base de datos que tenemos de manara remota en Amazonaws.
Visualizamos nuestra base de datos y podemos observar que el usuario se almaceno correctamente a nuestra base de datos y con la contraseña encriptada. Como podemos ver al cargar un usuario tenemos acceso a nuestra página principal
En nuestro sprint #2 hemos mejorado y trabajado en partes del diseño y la mejora de aplicación tanto en el Front-End y en el Back-End. Es por eso que retomamos el Scrum para medir los tiempos de rediseño y codificación para la aplicación.
En el sprint #2 retomamos el Scrum del Back-End para reestructurar el código y mejorar la codificación de nuestra aplicación.
Se rediseño la aplicación por lo que nuestra página de inicio estará de la siguiente manera cuando el usuario acceda a nuestro link.
Al login solo le hizo un pequeño ajusto en la parte de redirección al registro.
Por ultimo a la venta de registrar se le modifico ya que solo queremos que el usuario registre un nombre de usuario y contraseña.
La ventana principal después del logeo será la siguiente y como de inicio cargara la vista home o Dashboard.
Contaremos con una sección de Historial donde el usuario podrá ver los productos que registre para su local.
En nuestra siguiente sección será la parte donde el usuario fijara el local y de donde se encuentra el negocio.
Tendremos un panel para que el usuario pueda poner definir un nombre y una foto de perfil para que sea más amigable su instancia en la aplicación.
De igual manera tendremos una sección la cual le permitirá al usuario cambiar su contraseña por si no quiere seguir con el que se registró inicialmente.
En la parte d front-end codificamos y diseñamos nuestras páginas web como se muestra a continuación.
Tenemos todos los componentes para el funcionamiento de SQL asi como las vistas en nuestras páginas web.
En nuestra siguiente imagen es donde se realiza toda la parte de autentificación de los usuarios al momento de logearse con el nombre de usuario y contraseña.
Contamos con un archivo Js la cual es donde definimos las funciones y operaciones que se realizaran como en nuestro caso al momento que se registre, el usuario no exista etc. Son funciones para ser más intuitivo la aplicación.
Tenemos un archivo muy importante la cual nos permitió hacer muchas correcciones a nuestra aplicación siendo de mucha ayuda ya que es como hemos encontrado todos los bugs que íbamos generando a través del desarrollo de nuestra aplicación, y cómo podemos observar en la siguiente imagen obtuvimos un total de 32,628 errores. La cual logreamos completar y hacer que la aplicación final no tuviera fallas cuando se le entregue al usuario final.
CONCLUSIÓN En el transcurso de la materia Fundamentos de Ingeniera de Software durante este semestre se lograron comprender la importancia de las etapas que requiere un proyecto para llevarlo a cabo. De igual manera se tocaron los puntos necesarios para desarrollar un buen proyecto (Metodologías, calidad de software, valor del producto, propuesta de valor, etc.). Ya que conforme a este podemos entregar un buen producto para satisfacer al cliente.
ANEXOS CIERRE (ACTA DE ACUERDO DE LAS REUNIONES) Nombre del proyecto: CB-24H Desarrolladores: Ana Laura Aparicio, Elvis Cruz Bautista, Samuel José Antonio, María Concepción Bautista. Protestan En la Heroica Ciudad de Tlaxiaco Oaxaca, a 16 de diciembre de 2021, comparecen: por una parte, el equipo desarrollador de la aplicación CB-24H integrado por Ana Laura Aparicio, Samuel José Antonio, Elvis Cruz y María Concepción Bautista, y por la otra el C. Alexis Vázquez, dueño y propietario del negocio Oasis Mix, con giro de Bar y Snacks, domiciliado en La Casona, calle Benito Juárez Nº 7, quienes vienen a celebrar un contrato de entrega de software en los términos que a continuación se presentan, exponiendo por primero: I. Que CB-24H de conformidad con su objeto social, se dedica a la programación e integración de sistemas de software. II. Que Oasis Mix está interesada en contratar a CB-24H un sistema de software con los requisitos y estipulaciones acordados en este contrato. III. Que, en base a lo anterior, ambas partes acuerdan la suscripción del presente contrato que se regirá de acuerdo con los siguientes
Clausulas PRIMERA. - DEFINICIONES Por mantenimiento correctivo se entiende en este contrato el definido en el estándar técnico de mantenimiento de software IEEE 1219-1998: “Modificaciones realizadas a un producto de software después de su entrega para corregir fallos descubiertos”. Por mantenimiento adaptativo o perfectivo, en este contrato se entiende el así definido en el mismo estándar técnico de mantenimiento de software IEEE 12191998: “Modificaciones realizadas a un producto de software después de su entrega para adaptar su funcionamiento a nuevas condiciones del entorno de operación, o para ampliar o modificar su funcionamiento”. SEGUNDA. - OBJETO El objeto del presente contrato es el desarrollo del sistema de software del proyecto denominado CB-24H. Este sistema proporcionará al usuario un acceso seguro para realizar la interacción con el mismo. Entre las acciones que este debe realizar son:
- Registro de usuario.
- Control y manejo de contraseñas.
- Crear, modificar datos sobre el establecimiento.
- Crear y modificar datos sobre productos.
- Crear y modificar datos del administrador. Características El sistema funcionara con conexión a internet y/o con datos móviles y contara con versiones para Android, Windows, en equipos como computadoras, laptops, tabletas y celulares. TERCERA. - LUGAR DE ENTREGA El sistema con nombre CB-24H, deberá ser entregado e instalado en el lugar denominado La Casona Antigua con domicilio en Calle Benito Juárez #7, en la Heroica Ciudad de Tlaxiaco Oaxaca. CUARTA. - PRECIO, FORMA DE PAGO Oasis Mix pagará a equipo desarrollador la suma total con IVA incluido de $ 15,000.00 MXN por el primer año de uso de este sistema, que es la suma de los valores señalados en las cotizaciones realizadas previamente, lo cual se efectuará en dos cuotas de la siguiente manera:
- La primera cuota correspondiente al 50%, es decir, $ 7,500.00 MXN. Oasis Mix pagará en el plazo de cinco días hábiles, desde que se encuentre totalmente tramitado el acto administrativo que aprueba el presente contrato, mediante transferencia bancaria a Ana Laura Aparicio integrante del equipo desarrollador.
- La segunda cuota de $ 7,500.00 MXN se pagará a través de transferencia bancaria a Ana Laura Aparicio, una vez entregado el sistema y se haya aprobado la implementación, correcto funcionamiento y capacitación los funcionarios del equipo desarrollador. En caso de no cumplimiento en el pago de los montos antes mencionados en las fechas convenidas. El equipo desarrollador estará facultada para cobrar una multa, por cada día de atraso equivalente a $100.00 MXN.
- Una vez entregada y validada cada parte, se iniciará un periodo de garantía del correcto funcionamiento y adecuación a los requisitos de rendimiento y calidad de 3 meses. La garantía cubrirá el servicio de mantenimiento correctivo por parte del equipo desarrollador, con un tiempo de respuesta a las notificaciones de incidencias inferior a las 6 horas laborables desde la notificación, y un tiempo de reparación acorde al esfuerzo técnico necesario para su reparación. La garantía no cubre operaciones de mantenimiento adaptativo o perfectivo. QUINTA. - TERMINO DEL CONTRATO Ninguna de las partes podrá poner término a este contrato de forma unilateral; sólo se podrá poner fin al mismo por acuerdo de las mismas partes. Sin embargo, el contrato se resolverá por el incumplimiento de alguna de las partes, previo pago de todas las multas contenidas en este mismo contrato. Teniendo en cuenta que la vigencia de este será del día de la firma hasta que transcurran los 365 días contenidos de un año. SEXTA. - GARANTIA Y SERVICIO TECNICO Todos los equipos de software objeto del presente contrato de compraventa, gozan de una garantía de seis meses, a contar de la fecha en que el comprador otorgue el acta de recepción conforme de los equipos y de la capacitación que se señala en la cláusula cuarta letra b) del presente contrato. Por su parte el comprador deberá cumplir con el "Manual de operación de los equipos" que otorgará el vendedor al comprador, al momento de la instalación del sistema. El "Manual de operación de los equipos", se agregará como anexo y forma parte del presente contrato. Por lo que para el evento que el software presente problemas técnicos durante el plazo recién señalado, el equipo desarrollador deberá verificar a través de su personal técnico, que los problemas, no se deben al mal uso de este sistema por partes de los usuarios de Oasis Mix, en cuyo caso se hará efectiva la garantía del fabricante recién señalado. SEPTIMA. - GENERAL Personal: cada parte asume, a título exclusivo el carácter de patrono o empresario de su personal empleado para la ejecución del presente contrato. Interlocutores válidos: para llevar a cabo las comunicaciones necesarias durante la ejecución del contrato se nombran como interlocutores válidos:
Efecto: El presente contrato surtirá efecto a partir de la fecha de su firma. OCTAVA. - LUGAR DE EJECUCIÓN. Las clausulas establecidas en este contrato son meramente demostrativas, como muestra de satisfacción y conformidad, cada uno de los involucrados en este contrato firman en acuerdo mutuo en La Heroica Ciudad de Tlaxiaco Oaxaca a 17 de diciembre de 2021.
ACRÓNIMOS • (DRS) - Documento de Requisitos del Sistema • (DRA) - Documento Arquitectura de Software • (CMMI) - Capability Maturity Model Integration • (EDT) - Estructura de Descomposición del Trabajo