1. REPUBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA EDUCCIÓN S
INSTITUTO UNIVERSITARIO POLITÉCNICO SANTIAGO MARIÑO
Bachiller:
José Yépez
MODELO DE DESARRROLLO DE SOFTWARE
2. QUE ES UN SOFTWARE
Conjunto de programas que
permiten a la computadora realizar
determinadas tareas.
Modelo
Conjunto de herramientas,
técnicas y proceso que
facilitan el logro de una
meta.
3. CICLO DE DESARROLLO
diseño
Es efectiva mente el
aspecto que mayor
credibilidad aporta a un
producto
Implementación
Es la ejecución puesta en marcha
de una idea programada
Verificación
Es el proceso de avaluar el sistema
ya que permiten determinar si los
productos del desarrollo satisfacen
las condiciones de el inicio
5. PROCESOS
es una serie de pasos que
involucra actividades,
restricciones y recursos que
producen una salida de algún tipo
poseen reglas
preestablecidas, y deben ser
aplicados en la creación del
software de mediano y gran
porte, ya que en caso
contrario lo más seguro es
que el proyecto o no logre
concluir o termine sin cumplir
los objetivos previstos.
Modelo de proceso
6. CARACTERÍSTICAS DE LOS
PROCESOS
Claridad: ¿Es fácil de
comprender?
Fiabilidad:
Probabilidad de Buen
Funcionamiento
Aceptación: ¿Se
vende? ¿Los “Usuarios”
lo Consideran Viable?
Conveniencia: ¿Es el
método conveniente
para lo que vamos a
hacer?
Visibilidad: ¿Puedo
Ver lo que Ocurre en
el Proceso?
Robustez: ¿Es Difícil
de Perturbar?
Facilidad de Soporte Facilidad de Mantenimiento
Rapidez: ¿Permite
Entregar Rápido el
Producto? Adaptabilidad:
¿Lo puedo
cambiar según
las
necesidades?
7. roles actores
Sirven para definir quién hace que (y
probablemente cuando), son una forma
de asignar y definir responsabilidades a
personas, sin tener que nombrar a las
personas en particular
Importante
No confundir los roles en
los procesos de desarrollo
con los actores o roles del
sistema o con los
interesados o
“stakeholders”
8. modelos básicos de procesos
Modelos de procesos muy generales (algunas veces
llamados paradigmas de proceso) ... Esto es, vemos el
marco de trabajo del proceso, pero no los detalles de
actividades específicas. Estos modelos generales no
son descripciones definitivas de los procesos del
software. Más bien, son abstracciones de los procesos
que se pueden usar para explicar diferentes enfoques
del desarrollo de software.
11. ¿Por qué falla el proceso en cascada?
Lo que sucede
en realidad
12. modelo en espiral
En general se puede
asociar cada giro a
una fase del proceso
de desarrollo. Ej. 1er
giro: objetivos,
alternativas
restricciones; 2do
giro: especificación
de requisitos; 3er
giro: diseño; 4to giro:
implementación,
etcétera.
14. Modelo Iterativo
Cada iteración refina lo realizado en la iteración
anterior. De esta forma se produce una dinámica en
la que se van mejorando los productos (entregables)
obtenidos en la iteración anterior. Eventualmente se
realizarán todas las iteraciones planificadas, o se
llegará al nivel de refinamiento deseado
15. procesos evolutivos y basados en prototipos
La definición y
especificación de
requerimientos y el
desarrollo de software
es un proceso evolutivo
que demanda la
experimentación previa
con algún componente
(o la totalidad) del
Sistema Programado
16. ¿qué es evolucionar?
Logran su objetivo por
medio del desarrollo de
una serie de prototipos
que van evolucionando a
medida que se tiene
realimentación del cliente
¿qué es un prototipo?
Prototipos Evolutivos Poner
un sistema a disposición de
los usuarios finales. El
proceso comienza con una
serie de requisitos, se
desarrollan una serie de
prototipos, se exponen al
usuario y se van refinando
paso a paso
17. modelos ágiles (XP)
Es una estrategia de desarrollo de
software creada hace
aproximadamente unos diez años
que ha causado un gran revuelo
entre el colectivo de
programadores del mundo
Kent Beck, su autor, es un
programador que ha trabajado en
múltiples empresas. Actualmente
trabaja en la conocida empresa
automovilística DaimlerChrysler
Con sus teorías ha
conseguido el
respaldo de gran
parte de la industria
del software y el
rechazo de otra parte
18. Características
1) El desarrollo del plan: Determinar rápidamente
el alcance de la siguiente iteración / entrega en
base a las prioridades del negocio (cliente) y los
estimados técnicos. Estar dispuestos a cambiar
el plan a medida que es necesario.
2) Liberar mucho, en incrementos pequeños:
Poner el sistema en producción los más rápido
posible (el mínimo necesario) y desarrollar las
siguientes versiones con el ciclo lo mas corto
posible.
3) Diseño simple: Mantener el diseño lo más
simple posible (KISS: Keep it Simple Stup$%#id),
concentrarse en el presente y no en el futuro
(YAGNI: You ain't going to need it)
4) Pruebas unitarias continuas: Sirven
para evitar que los programadores se
equivoquen, para evitar las “parcelas” de
código y para validar constantemente la
aplicación. Los clientes también pueden
escribir pruebas para validar / demostrar
ciertas características del sistema.
5) Programación en parejas: Todo el
código a ponerse en producción es
escrito en parejas. ¿Sabe usted por que?
6) Propiedad colectiva: Nadie es dueño
de ninguna clase, de ningún artefacto, de
ninguna parte del código.
7) Integración continua: Las
características del sistema se desarrollan
y se integran a diario. Luego se corren las
pruebas y se verifica que la aplicación
corra correctamente
19. modelos ágiles (scrum)
Los requisitos del
producto se
capturan teniendo
en cuenta la visión
del cliente y del
usuario Para ello se
utilizan historias de
usuario, que son
unas sencillas
tarjetas en las que
se recoge de forma
esquemática,
sencilla y en un
lenguaje claro una
interacción entre el
usuario y el sistema
20. qué método o proceso de desarrollo de
software debo utilizar
Recuerde que no todos los proyectos y tipos de aplicaciones a
desarrollar son iguales. Use el método que más se adapte a sus
necesidades o al proyecto a enfrentar: No existen métodos perfectos o
soluciones universales
Evite caer en el “fanatismo” de métodos: XP fans vs RUP fans vs
Scrum fans etc... (de hecho, evite caer en cualquier tipo de
fanatismo)
Recuerde que en el fondo el método NO es lo importante, el
método no es el fin. El método es sólo una herramienta para lograr
el verdadero objetivo: terminar el proyecto a tiempo, dentro del
presupuesto y con las características requeridas. ¡Mantenga
siempre la mira y la concentración en el producto, que es el
verdadero objetivo!