Este documento describe conceptos clave de ingeniería de software como programa, software, aplicación, calidad de software, etapas del desarrollo de software e incluye modelos de desarrollo como cascada y en espiral. También analiza videos sobre fallos de software que causaron accidentes y explica la importancia de pruebas y calidad para evitar problemas.
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.
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.
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
El Mtro. JAVIER SOLIS NOYOLA, crea y desarrolla ACERTIJO: «CARRERA OLÍMPICA DE SUMA DE LABERINTOS». Esta actividad de aprendizaje lúdico que implica de cálculo aritmético y motricidad fina, promueve los pensamientos lógico y creativo; ya que contempla procesos mentales de: PERCEPCIÓN, ATENCIÓN, MEMORIA, IMAGINACIÓN, PERSPICACIA, LÓGICA LINGUISTICA, VISO-ESPACIAL, INFERENCIA, ETCÉTERA. Didácticamente, es una actividad de aprendizaje transversal que integra áreas de: Matemáticas, Neurociencias, Arte, Lenguaje y comunicación, etcétera.
Instrucciones del procedimiento para la oferta y la gestión conjunta del proceso de admisión a los centros públicos de primer ciclo de educación infantil de Pamplona para el curso 2024-2025.
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfsandradianelly
Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestr
Fase 1, Lenguaje algebraico y pensamiento funcional
Ingenieria de software
1. ADA ESTELA COLATO REYES S-I-A Selección de técnicas de Ingeniería de Software
2. ¿Qué es programa, software y aplicación? Programa: Es un conjunto de instrucciones que una vez ejecutadas realizaran una o varias tareas en una computadora. Software: Es el conjunto de programas, de computo, procedimientos, reglas, documentación y datos asociados que forman parte de los operadores de un sistema de computación. Aplicación: Es una forma de software que ayuda al usuario a realizar alguna tarea.
3. ¿Qué es ingeniería? Es el estudio de las ramas de la tecnología que proveen técnicas y soluciones para sus respectivas áreas. Es tratar de aplicar todos los conocimientos de estudio y la practica con el fin de desarrollar un proyecto de manera eficaz.
4. ¿Qué es ingeniería de software? Es la disciplina o área de la informática que ofrece métodos y técnicas para desarrollar y mantener un software de calidad.
5. ¿Por qué se dice que “El software no se crea ni se construye, sino se desarrolla”? El software se desarrolla porque una vez que comienza puede tener cambios o medicaciones que se le harán aun después de implementarlo, el desarrollo es como decir que continua creciendo.
6. ¿Qué es calidad? Significa desarrollar, diseñar, producir y mantener un producto que sea el mas económico el mas útil y siempre satisfactorio para el consumidor.
7. ¿Qué es calidad de software? Es el grado con el que un sistema, componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o usuario.
8. ¿Por qué se dice que no existe un software ya terminado? Porque ya que después de estar implementado este esta sujeto a modificaciones y mantenimiento para alcanzar lo que una empresa en crecimiento espera de un software.
9. ¿En que consiste un proyecto 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 “concretamente” define quien esta haciendo que, cuando hacerlo y como alcanzar un cierto objetivo.
11. Análisis de requerimientos Extraer los requisitos de un producto de software es la primera etapa para crearlo. Mientras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere de habilidad y experiencia en la ingeniería de software para reconocer requisitos incompletos, ambiguos o contradictorios.
12. Diseño y arquitectura: Consiste en diseñar, en forma general un sistema, su interfaz y consiste en incorporar consideraciones de la implementación tecnológica, como el hardware la red, etc.
13. Programación: Reducir un diseño a código puede ser la parte mas obvia del trabajo de ingeniería de software, pero no es necesariamente la porción mas larga. La complejidad y la duración de esta etapa esta íntimamente ligada al o a los lenguajes de programación utilizados.
14. Pruebas: Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificación. Una técnica de prueba es probar por separado cada modulo del software, y luego probarlo de forma integral, para así llegar al objetivo.
15. Documentación: Todo lo concerniente a la documentación del propio desarrollo del software y de la gestión del proyecto, pasando por modelaciones (UMLS), diagramas, pruebas. Manuales de usuario, manuales técnicos, etc.; todo con el propósito de eventuales correcciones , usabilidad, mantenimiento futuro y ampliaciones del sistema.
16. Mantenimiento: Mantener y mejorar el software para enfrentar errores descubiertos y nuevos requisitos. Esto puede llevar mas tiempo incluso que el desarrollo inicial del software. Alrededor del 2/3 de toda la ingeniería del software tiene que ver con dar mantenimiento. Una pequeña parte de este trabajo consiste en arreglar errores o bugs. La mayor parte consiste en extender el sistema para hacer nuevas cosas.
17. ¿Cuál es la diferencia entre ingeniería del software y el simple desarrollo o producción del software? La ingeniería del software se refiere a área de la informática que ofrece métodos y técnicas para desarrollar y mantener un software de calidad. Y el simple desarrollo o producción del software son las actividades que se realizan para poder crearlo realizando un estudio de las ideas para poder llevar a cabo la implementación del sistema, en el cual se ha detallado los requerimientos necesarios para ello.
18. ¿Cuáles son los modelos del desarrollo de software? Modelo cascada Modelo en espiral Desarrollo por etapas Desarrollo iterativo y creciente
19. Modelo cascada El desarrollo en cascada, también llamado modelo en cascada, es el enfoque metodológico que ordena rigurosamente las etapas del ciclo de vida del software, de tal forma que el inicio de cada etapa debe esperar a la finalización de la inmediatamente anterior.
20.
21. Modelo en espiral Las actividades de este modelo se conforman en una espiral, en la que cada bucle o iteración representa un conjunto de actividades. Las actividades no están fijadas a priori, sino que las siguientes se eligen en función del análisis de riesgo, comenzando por el bucle interior.
22.
23. Desarrollo por etapas El modelo de desarrollo de software por etapas es similar al Modelo de prototipos ya que se muestra al cliente el software en diferentes estados sucesivos de desarrollo, se diferencia en que las especificaciones no son conocidas en detalle al inicio del proyecto y por tanto se van desarrollando simultáneamente con las diferentes versiones del código.
24.
25. Desarrollo iterativo y creciente Es un proceso de desarrollo de software, creado en respuesta a las debilidades del modelo tradicional de cascada. El desarrollo incremental e iterativo es también una parte esencial de un tipo de programación conocido como Extreme Programming y los demás frameworks de desarrollo rápido de software.
28. ¿Qué fue lo que sucedió? Se dio por el error en el diseño . El cohete cambio de dirección de vuelo y a los segundos después del lanzamiento se destruyo, se partió y exploto. Fue uno de los mas infames bugs.
29. ¿Qué efectos tienen las fallas del software sobre el cohete? El resultado fue incorrecto e inesperado. El resultado también fuera perdidas económicas. Por un mal diseño del software.
30. ¿Qué afectan en nuestras vidas que el software no sea de calidad? Nos afectan estos problemas de calidad en forma de retraso, perdidas de tiempo o dinero etc. Lamentablemente estos problemas pueden ser mas mucho mas graves si afectan al sistema critico es decir, aquellos cuto fallo puede provocar perdidas económicas, problemas ambientales o sociales.
31. ¿Cómo podemos garantizar calidad en el desarrollo del software? Hacer un buen diseño. Cumplir con todos los requerimientos que el cliente desee. Hacer un buen análisis. Prueba del software.
33. ¿Por qué se da ese fenómeno? Porque el diseño no estaba desarrollado con calidad y no tenia un buen análisis, y no se establecieron las pruebas necesarias antes de utilizarlo y no le dieron un buen mantenimiento.
34. ¿Cuál es el mensaje? Que entes de implementar un sistema hay que hacerle las pruebas para saber si este funcionara correctamente, hacer un buen diseño con un buen análisis. No ir modificando los errores cuando el sistema este en marcha. Y es deber del programador seguir en contacto con el usuario y no como se muestra en el video que los programadores se lanzan con paracaídas
35. ¿Se hará realmente lo correcto? No porque el programador debe entregar su sistema con sus respectivas pruebas y completamente terminado, tomar muy enserio su trabajo y crear un software de calidad.
36. ¿Qué estrategias proporciona la ingeniería de software para solventar esta situación? Aplicar todas las fases para el desarrollo de software. Hacer un buen análisis de lo que el usuario necesita de sus sistemas para poder crearlo con calidad.