Untitled Quiz
42 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Cuál es el objetivo principal de la construcción del Sistema de Información (CSI)?

  • Construir y probar los componentes del sistema de información (correct)
  • Definir los requisitos de implantación
  • Desarrollar los procedimientos de operación y seguridad
  • Elaborar manuales de usuario final

¿Qué tipo de mantenimiento no se considera dentro del Mantenimiento de Sistemas de Información (MSI)?

  • Mantenimiento adaptativo (correct)
  • Mantenimiento correctivo
  • Mantenimiento evolutivo
  • Mantenimiento perfectivo (correct)

En el proceso de Implantación y Aceptación del Sistema (IAS), ¿cuál es uno de los objetivos secundarios?

  • Llevar a cabo actividades para el paso a producción del sistema (correct)
  • Probar todos los componentes del sistema
  • Entregar el sistema por etapas
  • Desarrollar manuales de explotación

¿Cuál de los siguientes elementos se genera a partir de la información recogida antes de la construcción del sistema?

<p>Especificaciones de construcción (D)</p> Signup and view all the answers

En el proceso DSI, ¿de qué se obtienen las especificaciones lógicas y físicas para la construcción del sistema?

<p>De un análisis de requerimientos previos (B)</p> Signup and view all the answers

¿Qué describe mejor el término 'Ingeniería Inversa'?

<p>El estudio de un sistema para identificar sus componentes y relaciones. (C)</p> Signup and view all the answers

¿Cuál es el objetivo de la 'Reingeniería'?

<p>Reconstruir un sistema antiguo y realizar su implantación en una nueva forma. (A)</p> Signup and view all the answers

¿Qué define mejor la 'Reestructuración' en el contexto de sistemas?

<p>La transformación de la representación del sistema sin alterar su comportamiento externo. (B)</p> Signup and view all the answers

¿Qué proceso se describe como el movimiento de una aplicación a un entorno hardware moderno sin cambio de código?

<p>Rehosting (B)</p> Signup and view all the answers

¿Cuál de las siguientes afirmaciones es incorrecta respecto a la 'Ingeniería Hacia Delante'?

<p>Es similar a la ingeniería inversa en su enfoque de análisis. (B)</p> Signup and view all the answers

¿Qué implica el 'Refronting' en la modificación de aplicaciones?

<p>Cambiar solo la interfaz gráfica sin alterar el código subyacente. (D)</p> Signup and view all the answers

¿Cuál es una característica clave de la 'Ingeniería Inversa'?

<p>Permite crear un nuevo diseño a partir del código existente. (A)</p> Signup and view all the answers

¿Cómo se describe el proceso de 'Reingeniería'?

<p>Como la combinación de ingeniería inversa, reestructuración e ingeniería directa. (A)</p> Signup and view all the answers

¿Cuál es la principal diferencia en la forma en que Git maneja sus datos en comparación con otros sistemas de control de versiones?

<p>Git utiliza copias instantáneas de un sistema de archivos miniatura. (A)</p> Signup and view all the answers

¿Qué sucede cuando un usuario confirma un cambio en Git?

<p>Se toma una foto del estado de todos los archivos en ese momento. (C)</p> Signup and view all the answers

¿Qué almacenamiento utiliza Git para archivos que no han sido modificados desde la última confirmación?

<p>Un enlace al archivo anterior idéntico. (B)</p> Signup and view all the answers

¿Cuál es el impacto de la arquitectura distribuida de Git sobre su rendimiento?

<p>Aumenta significativamente su rendimiento. (C)</p> Signup and view all the answers

¿Quién fue el creador del sistema Git?

<p>Linus Torvalds. (B)</p> Signup and view all the answers

¿Qué tipo de pruebas se realizan en las instalaciones de la organización desarrolladora por parte de clientes o un equipo de prueba independiente?

<p>Pruebas Alfa (C)</p> Signup and view all the answers

¿Cuál es el principal objetivo de las pruebas de regresión?

