Unidad I - Desarrollo rápido de software

54
Unidad I Desarrollo Rápido de Software

Transcript of Unidad I - Desarrollo rápido de software

Page 1: Unidad I - Desarrollo rápido de software

Unidad I Desarrollo Rápido de Software

Page 2: Unidad I - Desarrollo rápido de software

¿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

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

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

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

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
Page 8: Unidad I - Desarrollo rápido de software
Page 9: Unidad I - Desarrollo rápido de software
Page 10: Unidad I - Desarrollo rápido de software
Page 11: Unidad I - Desarrollo rápido de software
Page 12: Unidad I - Desarrollo rápido de software
Page 13: Unidad I - Desarrollo rápido de software
Page 14: Unidad I - Desarrollo rápido de software
Page 15: Unidad I - Desarrollo rápido de software
Page 16: Unidad I - Desarrollo rápido de software
Page 17: Unidad I - Desarrollo rápido de software
Page 18: Unidad I - Desarrollo rápido de software
Page 19: Unidad I - Desarrollo rápido de software
Page 20: Unidad I - Desarrollo rápido de software
Page 21: Unidad I - Desarrollo rápido de software
Page 22: Unidad I - Desarrollo rápido de software
Page 23: Unidad I - Desarrollo rápido de software
Page 24: Unidad I - Desarrollo rápido de software
Page 25: Unidad I - Desarrollo rápido de software
Page 26: Unidad I - Desarrollo rápido de software
Page 27: Unidad I - Desarrollo rápido de software
Page 28: Unidad I - Desarrollo rápido de software
Page 29: Unidad I - Desarrollo rápido de software

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

Desarrollo prototipado incremental

Page 31: Unidad I - Desarrollo rápido de software

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

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

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

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

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

El ciclo de entrega en laProgramación Extrema

Page 37: Unidad I - Desarrollo rápido de software

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

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

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

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

Ejemplos de pruebas XP tarjetas de tareas para la descarga de

documentos

Page 42: Unidad I - Desarrollo rápido de software

continua

Page 43: Unidad I - Desarrollo rápido de software

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

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

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

Entorno de desarrollo rápido de aplicaciones

Page 47: Unidad I - Desarrollo rápido de software

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

Programación visual con reutilización

Page 49: Unidad I - Desarrollo rápido de software

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

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

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

Pruebas

Page 53: Unidad I - Desarrollo rápido de software

Proceso de desarrollo de prototipos

Page 54: Unidad I - Desarrollo rápido de software

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