ESCUELA DE CIENCIAS, BASICAS TECNOLOGIA E INGENIERIA, ECBTI. CURSO INGERNIERIA DE SOFTWARE 30 de Abril de 2019 GESTION DEL ALCANCE: Recopilación de requisitos: 1. Debe permitir organizar la información por departamentos, ciudades, etc. 2. Debe contar con información de lugares, eventos, historia y ofertas de toda clase. 3. Debe contar con sistema de ubicación en línea. 4. Debe permitir registrar tanto información comercial como información histórica de cada lugar. 5. Debe permitir comentarios y calificaciones de parte de los usuarios de la aplicación, mostrar sugerencias de acuerdo a comentarios y calificaciones recibidas. 6. Debe permitir reservas y compras en línea por lo tanto debe contar con sistemas de pago en línea. 7. Debe ser de descarga fácil, acceso en línea, sistema de login y seguridad, multiplataforma. Definición del alcance: Este proyecto es para la creación de un software que busca mejorar la experiencia del turista en Colombia. El producto software tendrá las siguientes funcionalidades: Funcionará de tal forma que los turistas podrán descargarla fácilmente. Cuando se suscriban podrán tener toda la información de lugares, eventos, historia y ofertas de toda clase del municipio donde se encuentre. Además, facilitará la ubicación de cada lugar y negocio que se encuentra en el municipio ofreciendo una información detallada y precisa. También encontrará la historia y la cultura del lugar, ofreciendo una experiencia placentera al visitante. El visitante encontrará lugares que no conocía, tendrá un guía turístico en la palma de sus manos y contará con las recomendaciones de las personas que hayan visitado esos lugares, también podrá realizar sus compras o reservas en línea y disfrutar de los descuentos que tenga cada negocio. Estructura desagregada del trabajo-Work breakdown structure: Definición de Requisitos 1.01 Requisitos de financiación solicitud de proyecto 1.01.01 Revisión 1.01.02 Establecer la justificación preliminar 1.01.03 Financiar 1.01.04 Priorizar proyecto. 1.01.05 Establecer equipo de proyecto 1.02 Definir el problema o la oportunidad 1.02.01 Entrevista a los potenciales usuarios 1.02.02 Definir el alcance del proyecto 1.03 Documentación de los requerimientos del proyecto. 1.03.01 Documento con los requisitos del software 1.03.02 Documento con las restricciones de diseño del software. 1.03.03 Documento de respuesta o tiempo de respuesta 1.03.04 Documento restricciones de seguridad. 1.03.05 Documento restricciones o requisitos del entorno físico. 1.04 Validar la arquitectura del software 1.04.01 Comparación de los requisitos con la arquitectura del software 1.05.02 Identificar posibles inconsistencias 1.05.03 Identificar el desarrollo y concurrente en conflicto 1.05.04 Identificar los cambios recomendados a la arquitectura de sistemas 1.06 Revisión por parte de la administración del proyecto 1.06.01 Plan de la fase siguiente 1.06.02 Reevaluar los costos de desarrollo 1.06.03 Justificación reevaluar 2 Diseño Lógico 2.01 Identificar los requisitos detallados de datos 2.01.01 Identificar las necesidades de salida 2.01.02 Descomponer datos de salida 2.01.03 Identificar los requisitos de entrada 2.01.04 Identificar las fuentes de entrada 2.02 Desarrollar prototipo vistas 2.02.01 Diseño pantallas interactivas 2.02.02 Informes de diseño 2.03 Diseño de base de datos 2.03.01 Definir las relaciones de datos lógicos 2.03.02 Diseño estructura de datos 2.03.03 Validar diseño de la base de datos 2.04 Diseño de interfaces 2.04.01 Diseño interfaces de datos externa 2.04.02 Diseño de interfaces humanas 2.05 Especificar todas las entradas y salidas 2.05.01 Definir los datos y las relaciones de interfaz 2.05.02 Definir los datos del sistema y las relaciones 2.06 Desarrollar procedimientos de prueba 2.06.01 Identificar los requisitos de prueba 2.06.02 Crear lista de verificación de prueba 2.07 Validar diseño lógico 2.07.01 Validar relaciones de datos 2.07.02 Validar relaciones proceso 2.07.03 Validar lógica de proceso 2.07.04 Seguimiento de los requisitos para el diseño 2.08 Validar la arquitectura del software 2.08.01 Comparar diseño lógico con la arquitectura del software 2.08.02 Identificar posibles inconsistencias 2.08.03 Identificar el desarrollo y concurrente en conflicto 2.08.04 Identificar los cambios recomendados a la arquitectura del software 2.9 Revisión por la administración del proyecto 2.9.01 Plan de la fase siguiente 2.9.02 Reevaluar los costos de desarrollo 2.9.03 Justificación reevaluar 3 Diseño Físico 3.01 Diseño o especificación la base de datos física 3.01.01 Revisión del diseño de base la de datos lógica 3.01.02 Determinar los métodos de acceso para ser utilizados 3.01.03 Normalizar base de datos 3.1.04 Diseño de arquitectura de base de datos 3.01.05 Identificar las estructuras de base de datos reutilizables 3.01.06 Desarrollar el diseño de base de datos detallada 3.01.07 Desarrollar archivo de base de datos, grabar y descripciones de esquema. 3.01.08 Desarrollar secuencias módulo de llamadas 3.01.09 Actualizar las entradas del diccionario de datos 3.01.10 Validar el diseño de base de datos física 3.02 Diseño estructura de procesamiento 3.02.01 Estructuras de procesos de redacción de la descomposición de datos 3.02.02 Identificar los subsistemas físicos 3.02.03 Identificar los programas físicos 3.02.04 Identificar programas reutilizables 3.02.05 Eliminar la duplicidad de procesos 3.03 Diseño del procesamiento lógico 3.03.01 Diseño secuencias de llamada 3.03.02 Desarrollar especificaciones de cálculo 3.03.03 Diseño interfaz lógica 3.03.04 Diseño seguridad lógica 3.3.05 Diseño de recuperación de errores de lógica 3.04 Definir procedimientos interfaces de diseño del sistema lógico de usuario 3.04.01 Revisión 3.04.02 Desarrollar procedimientos de entrada de datos interactivos 3.04.03 Desarrollar las especificaciones de la pantalla 3.04.04 Diseño de las formas de entrada. 3.04.05 Desarrollar especificaciones de informe físicas 3.04.06 Desarrollar procedimientos operativos del usuario 3.05 Validar diseño físico 3.05.01 Validar relaciones de datos 3.05.02 Validar proceso de relaciones 3.05.03 Validar proceso de lógica 3.05.04 Validar procedimientos 3.06 Validar arquitectura del software 3.06.01 Comparación entre el diseño físico y la arquitectura del software 3.06.02 Identificar posibles inconsistencias 3.06.03 Identificar el desarrollo conflictivo concurrente 3.06.04 Identificar los cambios recomendados a la arquitectura del software 3.07 Revisión por la administración del proyecto 3.07.01 Plan de la fase siguiente 3.07.02 Reevaluar los costos de desarrollo 3.07.03 Justificación Reevaluar 4 Programación y pruebas unitarias 4.01 Descomponer módulos de programa 4.01.01 Identificar los módulos del programa 4.01.02 Identificar entrada del módulo de programa y de salida 4.01.03 Identificar módulos reutilizables 4.01.04 Eliminar redundancia de módulos 4.02 Desarrollar módulos del programa 4.02.01 Desarrollar la lógica detallada del módulo 4.02.02 Validar lógica del módulo 4.02.03 Código del módulo 4.02.04 Desarrollar módulo de datos de prueba 4.02.05 Programar unidad de prueba 4.02.06 Procedimientos de prueba 4.03 Revisión por la administración del proyecto 4.04.01 Plan de la fase siguiente 4.04.02 Reevaluar los costos de desarrollo 04.04.03 Justificación reevaluar 5 Sistema de pruebas 5.01 Finalizar el sistema integrado de pruebas. 5.01.01 Revisar los procedimientos de prueba provisional 5.01.02 Desarrollar la integración de procedimientos de prueba 5.01.03 Desarrollar la integración del plan de pruebas 5.01.04 Asignar la integración responsabilidades de las pruebas 5.01.05 Desarrollar la integración de datos de prueba 5.01.06 Entrenamiento del procesamiento de datos. 5.02 Finalizar aceptación de los usuarios 5.02.01 Revisar los procedimientos de prueba provisional 5.02.02 Desarrollar criterios de aceptación de los usuarios 5.02.03 Desarrollar procedimientos finales de las pruebas de aceptación de usuario 5.02.04 Desarrollar plan de pruebas de aceptación del usuario 5.02.05 Asignar responsabilidades de las pruebas de aceptación de usuario 5.02.06 Desarrollar datos de prueba de aceptación del usuario 5.02.07 Formar a los usuarios 5.03 Conducta prueba de integración 5.03.01 Programas de enlace y copia para probar bibliotecas 5.03.02 Establecer archivos de prueba 5.03.03 Ejecutar prueba de integración 5.04 Conducta aceptación de los usuarios de prueba / entrenamiento 5.04.01 Establecer archivos de prueba de aceptación del usuario 5.04.02 Establecer archivos de prueba 5.04.03 Ejecutar prueba de aceptación de los usuarios 5.05 Revisión por la administración del proyecto 5.5.01 Plan de la fase siguiente 5.05.02 Reevaluar los costos de desarrollo 5.05.03 Justificación reevaluar 6 Instalación 6.01 Instalar software Control del alcance: Celebrar reuniones Una vez por semana se realizara una reunión en la cual el director del proyecto debe proporcionar una visión general del trabajo en el momento, describir los objetivos y problemas actuales y establecer una comunicación efectiva con el equipo. El director del proyecto deberá escribir la agenda de una reunión y luego compartir este documento con todos los participantes de la reunión. La realización de las reuniones permitirá que el director del proyecto realice estas tareas importantes para el proceso de control: Revisar y (re) asignar roles y responsabilidades del equipo Proporcionar dirección ejecutiva del proyecto al equipo. Notificar el estado actual del trabajo del proyecto, incluidos los temas pendientes. Proporcionar orientación al equipo de desarrollo del proyecto de software. Tomar decisiones ejecutables sobre acciones posteriores a lo largo del proyecto. Establecer y revisar criterios de éxito. Realizar control de calidad El control de calidad comenzará cuando se inicie el proyecto y durará todo el ciclo de vida del proyecto hasta que el software se desarrolle y se entregue al cliente. Con este se garantizará que las actividades y tareas en cualquier etapa del ciclo de vida puedan ser aprobadas para que el proyecto pueda continuar desarrollándose. El director del proyecto realizará las siguientes actividades para controlar la calidad: Creará un programa de revisión de calidad que defina el tiempo para controlar una etapa determinada Desarrollará una agenda que determine las tareas clave de las personas involucradas en el proceso de control. Asignará revisores que realizarán el control de calidad de la etapa, incluidos los objetivos de la etapa, productos, compromisos, roles, responsabilidades, etc. Asignará otros roles, como el Facilitador (que garantiza el cumplimiento de la agenda y el seguimiento apropiado) y el Autor (que proporciona toda la información necesaria y toma las medidas correctivas aprobadas una vez que finaliza el proceso de control) Documentará y registrará todas las acciones y decisiones tomadas a lo largo del proceso de control. Asegurará que se tomen las medidas de seguimiento apropiadas Notificará a las partes interesadas sobre el estado del proyecto después de que se realice el proceso de control. Seguir el proceso de trabajo El propósito es asegurar que el trabajo del proyecto se realice según lo programado. El director del proyecto debe seguir el progreso del trabajo en cualquier etapa para asegurarse de que el proyecto vaya en la dirección correcta. El director del proyecto hará el seguimiento del progreso y garantizará un control efectivo del proyecto, realizando las siguientes actividades: Capturará los datos de rendimiento de la tarea, incluida la fecha real de inicio / finalización de las tareas, el esfuerzo de trabajo planificado / real (en horas), la última duración estimada (en horas) para completar las tareas, otros Actualizará el programa con los datos de rendimiento de la tarea real Calculará los costos restantes y actualizará los costos estimados con los costos reales incurridos durante un período seleccionado Capturará los gastos no relacionados con el personal incurridos Considerará volver a planificar el trabajo para una etapa determinada en términos de las actualizaciones realizadas al cronograma y las estimaciones de costos Ajustará la disponibilidad del personal y considerar hacer re- asignaciones Involucrará recursos adicionales si es necesario Medirá el rendimiento del equipo y determinará los problemas que causan un menor rendimiento Proporcionará motivación al personal durante las reuniones de estado del equipo. Tomará acciones correctivas para eliminar problemas de rendimiento. Verificación del alcance: Durante la ejecución del proyecto, se cumplirán algunos requisitos y deben verificarse de acuerdo con los criterios de aceptación de los entregables del proyecto finalizados. Los entregables completados se inspeccionarán con el cliente y/o interesados, para asegurar que se completen en un grado satisfactorio y para obtener la aceptación formal del cliente. Los entregables aceptados se marcan como hechos, mientras que los no aceptados regresan al proceso de desarrollo con comentarios adicionales. Este proceso se realizará al cierre de cada una de las etapas, con el fin de realizar las correcciones respectivas, ya que no se puede dejar para el final del proyecto cuando el tiempo se reduce considerablemente.