Unidad I - Desarrollo rápido de software

Post on 25-Jul-2015

104 views 5 download

Transcript of Unidad I - Desarrollo rápido de software

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.

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

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

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

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

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

Desarrollo prototipado incremental

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

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.

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

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

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

El ciclo de entrega en laProgramación Extrema

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.

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

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

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

Ejemplos de pruebas XP tarjetas de tareas para la descarga de

documentos

continua

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

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

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

Entorno de desarrollo rápido de aplicaciones

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

Programación visual con reutilización

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

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

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

Pruebas

Proceso de desarrollo de prototipos

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