Ciclo de vida del desarrollo de software (SDLC)
42 Questions
1 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 de los siguientes aspectos NO se menciona como parte del ciclo de vida del desarrollo de software?

  • Seguridad
  • Costo
  • Especificaciones del cliente (correct)
  • Funcionalidad

La seguridad en el desarrollo de software debe integrarse en cada fase del ciclo de vida del desarrollo.

True (A)

¿Qué se recomienda para mejorar la calidad del software desarrollado?

Integrar seguridad y funcionalidad en cada fase del ciclo de vida.

El ciclo de vida del desarrollo de software se centra en la funcionalidad, el costo, la calidad y el _____ del software.

<p>programación</p> Signup and view all the answers

Empareja las siguientes metodologías de desarrollo con su enfoque principal:

<p>CASCADA = Desarrollo secuencial con fases definidas ÁGIL = Desarrollo iterativo y adaptable RAD = Desarrollo de aplicaciones rápidas DEVOPS = Integración y entrega continua</p> Signup and view all the answers

¿Cuál de los siguientes modelos describe cómo se moverá la información dentro de un sistema de software?

<p>Modelo informativo (D)</p> Signup and view all the answers

El modelo conductual se encarga de describir las funciones que debe realizar una aplicación.

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

¿Qué tipo de información se procesa en el modelo informativo de una aplicación antimalware?

<p>Signaturas de virus, archivos del sistema modificados, sumas de verificación en archivos críticos y actividad de virus.</p> Signup and view all the answers

El modelo _____ describe las tareas y funciones que la aplicación debe llevar a cabo.

<p>funcional</p> Signup and view all the answers

Empareja los siguientes modelos con su definición:

<p>Modelo informativo = Dicta el tipo de información a procesar Modelo funcional = Describe las tareas y su secuenciación Modelo conductual = Explica los estados de la aplicación durante transiciones Diseño de software = Incluye diseño de datos, arquitectónico y procedural</p> Signup and view all the answers

¿Qué es un análisis de superficie de ataque?

<p>Es una técnica para identificar y reducir el código accesible a usuarios no confiables. (D)</p> Signup and view all the answers

El objetivo de un análisis de superficie de ataque es aumentar el número de servicios en un software.

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

Nombra una de las estrategias básicas para la reducción de la superficie de ataque.

<p>Reducir el número de puntos de entrada disponibles para usuarios no confiables.</p> Signup and view all the answers

La superficie de ataque de un software es mayor cuando hay __________ disponibles para los atacantes.

<p>más puntos de entrada</p> Signup and view all the answers

Relaciona los elementos con sus descripciones:

<p>Superficie de ataque = Código y funcionalidad accesible a un atacante Modelo de amenazas = Identificación de posibles ataques y vulnerabilidades Reducción de privilegios = Minimizar los accesos y permisos que tienen los usuarios Análisis de código = Revisión del código fuente en busca de vulnerabilidades</p> Signup and view all the answers

¿Cuál de las siguientes afirmaciones sobre la reducción de la superficie de ataque es correcta?

<p>Eliminar servicios innecesarios puede ayudar a proteger el producto. (C)</p> Signup and view all the answers

Un ataque puede ocurrir incluso si el código fuente es seguro.

<p>True (A)</p> Signup and view all the answers

¿Qué se debe hacer para reducir la superficie de ataque en el desarrollo de software?

<p>Reducir la cantidad de código y funcionalidad accesible a usuarios no confiables.</p> Signup and view all the answers

¿Cuál es el objetivo principal de la fase de pruebas del software?

<p>Identificar vulnerabilidades y evaluar el rendimiento (C)</p> Signup and view all the answers

La validación asegura que el producto cumple con las especificaciones originales.

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

¿Qué se debe hacer si un sistema se bloquea durante las pruebas?

<p>El producto debe reaccionar revirtiendo a un estado seguro.</p> Signup and view all the answers

La ______ determina si un producto proporciona la solución necesaria para el problema real.

<p>validación</p> Signup and view all the answers

Empareja las pruebas con su descripción correcta:

<p>Pruebas de penetración = Identificación de vulnerabilidades Pruebas de rendimiento = Evaluación de la velocidad y eficiencia del software Pruebas de funcionalidad = Verificación de que todas las funciones están operativas Pruebas de seguridad = Evaluación de resistencia frente a ataques</p> Signup and view all the answers

¿Qué prueba se realiza para asegurar que el software reaccione adecuadamente ante entradas inesperadas?

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

El método de verificación se utiliza para evaluar el rendimiento del software.

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