<p>Eliminar el efecto onda (B)</p> Signup and view all the answers

¿Qué se debe hacer cada vez que se efectúa un cambio en el sistema durante las pruebas de regresión?

<p>Repetir pruebas previamente realizadas (C)</p> Signup and view all the answers

Las pruebas Beta se caracterizan por ser

<p>Ejecutadas indistintamente sin pruebas Alfa previas (B), Realizadas por los clientes en sus propias instalaciones (C)</p> Signup and view all the answers

¿Qué tipo de pruebas se deben realizar para verificar que los procedimientos manuales siguen siendo correctos tras un cambio?

<p>Pruebas de Regresión (D)</p> Signup and view all the answers

¿Qué queda bajo control durante las pruebas de regresión además de los componentes modificados?

<p>Componentes no modificados (A)</p> Signup and view all the answers

El efecto onda en las pruebas se refiere a:

<p>Errores que se reproducen tras cambios en el sistema (D)</p> Signup and view all the answers

¿Cuál de los siguientes elementos se puede revisar en las pruebas de regresión para asegurar su corrección?

<p>La obtención impresa del diccionario de datos (C)</p> Signup and view all the answers

¿Cuál es el objetivo principal de las pruebas unitarias?

<p>Verificar la funcionalidad y estructura de cada componente individualmente. (A)</p> Signup and view all the answers

¿Cuál de los siguientes enfoques se utiliza en las pruebas unitarias según el contenido?

<p>Enfoque estructural o de CAJA BLANCA. (A)</p> Signup and view all the answers

¿Qué tipo de prueba se realiza para asegurar que la información fluye adecuadamente hacia y desde un componente?

<p>Prueba de interfaz. (B)</p> Signup and view all the answers

¿Cuál es la función principal de las pruebas de regresión?

<p>Verificar que cambios en un componente no afecten a otros ya existentes. (D)</p> Signup and view all the answers

¿Quiénes deben realizar las diversas pruebas a un sistema de información según la metodología mencionada?

<p>Los usuarios, equipos de operación y mantenimiento, además de los desarrolladores. (B)</p> Signup and view all the answers

¿Qué aseguran las pruebas de estructuras de datos locales durante la ejecución del código?

<p>La integridad de los datos. (B)</p> Signup and view all the answers

¿Cuál de las siguientes pruebas constituye la prueba inicial de un sistema y sobre la cual deben apoyarse las demás pruebas?

<p>Pruebas Unitarias. (D)</p> Signup and view all the answers

¿Cuál de los siguientes tipos de pruebas se enfoca en verificar el funcionamiento correcto del sistema integrado de hardware y software en el entorno de operación?

<p>Pruebas del Sistema. (C)</p> Signup and view all the answers

¿Cuál es el principal objetivo de las pruebas de integración?

<p>Comprobar la funcionalidad establecida y los requisitos no funcionales. (D)</p> Signup and view all the answers

¿Qué tipo de integración se caracteriza por incrementar progresivamente el número de componentes a probar?

<p>Integración incremental. (B)</p> Signup and view all the answers

En la estrategia de integración de arriba hacia abajo, ¿qué se utiliza para simular los componentes de nivel más bajo?

<p>Componentes auxiliares. (B)</p> Signup and view all the answers

¿Cuál de las siguientes afirmaciones sobre las pruebas de integración es incorrecta?

<p>No consideran los requisitos no funcionales. (C)</p> Signup and view all the answers

En las pruebas de integración, ¿qué se examina entre los grupos de componentes o subsistemas?

<p>Las interacciones y llamadas necesarias a las interfaces. (B)</p> Signup and view all the answers

¿Cuál es una desventaja de combinar pruebas unitarias y de integración?

<p>Complica la identificación de errores en fases posteriores. (B)</p> Signup and view all the answers

¿Qué estrategia de integración permite comenzar con los componentes de nivel más bajo?

