Este documento presenta una introducción a las metodologías de desarrollo de software, incluyendo el ciclo de vida del desarrollo de software (SDLC), modelos como la cascada, ágil y lean, y conceptos clave como sprints, backlog de usuario y reuniones diarias. El objetivo general es comparar estas metodologías y utilizar las mejores prácticas de diseño y desarrollo de software.
Metodologías de desarrollo ágiles: Scrum, XPejordi
Metodologías de desarrollo ágiles: Scrum y eXtreme Programming.
Treball de l'assignatura Gestió de Sistemes d'Informació (GESI) de la Universitat Politècnica de Catalunya (UPC). Professor: Jordi Esteve. Gener 2009. Vilanova i la Geltrú. Barcelona. Catalunya.
Metodologías de desarrollo ágiles: Scrum, XPejordi
Metodologías de desarrollo ágiles: Scrum y eXtreme Programming.
Treball de l'assignatura Gestió de Sistemes d'Informació (GESI) de la Universitat Politècnica de Catalunya (UPC). Professor: Jordi Esteve. Gener 2009. Vilanova i la Geltrú. Barcelona. Catalunya.
El proceso de desarrollo de software “es aquel en que las necesidades del usuario son traducidas en requerimientos de software, estos requerimientos transformados en diseño y el diseño implementado en código, el código es probado, documentado y certificado para su uso operativo".
A partir de este paso y en adelante el equipo de desarrollo software trabaja para tirar adelante el proyecto. El equipo se reúne con varios depositarios de dominio del problema, e intentan conseguir la máxima cantidad de información posible sobre lo que requieren. Los requisitos se contemplan y agrupan en requisitos del usuario, requisitos funcionales y requisitos del sistema. La recolección de todos los requisitos se lleva a cabo como se especifica a continuación
Estudio de viabilidad
Después de la recolección de requisitos, el equipo idea un plan para procesar el software. En esta fase, el equipo analiza si el software puede hacerse para cubrir todos los requisitos del usuario y si hay alguna posibilidad de que el software ya no sea necesario.
El desarrollo de software ya no es lo mismo que años atrás, un ejemplo podría ser el desarrollo de software antes tenia un soporte grande en Hardware y era costoso comprarlo, eso costos ahora han bajado y dejaron de serlo.
Si bien los hospitales conjuntan a profesionales de salud que atienden a la población, existe un equipo de organización, coordinación y administración que permite que los cuidados clínicos se otorguen de manera constante y sin obstáculos.
Mario García Baltazar, director del área de Tecnología (TI) del Hospital Victoria La Salle, relató la manera en la que el departamento que él lidera, apoyado en Cirrus y Estela, brinda servicio a los clientes internos de la institución e impulsa una experiencia positiva en el paciente.
Conoce el Hospital Victoria La Salle
Ubicado en Ciudad Victoria, Tamaulipas, México
Inició operaciones en el 2016
Forma parte del Consorcio Mexicanos de Hospitales
Hospital de segundo nivel
21 habitaciones para estancia
31 camas censables
13 camillas
2 quirófanos
+174 integrantes en su plantilla
+120 equipos médicos de alta tecnología
+900 pacientes atendidos
Servicios de +20 especialidades
Módulos utilizados de Cirrus
HIS
EHR
ERP
Estela - Business Intelligence
Escaneo y eliminación de malware en el equiponicromante2000
El malware tiene muchas caras, y es que los programas maliciosos se reproducen en los ordenadores de diferentes formas. Ya se trate de virus, de programas espía o de troyanos, la presencia de software malicioso en los sistemas informáticos siempre debería evitarse. Aquí te muestro como trabaja un anti malware a la hora de analizar tu equipo
1. Eduardo José Avila Portillo
Instructores - DEVNET Associate
Modulo 3
Desarrollo y Diseño de Software
Laboratorio – 01
2. • La tendencia en el mundo de las redes es que los
especialistas de TI desarrollen sus propios programas para
automatizar muchas tareas de administración de redes.
• Existen distintas metodologías de desarrollo de software
(no solo lenguajes de programación) y antes de elegir una
de ellas es necesario que conozcas lo que te ofrecen cada
una de ellas
3. Título del módulo:
Desarrollo y diseño de software
Objetivo del módulo : Utilizar las mejores prácticas de diseño y
desarrollo de software.
Título del tema Objetivo del tema
Desarrollo de software
Comparar las metodologías de
desarrollo de software.
Patrones de diseño de
software
Describir los beneficios de varios
patrones de diseño de software.
Sistemas de control de
versiones
Implementar el control de versiones de
software mediante GIT.
Conceptos básicos de
codificación
Explicar las mejores prácticas de
codificación.
Revisión y prueba de código
Utilizar Python UnitTest para evaluar
el código.
Comprensión de los formatos
de datos
Utilizar Python para analizar diferentes
formatos de mensajes y datos.
4. • Ciclo de vida del software (SDLC)
• Metodología para gestionar el SDLC
• Cascada
• Agile
• Lean
5. • Fase 1. Requisitos y análisis
• Fase 2. Diseño
• Fase 3. Implementación
• Fase 4. Prueba
• Fase 5. Despliegue
• Fase 6. Mantenimiento
Nota: el SDLC es una descripción no una receta
6. • Determinar de manera completa el problema a resolver en
general y necesidades especificas
• Recopilar requisitos y definir arquitecturas
• Calcular viabilidad, riesgos en cronograma, métodos para
probar el software, lugar y fecha de entrega del software
• Genera un reporte de Especificacion de Requisitos de
Software (SRS)
7. • Se toma el SRS para generar el diseño mas adecuado.
• Crea documentos de Diseño de alto nivel (HLD) y Diseño de bajo nivel (LLD).
• HLD implica descomponer un sistema en módulos y representar las interfaces y relaciones
de invocación entre módulos.
• LLD, también conocido como diseño detallado, se utiliza para diseñar las partes internas
de los módulos individuales identificados durante HLD.
8. • Recibe como entrada los reportes HLD y LLD.
• También es llamada fase de codificación o Desarrollo.
• Se escribe el plan de pruebas.
• Esta fase genera el código funcional que satisface la
necesidades del usuario.
9. • Recibe como entrada el código fuente de la
fase de implementación y el plan de pruebas.
• Además los ingenieros de pruebas realizan:
• Pruebas de integración
• Pruebas de rendimiento
• Pruebas de seguridad
• Al identificar errores, el código es enviado a los
ingenieros de desarrollo y cuando el error es
solventado se vuelven a ejecutar las pruebas.
10. • La fase de despliegue trabaja con el software ya verificado en la fase
de pruebas, y de inmediato se instala en el entorno de producción.
• El producto final de esta fase es la entrega a los clientes del software
funcionando.
• La fase de mantenimiento consiste en brinda soporte a los clientes,
corrige errores encontrados en producción, trabajar en mejoras de
software y recoge nuevas solicitudes del cliente
• Al concluir la fase de mantenimiento, el equipo está listo para trabajar en
la siguiente iteración y versión del software
12. • Usado históricamente, incluso hoy en día
todavía es utilizado
• Su objetivo es cumplir con cada fase de
manera optima y no regresar a la
anterior
• Cada fase se puede subdividir en
distintas fases y estas sub fases
ejecutarse por separado o en paralelo
• Se dice que el modelo de cascada
original fue creado por Winston W.
Royce.
13. • En 2001 un grupo de desarrolladores decidió crear un manifiesto a seguir para superar sus
frustraciones respecto a lo engorroso y tardío que era concluir el desarrollo de un software.
• Los valores del manifiesto ágil son:
Individuos e interacciones sobre procesos y herramientas
Software de trabajo sobre documentación completa
Colaboración con el cliente sobre la negociación de contratos
Responde al cambio sobre el siguiente plan
• Principios del manifiesto ágil
Enfoque
al cliente
Adoptar
el cambio
Entrega
frecuente
Colaboración
Equipos
Motivados
Comunicación
Cara a Cara
Software
De trabajo
Trabajo a ritmo
Constante
Entorno
Ágil
Simplicidad Equipos
Auto - organizados
Mejora
continua
14. • Luego de popularizar el manifiesto, pero sin definir una metodología especifica, distintos
grupos de programadores se dedicaron crear distintos métodos de programación que
cumplieran con el manifiesto ágil.
Scrum Ágil
Se enfoca en equipos pequeños auto
organizados, reuniones y entregables
diarios, adaptaciones constante y
trabaja bien con requisitos cambiantes
Lean
Enfatiza en la reducción del esfuerzo
que se realiza en la planificación y
ejecución, también busca reducir la
carga cognitiva del desarrollador
Programación Extrema
Comparable a Scrum ágil, pero es un
poco mas estricto respecto a las
mejores practicas a utilizar
Desarrollo basado en funciones (FFD)
Se basa en la primicia de que el
desarrollo debe de ser meticuloso,
desglosado, planificado y construido
característica por característica
15. • Conceptos importantes
Sprints:
Periodo de tiempo en
especifico en el que
se recorre un ciclo del
SDLC
Backlog:
Es una lista priorizada
con todas las
funciones del software
User stories:
Es la subdivisión de las
funciones del backlog, debe
ser una tarea suficientemente
pequeña para poder ser
hecha en un sprint
Equipos Scrum:
Son multifuncionales
y capaces de cumplir
un user story en un
solo sprint
Standup:
Reunión diaria de
cada equipo de scrum,
no mas de 15 min,
siempre a la misma
hora.
16. • Se basa en Lean manufacturing, que a su
vez se basa en la mejora continua.
• El método lean tiene 7 principios básicos:
• Eliminar residuos
• Amplificar el aprendizaje
• Decidir lo mas tarde posible
• Entregar lo mas rápido posible
• Empoderar al equipo
• Desarrollar integridad
• Optimizar el todo
17. Eliminar residuos Eliminar todo lo que no aporte valor directo al cliente
Este es el principio básico de Lean y del cual se deriva toda la metodología