Diseños de planes de evaluación

La ingeniería del software es el estudio de las técnicas Y de la teoría que subyacen al desarrollo de software De alta calidad.Objetivos  Resolver el problema correcto ◦ Comprender los detalles del problema ◦ Analizar el problema y desarrollar un conjunto completo y Preciso de requisitos  Entregar una solución a tiempo y dentro del Presupuesto  Entregar una solución de alta calidad que satisfaga a Cliente y usuarios.Metodología Software ◦ Metodología: “conjunto de métodos, reglas y postulados utilizados por Una disciplina” ◦ En Software hace referencia a la organización del propio proceso de Desarrollo  Existen numerosas metodologías, y casi todas tienen en común: ◦ División en etapas: cada una compuesta de flujos de trabajos ◦ Flujos de trabajo: compuesto por actividades específicas ◦ Personal: persona que realiza una actividad ◦ Actividades: tareas en las que intervienen personal y artefactos ◦ Artefactos: información generada por una actividad (documentos, Diagramas, e incluso un sistema)
Un modelo del ciclo de desarrollo define el proceso Que hay que seguir durante el desarrollo  Todos los modelos del ciclo de desarrollo contemplan Las cuestiones fundamentales del análisis, el diseño, la Implementación y la evaluación ◦ El proceso de análisis implica la especificación del problema ◦ El proceso de diseño implica la especificación de una solución ◦ Implementación: implica transformar el diseño en un sistema Funcional ◦ Evaluación: implica verificar que el sistema creado se ajusta a Las especificaciones descritas durante el proceso de análisis.Flujos de trabajo en el DSOO  Captura de requisitos  Análisis  Arquitectura  Diseño  Implementación  Prueba  Implantación  (Mantenimiento)Análisis OO ◦ Investigación del problema ◦ Encontrar y describir los Objetos (o conceptos) en El dominio del problema ◦ Ejemplo de una biblioteca: Libro, socio,…  Diseño OO: ◦ Solución del problema ◦ Definición de los objetos Software y su colaboración ◦ Los diseños se Implementan en un Lenguaje ◦ Ejemplo: Objeto Libro, Atributo título, método ObtenerCapitulo.Es el proceso de planificar cómo resolver un problema Mediante el software  El diseño contiene información suficiente para que el Equipo de desarrollo implemente la solución. Es el Anteproyecto de la solución software  ¿Qué se considera un buen diseño? ◦ Fácil de entender ◦ Fácil de cambiar → flexible ◦ Satisface los requisitosEn general, los modelos se construyen para averiguar si algo Funcionará.  ¿Por qué construir modelos de software?  ¿Por qué se deben construir diseños comprensibles antes de Codificar?  Los modelos permiten: ◦ Visualizar sistemas nuevos o ya existentes ◦




 Comunicar decisiones a los intervinientes del proyecto ◦ Documentar las decisiones realizadas en los flujo de trabajo ◦ Especificar la estructura y el comportamiento de los elementos de Un sistema ◦ Utilizar una plantilla para construir la solución software.(UML)  Notación gráfica para dibujar diagramas de conceptos Del software.  Fowler describe tres niveles: conceptual, especificación E implementación.  Los diagramas de especificación e implementación Tienen una conexión fuerte con el código fuente. Poca Ambigüedad.  Los diagramas en el nivel conceptual no están tan Fuertemente relacionados con el código. Los diagramas son muy útiles para comunicarse con los Demás y resolver los problemas de diseño.  Recargar un diagrama con cantidades de adornos es Posible pero contraproducente.  Mantén tus diagramas sencillos y claros.  Los diagramas no son código fuente y no deben ser Considerados como el lugar para declarar cualquier Método, variable o relación.UML define una notación que se expresa como diagramas y Sirven para representar modelos/subsistemas o partes de ellos  El 80 por ciento de la mayoría de los problemas pueden Modelarse usando alrededor del 20 por ciento de UML  UML es una herramienta, no un fin en sí mismo. Ayuda a pensar Un los diseños y a comunicarlos.  Refinamiento de los diagramas de manera iterativaHacer todo en iteraciones cortas (ej. Ciclos de 2 semanas), cada Uno comienza con un plan y finaliza con una entrega  La exploración inicial: ◦ No acaba en código. ◦ Responsable de los requisitos y las prioridades. ◦ Alcance del sistema. ◦ Casos de uso.  Estimar las carácterísticas: ◦ Estimamos cada CU o historia de usuario. Tener en cuenta la estimación de historias Ya implementadas, en otro caso, usar los días de programación perfectos.  Sondeos: ◦ Calibrar nuestras estimaciones. Velocidad inicial del equipo.Planificación  Utilizar la velocidad actual para suponer qué historias se completarán en Cada iteración,  Planificar entregas:  Comenzamos con la 1ª entrega. 6 iteraciones por la velocidad (25) hacen 150 Puntos de historias.  El cliente elige las más importantes para su negocio.  Planificar iteraciones:  El primer día de cada iteración se puede crear un plan.  Trocear las historias en tareas (4-10 hh). El cliente nos ayuda a realizar esta División contándonos los detalles completos de la historia.  Cada desarrollador se hace un presupuesto de tareas.  A medio camino:  Evaluar lo que se lleva hecho y modificaremos la planificación con el cliente.  Realimentación de velocidad:  Al final de cada ciclo recalculamos nuestra velocidad, de manera que se ajusten el Número de puntos de historia para la siguiente iteración.