<p>Integración de abajo hacia arriba. (A)</p> Signup and view all the answers

¿Qué aspecto es crucial en las pruebas de integración respecto a los datos transmitidos entre componentes?

<p>Deben ser los esperados o requeridos. (B)</p> Signup and view all the answers

Flashcards

Reverse Engineering

Analyzing a system to understand its components and how they interact. It creates representations of the system in a different way than the original.

Forward Engineering

Creating a system from a high-level design, moving from abstract design to physical implementation.

Reengineering

Examining a system, modifying it, and then rebuilding it in a new way.

Reestructuring

Changing a system's representation (like code) without changing its external behavior.

Signup and view all the flashcards

Rehosting

Moving a system to a new platform without changing its code or architecture.

Signup and view all the flashcards

Refronting/Refacing

Changing a system's user interface without changing its inner workings.

Signup and view all the flashcards

Systems Abstraction

Different levels of detail in describing a system, such as requirements, design, and implementation.

Signup and view all the flashcards

Refactoring

Improving the internal structure of a system without changing its observable behavior.

Signup and view all the flashcards

Construction of Information System (CSI)

Building and testing information system components based on logical and physical specifications, created during the DSI process. Includes creating operation and security procedures, and user manuals.

Signup and view all the flashcards

Implementation and Acceptance (IAS)

Delivering and accepting the complete system, possibly including multiple independent information systems. Also covers tasks for system's production launch.

Signup and view all the flashcards

System Maintenance (MSI)

Creating system updates based on user requests to fix issues or improve a system. Only includes corrective and evolutionary maintenance.

Signup and view all the flashcards

System Design Specifications

Detailed technical requirements generated from prior information, including testing plans, deployment needs, and migration/setup procedures, where applicable.

Signup and view all the flashcards

Information System Development (DSI)

The stage before (CSI) that creates the initial logical and physical specifications for an information system.

Signup and view all the flashcards

Unit Testing

Testing the functionality and structure of individual components after coding.

Signup and view all the flashcards

Integration Testing

Testing how different components of a system work together.

Signup and view all the flashcards

System Testing

Testing the entire system to ensure it meets expected functionality and performance.

Signup and view all the flashcards

Implementation Testing

Testing the system in its planned environment.

Signup and view all the flashcards

Acceptance Testing

Testing by the end-users to verify the system function meets their needs.

Signup and view all the flashcards

Regression Testing

Testing to ensure changes to a component don't negatively impact other parts.

Signup and view all the flashcards

White-Box Testing

Testing the internal structure of a component, regardless of its intended function.

Signup and view all the flashcards

Interface Testing

Ensuring data flows correctly between components.

Signup and view all the flashcards

Git's Data Structure

Git stores data as snapshots of files, not changes. Each commit is a point-in-time copy.

Signup and view all the flashcards

Git's Distributed Nature

Each user has a complete copy of the project history, not just a link to a central repository.

Signup and view all the flashcards

Git Commits

A commit in Git represents a saved state of the project, like a snapshot of all files.

Signup and view all the flashcards

Distributed Version Control

A system where each user has a complete copy of the project history.

Signup and view all the flashcards

Git's Efficiency

Git is efficient because it only saves changes if files have been altered, storing links to unchanged files.

Signup and view all the flashcards

Alpha Testing

Testing conducted at the development organization's facilities, usually by clients or an independent testing team, not internal developers.

Signup and view all the flashcards

Beta Testing

Testing conducted by clients at their own facilities, also known as field testing. Can occur with or without prior Alpha testing.

Signup and view all the flashcards

Regression Testing

Testing after a system change (fix or upgrade) to ensure changes haven't introduced new problems in other parts of the system.

Signup and view all the flashcards

Testing Formalism

The level of structure and rigor used in testing, influenced by system criticality, user count & available testing time.

Signup and view all the flashcards

Regression Testing Scope

Testing all affected areas, including previously tested parts of the system.

Signup and view all the flashcards

