Métodologiass
Métodologiass
Métodologiass
La Metodología de Ciclo de Vida del Software (también conocida como SDLC, por sus siglas
en inglés, Software Development Life Cycle) es un enfoque sistemático utilizado para
desarrollar y mantener software de manera eficiente. Proporciona una estructura y un
conjunto de etapas que guían a los ingenieros en sistemas a través del proceso de desarrollo
de software, desde la concepción de la idea hasta la entrega final.
1. Requisitos y análisis: En esta etapa, se definen los requisitos del software en función
de las necesidades del cliente o del sistema. Los ingenieros en sistemas trabajan en
colaboración con los usuarios y las partes interesadas para comprender los requisitos
funcionales y no funcionales del sistema. Esto implica la identificación de las
necesidades del sistema, el análisis de riesgos y la elaboración de un documento de
especificaciones.
2. Diseño del sistema: En esta etapa, se desarrolla la arquitectura del sistema en base a
los requisitos identificados. Los ingenieros en sistemas diseñan la estructura del
sistema, definen los componentes principales y establecen las interfaces necesarias.
También consideran aspectos como la seguridad, el rendimiento y la integración con
otros sistemas.
4. Pruebas: En esta etapa, se llevan a cabo pruebas exhaustivas para identificar errores
y verificar que el software cumpla con los requisitos establecidos. Los ingenieros en
sistemas diseñan casos de prueba, realizan pruebas de unidad, pruebas de integración
y pruebas de sistema para garantizar que el software funcione correctamente en
diferentes situaciones y escenarios.
5. Despliegue: Una vez que el software ha pasado por las pruebas y se ha validado su
calidad, se procede al despliegue en el entorno de producción. Los ingenieros en
sistemas se encargan de la instalación, configuración y puesta en marcha del software
en el sistema objetivo.
Mobile-D
El objetivo de esta metodología es conseguir ciclos de desarrollo muy rápidos en equipos
muy pequeños. Se basa en metodologías para el desarrollo de aplicaciones móviles conocidas
pero aplicadas de forma estricta como: extreme programming, Crystal Methodologies y
Rational Unified Process. Tiene distintas fases: exploración, inicialización, fase de producto,
fase de estabilización y la fase de pruebas. Cada una tiene un día de planificación y otro de
entrega.
Etapas:
1.Fase exploración: se centra la atención en la planificación y en los conceptos básicos del
proyecto. Aquí es donde se define el alcance del proyecto y su establecimiento con las
funcionalidades donde se quiere llegar.
3.Fase de producto: se repiten iterativamente las subfases. Se usa el desarrollo dirigido por
pruebas (TDD), antes de iniciar el desarrollo de una funcionalidad debe existir una prueba
que verifique su funcionamiento. En esta fase podemos decir que se lleva a acabo toda la
implementación.
4.Fase de estabilización: se realizan las acciones de integración para enganchar los posibles
módulos separados en una única aplicación.
5.Fase de pruebas: una vez parado totalmente el desarrollo se pasa una fase de testeo hasta
llegar a una versión estable según lo establecido en las primeras fases por el cliente. Si es
necesario se reparan los errores, pero no se desarrolla nada nuevo.
Metodología Objectory
Etapas:
2. Análisis de dominio: En esta etapa, se realiza un análisis más profundo del dominio
del problema y se identifican los conceptos, las clases y las relaciones clave. Los
ingenieros en sistemas utilizan técnicas de modelado, como diagramas de clases y
diagramas de interacción, para visualizar y comprender la estructura y el
comportamiento del sistema.
3. Diseño: En esta etapa, se elabora el diseño detallado del sistema a partir de los
requisitos y el análisis de dominio. Los ingenieros en sistemas definen la arquitectura
del sistema, diseñan los componentes y las interacciones entre ellos. También se
pueden utilizar patrones de diseño para resolver problemas comunes y mejorar la
reutilización y la mantenibilidad del sistema.
6. Despliegue: Una vez que el software ha pasado por las pruebas y se ha validado su
calidad, se procede al despliegue en el entorno de producción. Los ingenieros en
sistemas se encargan de la instalación, configuración y puesta en marcha del sistema
en el ambiente objetivo.
Metodología Scrum
1. Roles en Scrum:
- Product Owner: Es responsable de definir y priorizar los requisitos del sistema, gestionar
el backlog del producto y garantizar que el equipo de desarrollo esté trabajando en las
funcionalidades más valiosas para el negocio.
- Scrum Master: Es el facilitador del equipo, asegurando que se sigan los principios y
prácticas de Scrum. El Scrum Master ayuda a eliminar los obstáculos, promueve la
colaboración y garantiza que el equipo tenga un ambiente de trabajo productivo.
- Equipo de desarrollo: Está formado por los ingenieros en sistemas y otros profesionales
necesarios para entregar el software. Trabajan juntos para desarrollar, probar e implementar
el software de acuerdo con las necesidades del producto.
2. Artefactos en Scrum:
- Backlog del producto: Es una lista priorizada de todas las funcionalidades, mejoras y
correcciones que se desean en el sistema. El Product Owner es responsable de mantener y
priorizar este backlog.
- Backlog del sprint: Es una selección de elementos del backlog del producto que el equipo
se compromete a desarrollar durante un sprint específico. Estos elementos se dividen en
tareas más pequeñas y se estiman en función de su complejidad.
- Incremento: Es el resultado tangible del sprint, es decir, el software funcional y probado
que se entrega al final de cada sprint.
3. Eventos en Scrum:
- Sprint Planning: Es una reunión en la que el equipo selecciona los elementos del backlog
del producto que se trabajarán durante el sprint y los desglosa en tareas más pequeñas.
- Daily Scrum: Es una reunión diaria corta en la que el equipo de desarrollo se sincroniza,
comparte el progreso, identifica obstáculos y planifica el trabajo para el día.
- Sprint Review: Es una reunión al final de cada sprint en la que el equipo demuestra el
incremento al Product Owner y otras partes interesadas, recibe comentarios y actualiza el
backlog del producto según sea necesario.
- Sprint Retrospective: Es una reunión al final de cada sprint en la que el equipo reflexiona
sobre el sprint pasado, identifica mejoras y crea un plan de acción para implementar esas
mejoras en el siguiente sprint.
Para los ingenieros en sistemas, Scrum proporciona una estructura clara para el desarrollo de
software. Les ayuda a colaborar de manera efectiva en un equipo multidisciplinario, a
enfocarse en objetivos claros y a entregar software de alta calidad en forma iterativa e
incremental. Además, Scrum fomenta la comunicación y la transparencia, lo que permite a
los ingenieros en sistemas compartir su progreso, identificar problemas rápidamente y
adaptarse a medida que avanza el proyecto.
Metodología XP
- Valentía: Implica tomar decisiones audaces y asumir riesgos para lograr los
objetivos del proyecto. Los ingenieros en sistemas deben estar dispuestos a
asumir desafíos y experimentar con nuevas soluciones técnicas.
2. Prácticas de XP:
- Programación en pareja (Pair Programming): Los ingenieros en sistemas trabajan en
parejas, donde uno es el conductor (quien escribe el código) y el otro es el observador (quien
revisa y brinda retroalimentación). Esta práctica promueve el intercambio de conocimientos,
la revisión continua del código y la mejora de la calidad del software.
3. Proceso de XP:
- Planificación: Los ingenieros en sistemas trabajan junto con los clientes para identificar
las funcionalidades prioritarias y establecer una hoja de ruta. Utilizan historias de usuario
para describir los requisitos y estimar el tiempo necesario para completarlas.
Metodología UWE:
La Metodología UWE (Unified Process for Web Engineering) es un enfoque específico para
el desarrollo de aplicaciones web y sistemas basados en la web. Fue desarrollada por el Dr.
Birgit Pröll y el Dr. Stefan Biffl como una extensión de RUP (Rational Unified Process) para
abordar las particularidades del desarrollo web. UWE se basa en principios de ingeniería de
software y metodologías ágiles.
5. Despliegue y Mantenimiento: Una vez que el sistema web ha sido probado y validado,
se procede al despliegue en el entorno de producción. Los ingenieros en sistemas se
encargan de la instalación, configuración y puesta en marcha del sistema web.
Además, también se encargan del mantenimiento continuo del sistema, realizando
actualizaciones, correcciones de errores y mejoras según sea necesario.
Es importante destacar que la Metodología UWE se basa en RUP, por lo que comparte
muchos principios y conceptos con esta metodología más amplia. Los ingenieros en sistemas
pueden beneficiarse de la estructura y las prácticas establecidas por UWE para desarrollar
aplicaciones web de manera efectiva, asegurando la calidad y la satisfacción del usuario en
proyectos de desarrollo web.
Metodología Incremental:
La Metodología Incremental es un enfoque de desarrollo de software que se basa en la entrega
incremental y progresiva de funcionalidades. En lugar de desarrollar y entregar el software
completo de una sola vez, la metodología incremental divide el proyecto en partes más
pequeñas y manejables llamadas incrementos. Cada incremento entrega una funcionalidad
adicional al software, lo que permite una mayor flexibilidad y adaptabilidad a medida que se
avanza en el proyecto.
Metodología OMT:
5. Diseño de Sistemas: En esta etapa, los ingenieros en sistemas utilizan los modelos
creados anteriormente para diseñar la arquitectura del sistema y definir los
componentes y las interfaces. También consideran aspectos como la seguridad, el
rendimiento y la escalabilidad del sistema.
7. Pruebas y Validación: En esta etapa, se llevan a cabo pruebas para verificar que el
software funcione según lo esperado y cumpla con los requisitos establecidos. Los
ingenieros en sistemas diseñan casos de prueba y realizan pruebas unitarias, pruebas
de integración y pruebas de sistema para garantizar la calidad del sistema.
8. Despliegue y Mantenimiento: Una vez que el software ha pasado por las pruebas y se
ha validado su calidad, se procede al despliegue en el entorno de producción. Los
ingenieros en sistemas se encargan de la instalación, configuración y puesta en
marcha del sistema. También son responsables del mantenimiento continuo del
sistema, solucionando problemas y realizando actualizaciones y mejoras.