Podcast
Questions and Answers
La ingeniería de software moderna sostiene que los requisitos del software son fijos durante todo el ciclo de vida del proyecto. ¿Esto es verdadero o falso?
La ingeniería de software moderna sostiene que los requisitos del software son fijos durante todo el ciclo de vida del proyecto. ¿Esto es verdadero o falso?
- Verdadero
- Falso (correct)
¿En qué situación es más útil aplicar un modelo de desarrollo incremental?
¿En qué situación es más útil aplicar un modelo de desarrollo incremental?
- Cuando la documentación es más importante que el producto
- Cuando se necesitan entregas rápidas y funcionales (correct)
- Cuando se requiere un sistema completamente definido antes de comenzar
- Cuando no hay presión de tiempo
¿Cuáles son las fases del Proceso Unificado?
¿Cuáles son las fases del Proceso Unificado?
- Inicio, definición, implementación, finalización
- Planificación, ejecución, monitoreo, cierre
- Análisis, diseño, prueba, mantenimiento
- Inicio, elaboración, construcción, transición (correct)
¿Qué define un requisito no funcional dentro de un sistema?
¿Qué define un requisito no funcional dentro de un sistema?
En un diagrama de casos de uso, ¿qué relación representa?
En un diagrama de casos de uso, ¿qué relación representa?
¿Es correcto afirmar que en el Proceso Unificado, el esfuerzo dedicado a las distintos disciplinas de trabajo es constante en todas las iteraciones?
¿Es correcto afirmar que en el Proceso Unificado, el esfuerzo dedicado a las distintos disciplinas de trabajo es constante en todas las iteraciones?
¿Cuáles son las fases que componen el ciclo de vida del software?
¿Cuáles son las fases que componen el ciclo de vida del software?
¿Cuáles son los tipos de métodos de prueba de software que se mencionan?
¿Cuáles son los tipos de métodos de prueba de software que se mencionan?
¿Cuál es una característica principal del Modelo Espiral?
¿Cuál es una característica principal del Modelo Espiral?
¿Cuál de los siguientes diagramas describe las interacciones entre actores y sistemas?
¿Cuál de los siguientes diagramas describe las interacciones entre actores y sistemas?
¿Qué representan los actores en un Diagrama de Casos de Uso?
¿Qué representan los actores en un Diagrama de Casos de Uso?
Un requerimiento funcional describe:
Un requerimiento funcional describe:
En un diagrama de clases, ¿cómo se representa la relación de composición?
En un diagrama de clases, ¿cómo se representa la relación de composición?
¿Qué se entiende por polimorfismo en Programación Orientada a Objetos?
¿Qué se entiende por polimorfismo en Programación Orientada a Objetos?
¿Qué elemento del proceso unificado define el alcance del proyecto?
¿Qué elemento del proceso unificado define el alcance del proyecto?
¿Qué tipo de relación representa herencia en un diagrama de clases?
¿Qué tipo de relación representa herencia en un diagrama de clases?
En UML, la relación que representa que un caso de uso incluye el comportamiento de otro es:
En UML, la relación que representa que un caso de uso incluye el comportamiento de otro es:
¿Cuál de los siguientes elementos NO es considerado una fase dentro del proceso unificado?
¿Cuál de los siguientes elementos NO es considerado una fase dentro del proceso unificado?
El Diagrama de Despliegue en UML muestra:
El Diagrama de Despliegue en UML muestra:
El polimorfismo en la programación orientada a objetos se refiere a:
El polimorfismo en la programación orientada a objetos se refiere a:
¿Qué se modela con los Diagramas de Estado?
¿Qué se modela con los Diagramas de Estado?
¿Cuál de las siguientes afirmaciones sobre el Proceso Unificado es correcta?
¿Cuál de las siguientes afirmaciones sobre el Proceso Unificado es correcta?
¿Qué diagrama UML representa la disposición física de nodos en un sistema?
¿Qué diagrama UML representa la disposición física de nodos en un sistema?
¿Cuál de las siguientes opciones describe mejor el Proceso Unificado?
¿Cuál de las siguientes opciones describe mejor el Proceso Unificado?
¿Cuál es la característica principal de un modelo evolutivo en el desarrollo de software?
¿Cuál es la característica principal de un modelo evolutivo en el desarrollo de software?
Encapsulamiento en Programación Orientada a Objetos implica:
Encapsulamiento en Programación Orientada a Objetos implica:
¿Qué representa un diagrama de clases?
¿Qué representa un diagrama de clases?
¿Cuál es una característica importante de un objeto en programación orientada a objetos?
¿Cuál es una característica importante de un objeto en programación orientada a objetos?
Los diagramas UML son útiles para:
Los diagramas UML son útiles para:
Las cuatro P del proceso unificado incluyen todos los siguientes elementos EXCEPTO:
Las cuatro P del proceso unificado incluyen todos los siguientes elementos EXCEPTO:
¿Qué representa un diagrama de secuencia en UML?
¿Qué representa un diagrama de secuencia en UML?
¿Qué modelo de proceso de software se basa en un diseño secuencial donde no se pueden hacer cambios de requisitos fácilmente?
¿Qué modelo de proceso de software se basa en un diseño secuencial donde no se pueden hacer cambios de requisitos fácilmente?
¿Cómo se representa una relación de agregación en un diagrama de clases?
¿Cómo se representa una relación de agregación en un diagrama de clases?
¿Qué tipo de software es más costoso de mantener a largo plazo?
¿Qué tipo de software es más costoso de mantener a largo plazo?
Entre las relaciones entre clases, ¿cuál representa un vínculo donde un objeto contiene a otros sin poseerlos?
Entre las relaciones entre clases, ¿cuál representa un vínculo donde un objeto contiene a otros sin poseerlos?
El diagrama de actividades se utiliza para representar:
El diagrama de actividades se utiliza para representar:
¿Cuál de los siguientes es un principio del modelado UML?
¿Cuál de los siguientes es un principio del modelado UML?
¿Cuál es una de las actividades fundamentales en la ingeniería de software?
¿Cuál es una de las actividades fundamentales en la ingeniería de software?
¿Qué tipo de proceso implica crear versiones tempranas y simplificadas del software para obtener retroalimentación?
¿Qué tipo de proceso implica crear versiones tempranas y simplificadas del software para obtener retroalimentación?
¿Cuál es el principal objetivo de la ingeniería de software?
¿Cuál es el principal objetivo de la ingeniería de software?
¿Qué relación entre clases implica que una clase utiliza a otra de manera temporal?
¿Qué relación entre clases implica que una clase utiliza a otra de manera temporal?
En el contexto de modelos ágiles, ¿cuál es un beneficio clave?
En el contexto de modelos ágiles, ¿cuál es un beneficio clave?
¿Qué característica describe a las webapps?
¿Qué característica describe a las webapps?
Las pruebas de caja negra se centran en qué aspecto del software?
Las pruebas de caja negra se centran en qué aspecto del software?
¿Cuál de las siguientes afirmaciones describe mejor la característica de un producto de software 'mantenible'?
¿Cuál de las siguientes afirmaciones describe mejor la característica de un producto de software 'mantenible'?
En un diagrama de clases en UML, ¿qué representa el elemento de una clase?
En un diagrama de clases en UML, ¿qué representa el elemento de una clase?
¿Cuál es la principal diferencia entre un producto genérico y uno hecho a medida?
¿Cuál es la principal diferencia entre un producto genérico y uno hecho a medida?
¿Qué característica no corresponde a un proceso de desarrollo de software?
¿Qué característica no corresponde a un proceso de desarrollo de software?
En el paradigma orientado a objetos, ¿qué permite la herencia?
En el paradigma orientado a objetos, ¿qué permite la herencia?
¿Cuál de los siguientes modelos es considerado un modelo de proceso en el desarrollo de software?
¿Cuál de los siguientes modelos es considerado un modelo de proceso en el desarrollo de software?
Los diagramas de actividad son usados para representar qué?
Los diagramas de actividad son usados para representar qué?
En un diagrama de casos de uso, los actores representan:
En un diagrama de casos de uso, los actores representan:
¿Qué tipo de diagrama se utiliza para mostrar la interacción entre objetos en el tiempo?
¿Qué tipo de diagrama se utiliza para mostrar la interacción entre objetos en el tiempo?
El polimorfismo en la programación orientada a objetos permite:
El polimorfismo en la programación orientada a objetos permite:
Las características del proceso de desarrollo de software incluyen:
Las características del proceso de desarrollo de software incluyen:
¿Cuál de los siguientes no es un requerimiento no funcional?
¿Cuál de los siguientes no es un requerimiento no funcional?
En el modelo incremental, ¿qué se entrega en cada iteración?
En el modelo incremental, ¿qué se entrega en cada iteración?
¿Cuál es la etapa que se ocupa de la programación del sistema en el ciclo de vida del software ADD-PIM?
¿Cuál es la etapa que se ocupa de la programación del sistema en el ciclo de vida del software ADD-PIM?
¿Qué describe mejor las pruebas de caja negra?
¿Qué describe mejor las pruebas de caja negra?
¿Qué es un relevamiento en el contexto de la ingeniería de requerimientos?
¿Qué es un relevamiento en el contexto de la ingeniería de requerimientos?
¿Qué caracterizan a los requisitos no funcionales?
¿Qué caracterizan a los requisitos no funcionales?
¿Cuál es el primer paso en el proceso de ingeniería de requisitos?
¿Cuál es el primer paso en el proceso de ingeniería de requisitos?
¿Qué diferencia principal existe entre software de código abierto y código cerrado?
¿Qué diferencia principal existe entre software de código abierto y código cerrado?
¿Cómo se definen los casos de uso?
¿Cómo se definen los casos de uso?
¿Qué rol desempeña un analista funcional?
¿Qué rol desempeña un analista funcional?
¿Qué representan los diagramas UML?
¿Qué representan los diagramas UML?
¿Qué se entiende por computación obicua?
¿Qué se entiende por computación obicua?
¿Cuál de las siguientes afirmaciones es un mito común sobre el desarrollo de software?
¿Cuál de las siguientes afirmaciones es un mito común sobre el desarrollo de software?
En el contexto de la ingeniería de requisitos, ¿qué se entiende por análisis?
En el contexto de la ingeniería de requisitos, ¿qué se entiende por análisis?
¿Cuál es el objetivo de las pruebas de caja blanca?
¿Cuál es el objetivo de las pruebas de caja blanca?
¿Qué atributo no es un requisito no funcional?
¿Qué atributo no es un requisito no funcional?
¿Por qué es importante reconocer que los requisitos del software pueden cambiar durante el ciclo de vida del proyecto?
¿Por qué es importante reconocer que los requisitos del software pueden cambiar durante el ciclo de vida del proyecto?
Menciona una ventaja principal del modelo incremental en el desarrollo de software.
Menciona una ventaja principal del modelo incremental en el desarrollo de software.
¿Cuál es la función principal de la fase de transición en el Proceso Unificado?
¿Cuál es la función principal de la fase de transición en el Proceso Unificado?
¿Cómo afectan los requisitos no funcionales a la calidad del software?
¿Cómo afectan los requisitos no funcionales a la calidad del software?
Explica brevemente qué relación se representa en un diagrama de casos de uso.
Explica brevemente qué relación se representa en un diagrama de casos de uso.
¿Por qué el Proceso Unificado no dedica el mismo esfuerzo a todas las disciplinas en cada iteración?
¿Por qué el Proceso Unificado no dedica el mismo esfuerzo a todas las disciplinas en cada iteración?
Describe brevemente las fases del ciclo de vida del software.
Describe brevemente las fases del ciclo de vida del software.
Compara brevemente los métodos de prueba de caja blanca y caja negra.
Compara brevemente los métodos de prueba de caja blanca y caja negra.
¿Cuál es una de las fases clave en el Proceso Unificado?
¿Cuál es una de las fases clave en el Proceso Unificado?
¿Qué representan los Diagramas de Estado en UML?
¿Qué representan los Diagramas de Estado en UML?
¿Qué principio de POO restringe el acceso directo a los datos de un objeto?
¿Qué principio de POO restringe el acceso directo a los datos de un objeto?
En el contexto de UML, ¿qué se define como un requerimiento no funcional?
En el contexto de UML, ¿qué se define como un requerimiento no funcional?
¿Qué tipo de diagrama se utiliza para visualizar interacciones entre objetos a lo largo del tiempo?
¿Qué tipo de diagrama se utiliza para visualizar interacciones entre objetos a lo largo del tiempo?
En UML, ¿qué relación se utiliza para mostrar que un caso de uso incluye el comportamiento de otro?
En UML, ¿qué relación se utiliza para mostrar que un caso de uso incluye el comportamiento de otro?
¿Qué significa la abstracción en la Programación Orientada a Objetos?
¿Qué significa la abstracción en la Programación Orientada a Objetos?
¿Cuál es una característica del Modelo Espiral en el desarrollo de software?
¿Cuál es una característica del Modelo Espiral en el desarrollo de software?
¿Qué aspecto distingue los requerimientos funcionales de los no funcionales?
¿Qué aspecto distingue los requerimientos funcionales de los no funcionales?
¿Qué modelo se basa en un desarrollo secuencial sin posibilidad de retroceso?
¿Qué modelo se basa en un desarrollo secuencial sin posibilidad de retroceso?
¿Qué representan los diagramas de clases en UML?
¿Qué representan los diagramas de clases en UML?
¿Cuál es la función principal de un diagrama de casos de uso?
¿Cuál es la función principal de un diagrama de casos de uso?
¿Cómo se representa la relación de herencia en un diagrama de clases?
¿Cómo se representa la relación de herencia en un diagrama de clases?
¿Qué es el polimorfismo en la programación orientada a objetos?
¿Qué es el polimorfismo en la programación orientada a objetos?
Nombra dos componentes de el proceso unificado.
Nombra dos componentes de el proceso unificado.
¿Qué tipo de diagrama representa los flujos de trabajo dentro de un sistema?
¿Qué tipo de diagrama representa los flujos de trabajo dentro de un sistema?
En el contexto del modelo incremental, ¿qué se entrega en cada iteración?
En el contexto del modelo incremental, ¿qué se entrega en cada iteración?
¿Cuál es el objetivo principal de un diagrama de despliegue?
¿Cuál es el objetivo principal de un diagrama de despliegue?
¿Qué define una clase en programación orientada a objetos?
¿Qué define una clase en programación orientada a objetos?
¿Cómo se representa la relación de composición en un diagrama de clases?
¿Cómo se representa la relación de composición en un diagrama de clases?
En el proceso unificado, ¿cuáles son las cuatro P?
En el proceso unificado, ¿cuáles son las cuatro P?
¿Qué se entiende por herencia en programación orientada a objetos?
¿Qué se entiende por herencia en programación orientada a objetos?
¿Qué diagramas representan los componentes físicos de un sistema?
¿Qué diagramas representan los componentes físicos de un sistema?
¿Cuál es la función de un diagrama de secuencia en UML?
¿Cuál es la función de un diagrama de secuencia en UML?
Define un objeto en programación orientada a objetos y menciona dos de sus características.
Define un objeto en programación orientada a objetos y menciona dos de sus características.
¿Qué representa la vista estática en UML?
¿Qué representa la vista estática en UML?
Menciona tres tipos de relaciones entre clases en programación orientada a objetos.
Menciona tres tipos de relaciones entre clases en programación orientada a objetos.
¿Cuál es la característica principal del desarrollo iterativo en el modelo evolutivo?
¿Cuál es la característica principal del desarrollo iterativo en el modelo evolutivo?
¿Qué se entiende por ingeniería de software?
¿Qué se entiende por ingeniería de software?
Define qué es un diagrama de clase y su propósito.
Define qué es un diagrama de clase y su propósito.
¿Cuáles son las cinco actividades generales en la estructura de la ingeniería de software?
¿Cuáles son las cinco actividades generales en la estructura de la ingeniería de software?
¿Qué son las webapps y dónde se ejecutan?
¿Qué son las webapps y dónde se ejecutan?
¿Cuáles son las etapas del ciclo de vida del software según el modelo ADD-PIM?
¿Cuáles son las etapas del ciclo de vida del software según el modelo ADD-PIM?
Explica qué es un modelo de proceso de software.
Explica qué es un modelo de proceso de software.
En el modelo en espiral, ¿cuál es el foco principal?
En el modelo en espiral, ¿cuál es el foco principal?
¿Cuál es la principal diferencia entre las pruebas de caja negra y caja blanca?
¿Cuál es la principal diferencia entre las pruebas de caja negra y caja blanca?
Define la computación obicua y da dos ejemplos de su aplicación.
Define la computación obicua y da dos ejemplos de su aplicación.
¿Qué caracteriza a un producto de software mantenible?
¿Qué caracteriza a un producto de software mantenible?
¿Qué son los métodos de prueba de software?
¿Qué son los métodos de prueba de software?
Nombra tres mitos comunes sobre el desarrollo de software.
Nombra tres mitos comunes sobre el desarrollo de software.
¿Cuál es la función principal del analista funcional en el desarrollo de software?
¿Cuál es la función principal del analista funcional en el desarrollo de software?
Define el concepto de encapsulamiento en programación orientada a objetos.
Define el concepto de encapsulamiento en programación orientada a objetos.
Menciona una ventaja de los modelos ágiles en el desarrollo de software.
Menciona una ventaja de los modelos ágiles en el desarrollo de software.
Diferencia entre software de código libre y código cerrado.
Diferencia entre software de código libre y código cerrado.
¿Qué es la ingeniería de requerimientos y cuál es su objetivo?
¿Qué es la ingeniería de requerimientos y cuál es su objetivo?
Explica el concepto de un relevamiento en ingeniería de software.
Explica el concepto de un relevamiento en ingeniería de software.
Menciona un proceso de obtención de requisitos y su utilidad.
Menciona un proceso de obtención de requisitos y su utilidad.
¿Qué son los casos de uso y quién es un actor en este contexto?
¿Qué son los casos de uso y quién es un actor en este contexto?
Define UML y nombra una de sus categorías.
Define UML y nombra una de sus categorías.
¿Qué son los requisitos funcionales y no funcionales?
¿Qué son los requisitos funcionales y no funcionales?
¿Cómo se diferencia el 'qué' de los requisitos y el 'cómo' del diseño en ingeniería de software?
¿Cómo se diferencia el 'qué' de los requisitos y el 'cómo' del diseño en ingeniería de software?
Nombra un objetivo de la validación en el proceso de ingeniería de requisitos.
Nombra un objetivo de la validación en el proceso de ingeniería de requisitos.
¿Cuáles son las principales diferencias entre pruebas de caja blanca y pruebas de caja negra?
¿Cuáles son las principales diferencias entre pruebas de caja blanca y pruebas de caja negra?
¿Qué significa que un producto de software sea mantenible?
¿Qué significa que un producto de software sea mantenible?
Define brevemente lo que es un proceso en el contexto del desarrollo de software.
Define brevemente lo que es un proceso en el contexto del desarrollo de software.
Menciona dos características importantes de un proceso de desarrollo de software.
Menciona dos características importantes de un proceso de desarrollo de software.
¿Qué relación pueden tener los actores en un diagrama de casos de uso?
¿Qué relación pueden tener los actores en un diagrama de casos de uso?
¿Cuál es la función del diagrama de despliegue en UML?
¿Cuál es la función del diagrama de despliegue en UML?
Explica brevemente qué es el polimorfismo en programación orientada a objetos.
Explica brevemente qué es el polimorfismo en programación orientada a objetos.
¿Cómo se define un requerimiento no funcional?
¿Cómo se define un requerimiento no funcional?
¿Cuál es la principal característica del Modelo en Cascada en el desarrollo de software?
¿Cuál es la principal característica del Modelo en Cascada en el desarrollo de software?
Menciona dos tipos de productos de software y sus características.
Menciona dos tipos de productos de software y sus características.
¿Qué son los diagramas de clase en UML y qué representan?
¿Qué son los diagramas de clase en UML y qué representan?
Explique qué es la abstracción en programación orientada a objetos.
Explique qué es la abstracción en programación orientada a objetos.
¿Qué son los modelos evolutivos en el desarrollo de software?
¿Qué son los modelos evolutivos en el desarrollo de software?
Describe brevemente una característica del Proceso Unificado.
Describe brevemente una característica del Proceso Unificado.
Study Notes
Ingeniería de Software
- La ingeniería de software moderna acepta cambios en sistemas y requisitos durante el ciclo de vida del proyecto.
- El ciclo de vida del software incluye las fases: análisis, diseño, desarrollo, pruebas, implementación y mantenimiento.
- Los modelos incrementales permiten entregas rápidas y funcionales, desarrollando el sistema en etapas.
Proceso Unificado
- Las fases del Proceso Unificado son: inicio, elaboración, construcción y transición.
- En las fases iniciales se enfoca en la captura de requisitos, mientras que en las fases posteriores se concentra en desarrollo y pruebas.
- Los esfuerzos en distintas disciplinas varían según la fase del ciclo de vida.
Requisitos
- Los requisitos no funcionales establecen criterios de calidad, como usabilidad, rendimiento y seguridad.
- Los requisitos funcionales describen las interacciones del sistema con los usuarios.
Pruebas de Software
- Pruebas de caja blanca: se centran en el análisis del código y flujos internos del programa.
- Pruebas de caja negra: verifican la funcionalidad sin necesidad de conocer el código del sistema.
Características de Productos de Software
- Mantenible: debe evolucionar y seguir cumpliendo especificaciones.
- Confiable: no debe causar daños en caso de fallos.
- Eficiente: debe aprovechar correctamente los recursos del sistema.
- Fácil de usar: debe tener una interfaz amigable y documentación clara.
###Tipos de Productos
- Genéricos: producidos para la venta en el mercado, implican mayor gasto.
- Hechos a medida: desarrollados bajo pedido, requieren mayor esfuerzo.
Diagramas en UML
- Diagramas de clases muestran la estructura estática del sistema con clases, atributos y métodos.
- Diagramas de casos de uso representan interacciones entre el sistema y los actores.
- Diagramas de actividad describen el flujo de trabajo o procesos.
Modelos de Proceso
- Los modelos de proceso estructuran actividades para desarrollar un sistema.
- Modelos genéricos: Cascada, desarrollo evolutivo, reutilización de componentes, prototipado, transformación formal y modelo espiral.
Costo del Software
- Los costos de mantenimiento del software suelen ser superiores a los de desarrollo.
- Para sistemas a largo plazo, el costo total del software se multiplica.
Mitos Comunes en Desarrollo de Software
- El software libre es de baja calidad.
- El software nunca tiene errores.
- La programación es una tarea individual.
- Desarrollar software es solo escribir código.
Relevamiento de Requisitos
- El relevamiento es el proceso de recopilar y analizar información para entender un sistema.
- Las técnicas incluyen entrevistas, talleres, investigación y prototipado.
Diferencias en Requerimientos
- Requerimientos funcionales: qué debe hacer el sistema.
- Requerimientos no funcionales: cómo debe comportarse el sistema.
- La diferencia entre requerimiento y diseño radica en el “qué” (requerimiento) y el “cómo” (diseño).
Casos de Uso y Actores
- Los casos de uso describen lo que el sistema debe hacer sin detallar cómo se realiza.
- Un actor es una entidad externa que interactúa con el sistema.
Computación Ubicua
- Se refiere a la integración de tecnología de manera invisible en la vida diaria.
- Ejemplos incluyen hogares inteligentes, educación personalizada y dispositivos de salud.
Estas notas destacan los conceptos clave sobre ingeniería de software, procesos, pruebas, características del software y temas relacionados.### Diagramas en UML
- Diagrama de Secuencia: Representa la interacción entre objetos mediante el intercambio de mensajes organizados cronológicamente.
- Diagrama de Actividades: Visualiza flujos de trabajo o procesos dentro de un sistema.
- Diagrama de Estados: Muestra los diferentes estados de un objeto a lo largo del tiempo y las transiciones entre esos estados.
Métodos y Parámetros
- Métodos: Reciben parámetros, que son variables o atributos, y requieren argumentos, que son los valores específicos pasados al método.
- Ejemplo:
nombre = "Ana"
es un parámetro, mientras quesaludar("Ana")
es un argumento.
Paradigma de Objetos
- Clase: Plantilla que define propiedades y comportamientos de los objetos instanciados a partir de ella.
- Objeto: Instancia de una clase, representa entidades o cosas.
- Método: Funciones asociadas a un objeto que permiten la interacción entre ellos.
- Atributos: Características que describen un objeto.
- Estado: Conjunto de atributos y sus valores en un objeto en un momento determinado.
- Herencia: Permite crear nuevas clases basadas en clases existentes, estableciendo una relación de generalización/especialización.
- Polimorfismo: Capacidad de un método de responder de distintas formas según el objeto que lo invoque.
Relaciones en Diagramas de Clases
- Herencia: Representada por una línea con un triángulo vacío, indica la relación entre subclase y superclase.
- Composición: Relación en la que un objeto depende de otro; se representa con un rombo relleno.
- Agregación: Relación parte-de que muestra entidades como un conjunto; se representa con un rombo vacío.
Proceso Unificado (UP)
- Descripción: Metodología de desarrollo de software organizada en fases y disciplinas, adaptable e iterativa, que permite la gestión de riesgos y corrección temprana de errores.
- Fases del UP:
- Inicio: Definición del proyecto, identificación de requisitos, evaluación de riesgos, estimación de costos.
- Elaboración: Refinamiento de requisitos, diseño, resolución de riesgos, desarrollo de algunos componentes.
- Construcción: Desarrollo del sistema, integración, ajustes y pruebas.
- Transición: Preparación para liberar el sistema, capacitación y corrección de errores finales.
Disciplinas del Proceso Unificado
- Comprenden modelado de negocios, requisitos, análisis y diseño, implementación, pruebas, despliegue, gestión de configuración y cambios, gestión de proyectos y entorno.
Tipos de Diagramas UML
- Diagrama de Despliegue: Muestra la estructura física del sistema, incluyendo servidores y nodos.
- Diagrama de Componentes: Representa elementos físicos y su interacción.
- Diagrama de Casos de Uso: Ilustra interacciones entre actores (usuarios o sistemas externos) y el sistema.
- Diagrama de Actividad: Representa flujos de trabajo o procesos.
Características y Conceptos Clave
- Requerimientos Funcionales vs. No Funcionales: Los funcionales definen las capacidades del sistema, mientras que los no funcionales se centran en aspectos de calidad como rendimiento y seguridad.
- Encapsulamiento: Restringe el acceso directo a los datos de un objeto.
- Abstracción: Representa solo los detalles esenciales y oculta los irrelevantes.
- Iteración en Modelos Incrementales: Permiten desarrollar versiones cada vez más completas del software.
Verdadero o Falso sobre UML y el Proceso Unificado
- Los diagramas ayudan a visualizar distintos aspectos de un sistema.
- En el modelo en cascada, cada fase debe finalizar antes de comenzar la siguiente.
- La relación de extensión en casos de uso permite incorporar el comportamiento opcionalmente.
- Polimorfismo permite definir múltiples comportamientos para un mismo método.
- Cada iteración en el proceso unificado mejora el software.
Resumen de Diagramas
- Diagrama de Secuencia: Muestra interacción entre objetos a través del tiempo.
- Diagrama de Estado: Modela el ciclo de vida de un objeto.
- Diagrama de Clases: Representa estructuras estáticas incluyendo clases, atributos y métodos.
Ingeniería de Software
- La ingeniería de software moderna acepta cambios en sistemas y requisitos durante el ciclo de vida del proyecto.
- El ciclo de vida del software incluye las fases: análisis, diseño, desarrollo, pruebas, implementación y mantenimiento.
- Los modelos incrementales permiten entregas rápidas y funcionales, desarrollando el sistema en etapas.
Proceso Unificado
- Las fases del Proceso Unificado son: inicio, elaboración, construcción y transición.
- En las fases iniciales se enfoca en la captura de requisitos, mientras que en las fases posteriores se concentra en desarrollo y pruebas.
- Los esfuerzos en distintas disciplinas varían según la fase del ciclo de vida.
Requisitos
- Los requisitos no funcionales establecen criterios de calidad, como usabilidad, rendimiento y seguridad.
- Los requisitos funcionales describen las interacciones del sistema con los usuarios.
Pruebas de Software
- Pruebas de caja blanca: se centran en el análisis del código y flujos internos del programa.
- Pruebas de caja negra: verifican la funcionalidad sin necesidad de conocer el código del sistema.
Características de Productos de Software
- Mantenible: debe evolucionar y seguir cumpliendo especificaciones.
- Confiable: no debe causar daños en caso de fallos.
- Eficiente: debe aprovechar correctamente los recursos del sistema.
- Fácil de usar: debe tener una interfaz amigable y documentación clara.
###Tipos de Productos
- Genéricos: producidos para la venta en el mercado, implican mayor gasto.
- Hechos a medida: desarrollados bajo pedido, requieren mayor esfuerzo.
Diagramas en UML
- Diagramas de clases muestran la estructura estática del sistema con clases, atributos y métodos.
- Diagramas de casos de uso representan interacciones entre el sistema y los actores.
- Diagramas de actividad describen el flujo de trabajo o procesos.
Modelos de Proceso
- Los modelos de proceso estructuran actividades para desarrollar un sistema.
- Modelos genéricos: Cascada, desarrollo evolutivo, reutilización de componentes, prototipado, transformación formal y modelo espiral.
Costo del Software
- Los costos de mantenimiento del software suelen ser superiores a los de desarrollo.
- Para sistemas a largo plazo, el costo total del software se multiplica.
Mitos Comunes en Desarrollo de Software
- El software libre es de baja calidad.
- El software nunca tiene errores.
- La programación es una tarea individual.
- Desarrollar software es solo escribir código.
Relevamiento de Requisitos
- El relevamiento es el proceso de recopilar y analizar información para entender un sistema.
- Las técnicas incluyen entrevistas, talleres, investigación y prototipado.
Diferencias en Requerimientos
- Requerimientos funcionales: qué debe hacer el sistema.
- Requerimientos no funcionales: cómo debe comportarse el sistema.
- La diferencia entre requerimiento y diseño radica en el “qué” (requerimiento) y el “cómo” (diseño).
Casos de Uso y Actores
- Los casos de uso describen lo que el sistema debe hacer sin detallar cómo se realiza.
- Un actor es una entidad externa que interactúa con el sistema.
Computación Ubicua
- Se refiere a la integración de tecnología de manera invisible en la vida diaria.
- Ejemplos incluyen hogares inteligentes, educación personalizada y dispositivos de salud.
Estas notas destacan los conceptos clave sobre ingeniería de software, procesos, pruebas, características del software y temas relacionados.### Diagramas en UML
- Diagrama de Secuencia: Representa la interacción entre objetos mediante el intercambio de mensajes organizados cronológicamente.
- Diagrama de Actividades: Visualiza flujos de trabajo o procesos dentro de un sistema.
- Diagrama de Estados: Muestra los diferentes estados de un objeto a lo largo del tiempo y las transiciones entre esos estados.
Métodos y Parámetros
- Métodos: Reciben parámetros, que son variables o atributos, y requieren argumentos, que son los valores específicos pasados al método.
- Ejemplo:
nombre = "Ana"
es un parámetro, mientras quesaludar("Ana")
es un argumento.
Paradigma de Objetos
- Clase: Plantilla que define propiedades y comportamientos de los objetos instanciados a partir de ella.
- Objeto: Instancia de una clase, representa entidades o cosas.
- Método: Funciones asociadas a un objeto que permiten la interacción entre ellos.
- Atributos: Características que describen un objeto.
- Estado: Conjunto de atributos y sus valores en un objeto en un momento determinado.
- Herencia: Permite crear nuevas clases basadas en clases existentes, estableciendo una relación de generalización/especialización.
- Polimorfismo: Capacidad de un método de responder de distintas formas según el objeto que lo invoque.
Relaciones en Diagramas de Clases
- Herencia: Representada por una línea con un triángulo vacío, indica la relación entre subclase y superclase.
- Composición: Relación en la que un objeto depende de otro; se representa con un rombo relleno.
- Agregación: Relación parte-de que muestra entidades como un conjunto; se representa con un rombo vacío.
Proceso Unificado (UP)
- Descripción: Metodología de desarrollo de software organizada en fases y disciplinas, adaptable e iterativa, que permite la gestión de riesgos y corrección temprana de errores.
- Fases del UP:
- Inicio: Definición del proyecto, identificación de requisitos, evaluación de riesgos, estimación de costos.
- Elaboración: Refinamiento de requisitos, diseño, resolución de riesgos, desarrollo de algunos componentes.
- Construcción: Desarrollo del sistema, integración, ajustes y pruebas.
- Transición: Preparación para liberar el sistema, capacitación y corrección de errores finales.
Disciplinas del Proceso Unificado
- Comprenden modelado de negocios, requisitos, análisis y diseño, implementación, pruebas, despliegue, gestión de configuración y cambios, gestión de proyectos y entorno.
Tipos de Diagramas UML
- Diagrama de Despliegue: Muestra la estructura física del sistema, incluyendo servidores y nodos.
- Diagrama de Componentes: Representa elementos físicos y su interacción.
- Diagrama de Casos de Uso: Ilustra interacciones entre actores (usuarios o sistemas externos) y el sistema.
- Diagrama de Actividad: Representa flujos de trabajo o procesos.
Características y Conceptos Clave
- Requerimientos Funcionales vs. No Funcionales: Los funcionales definen las capacidades del sistema, mientras que los no funcionales se centran en aspectos de calidad como rendimiento y seguridad.
- Encapsulamiento: Restringe el acceso directo a los datos de un objeto.
- Abstracción: Representa solo los detalles esenciales y oculta los irrelevantes.
- Iteración en Modelos Incrementales: Permiten desarrollar versiones cada vez más completas del software.
Verdadero o Falso sobre UML y el Proceso Unificado
- Los diagramas ayudan a visualizar distintos aspectos de un sistema.
- En el modelo en cascada, cada fase debe finalizar antes de comenzar la siguiente.
- La relación de extensión en casos de uso permite incorporar el comportamiento opcionalmente.
- Polimorfismo permite definir múltiples comportamientos para un mismo método.
- Cada iteración en el proceso unificado mejora el software.
Resumen de Diagramas
- Diagrama de Secuencia: Muestra interacción entre objetos a través del tiempo.
- Diagrama de Estado: Modela el ciclo de vida de un objeto.
- Diagrama de Clases: Representa estructuras estáticas incluyendo clases, atributos y métodos.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
Pon a prueba tus conocimientos sobre los conceptos fundamentales de la ingeniería de software. Este cuestionario abarca la naturaleza cambiante de los sistemas de software y el modelo incremental. Ideal para estudiantes y profesionales que desean reforzar sus habilidades en este campo.