Effect of System Changes

Changes to one system component might unintentionally affect other parts.

Signup and view all the flashcards

Regression Testing Techniques

Repeating previous test cases, reviewing updated documentation, and verifying data elements (like database changes).

Signup and view all the flashcards

Testing Criteria

Factors influencing testing rigor, such as system importance, number of users, and time constraints.

Signup and view all the flashcards

Pruebas de Integración

Verificación del correcto ensamblaje entre componentes probados unitariamente. Se asegura que las interfaces, tanto internas como externas, funcionen correctamente, cubriendo la funcionalidad y requisitos no funcionales.

Signup and view all the flashcards

Integración Incremental

Prueba de componentes agregando uno o más a la vez, verificando el correcto funcionamiento con la estructura ya probada. Ideal para identificar problemas con nuevos componentes o interfaces.

Signup and view all the flashcards

Integración Top-Down

Estrategia que comienza por el componente principal (nivel más alto) y gradualmente integra los componentes que están abajo. Reemplaza componentes inferiores con simulaciones.

Signup and view all the flashcards

Integración Bottom-Up

Estrategia de prueba que empieza por los componentes menores (nivel más bajo) y los integra en conjuntos hasta alcanzar el componente principal.

Signup and view all the flashcards

Pruebas Unitarias

Pruebas individuales de cada componente para verificar su funcionamiento correcto.

Signup and view all the flashcards

Interfaces

Puntos de comunicación entre componentes. Es vital verificar su correcta interacción para garantizar el buen funcionamiento.

Signup and view all the flashcards

Componentes Auxiliares

Componentes simulados que actúan como substitutos durante las pruebas unitarias, para ejecutar acciones de otros componentes cuando se prueba un componente concreto.

Signup and view all the flashcards

Componentes Conductores

Componentes utilizados para configurar las condiciones de prueba predefinidas (pruebas unitarias y de integración) y ejecutar acciones para testear el componente objeto.

Signup and view all the flashcards

Study Notes

Bloque 3 - Tema 10

  • Repositorios: Estructura y actualización, generación de código y documentación.
  • Metodologías de desarrollo: Pruebas, programas para el control de versiones, plataformas de desarrollo colaborativo de software.
  • Preparación de oposiciones: para técnicos auxiliares de informática.
  • Índice temático: detalla los temas incluidos en este bloque, como herramientas CASE, desarrollo de software, generación de código y documentación, metodologías de desarrollo (RAD, RUP, Scrum, XP), pruebas de software, control de versiones (Git), y plataformas de desarrollo colaborativo de software.

Herramientas CASE: Características

  • Ciclo de vida del software: El conjunto de fases desde la idea inicial hasta la retirada o reemplazo del software. Tradicionalmente incluye requisitos, diseño, implementación, pruebas y mantenimiento.
  • Herramienta CASE: (Computer Aided/Assisted Software Engineering) es un software que soporta las etapas del desarrollo del software, automatizando procesos. Sus componentes incluyen repositorio (almacén de elementos), metamodelo (marco de definición para metodologías), herramientas de carga/descarga de datos, comprobación de errores e interfaz de usuario.

Clasificación de las herramientas CASE

  • Upper CASE (U-CASE): se enfocan en las primeras fases del ciclo de vida (planificación, análisis de requisitos).
  • Middle CASE (M-CASE): se centran en las etapas intermedias del ciclo de vida (análisis y diseño).
  • Lower CASE (L-CASE): se centran en las etapas finales del ciclo de vida (diseño detallado, implementación, pruebas, generación de código y documentación).
  • Integrated CASE (I-CASE): abarcan todas las fases del ciclo de vida del software.

Características de herramientas CASE

  • Generación de diagramas UML: Creación de diagramas de flujo de datos (DFD), entidad-relación, clases, etc. desde el código, y viceversa.
  • Generación de prototipos: creación de versiones previas, permitiendo visualización.
  • Generación de código: automatización de la creación de código.
  • Generación de documentación: automatización para documentos de desarrollo.

