¿Qué aporta la Ingeniería del Software?
Una visión metodológica de la Ingeniería del Software.
Un enfoque sistemático del desarrollo.
Modelo de referencia y buenas prácticas.
Todas las anteriores.
Las técnicas de Ingeniería del Software:
Son herramientas que facilitan los procesos del software.
Describen las tareas del proceso de desarrollo.
Son modelos del software muy extendidos.
¿Qué problemas preocupan actualmente a los ingenieros del software?
Los plazos de entrega.
La interoperabilidad entre los sistemas software.
Los costes de mantenimiento.
¿Para qué puede ser útil el modelado?
Para representar los requisitos del software.
Para facilitar la comunicación de miembros del equipo de desarrollo.
Para comprender el problema del cliente.
Un método de desarrollo describe
Las necesidades del cliente.
La secuencia de pasos a realizar para desarrollar un software.
Las características y atributos del software.
¿Cuál de las siguientes representaciones se considera un modelo del software?
Una especificación de un caso de uso.
Un diagrama de casos de uso.
Un diagrama de clases.
¿Qué representación se debe usar para describir el proceso de diseño del software?
Una especificación funcional del software.
La arquitectura del software.
Un diagrama de flujo que describa las tareas para obtener el modelo de diseño.
¿Qué aumenta la probabilidad de éxito de un desarrollo?
La claridad y consistencia de los requisitos.
El uso de un enfoque metodológico
Un diseño fácil de mantener.
Los prototipos en el proceso de requisitos
Simulan la interfaz de usuario.
Ayudan a identificar nuevos requisitos.
Sirven para validar los requisitos.
¿Qué proceso forma parte del ciclo de vida del software?
Proceso de desarrollo.
Proceso de mantenimiento.
Proceso de gestión.
¿Qué procesos se consideran de soporte a los procesos principales y generales del software?
Proceso de documentación.
Proceso de mejora.
¿Qué actividades forman parte del proceso de desarrollo del software?
Controlar la calidad del proceso.
Identificar los requisitos de software.
Estimar el esfuerzo del desarrollo.
¿En qué fase del proceso de desarrollo se definen los módulos o componentes del software?
Definición de requisitos.
Diseño detallado.
Diseño arquitectónico.
Se considera un requisito la necesidad de:
Usar un lenguaje de programación concreto.
Implementar una funcionalidad determinada.
Cumplir con unos estándares específicos.
¿Qué actividad forma parte del proceso de requisitos?
Comprobar la consistencia de los requisitos.
Determinar qué requisitos deben implementarse.
Identificar dependencia entre requisitos.
El tiempo medio de respuesta deberá ser de 3 segundos a plena carga (máximo número de usuarios concurrentes)
No es un requisito.
Es un requisito funcional.
Es un requisito de rendimiento.
Es un requisito de portabilidad.
Los requisitos no funcionales:
Especifican que debe hacer el software.
Afectan a como debe implementarse la funcionalidad.
Describen los datos de entrada al sistema.
Cuando se analizan los requisitos se:
Representan mediante técnicas de modelado.
Organizan en categorías.
Especifican detalladamente.
La especificación de requisitos
Define los servicios que debe ofrecer el software.
Define la información de salida y las restricciones del formato.
Delimita el alcance funcional del software.
Diagrama de clases
Es una técnica de modelado orientada a objetos.
Sirve para representar el modelo de dominio del software.
Modela la información necesaria en forma de objetos relacionados entre si.
Las clases abstractas
Hacen posible la herencia de atributos y operaciones comunes.
Simplifican el modelo conceptual.
Facilita los cambios en el software.
¿Qué técnica es la más indicada para representar el flujo de un proceso?
Diagrama de actividades.
Diagrama de casos de uso.
Diagrama de clases.
Las postcondiciones
Son validaciones que se hacen antes del caso de uso.
Son comprobaciones que se realizan durante el caso de uso.
Se especifican solo si se han producido cambios como consecuencia del caso de uso.
Ninguna de las anteriores.
Los diagramas de actividades
No especifican condiciones sobre el flujo.
Complementan las casos de uso.
No sirven para modelar una función del software.
Se usan para describir requisitos no funcionales del software.
En una explicación de diseño de presentaciones tipo Power Point, que relación existe entre la clase relación y la clase diapositiva.
Composición.
Agregación.
Include.
Ninguna.
¿Qué debe representar un diagrama de casos de uso?
Las relaciones entre los casos de uso especificados.
Las clases y sus relaciones.
El modelo de dominio del software.
En el ciclo de vida espiral
Se utiliza la creación del prototipo.
Cada fase se lleva a cabo una sola vez.
No se evalúa el riesgo.
En el manifiesto ágil se valora
La negociación de un contrato más que la colaboración con un cliente.
El proceso a seguir y las herramientas más que el equipo de desarrollo.
Responder a los cambios más que seguir estrictamente un plan trazado.
El proceso unificado de desarrollo se caracteriza:
Por estar guiado por casos de uso.
Por estar centrado en la arquitectura.
Por ser un proceso iterativo e incremental.
Si los requisitos están perfectamente especificados al comienzo del desarrollo se puede utilizar
Aproximación incremental.
Desarrollo rápido de aplicaciones.
Ciclo de vida clásico o cascada.
Todas.
En el ciclo de vida en espiral las fases se suceden de forma
Iterativa.
Lineal.
Aleatoria.
Ninguna de las anteriores .
En el desarrollo rápido de aplicaciones no es recomendado cuando
No se cuenta con recursos humanos suficientes para formar los grupos de desarrollo DRA requeridos.
La aplicación a desarrollar es difícil de separar en módulos.
El software requiere alto grado de interoperabilidad con programas ya existentes.
Principales organizaciones de estandarización
ISO, IEEE y SEI.
SWEBOOK, CMM y CMMI.
ACM, ESA y SWEBOOK.
La elección de un modelo de ciclo de vida puede estar acondicionada por:
La especificación clara y completa de los requisitos.
Restricciones de tiempo.
Limitaciones de presupuesto para el desarrollo.
Los elementos que conforman un sprint en la metodología SCRUM son:
Pila del producto, pila de sprint e incremento.
Producto, backlog y sprint backlog.
Gráfico burn up y product backlog.
En metodología SCRUM se aconseja que la duración de cada sprint sea de:
Un mes.
Como máximo tres meses.
Dos meses.
Las reuniones no opcionales de la metodología SCRUM son:
Sprint planning meeting, daily scrum meeting y sprint retropective meeting.
Planificación, seguimiento y revisión del sprint.
Planificación, seguimiento y reunión retrospectiva.
¿Quiénes se consideran comprometidos en la metodología SCRUM?
El propietario del producto y el equipo de desarrollo.
El scrum manager y los usuarios finales.
Los usuarios finales y el interesado en el producto.
¿Qué circunstancias haría fracasar el desarrollo de un producto software?
Que los requisitos cambien a lo largo del proyecto.
La ambigüedad e inconsistencia de los requisitos.
Que existan muchos requisitos.
Los modelos en Ingeniería del Software
Facilitan la comunicación entre ingenieros.
Son representaciones de gran utilidad.
Ayudan a definir lo que se quiere desarrollar.
¿Qué actitud beneficia a la industria del software?
Usar métodos para los diferentes procesos del software.
Usar estándares solo cuando lo imponga el cliente.
Validad requisitos solo cuando existen conflictos.
Un ejemplo de modelo de producto sería:
Un diagrama de actividades de prueba del software.
Un modelo de ciclo de vida.
La descripción de una operación específica del software.
¿Cuál de las siguientes creencias es errónea?
La implementación debe comenzar lo antes posible.
El análisis se debe simplifica al máximo.
La prueba solo es efectiva después de la implementación.
El software puede degradarse como consecuencia de:
Los cambios que haya que realizar.
La corrección de errores.
La incorporación de nuevas funcionalidades.
¿Cuáles son los retos actuales de la Ingeniería del Software?
Reducir tiempos de entrega sin comprometer la calidad.
Facilitar la integración entre sistemas.
Reducir los costes de mantenimiento.
El modelo de proceso
Describe el producto que queremos construir.
Representa las tareas a realizar a lo largo del proceso.
Describe los atributos del software.
La calidad de un software es menos si
Los requisitos no se pueden identificar al comienzo.
Hay riesgos.
No se desarrolla de forma que sea fácil de mantener.
Según la norma ISO 12207-1 las actividades del ciclo de vida se pueden agrupar en:
Proceso de desarrollo, proceso de mantenimiento y proceso de soporte.
Procesos principales, procesos de soporte y procesos generales.
Proceso de desarrollo, proceso de mantenimiento y proceso de gestión.
El proceso de desarrollo comprende actividades de:
Adquisición y suministro.
Operación y mantenimiento.
Análisis, diseño, pruebas e instalación.
El proceso de operación
Es un proceso de soporte.
Incluye la explotación y soporte operativo a los usuarios.
Forma parte del proceso de desarrollo.
¿En qué condiciones es útil el enfoque ágil?
Cuando los proyectos son muy grandes.
Cuando no hay prisas por la entrega.
Cuando el entorno del sistema es muy cambiante.
¿Qué ventaja tiene el uso de paradigmas de la ingeniería del software?
Garantizan el éxito del desarrollo.
Son muy contrastados.
No hacen uso de un enfoque de ingeniería.
El desarrollo rápido de aplicaciones
Se basa en realizar sucesivas transformaciones.
Se besa en el uso de componentes reutilizables.
Es una mejora de la aproximación incremental.
La aproximación evolutiva es útil cuando
Los requisitos están claros desde el principio.
No se necesita la experiencia del usuario.
Se requiere tecnología que no está disponible al comienzo del proceso de desarrollo.
Los estándares
Engloban conocimientos.
Unificar criterios para los procesos de software.
Proporcionan continuidad y entendimiento entre las personas implicadas en el proyecto a desarrollar.
El modelo CMM
Evalúa el estado de madurez de la organización
Constituye un marco de referencia para la mejora continua.
Propone un modelo de madurez de cinco niveles.
El SWEBOOK
Es un modelo de ciclo de vida.
Delimita el cuerpo de conocimiento de la ingeniería del software.
Es un método de desarrollo.
Un requisito es
Una capacidad del software del software para satisfacer el contrato.
Una restricción que debe tener el software.
Una condición necesaria para el cliente.
Todas de las anteriores.
¿Qué tarea formar parte de la negociación de los requisitos?
Discutir los requisitos conflictivos.
Priorizar los requisitos.
Alcanzar un compromiso final sobre los requisitos a implementar.
El sistema deberá soportar hasta 1000 usuarios
Es un requisito no funcional.
Características deseables de los requisitos
Completitud.
Consistencia.
Concisión.
El modelo de dominio representa
Conceptos modelados como clases.
Objetos del sistema que se puedan manipular.
Abstracciones para entender el problema.
El software se compone de
Instrucciones
Instrucciones y estructura de datos.
Instrucciones, estructura de datos y documentación.
¿Qué ha contribuido a la crisis del software?
Planificar los procesos de desarrollo.
No considerar el mantenimiento desde el comienzo de proceso de desarrollo.
Potenciar el uso de métodos y herramientas para el desarrollo.
La elección de paradigmas de la ingeniería del software.
Las estadísticas de desarrollo de proyectos informáticos nos indican que hay más:
Proyectos acabados con problemas.
Proyectos acabados con éxito.
Proyectos inacabados.
Según la norma ISO 12207-1 la operación de un proyecto software es un proceso:
Soporte.
Principal.
General.
De infraestructura.
¿En qué fase del proceso de desarrollo tenemos como actividad la elección del lenguaje de programación?
Requisitos de usuario.
Requisitos de software.
Diseño detallado y producción.
Son métodos de desarrollo ágil
SCRUM
Lean Development
Dynamic Systems Development Method
En qué modelo de desarrollo ágil se propone la programación en parejas:
AOSD.
XP.
¿Cuál de estos requisitos es un requisito no funcional?
El sistema deberá ser altamente seguro de ataques provenientes de internet.
El sistema debe atender a 100 usuarios al mismo tiempo sin aumentar el tiempo de respuesta demasiado.
El sistema debe correr bajo el sistema operativo Linux.
El dominio de información en el análisis está compuesto de:
Sucesos.
Datos.
El entenderlo es un principio del análisis.