Upload
alejandro-flores
View
96
Download
5
Embed Size (px)
Citation preview
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