Ventajas de las herramientas CASE

  • Consistencia: facilita la verificación y el mantenimiento de la información del proyecto.
  • Estándares: establece estándares en el proceso de desarrollo y documentación.
  • Mantenimientos: facilita el mantenimiento y las actualizaciones de la documentación del sistema.
  • Funciones automatizadas: automatiza tareas como la obtención de prototipos, generación de código y otros.
  • Reutilización/Reingeniería: Facilita la reutilización y reingeniería de componentes.
  • Planificación y gestión: Facilita la planificación y gestión del proyecto informático.

Herramientas para el desarrollo de software

  • Gestión de proyectos: Herramientas para la administración y gestión de proyectos.
  • Repositorios de código: Sistemas de control de versiones (Git, GitHub, GitLab, etc.) para gestión de código fuente.
  • Integración continua: Herramientas que automatizan el proceso de integración continua y compilación, como Jenkins, Bamboo, CircleCI, y otras.
  • Herramientas IDE: Entornos de desarrollo integrados (Eclipse, IntelliJ IDEA, NetBeans, Visual Studio, etc.) para desarrollar el software.
  • Editores de texto: Se utilizan para la programación, como Sublime Text, Notepad++, etc.

Otras herramientas de pruebas

  • Análisis estático: Herramientas que analizan el código fuente para detectar potenciales problemas o errores sin ejecutar el programa.
  • Análisis dinámico: Pruebas que se realizan con un programa en ejecución.

Generación de código y Documentación

  • Generación automática de código: Crear código a partir de diagramas UML (ejemplos, Altova UModel, Visual Paradigm, etc.).
  • Generación automática de documentación: Generar documentación a partir de código fuente (ejemplos, Javadoc, phpDocumentor, etc.).

Métodos de desarrollo de software

  • RAD (Rapid Application Development): Desarrollo rápido, enfocado en la creación iterativa de prototipos y el uso de CASE.
  • RUP (Rational Unified Process): Proceso unificado racional, un proceso iterativo e incremental con cuatro fases (inicio, elaboración, construcción y transición) para desarrollo de software.
  • Scrum: Metodología ágil basada en ciclos cortos (sprints) para entregar software incrementalmente.
  • Extreme Programming (XP): Metodología ágil, enfocada en la flexibilidad y la adaptación al cambio continuo.

Mantenimiento de software

  • Mantenimiento correctivo: Corrección de errores en el software.
  • Mantenimiento adaptativo: Modifica el software por cambios en el entorno operativo.
  • Mantenimiento evolutivo: Ajustes al software para las necesidades del usuario/entorno.
  • Mantenimiento perfectivo: Mejoras de la estructura/código, diseño del software.
  • ENTROPÍA del software: Mide el desorden o la compleja estructura de un código.

Ingeniería inversa y reingeniería

  • Ingeniería inversa: Análisis de software para entender su funcionamiento interno.
  • Reingeniería: Re-diseño del software para mejorar su rendimiento o adaptar su diseño.

Plataformas de desarrollo colaborativo

  • GitLab: Plataforma de desarrollo colaborativo basada en Git.
  • GitHub: Similar a GitLab, popular para proyectos de código abierto.
  • Bitbucket: Otra plataforma de desarrollo colaborativo basada en Git.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

More Like This

Untitled Quiz
37 questions

Untitled Quiz

WellReceivedSquirrel7948 avatar
WellReceivedSquirrel7948
Untitled Quiz
18 questions

Untitled Quiz

RighteousIguana avatar
RighteousIguana
Untitled Quiz
50 questions

Untitled Quiz

JoyousSulfur avatar
JoyousSulfur
Untitled Quiz
48 questions

Untitled Quiz

StraightforwardStatueOfLiberty avatar
StraightforwardStatueOfLiberty
Use Quizgecko on...
Browser
Browser