Está en la página 1de 7

Resumen del libro Ingeniería de

Software con un enfoque práctico.


ÍNDICE:
Capítulo 1: Introducción a la Ingeniería de Software

Definición y tipos de software.


Parte 1 - El Proceso del Software

Modelos de desarrollo de software (cascada, incremental, ágil,


etc.).
Parte 2 - Modelado

Técnicas para diseñar software y definir requerimientos.


Parte 3 - Administración de la Calidad

Estrategias para asegurar calidad en el software.


Parte 4 - Administración de Proyectos

Conceptos de gestión de proyectos de software.


Parte 5 - Temas Avanzados

Mejora de procesos y tendencias en la industria.


Resumen Capítulo 4: Análisis de Requisitos

Proceso de análisis de requisitos y enfoque ágil.


Resumen Capítulo 5: Ingeniería de Requisitos

Métodos para entender y definir requisitos.


Resumen Capítulo 6: Principios
Principios de comunicación, planeación, modelado, construcción y
despliegue en la ingeniería de software.
Resumen
Capítulo 1:

El capítulo 1 proporciona una introducción a la disciplina de la ingeniería de


software. Define el software como un sistema de cómputo que proporciona un
servicio o realiza una tarea específica. También identifica los diferentes tipos
de software, como el software de propósito general, el software de propósito
específico y el software personalizado.

Parte 1 - El Proceso del Software

Esta parte cubre en profundidad los distintos modelos y enfoques para desarrollar software:
● El modelo en cascada sigue una secuencia lineal de actividades. Es un enfoque
sistemático pero poco flexible.
● Los modelos incrementales entregan funcionamiento progresivamente. Permite
retroalimentación del cliente.
● Los modelos evolutivos como el de prototipos y el espiral desarrollan versiones cada
vez más completas. Permiten manejar riesgos.
● Los modelos concurrentes ejecutan actividades en paralelo para acortar tiempo.
Requiere coordinación.
● Los métodos ágiles valoran individuos, software funcional, colaboración y respuesta
al cambio.
● Se describen distintas metodologías ágiles como XP, Scrum, DSD, FDD, ASD, etc.
● Se explica cómo seleccionar, personalizar y mejorar un proceso de software.

Definición de software

El software se define como un conjunto de instrucciones (programas de cómputo) que,


cuando se ejecutan, proporcionan las características, funciones y desempeño buscados en
un sistema. Además, el software incluye estructuras de datos que permiten a los programas
manipular la información de manera adecuada y también información descriptiva, tanto en
formato impreso como virtual, que describe la operación y el uso de los programas.

características del software que lo hacen diferente del hardware:

1. El software se desarrolla o modifica con intelecto y no se manufactura como el


hardware. La alta calidad en ambos casos se logra a través de un buen diseño, pero
el software no pasa por una fase de manufactura clásica como el hardware.

2. A diferencia del hardware, el software no se desgasta con el tiempo, pero puede


deteriorarse debido a cambios y modificaciones. Cada cambio realizado en el
software puede introducir errores que aumentan la tasa de fallas, lo que lleva a un
deterioro gradual del software.
3. Aunque la industria de software se está moviendo hacia la construcción basada en
componentes reutilizables, la mayor parte del software todavía se construye de
manera individualizada para usos específicos. A diferencia del hardware, donde se
utilizan componentes estándar, el software a menudo se crea desde cero para
satisfacer necesidades particulares.

En resumen,
el software es un conjunto de programas e instrucciones que definen el
funcionamiento de un sistema, y presenta características únicas en comparación con
el hardware, incluyendo su proceso de desarrollo, su inmune a la degradación física,
y su enfoque en la individualización de aplicaciones

Parte 2 - Modelado

Explica las técnicas para modelar requerimientos y diseñar software:


● Para requerimientos se utilizan escenarios, diagramas UML, análisis de flujos,
comportamientos.
● El diseño cubre conceptos como abstracción, arquitectura, modularidad,
ocultamiento de información.
● Se detalla el diseño de arquitectura, componentes, interfaz de usuario y aplicaciones
web.

Parte 3 - Administración de la Calidad

Trata cómo lograr calidad en el software:


● Explica conceptos de calidad como corrección, confiabilidad, eficiencia, seguridad.
● Describe técnicas de revisión como inspecciones, revisiones técnicas.
● Cubre planes de aseguramiento de calidad y testing exhaustivo.
● Detalla estrategias de pruebas unitarias, integrales, de validating, seguridad, etc.
● Explica verificación formal y administración de configuraciones.
● Presenta métricas para medir calidad de requerimientos, diseño, código, pruebas.

Parte 4 - Administración de Proyectos

Trata conceptos para gestionar proyectos de software:


● Explica planificación, alcance, recursos, personal, riesgos.
● Detalla métricas para medir progreso, productividad, calidad.
● Cubre estimación de esfuerzo y duración de actividades.
● Describe técnicas de calendarización y seguimiento de tareas.
● Explica mantenimiento y reingeniería de aplicaciones.

Parte 5 - Temas Avanzados

● Cubre mejora de procesos con CMMI, Six Sigma, ISO, ITIL.


● Analiza tendencias como computación en la nube, metodologías ágiles, seguridad.

Resumen
Capítulo 4:

El capítulo 4 trata sobre el análisis de requisitos. El análisis de requisitos es el


proceso de recopilar, analizar y documentar los requisitos de un sistema de
software. Los requisitos son las características y funciones que un sistema de
software debe tener para satisfacer las necesidades de los usuarios. discute los
diferentes tipos de requisitos, como los requisitos funcionales, los requisitos no
funcionales y los requisitos de calidad. También presenta un enfoque sistemático
para el análisis de requisitos, que incluye las siguientes actividades:

● Explica el desarrollo ágil de software como alternativa a procesos tradicionales en


algunos proyectos.
● La agilidad implica entregar rápido software utilizable en incrementos, con equipos
pequeños y motivados.
● Describe la programación extrema (XP) con valores como comunicación,
retroalimentación y respeto.
● El proceso XP tiene actividades de planeación, diseño simple, codificación en parejas
e integración continua.
● Otras metodologías ágiles son Desarrollo Adaptativo de Software (DAS), Scrum,
Desarrollo de Sistemas Dinámicos (DSD), Cristal, Desarrollo Impulsado por
Características (DIC), Desarrollo Esbelto de Software (DES), etc.
● Todas enfatizan colaboración, organización propia, entrega rápida de software,
adaptación al cambio.
● El Proceso Unificado Ágil (PUA) combina prácticas ágiles con el Proceso Unificado
tradicional.
● El desarrollo ágil no elimina análisis y diseño sino los simplifica para permitir
entregas rápidas.
● Debe balancearse agilidad con rigor en ingeniería para producir software de calidad.

Resumen
Capítulo 5:

El capítulo 5 trata sobre el diseño de software. El diseño de software es el proceso


de crear una representación de alto nivel de un sistema de software. El diseño de
software debe cumplir con los requisitos del sistema y debe ser factible de
implementar. Discute los diferentes tipos de diseño de software, como el diseño
arquitectónico, el diseño detallado y el diseño de la interfaz de usuario. También
presenta un enfoque sistemático para el diseño de software, que incluye las
siguientes actividades:

● Explica conceptos clave de la ingeniería de requisitos como felicitación,


especificación, validación y gestión.
● Describe técnicas para entender el dominio del problema y felicitación colaborativa
de requisitos.
● Cubre el uso de casos de uso para modelar requisitos desde la perspectiva del
usuario.
● Explica el modelado de requisitos usando escenarios, diagramas de actividades,
modelado de datos, clases y comportamiento.
● Discute modelado orientado a objetos con identificación de clases, atributos,
relaciones y diagramas.
● Trata modelado de requisitos para aplicaciones web enfocado en contenido,
navegación, interacción y configuración.
● Enfatiza la importancia de validar requisitos con el cliente, detectar inconsistencias,
ambigüedades y errores.
● Resalta técnicas para negociar y acordar requisitos, manejar cambios y administrar
requisitos.
Resumen
Capítulo 6:
El capítulo 6 trata sobre la implementación y prueba de software. La implementación de
software es el proceso de traducir el diseño de software en código fuente. La prueba de
software es el proceso de verificar que el software cumpla con los requisitos.

Principios de Comunicación:
● La comunicación efectiva con el cliente es esencial en la ingeniería de software.
● La preparación antes de la comunicación y la gestión de expectativas son cruciales.
● La comunicación ágil se centra en la colaboración continua entre el cliente y el
equipo de desarrollo.
● La negociación desempeña un papel importante en la comunicación.

Principios de Planeación:
● La planificación del proyecto debe comenzar temprano y ser detallada.
● La granularidad se refiere a dividir el trabajo en tareas manejables y bien definidas.
● La planeación debe abordar quién realizará el trabajo y cuándo se completará.
● La planificación debe ser flexible y adaptable a medida que avanza el proyecto.

Principios de Modelado:
● El modelado incluye el análisis y el diseño, y se utiliza para comprender y guiar el
desarrollo del software.
● Los modelos proporcionan representaciones detalladas del software y son
fundamentales para la comunicación entre equipos.
● El modelado de requerimientos se enfoca en identificar qué debe hacer el software.
● Los modelos deben evolucionar a medida que se entienden mejor los
requerimientos.

Principios de Construcción:
● La construcción involucra la codificación y las pruebas de componentes de software.
● Los principios de codificación incluyen la planificación, la revisión de código y la
documentación.
● Las pruebas son esenciales para encontrar errores en el software.
● No es posible realizar pruebas exhaustivas, pero se deben cubrir las condiciones
críticas.

Principios de Despliegue:
● El despliegue incluye la entrega, el apoyo y la retroalimentación.
● La administración de expectativas del cliente es clave para evitar desilusiones.
● Antes de la entrega, se debe ensamblar y probar el paquete completo.
● El apoyo debe estar planificado y proporcionado para ayudar a los usuarios finales.
● Los usuarios finales deben recibir materiales de aprendizaje adecuados.
● Los errores deben corregirse antes de la entrega.
● La retroalimentación es esencial para mejorar el software en ciclos iterativos.

En resumen, este capítulo destaca los principios que guían diversas etapas del proceso de
desarrollo de software, desde la comunicación con el cliente hasta la entrega y el soporte.
Cada principio se enfoca en mejorar la calidad del software y la eficacia del equipo de
desarrollo.

También podría gustarte