¿Qué tipo de pruebas se deben realizar para verificar que el código no funcione solo en laboratorios?

<p>Pruebas en un entorno que refleje el entorno de producción.</p> Signup and view all the answers

¿Cuál es el objetivo principal del modelo CMMI?

<p>Mejorar los procesos de desarrollo de software (A)</p> Signup and view all the answers

El modelo CMMI es exclusivo para pequeñas empresas de software.

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

¿Qué beneficios se esperan al aumentar el nivel de madurez en el desarrollo de software?

<p>Aumento de la efectividad, repetibilidad y predictibilidad de los procesos de desarrollo.</p> Signup and view all the answers

El modelo ___ sirve para evaluar las prácticas de ingeniería de seguridad y mejorar la calidad de desarrollo.

<p>CMMI</p> Signup and view all the answers

Empareja los siguientes niveles de madurez con su descripción:

<p>Nivel 1 = Ad hoc y sin procesos definidos Nivel 2 = Procesos iniciales establecidos Nivel 3 = Procesos estándar documentados Nivel 4 = Medición y control de procesos</p> Signup and view all the answers

¿Cuál de las siguientes afirmaciones describe mejor la importancia del código de alta calidad?

<p>Ha asociado con menos vulnerabilidades (A)</p> Signup and view all the answers

Los modelos de madurez son irrelevantes en la evaluación de proveedores de software.

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

¿Cuáles son las fases del ciclo de vida del desarrollo de software según CMMI?

<p>Definición del concepto, análisis de requisitos, diseño, desarrollo, integración, instalación, operaciones y mantenimiento.</p> Signup and view all the answers

¿Cuál es el propósito de las pruebas de aceptación?

<p>Asegurar que el código cumpla con los requisitos del cliente (D)</p> Signup and view all the answers

Las pruebas manuales son utilizadas principalmente para situaciones que requieren intuición humana.

<p>True (A)</p> Signup and view all the answers

¿Qué se busca identificar durante las pruebas de regresión?

<p>Funcionalidad, rendimiento y protección tras un cambio en el sistema.</p> Signup and view all the answers

Las pruebas de ______ aseguran que los componentes trabajen juntos como se detalla en las especificaciones de diseño.

<p>integración</p> Signup and view all the answers

Relaciona cada tipo de prueba con su descripción correspondiente:

<p>Unit testing = Pruebas de componentes individuales Integration testing = Verificación de la funcionalidad entre componentes Acceptance testing = Asegurar requisitos del cliente Regression testing = Reevaluación tras cambios en el sistema</p> Signup and view all the answers

¿Qué enfoque es característico de las pruebas automatizadas?

<p>Usar entradas específicas de forma repetible (B)</p> Signup and view all the answers

Las pruebas manuales no implican ningún tipo de codificación o desarrollo.

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

¿Qué se debe hacer después de que se detectan problemas en los procedimientos de prueba?

<p>Transmitir los problemas al equipo de desarrollo para que los solucionen.</p> Signup and view all the answers

Flashcards

Ciclo de vida del desarrollo de software

Proceso repetitivo y predecible para asegurar la funcionalidad, costo, calidad y cronograma de entrega de un software.

Desarrollo de software

Creación de software con enfoque principal en la funcionalidad.

Seguridad en el desarrollo de software

Integración de controles de seguridad en cada fase del ciclo de vida para evitar problemas posteriores.

Metodologías de desarrollo

Enfoques específicos para el desarrollo de software que incluyen diferentes etapas y procedimientos.

Signup and view all the flashcards

Operación y mantenimiento

Actividades de soporte y cuidado del software después de su implementación.

Signup and view all the flashcards

Modelos de madurez

Estándares que evalúan la capacidad y prácticas de desarrollo de software dentro de una organización.

Signup and view all the flashcards

Modelo Informativo

Define el tipo de información que se procesará y cómo se moverá dentro del sistema de software.

Signup and view all the flashcards

Modelo Funcional

Describe las tareas y funciones que la aplicación debe realizar y cómo se secuencian y sincronizan.

Signup and view all the flashcards

Modelo Conductual

Explica los estados en los que estará la aplicación durante y después de transiciones específicas.

Signup and view all the flashcards

Ejemplo de Software Antimalware

Ilustra cómo se aplican los modelos informativo, funcional y conductual a un programa real.

Signup and view all the flashcards

Diseño de Software

Documento que integra datos de los modelos informativo, funcional y conductual para diseñar el sistema.

Signup and view all the flashcards

Superficie de ataque

