EGEL Plus Ingeniería de Software study materials
EGEL Plus Ingeniería de Software study resources

EGEL Plus Ingeniería de Software key terms

EGEL Plus Ingeniería de Software · Get comfortable with the vocabulary.

Requerimiento funcional

Enunciado que describe qué debe hacer un sistema: una capacidad, cálculo o comportamiento observable que el software debe proporcionar a sus usuarios o a otros sistemas.

Related: Requerimiento no funcional, Historia de usuario, Caso de uso
Requerimiento no funcional

Restricción o atributo de calidad que describe cómo debe comportarse el sistema, como rendimiento, seguridad, disponibilidad o usabilidad, en lugar de una función concreta.

Related: Atributo de calidad, Requerimiento funcional
Historia de usuario

Descripción breve de una necesidad escrita desde la perspectiva del usuario, normalmente con la forma rol, objetivo y beneficio, que sirve como base para conversar y priorizar el trabajo.

Related: Criterio de aceptación, Product backlog, Requerimiento funcional
Criterio de aceptación

Condición verificable que debe cumplirse para que una historia o requerimiento se considere terminado; suele expresarse como escenarios concretos de entrada y resultado esperado.

Related: Historia de usuario, Prueba de aceptación
Caso de uso

Descripción de una interacción completa entre actores externos y el sistema para alcanzar un objetivo, incluyendo el flujo principal y las alternativas relevantes.

Related: Actor, Diagrama de casos de uso, Requerimiento funcional
Actor

Persona, rol o sistema externo que interactúa con el software para obtener un resultado; se modela fuera de la frontera del sistema y origina casos de uso.

Related: Caso de uso, Diagrama de casos de uso
Diagrama de clases

Modelo estático que muestra clases, sus atributos y operaciones, y las relaciones entre ellas como asociación, herencia o composición, para representar la estructura del dominio o del diseño.

Related: Encapsulamiento, Herencia, Diagrama de secuencia
Diagrama de secuencia

Modelo de comportamiento que muestra, en orden temporal, los mensajes intercambiados entre objetos o componentes para realizar una operación o un escenario concreto.

Related: Diagrama de clases, Caso de uso
Encapsulamiento

Principio de diseño que oculta el estado interno de un objeto y expone solo una interfaz controlada, de modo que otros módulos no dependan de detalles de implementación.

Related: Cohesión, Acoplamiento, Interfaz
Herencia

Relación entre clases en la que una subclase reutiliza y especializa el comportamiento de una superclase, estableciendo una jerarquía de tipos con sustitución.

Related: Polimorfismo, Diagrama de clases
Polimorfismo

Capacidad de que objetos de distintos tipos respondan al mismo mensaje o interfaz con comportamientos propios, permitiendo tratar variantes de forma uniforme en el código cliente.

Related: Herencia, Interfaz
Cohesión

Grado en que los elementos de un módulo pertenecen a una misma responsabilidad; una cohesión alta indica que el módulo es enfocado y fácil de entender y mantener.

Related: Acoplamiento, Encapsulamiento
Acoplamiento

Grado de dependencia entre módulos; un acoplamiento bajo reduce el impacto de los cambios y facilita probar y reemplazar partes del sistema de forma independiente.

Related: Cohesión, Interfaz
Patrón de diseño

Solución general y reutilizable a un problema recurrente de diseño de software, documentada con su contexto, estructura, participantes y consecuencias, no como código listo para copiar.

Related: Patrón arquitectónico, Interfaz
Diagrama de casos de uso

Vista que relaciona actores con los casos de uso que el sistema les ofrece, delimitando el alcance funcional y las interacciones principales del sistema.

Related: Caso de uso, Actor
Refactorización

Transformación del código que mejora su estructura interna sin cambiar el comportamiento observable, reduciendo deuda técnica y facilitando cambios futuros.

Related: Deuda técnica, Prueba unitaria
Prueba unitaria

Prueba automatizada que verifica el comportamiento de una unidad pequeña de código, como una función o clase, de forma aislada y rápida para detectar regresiones temprano.

Related: Refactorización, Cobertura de pruebas, Desarrollo guiado por pruebas
Prueba de integración

Prueba que verifica la interacción entre dos o más componentes o sistemas, comprobando que las interfaces, datos y protocolos funcionan correctamente al combinarse.

Related: Prueba unitaria, Prueba de sistema
Prueba de aceptación

Prueba ejecutada para confirmar que el sistema satisface los criterios acordados con el cliente o usuario, y que es apto para su entrega o puesta en uso.

Related: Criterio de aceptación, Prueba de sistema
Prueba de sistema

Prueba del producto completo en un entorno representativo, orientada a validar requisitos funcionales y no funcionales de extremo a extremo.

Related: Prueba de integración, Prueba de aceptación
Cobertura de pruebas

Medida de la proporción del código, ramas o requisitos que ejercitan las pruebas; sirve para identificar zonas no verificadas, no como garantía de calidad por sí sola.

Related: Prueba unitaria, Caja blanca
Caja negra

Técnica de prueba que deriva casos a partir de entradas y salidas esperadas sin conocer la estructura interna del código, usando particiones de equivalencia o valores límite.

Related: Caja blanca, Prueba de aceptación
Caja blanca

Técnica de prueba que diseña casos a partir de la estructura interna del programa, como caminos, condiciones y ramas, para ejercitar el código de forma dirigida.

