Resumen acerca del ciclo de vida del desarrollo de software, realizado con base en algunos libros de culto, como el importante trabajo de Jacobson-Booch-Rumbaugh y la súper valiosa contribución de Sutherland-Schwaber d|^^|b
Resumen acerca del ciclo de vida del desarrollo de software, realizado con base en algunos libros de culto, como el importante trabajo de Jacobson-Booch-Rumbaugh y la súper valiosa contribución de Sutherland-Schwaber d|^^|b
El desarrollo y mantenimiento de aplicaciones empresariales, más que una profesión se ha convertido en todo un arte al darles soporte y mantenimiento, cobra mayor importancia y trascendencia cuando: diferentes desarrolladores modifican la funcionalidad, se utilizan versiones de API´s y frameworks diferentes sobre la misma aplicación sólo porque a "alguien" se le ocurrió, se duplica código por el desconocimiento de la aplicación y por si fuera poco....... existe código muerto en las diferentes capas de la aplicación (si es que se puede identificar alguna) una situación que nunca sucede en nuestro ámbito. Si el panorama no fuera ya de por si complejo, el realizar las pruebas (de todos los módulos de la aplicación) y promover la liberación de una nueva funcionalidad resulta en ocasiones más costoso en tiempo y recursos que la nueva funcionalidad por si misma. La presente sesión demuestra por medio de casos de éxito las ventajas que proporciona el someter aplicaciones existentes y nuevas sobre un proceso de integración contínua estandarizando: el versionado del código, el uso de herramientas de construcción, la automatización de pruebas, la evaluación de código y promoción de nuevas liberaciones de aplicaciones productivas. Todo esto sobre un ciclo iterativo, controlado y auditado para un objetivo final, producir aplicaciones con calidad de código.
Estrategias ágiles para incrementar calidad al construir y probar softwareDomingo Suarez Torres
Construir software es duro y difícil, hacerlo con calidad es aun mas difícil. En nuestra joven industria han existido muchas ideas acerca de como podríamos desarrollar software con eficiencia, muchas metodologías han emergido, casi todas ellas han fallado. El movimiento ágil, fundamentado por el Manifiesto Ágil, propone principios simples, basados en humanos y sus interacciones y no en procesos o herramientas; es esencial el factor humano.
En esta charla abordaremos rápidamente los problemas comunes al desarrollar software y como podemos minimizarlos a través de sencillos principios basados en Agile Software Development. Ademas de los principios veremos como el uso de algunas practicas tomadas de Extreme Programming pueden mejorar significativamente el proceso de desarrollo de software.
El desarrollo y mantenimiento de aplicaciones empresariales, más que una profesión se ha convertido en todo un arte al darles soporte y mantenimiento, cobra mayor importancia y trascendencia cuando: diferentes desarrolladores modifican la funcionalidad, se utilizan versiones de API´s y frameworks diferentes sobre la misma aplicación sólo porque a "alguien" se le ocurrió, se duplica código por el desconocimiento de la aplicación y por si fuera poco....... existe código muerto en las diferentes capas de la aplicación (si es que se puede identificar alguna) una situación que nunca sucede en nuestro ámbito. Si el panorama no fuera ya de por si complejo, el realizar las pruebas (de todos los módulos de la aplicación) y promover la liberación de una nueva funcionalidad resulta en ocasiones más costoso en tiempo y recursos que la nueva funcionalidad por si misma. La presente sesión demuestra por medio de casos de éxito las ventajas que proporciona el someter aplicaciones existentes y nuevas sobre un proceso de integración contínua estandarizando: el versionado del código, el uso de herramientas de construcción, la automatización de pruebas, la evaluación de código y promoción de nuevas liberaciones de aplicaciones productivas. Todo esto sobre un ciclo iterativo, controlado y auditado para un objetivo final, producir aplicaciones con calidad de código.
Estrategias ágiles para incrementar calidad al construir y probar softwareDomingo Suarez Torres
Construir software es duro y difícil, hacerlo con calidad es aun mas difícil. En nuestra joven industria han existido muchas ideas acerca de como podríamos desarrollar software con eficiencia, muchas metodologías han emergido, casi todas ellas han fallado. El movimiento ágil, fundamentado por el Manifiesto Ágil, propone principios simples, basados en humanos y sus interacciones y no en procesos o herramientas; es esencial el factor humano.
En esta charla abordaremos rápidamente los problemas comunes al desarrollar software y como podemos minimizarlos a través de sencillos principios basados en Agile Software Development. Ademas de los principios veremos como el uso de algunas practicas tomadas de Extreme Programming pueden mejorar significativamente el proceso de desarrollo de software.
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.
2. QUE ES EL SOFTWARE
• El software inicial se escribió para computadoras específicas y se vendió con el hardware en el que se
ejecutaba. En la década de 1980, el software comenzó a venderse en disquetes y más tarde en CD y DVD.
Hoy en día, la mayor parte del software se compra y se descarga directamente a través de Internet. El
software se puede encontrar en los sitios web de los proveedores o en los sitios web de los proveedores de
servicios de aplicaciones .
• SDLC, o ciclo de vida de desarrollo de software, es un conjunto de pasos que se utilizan para crear
aplicaciones de software. Estos pasos dividen el proceso de desarrollo en tareas que luego se pueden
asignar, completar y medir.
• SDLC o el ciclo de vida de desarrollo de software es un proceso que produce software con la más alta
calidad y el menor costo en el menor tiempo posible. SDLC proporciona un flujo de fases bien
estructurado que ayuda a una organización a producir rápidamente software de alta calidad que está
bien probado y listo para su uso en producción.
• El SDLC ofrece una perspectiva de las distintas fases de trabajo necesarias para producir software.
Comprender este trabajo permite a los equipos evitar los problemas de entrega al crear y poseer controles
y contrapesos en las primeras etapas de nuestro ciclo de vida de desarrollo y entrega
3. FASES DEL SOFTWARE
• Planificación
• Requerimientos
• Diseño
• Desarrollo
• Integración y pruebas
• Implementación
• Operaciones y mantenimiento
4. MODELOS DE SOFTWARE
• Existen varios modelos de ciclo de vida de desarrollo de software definidos y diseñados
que se siguen durante el proceso de desarrollo de software. Estos modelos también se
denominan “Modelos de proceso de desarrollo de software”. Cada modelo de proceso sigue
una serie de pasos únicos para su tipo para garantizar el éxito en el proceso de desarrollo
de software
• Modelo de cacada
• Modelo iterativo
• Modelo en espiral
• Modelo V
• Modelo Big Bang
• Otras metodologías relacionadas son Agile Model, RAD Model, Rapid Application
Development, Prototyping Models, DVOPS.
5. BENEFICIOS DEL SOFTWARE
• Se han definido varios modelos / métodos de ciclo de vida de desarrollo de software
(SDLC). Cada modelo de proceso sigue una serie de pasos únicos para su tipo para
garantizar el éxito en el proceso de desarrollo de software. Hay muchas diferencias.
Un buen modelo para un proyecto de software quizás no sea el mejor para otro
proyecto de software. Depende de la escala del proyecto, el marco de tiempo y
muchos más. Así que deberíamos tener una buena idea sobre los principales métodos
SDLC y sus ventajas y desventajas.