Componentes del software que un atacante puede utilizar para acceder y comprometer el sistema.

Signup and view all the flashcards

Análisis de superficie de ataque

Identificación y reducción de la cantidad de código y funcionalidades accesibles a usuarios no confiables en el software.

Signup and view all the flashcards

Reducción de la superficie de ataque

Estrategias para disminuir los puntos de entrada y vulnerabilidades expuestas de un software.

Signup and view all the flashcards

Modelo Funcional

Representación de la funcionalidad del software.

Signup and view all the flashcards

Modelo de Datos

Estructura y organización de los datos en el sistema.

Signup and view all the flashcards

Diseño Arquitectónico

Estructura general del software, incluyendo módulos y componentes.

Signup and view all the flashcards

Modelo Informativo

Representación de la información del software.

Signup and view all the flashcards

Diseño Conductual

Representación de cómo el programa interactúa con los usuarios y entornos.

Signup and view all the flashcards

Diseño Procedural

Forma de organizar el código y las funciones en el software.

Signup and view all the flashcards

Pruebas unitarias

Pruebas de componentes individuales en un entorno controlado, donde los programadores validan la estructura de datos, la lógica y las condiciones límite de un programa.

Signup and view all the flashcards

Pruebas de integración

Validación de la interacción entre componentes del software para asegurarse de que trabajan juntos según lo especificado en el diseño.

Signup and view all the flashcards

Pruebas de aceptación

Evaluación de si el software cumple con los requisitos del cliente.

Signup and view all the flashcards

Pruebas de regresión

Revisión de la funcionalidad, rendimiento y protección del sistema después de un cambio para asegurar que no se introdujeron problemas nuevos.

Signup and view all the flashcards

Pruebas manuales

Análisis de aspectos del programa que requieren intuición humana, como la búsqueda de fallas lógicas.

Signup and view all the flashcards

Pruebas automatizadas

Pruebas que emplean scripts y entradas específicas para encontrar fallas de implementación.

Signup and view all the flashcards

Defectos lógicos

Errores en la lógica de un programa que pueden permitir a los atacantes manipular el flujo del programa, obteniendo privilegios o evitando la autenticación.

Signup and view all the flashcards

Informes de problemas

Documentos que detallan las fallas encontradas durante las pruebas y las reportan al equipo de desarrollo.

Signup and view all the flashcards

Modelos de Madurez

Estándares que evalúan la capacidad y las prácticas de desarrollo de software dentro de una organización, mostrando una progresión de ad-hoc a maduro.

Signup and view all the flashcards

Pruebas de Integración

Pruebas que verifican que los diferentes componentes de un software funcionen juntos correctamente.

Signup and view all the flashcards

Entorno de Producción

Es el ambiente donde el software se utiliza en situaciones reales.

Signup and view all the flashcards

CMMI (Capability Maturity Model Integration)

Conjunto completo de modelos para desarrollar software, que abarca diferentes fases del ciclo de vida del desarrollo de software (desde la definición hasta el mantenimiento).

Signup and view all the flashcards

Vulnerabilidades de Seguridad

Debilidades en el software que pueden ser explotadas por atacantes.

Signup and view all the flashcards

Fases del Ciclo de Vida

Etapas del desarrollo de software como definición de concepto, análisis de requerimientos, diseño, desarrollo, integración, instalación, operación y mantenimiento.

Signup and view all the flashcards

Pruebas de Penetración

Pruebas que simulan ataques a un sistema para identificar vulnerabilidades.

Signup and view all the flashcards

Calidad de Código

Indicador de la eficacia, repetibilidad y previsibilidad de los procesos de desarrollo de software que se mejora con la implementación de modelos de madurez.

Signup and view all the flashcards

Maturización de Procesos

Proceso evolutivo que va de una forma de desarrollo ad-hoc (sin método fijo) a una más disciplinada y repetible para mejorar la calidad del software.

Signup and view all the flashcards

Funcionalidad del Producto

Las características y acciones que el software debe realizar.

Signup and view all the flashcards

CMMI y CMM

En el contexto de los exámenes, CMM y CMMI son términos equivalentes que describen los procedimientos, principios y prácticas que subyacen a la madurez del proceso de desarrollo de software.

Signup and view all the flashcards

Checklist de Funcionalidad

Lista de verificación que asegura que todas las funciones requeridas del software estén implementadas.

Signup and view all the flashcards

Modelo Ad-Hoc

Desarrollo de software sin un método o proceso definido, a base de "ir improvisando" o "a ojo".

Signup and view all the flashcards

