2. Proceso de Software
El proceso de desarrollo de
software se basa en un
conjunto de actividades el
cual no pueden ser
automatizadas para un
software en general.
“El proceso del software, es
un conjunto de actividades y
resultados asociados que
conducen a la creación de un
producto software”
(Sommerville, 2002)
Para dar uso a dichas actividades se desarrollaron un conjunto de modelos y
metodologías que guiarán, para dar un mejor uso del tiempo y los recursos que la
empresa o la entidad cuenta.
2
3. Modelos de proceso de Software
Tradicionales
Formados por un conjunto de
fases o actividades en las que no
tienen en cuenta la naturaleza
evolutiva del software
Evolutivos
Son modelos que se adaptan a
la evolución que sufren los
requisitos del sistema en función
del tiempo
Orientados a la
reutilización
Enfoque de desarrollo que trata de
maximizar la reutilización de
software existente
3
Orientado a objetos
Modelo con alto grado de
iteratividad y solapamiento entre
fases
Procesos ágiles
✗ Menor énfasis en análisis,
diseño y documentación
✗ Equipos pequeños
✗ Desarrollo incremental
Para Sistemas Web
✗ Intensivas de red
✗ Controladas por contenido
✗ Evolución continua
✗ Inmediatez
4. Modelos secuenciales o tradicionales
Modelo Lineal Secuencial
Es un proceso de desarrollo secuencial, en el que el desarrollo de
software se concibe como un conjunto de etapas que se ejecutan una
tras otra.
Caracteristicas
❏ Se debe comprobar el Software después de unirlo y antes de
operarlo.
❏ Es el más utilizado
❏ Deben desarrollarse todas las fases
❏ Las fases continúan hasta que los objetivos se han cumplidos
4
5. Modelo basado en prototipos
El uso de prototipos se centra en la idea de comprender los
requisitos que plantea el usuario
Caracteristicas
❏ Es una aplicación que funciona
❏ Probar varias suposiciones respecto a las características
requeridas
❏ Se crean con rapidez
❏ Evolucion a travez de un proceso iterativo
❏ Tienen un costo bajo de desarrollo
5
Modelos secuenciales o tradicionales
6. 6
Modelos secuenciales o tradicionales
Modelo de desarrollo rápido de aplicaciones
Proceso de desarrollo de software que permite
construir sistemas utilizables en poco tiempo,
normalmente de 60 a 90 días, frecuentemente con
algunas concesiones
Caracteristicas
❏ Modelo lineal secuencial con tiempos cortos de
desarrollo
❏ Varios equipos participando en el desarrollo
❏ Cada equipo maneja una parte del sistema
❏ Uso de herramientas automatizadas
7. MODELOS
EVOLUTIVO
Se caracterizan por la forma en que
permiten a los ingenieros del software
desarrollar versiones cada vez más
completas del software.
7
8. Veremos tres modelos
MODELO
INCREMENTAL
Se evitan proyectos largos y
se entrega “algo de valor” a
los usuarios con cierta
frecuencia.
El usuario se involucre más.
Difícil de evaluar el costo total.
Difícil de aplicar a los sistemas
transaccionales que tienden a
ser integrados y a operar
como un todo.
MODELO
CONCURRENTE
Se expresa de manera
esquematizada y organizada.
Cada actividad lleva procesos
concurrentes.
Se aplica a la mayoría de
tipos de desarrollo de software
Es un módulo aplicable para
el cliente soñador.
MODELO ESPIRAL
Tiene y está conformado en un
enfoque cíclico para el
crecimiento del grado de
definición e implementación
de un sistema, mientras que
disminuye su grado de riesgo.
Utiliza un conjunto de puntos
de fijación para asegurar el
compromiso que asume el
usuario con las soluciones de
sistema
8
9. Metodologias ágiles
métodos de desarrollo de software en los que
las necesidades y soluciones evolucionan a
través de una colaboración estrecha entre
equipos multidisciplinarios.
9
10. Tipos de metodología ágil
✗ scrum-.Mantener equipos de trabajo bien organizados en los que se
maximice la comunicación.
✗ Utilizar un proceso flexible susceptible a cambios para asegurar una máxima
calidad del producto.
✗ Dividir el trabajo en paquetes poco acoplados.
✗ Xp-. en una serie de valores y de prácticas de buenas maneras
que persigue el objetivo de aumentar la productividad a la hora de
desarrollar programas.
✗ Kanban -.es un método para gestionar el trabajo intelectual, con
énfasis en la entrega justo a tiempo, mientras no se sobrecarguen
los miembros del equipo. En este enfoque, el proceso, desde la
definición de una tarea hasta su entrega al cliente
10