¿Cuál de las siguientes cuestiones no establece la ingeniería de los requerimientos?
Las restricciones del diseño.
El comportamiento del sistema.
Las funciones del sistema.
Las pruebas a realizar.
La información a procesar.
Captura de requisitos en XP. Historias del Usuario (User-Stories): -Establecen los requisitos del cliente. -Trozos de funcionalidad que aportan valor. -Se les asignan tareas de programación con un número de horas de desarrollo. -Las establece el cliente. -Son la base para las pruebas funcionales.
La decisión de reutilizar componentes se basa en una evaluación de costos, entre una nueva solución o adaptar una existente.
Es suficiente comenzar el desarrollo de un sistema con una descripción de objetivos generales y los detalles se irán especificando más adelante.
Clasificación de las metodologías de desarrollo. En base a su alcance: - Metodología de largo alcance. - Metodología de alcance medio. - Metodología de alcance corto.
No todas las metodologías cubren las mismas actividades.
Las metodologías se desarrollan para cada una de las fases del desarrollo del producto.
En general podemos decir que en los sistemas informáticos el % del coste del software supera el % del coste del hardware.
Software es el conjunto de programas, estructuras de datos y documentos asociados para soportar la instalación, operación y uso de los programas.
Los procesos integran métodos y herramientas, y definen la secuencia en que se aplican los métodos.
Prácticas XP. Refactoring: - Refactorización = Mejora del código. - Intentar eliminar complejidad. - Código duplicado -> Refactorización. - Se plantea su aplicación después de implementar cada user-story.
Diagrama de clases. Desarrollados por analistas, diseñadores y desarrolladores.
El Manifiesto de las Metodologías Ágiles. Principios: 1. La prioridad principal es satisfacer al cliente mediante tempranas y continuas entregas del software que le reporten un valor. 2. Dar la bienvenida a los cambios. Los AMs capturan los cambios para que el cliente tenga una ventaja competitiva. 3. Entregar frecuentemente software que funcione, desde u par de semanas a un par de meses, con el menor intervalo de tiempo posible entre una entrega y la siguiente.
Metodologías o proceso de desarrollo. ¿Cuál de estas afirmaciones no es falsa?
Se presenta normalmente como una serie de pasos, con técnicas y notaciones asociadas a cada paso.
Proceso para la producción de software libre, empleando una colección de técnicas predefinidas y convenciones en las notaciones
Los pasos de la producción del software se organizan normalmente en un ciclo de vida consistente en sólo tres fases de desarrollo
La reusabilidad es la posibilidad de que cualquier módulo software pueda ser usado en múltiples entornos.
Cuesta más mantener el software que desarrollarlo
Cuesta más mantener el software que desarrollarlo.
Roles XP. Programador: • Organiza y guía las reuniones • Ayuda al cliente con las pruebas funcionales • Se asegura de que las pruebas funcionales se superan
Un sistema es un modelo de componentes relacionados entre si.
El riesgo es proporcional a la cantidad de información disponible. Cuanto menos información, menor es el riesgo.
La gestión de la configuración, controla los cambios que se desarrollan en la etapa de mantenimiento.
En la etapa de diseño se tiene que descubrir la mayor cantidad posible de errores que se puedan reparar antes de entregar el sistema.
RUP. Procesos de soporte del ciclo de vida del software. El estándar ISO/IEC12207 identifica los procesos de soporte que pueden ser utilizados desde un proceso primario, o incluso desde otro proceso de soporte. Los procesos de soporte son: ASEGURAMIENTO DE LA CALIDAD • Actividades empleadas para garantizar de forma objetiva que el producto y los procesos asociados son conformes a los requisitos documentados y a las planificaciones VERIFICACIÓN • Actividades empleadas para verificar el producto VALIDACIÓN • Actividades empleadas para validar el producto
Diagrama de Objetos. Propósito: • Ilustrar las estructuras de datos/objetos del sistema • Especificar detalles del modelo
Las metodologías de desarrollo contemplan actividades Técnicas o de Desarrollo, como la comercialización del proyecto.
Metodologías Ágiles de Desarrollo. Centran su filosofía en la adaptabilidad al cambio en los requisitos.
Con el tiempo se han mejorado los problemas de capacidad de mantenimiento del software existente.
Diagrama de Caso de Uso. Propósito: • Especificar el contexto de un sistema • Capturar los requerimientos del sistema • Validar la arquitectura del sistema • Dirigir la implementación del sistema y generar escenarios de testeo
Las decisiones a largo plazo se toman en la dirección con información detallada y específica.
El análisis, la planificación y la especificación son tareas que definen que software se desarrolla.
En el análisis se transforma los casos de uso en un modelo que describe el sistema.
Metodologías Ágiles de desarrollo. No es posible planificar cuando el desarrollo del software no es predecible.
Las técnicas son programas que mecanizan los métodos para dar soporte al desarrollo.
El desarrollo como fase del proceso de software incluye las tareas de diseño, codificación, pruebas e implantación.
El software es el elemento de principal coste en el desarrollo de un sistema informático.
Valores que fomenta XP: • Reuniones de seguimiento muy frecuentes • Mucha documentación • Una sola entrega
Decisiones de negocio las toma el cliente: • Alcance → ¿Cuándo debe estar listo el producto para que sea valioso en producción? • Prioridad → Prioriza la incorporación de las user-stories • Composición de entregas → ¿Qué se necesita para que el negocio sea mejor antes de tener el SW? • Fechas de entrega → Fechas cuando el software funcionando causaría una gran diferencia.
Diagrama de Desarrollo o Despliegue. Desarrollado por programadores.
Las actividades del proceso del software varían dependiendo de la organización y del tipo de sistema a desarrollarse.
El prototipado es recomendado cuando existen especificaciones de alto riesgo.
Análisis estructurado de Tom DeMarco 1979 & Diseño estructurado de Yourdo Modelo de proceso: Iterativo e incremental (híbrido).
¿Cuál de las siguientes problemáticas del software es falsa?
Las estimaciones del tiempo, costes y esfuerzo para el desarrollo no son precisas
Las responsabilidades están diluidas
La calidad del software desarrollado es cuestionable
El software es difícil de mantener
La productividad es mayor que la demanda
La comunicación entre desarrolladores y usuarios es deficiente
La satisfacción del usuario es baja
El Proceso Unificado de Desarrollo: • Guiado y Manejado por Casos de Uso • Centrado en la Arquitectura • Centrado en Modelos
Las herramientas de ingeniería del software son más importantes que el hardware para conseguir una buena productividad.
Mejores prácticas de XP: • Programación en parejas • Propiedad colectiva • Integración continua • Semana de 40 horas • Cliente in situ • Estándares de programación
RUP. Procesos de soporte del ciclo de vida del software REUNIONES DE REVISIÓN • Reuniones empleadas por las dos partes para evaluar el estado del producto y de las actividades AUDITORIAS • Actividades para determinar que el proyecto cumple con lo0s requisitos, planes y contratos RESOLUCIÓN DE PROBLEMAS • Actividades para analizar y resolver problemas relativos al proyecto, sea cual sea su fuente y naturaleza
Análisis y Diseño estructurado de Michael Jackson es un Modelo de proceso: en cascada.
Decisiones de negocio las toma el analista: Alcance → ¿Cuándo debe estar listo el producto para que sea valioso en producción? Prioridad → Prioriza la incorporación de las user-stories Composición de entregas → ¿Qué se necesita para que el negocio sea mejor antes de tener el SW? Fechas de entrega → Fechas cuando el software funcionando causaría una gran diferencia
Perfil Jefe de Proyecto, en esta categoría se agrupan los siguientes tipos de participantes: • Jefe de Proyecto • Responsable de Implantación • Responsable de Mantenimiento • Responsable de Operación • Responsable de Sistemas • Responsable de Seguridad • Responsable de Calidad
Un sistema de gestión de la calidad es el conjunto de la estructura de la organización, de responsabilidades, procedimientos, procesos y recursos que se establecen para llevar a término la gestión de calidad.