Verificación vs. Validación (Software)

Verificación asegura que el software cumple con las especificaciones; Validación garantiza que el software resuelve el problema.

Signup and view all the flashcards

Verificación (Software)

Comprobar que el software cumple con las especificaciones.

Signup and view all the flashcards

Validación

Determinar si el producto de software proporciona la solución necesaria para el problema real.

Signup and view all the flashcards

Manejo de Errores Inusuales

Capacidad del sistema para responder a errores inesperados o situaciones atípicas.

Signup and view all the flashcards

Pruebas en Diversos Entornos

Ejecutar pruebas en diferentes configuraciones de hardware y software para detectar problemas de compatibilidad.

Signup and view all the flashcards

Study Notes

Software Development Life Cycle (SDLC)

  • The SDLC encompasses various phases, including the life cycle of software development, methodologies, operation and maintenance, and maturity models.
  • Software development often prioritizes functionality over security.
  • Security controls are frequently bolted on as an afterthought.
  • Security and functionality should be designed and integrated during each phase of the SDLC.
  • A shared understanding of code development is important.

Software Development Life Cycle Phases

  • Requirements Gathering: Determining the purpose, scope, and intended users of the software. This stage should include security considerations.
  • Design: Defining the specifications for functionality, including the security features, that the software will implement.
  • Development: Writing the code to implement the specified functions.
  • Testing: Verifying that the software functions correctly, addresses security concerns, and adheres to requirements.
  • Operations and Maintenance: Deploying the software, troubleshooting issues, ensuring the software is maintained securely, and making updates/patches.

Software Development Roles

  • Project Manager (PM): Overall responsibility for the project, including cost, schedule, performance, and risk.
  • Team Leads: Guiding the development efforts within the team, assigning roles, and maintaining the schedule and quality.
  • Architects: Determining the appropriate technologies and frameworks for the project, overseeing the security aspects of the applications and integration with other systems.
  • Software Engineers: Building or programming the code to implement the required logic, ensuring security of the product.
  • Quality Assurance (QA): Testing the software, finding defects, and verifying its suitability.

Project Management

  • Security planning should be integrated into the project's functional plan, referencing documented security policies and previous project documentation.
  • Software development processes should be properly implemented to prevent errors and scope creep from impacting the final result.
  • Changes in requirements should be managed and properly documented to avoid project delays and customer dissatisfaction.

Testing Phase

  • Unit Testing: Testing individual components or modules in isolation to identify defects early and quickly pinpoint where errors lie.
  • Integration Testing: Assessing how different modules or components interact to determine whether they work cohesively.
  • Acceptance Testing: Verifying if the developed software satisfies end-users' needs.
  • Regression Testing: Ensuring that modifications to the software do not introduce new defects and impact existing functionality.

Operations and Maintenance

  • Ensuring continuous operation, security, and addressing vulnerabilities uncovered after the deployment.
  • Patching and upgrading the software to mitigate risks and maintain security standards.
  • Change management is an essential aspect, including reviewing security implications.

Development Methodologies

  • Waterfall: A sequential, linear approach.
  • Prototyping: Iterative approach where prototypes are developed to explore ideas.
  • Incremental: Developing and delivering the software in a series of increments or stages, each meeting specific requirements.
  • Spiral: Iterative model, emphasizing risk analysis.
  • Rapid Application Development (RAD): Incorporates prototyping to accelerate the development process and reduce errors.
  • Agile: Flexible approach emphasizing iterative development and collaboration.
  • DevOps: Emphasizes collaboration between development and operations teams.
  • DevSecOps: Incorporates security into the development process.

Maturity Models

  • Capability Maturity Model Integration (CMMI): A framework for evaluating the effectiveness and maturity of software development processes.
  • Software Assurance Maturity Model (SAMM): A framework to assess the security practices in each phase of software development.

Studying That Suits You

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

Quiz Team

Related Documents

Description

Este cuestionario examina las fases del Ciclo de Vida del Desarrollo de Software, que incluye la recogida de requisitos, el diseño, el desarrollo y la prueba del software. Se enfatiza la importancia de integrar la seguridad en cada fase del ciclo. Asegúrate de entender cómo la funcionalidad y la seguridad deben coexistir durante todo el proceso.

More Like This

Secure Software Development Life Cycle (SDLC) Quiz
10 questions
Integrating Security Into SDLC
30 questions

Integrating Security Into SDLC

ConstructiveDesert5028 avatar
ConstructiveDesert5028
Information Security in SDLC Quiz
42 questions
Use Quizgecko on...
Browser
Browser