Related: Cobertura de pruebas, Caja negra
Desarrollo guiado por pruebas

Práctica en la que se escribe primero una prueba automatizada que falla, luego el código mínimo para pasarla y finalmente se refactoriza, repitiendo el ciclo en incrementos pequeños.

Related: Prueba unitaria, Refactorización
Integración continua

Práctica de integrar los cambios de código en un repositorio compartido con frecuencia, ejecutando automáticamente compilación y pruebas para detectar fallos de forma temprana.

Related: Entrega continua, Prueba unitaria
Control de versiones

Sistema que registra el historial de cambios de archivos y permite trabajar en ramas, comparar versiones, revertir estados y coordinar a varias personas sobre el mismo código.

Related: Integración continua, Refactorización
Deuda técnica

Costo futuro implícito que surge de elegir soluciones rápidas o incompletas hoy; si no se paga con refactorización y pruebas, encarece cada cambio posterior.

Related: Refactorización, Cobertura de pruebas
Interfaz

Contrato que define las operaciones que un componente ofrece a sus consumidores, ocultando la implementación y permitiendo sustituirla sin afectar al código que la usa.

Related: Encapsulamiento, Acoplamiento, Polimorfismo
Product backlog

Lista priorizada y en evolución de elementos pendientes de un producto, como historias, mejoras y correcciones, que alimenta la planificación de iteraciones.

Related: Historia de usuario, Sprint, Velocidad del equipo
Sprint

Iteración de duración fija en la que un equipo produce un incremento terminado y potencialmente entregable, con objetivos y alcance acordados al inicio.

Related: Product backlog, Velocidad del equipo, Scrum
Scrum

Marco de trabajo ágil basado en iteraciones cortas, roles definidos y eventos regulares, que organiza el trabajo en torno a un backlog y a la inspección y adaptación continuas.

Related: Sprint, Product backlog, Velocidad del equipo
Velocidad del equipo

Cantidad de trabajo, medida en unidades acordadas como puntos de historia, que un equipo completa por iteración; se usa para pronosticar, no para comparar equipos.

Related: Sprint, Product backlog
Ruta crítica

Secuencia de actividades dependientes más larga de un proyecto, cuya duración determina la fecha mínima de término y cuyo retraso retrasa todo el proyecto.

Related: Diagrama de Gantt, Hito
Diagrama de Gantt

Representación gráfica de actividades en el tiempo que muestra duraciones, solapamientos y dependencias, útil para comunicar el plan y seguir el avance del cronograma.

Related: Ruta crítica, Hito
Hito

Punto significativo del proyecto sin duración propia, usado para marcar la consecución de un resultado o la finalización de una fase y verificar el avance.

Related: Diagrama de Gantt, Ruta crítica
Gestión de riesgos

Proceso de identificar, analizar, priorizar y planificar respuestas a amenazas u oportunidades que pueden afectar los objetivos de alcance, tiempo, costo o calidad del proyecto.

Related: Ruta crítica, Hito
Estimación por puntos de historia

Técnica de estimación relativa que asigna un valor de esfuerzo o complejidad a cada elemento del backlog comparándolo con referencias ya estimadas por el equipo.

Related: Velocidad del equipo, Product backlog
Patrón arquitectónico

Esquema de organización de alto nivel que define la estructura general de un sistema, sus componentes y sus relaciones, como capas, microservicios o arquitectura orientada a eventos.

Related: Patrón de diseño, Atributo de calidad, Microservicios
Atributo de calidad

Propiedad medible del sistema, como disponibilidad, seguridad, rendimiento o modificabilidad, que guía las decisiones arquitectónicas y debe expresarse con escenarios verificables.

Related: Requerimiento no funcional, Patrón arquitectónico
Microservicios

Estilo arquitectónico que descompone el sistema en servicios pequeños, desplegables de forma independiente y comunicados por red, cada uno dueño de su lógica y datos.

Related: Patrón arquitectónico, Interfaz, Atributo de calidad
Arquitectura en capas

Estilo que organiza el sistema en niveles con responsabilidades definidas, donde cada capa depende de la inferior mediante interfaces, favoreciendo la separación de preocupaciones.

Related: Patrón arquitectónico, Acoplamiento
Modelo de calidad de producto

Marco que define características y subcaracterísticas medibles de la calidad del software, como funcionalidad, fiabilidad, eficiencia y mantenibilidad, para evaluarlo de forma sistemática.

Related: Atributo de calidad, Revisión de código
Revisión de código

Examen sistemático de cambios por parte de otros desarrolladores para detectar defectos, verificar estándares y compartir conocimiento antes de integrar el trabajo.

Related: Modelo de calidad de producto, Integración continua
Proceso de software

Conjunto estructurado de actividades, roles y artefactos que un equipo sigue para transformar necesidades en software entregado, mantenido y evaluado.

Related: Modelo de madurez, Scrum
Modelo de madurez

Marco de referencia que describe niveles progresivos de formalización y mejora de los procesos de una organización, usado para evaluar capacidades y planificar mejoras.

Related: Proceso de software, Modelo de calidad de producto
Entrega continua

Práctica que mantiene el software siempre en estado desplegable y automatiza la liberación a producción con validaciones, reduciendo el tiempo entre el cambio y su entrega.

Related: Integración continua, Proceso de software