unidad i - desarrollo rápido de software
TRANSCRIPT
![Page 1: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/1.jpg)
Unidad I Desarrollo Rápido de Software
![Page 2: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/2.jpg)
¿QUÉ ES UN PROGRAMA?
Un programa es una secuencia de instrucciones que pueden ser
interpretadas por un computador, obteniendo como fruto de esa
interpretación un determinado resultado que ha sido
predeterminadamente establecido por el ser humano.
![Page 3: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/3.jpg)
Es el software que nos permite tener una interacción con
nuestro hardware, es decir, es el sistema operativo. Dicho
sistema es un conjunto de programas que administran los
recursos del hardware y proporciona una interfaz al
usuario.
Sistemas operativos
Controladores de dispositivo
Herramientas de diagnóstico
Herramientas de Corrección y Optimización
Servidores
Utilidades
SOFTWARE DE SISTEMA
![Page 4: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/4.jpg)
Son los programas que nos permiten realizar tareas especificas en
nuestro sistema. A diferencia del software de sistema, el software de
aplicación esta enfocada en un área especifica para su utilización.
Procesadores de Palabras o Texto (Word Processors).
Sistemas Manejadores o Administradores de Bases de Datos (DBMS,
Data Base Management Systems).
Hojas Electrónicas de Cálculo.
Programas de Presentación Gráfica.
Programas Educativos, Software Educativo o Tutoriales.
Antivirus
Programas para gráficos e imágenes, etc.
SOFTWARE DE APLICACIONES
![Page 5: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/5.jpg)
Es un Sistema de Diseño, Desarrollo y Ejecución de aplicaciones
informáticas de bases de datos, comunicaciones y cálculo usando
interfaz gráfica de ventanas. Es un sistema programable a partir del
cual es posible crear cualquier solución parametrizable.
¿SOFTWARE DE PROPOSITO GENERAL
![Page 6: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/6.jpg)
Los lenguajes de programación o software de programación son
herramientas que nos permiten crear programas y software.
Una computadora funciona bajo control de un programa el cual debe
estar almacenado en la unidad de memoria; tales como el disco duro.
Para que estos programas funcionen para diferentes computadoras
hay que realizar una versión para cada una de ellas, lo que implica el
aumento del costo de desarrollo.
Visual Basic
Visual.Net
Pascal
Software Base de Datos
SOFTWARE DE PROGRAMACIÓN
![Page 7: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/7.jpg)
![Page 8: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/8.jpg)
![Page 9: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/9.jpg)
![Page 10: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/10.jpg)
![Page 11: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/11.jpg)
![Page 12: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/12.jpg)
![Page 13: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/13.jpg)
![Page 14: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/14.jpg)
![Page 15: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/15.jpg)
![Page 16: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/16.jpg)
![Page 17: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/17.jpg)
![Page 18: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/18.jpg)
![Page 19: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/19.jpg)
![Page 20: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/20.jpg)
![Page 21: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/21.jpg)
![Page 22: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/22.jpg)
![Page 23: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/23.jpg)
![Page 24: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/24.jpg)
![Page 25: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/25.jpg)
![Page 26: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/26.jpg)
![Page 27: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/27.jpg)
![Page 28: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/28.jpg)
![Page 29: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/29.jpg)
La mejor forma de obtener un mejor software era a través de una planificación cuidadosa del proyecto, una garantía de calidad formalizada, la utilización de métodos de análisis y diseño soportados por herramientas CASE y proceso de desarrollo de software controlado y rigurosos.
Métodos ágiles
![Page 30: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/30.jpg)
Desarrollo prototipado incremental
![Page 31: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/31.jpg)
Este software era desarrollado por grandes equipos que a veces trabajando para compañías diferentes. A menudo estaban dispersos geográficamente y trabajaban en el software durante largos periodos de tiempo.
Sin embargo cuando este enfoque pesado de desarrollo basado en la planificación fue aplicado a sistemas de negocio pequeños y de tamaño medio, el esfuerzo invertido era tan grande que algunas veces denominaba el proceso de desarrollo.
Métodos agiles
![Page 32: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/32.jpg)
En la práctica son a veces difíciles de realizar.
Métodos ágiles Principio descripción
Participación del cliente Los clientes deben estar fuertemente implicados en todo el proceso de desarrollo
Entrega incremental El software se desarrolla n incrementos, donde el cliente especifica los requerimientos a incluir en cada incremento
Personas, no procesos Se deben reconocer y explotar las habilidades de desarrollo
Aceptar el cambio Se debe contar con que los requerimientos del sistema cambian .
Mantener la simplicidad Se debe centrara con la simplicidad tanto en el software a desarrollar como el proceso de desarrollo.
![Page 33: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/33.jpg)
Características:
No son adecuados para el desarrollo de sistemas a gran escala.
Son enfocados a sistemas medianos y pequeños.
Tienen que depender de contratos donde el cliente paga por el tiempo necesario para el desarrollo del sistema.
Métodos ágiles
![Page 34: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/34.jpg)
La programación extrema XP es posiblemente el método ágil más conocido y ampliamente utilizado. Donde se basa de buenas prácticas reconocidas, como el desarrollo iterativo y con la participación del cliente en niveles extremos.
Programación Extrema
![Page 35: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/35.jpg)
En la programación extrema todos los requerimientos se expresan como escenarios (llamadas historias de usuario), las cuales se implementan directamente como una serie de tareas.
Los programadores trabaja en parejas y desarrollan pruebas por cada tarea de escribir código nuevo.
Programación Extrema
![Page 36: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/36.jpg)
El ciclo de entrega en laProgramación Extrema
![Page 37: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/37.jpg)
Prácticas de la programación extrema Principio o práctica Descripción
Planificación incrementar Los requerimientos se registran en tarjetas de historias y las historias a incluir en una entrega determinada.
Entregas pequeñas El mínimo conjunto útil de funcionalidad que proporcione valor de negocio se desarrolla primero
Diseño sencillo Solo se lleva a cabo el diseño necesario para cumplir los requerimientos actuales.
Desarrollo previamente probado Se utiliza un sistema de pruebas de unidad automatizado para escribir nuevas funcionalidades antes de que éstas se implementen
refactorización Se espera que todos los desarrolladores refactoricen el código continuamente tan pronto como encuentren posibles mejoras en el código.
![Page 38: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/38.jpg)
Principio o práctica Descripción
Programación en parejas Los desarrolladores trabajan en parejas , verificando cada uno el trabajo del otro y proporcionando ayuda necesaria.
Propiedad colectiva Los desarrolladores trabajan e todas las áreas del sistema
Integración continua Se integra el sistema entero
Ritmo sostenible No se consideran aceptables grandes cantidades de horas extras.
Cliente presente Debe estar disponible al equipo de la XP un representante de los usuarios finales del sistema a tiempo completo
Prácticas de la programación extrema
![Page 39: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/39.jpg)
Los clientes están fuertemente implicados en las especificaciones y establecimientos de prioridades de los requerimientos del sistema.
Los clientes son parte del sistema son parte del equipo de desarrollo y discuten escenarios con otros miembros del equipo.
Programación extrema
![Page 40: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/40.jpg)
Desarrollo previamente probado
Desarrollo de pruebas incremental a partir de los escenarios
Participación del usuario en el desarrollo de las pruebas y en la validación
El uso de bancos de pruebas automatizados
Características clave de XP
![Page 41: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/41.jpg)
Ejemplos de pruebas XP tarjetas de tareas para la descarga de
documentos
![Page 42: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/42.jpg)
continua
![Page 43: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/43.jpg)
En XP las pruebas de aceptación son incrementales, para esta historia, la prueba de aceptación implicaría seleccionar varios documentos, pagarlos de diferentes formas e imprimirlos en impresoras distintas, en laa práctica, se desarrolla una serie de pruebas de aceptación en una sola vez.
Explicación
![Page 44: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/44.jpg)
Otra practica innovadora es que los programadores trabajan en parejas para desarrollar el software, se sientan juntos en la misa estación de trabajo para desarrollar el software.
La idea es que las parejas se creen en forma dinámica pata que todos los miembros del equipo puedan trabajar con los otros miembros en una pareja de programación durante el proceso de desarrollo
Programación en parejas
![Page 45: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/45.jpg)
Técnicas de desarrollo rápido de aplicaciones:
Lenguaje de programación de bases de datos
Generador de interfaces
Enlaces a aplicaciones de oficina.
Generador de informes.
Desarrollo de rápido de aplicaciones
![Page 46: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/46.jpg)
Entorno de desarrollo rápido de aplicaciones
![Page 47: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/47.jpg)
Las aplicaciones de negocios se apoyan en formularios estructurados para las entradas y salidas por lo que el desarrollo rápido de aplicaciones proporciona recursos potentes para la definición de pantallas e informes.
Formularios interactivos
![Page 48: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/48.jpg)
Programación visual con reutilización
![Page 49: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/49.jpg)
Un prototipado es una versión inicial de un sistema software que se utiliza para demostrar conceptos, probar opciones de diseño, informarse más del problema y sus posibles soluciones.
Prototipado de software
![Page 50: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/50.jpg)
Se utiliza de varias maneras:
1. Proceso de ingeniería de requerimientos.
2. Proceso de diseño del sistema para explorar soluciones software particulares para apoyar el diseño de las interfaces de usuario.
3. Proceso de pruebas .
Prototipado de software
![Page 51: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/51.jpg)
1. Mejora en la usabilidad del sistema
2. Mejor concordancia entre el sistema y necesidades del usuario.
3. Mejora en la calidad de diseño
4. Mejora en el mantenimiento.
5. Reducción en el esfuerzo de desarrollo
Beneficios del prototipado
![Page 52: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/52.jpg)
Pruebas
![Page 53: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/53.jpg)
Proceso de desarrollo de prototipos
![Page 54: Unidad I - Desarrollo rápido de software](https://reader031.vdocumento.com/reader031/viewer/2022012318/55b3b432bb61eb643e8b46a9/html5/thumbnails/54.jpg)
1. Puede ser imposible ajustar el prototipo para que se cumpla con los requerimientos no funcionales que fueron dejados de lado durante su desarrollo.
2. El cambio rápido durante el desarrollo significa, inevitablemente, que no se documenta el prototipo.
3. Los cambios hechos durante el desarrollo del prototipado probablemente degradan la estructura del sistema.
4. Los estándares de calidad organizacionales normalmente se relajan para el desarrollo del prototipo.
Sin embargo normalmente esto no es aconsejable por las siguientes razones