Está en la página 1de 39

INICIAMOS EN 5

1
No dice el
Dice el…
Como, ni el quien
Que hacer
¿Por que es necesario un
modelo?
El primero……

• Modelo de proceso de desarrollo de


software, derivado de otros procesos
de ingeniería (Royse, 1970)
• Se denomina también como ciclo de
vida del software
• Representa como fases separadas
del proceso las actividades
fundamentales de este.
3. El proceso de desarrollo de software 9
Ciclo de vida clásico o en cascada.

La Versión Ideal
(Perfecta)

El Modelo en V

El Modelo Real

Propuesta de
Yourdon

10
La Versión Ideal
Requerimientos del Investigación Inicial, Identificación de
Sistema Necesidades, Encuesta, etc.
Estudio de Viabilidad

Análisis Especificación
Requerimientos del Software

Diseño Especificación de diseño


Diseño Preliminar y Detallado

Codificación
Codificación y Depuración Aplicación

Validación
Test y pruebas
Instalación, Explotación

Operación y mantenimiento 11
El Modelo en V

Identificación
de Necesidades Explotación

Especificación
Esencial Validación

Especificación
Física Empaquetado

Diseño Integración

Codificación

12
El Modelo Real
Identificación
de Necesidades Explotación

Especificación
Esencial Validación

Especificación
Física Empaquetado

Diseño Integración

Codificación

3. El proceso de desarrollo de software 13


Requerimientos del Usuario

Técnica de
levantamiento de
requerimientos

Propuesta de Yourdon Pruebas


del
sistema
Análisis

Pruebas
Sub-
Diseño Estudio de sistema
preliminar Hardware

Pruebas
unidad
Diseño
detallado
Codificación

3. El proceso de desarrollo de software 14


Actividad modelo de procesos de
software

• Se reunirán por grupo de trabajo de


proyectos y desarrollaran un documento
sobre por lo menos dos modelos de
proceso de desarrollo de software que
pueden ser aplicados a al proyecto.
• Deberán explicar el modelo, las etapas y
los entregables

3. El proceso de desarrollo de software 16


Prototipos
Un prototipo es una versión preliminar de un sistema con fines de demostración o evaluación de
ciertos requisitos.

17
Prototipos
Modelo basados en prototipos
• Debe ser un sistema con el que se • Rol del cliente
pueda experimentar. • Observa, confirma y mejora el
• Debe ser comparativamente producto.
económico.
• Debe desarrollarse rápidamente • Es recomendable utilizarlo
Énfasis en la interfaz de usuario. cuando?
• Equipo de desarrollo pequeño. – El cliente no tiene claro lo
• Herramientas y lenguajes que quiere
adecuados – le gustaría tener una idea
para poder hacerse una idea
de lo que obtendrá

http://modeloprototipo.blogspot.com

3. El proceso de desarrollo de software 18


Escala no Escala
funcional completa

Características
Remiendo
esenciales
Kendall
prototipo
Prototipos de remiendo:
Sistema que cumple con sus funciones pero
se encuentra remendado o parchado, puede
operar pero generalmente es ineficiente.

Modelo a escala no funcional:

Son modelos que son construidos a escala, por


lo general más pequeños, que permiten evaluar
ciertos aspectos de diseño, pero que no son
funcionales en la realidad.
Modelo a escala completa

Se trata de un modelo “piloto”. un modelo real que


servirá como referencia a futuras versiones que de
él se hagan.

Un ejemplo es el de un sistema de información


que una gran cadena de almacenes quiera
establecer, éste seguramente será probado en un
almacén para que desde allí pueda ser mejorado
y luego implementado en otras tiendas.
El ciclo de vida de Prototipos
Desechables es el siguiente:

Aceptado
Obtención Construcción Ciclo de
Evaluación
Especificación Prototipo Vida
Cliente
Clásico
Mejora de la
Especificación NO Aceptado

3. El proceso de desarrollo de software 23


Reutilización de Software

• Se basa en la existencia de un
numero significante de
componentes reutilizables,
cuales se integran en el sistema,
más que desarrollarlos desde
cero
• Aunque en la mayoría de los
proyectos software existe algo de
reutilización de software.

24
Reutilización de Software

• Las personas que trabajan en el


proyecto buscan diseños o códigos
similares para modificarlos a lo
requerido y incorporarlos en el sistema.

• El enfoque orientado a reutilización se


compone de un gran numero de
componentes de software reutilizable,
así como de marcos de trabajos para
estos.
25
Definición de
requerimientos
Desarrollo e
integración
Análisis de
componentes
Modificación de Diseño de sistemas con
requerimientos reutilización
Validación del
sistema

• Análisis de componentes – se buscan componentes para implementar la especificación de


requerimientos
• Modificación de requerimientos – los requerimientos se modifican para reflejar los
componentes disponibles; si eso no es posible, se buscan soluciones alternativas
• Diseño de sistemas con reutilización – se diseña o se reutiliza un marco de trabajo para el
sistema, tomando en cuenta los componentes disponibles; si no hay componentes
adecuados, se diseñan otros nuevos
• Desarrollo e integración – los componentes disponibles se compran, los componentes no-
disponibles se desarrollan y todos los componentes y los sistemas se integran

3. El proceso de desarrollo de software 26


Reutilización de Software

• El modelo orientado a reutilización reduce la


cantidad de software a desarrollarse, los
costos y los riesgos
• El proceso es mas rápido
• Los compromisos en los requerimientos son
inevitables, existiendo el peligro de obtener
un sistema que no cumple las necesidades
reales de los usuarios

27
MODELO INCREMENTAL EVOLUTIVO

28
• Cada modelo de proceso de software
tiene ventajas y desventajas

Para sistemas complejos, generalmente


deben utilizarse enfoques distintos para
distintas parte del sistema por eso se
deben utilizar modelos híbridos

3. El proceso de desarrollo de software 29


Modelo Evolutivo

El modelo evolutivo los requisitos cambian


en cualquier momento del ciclo de vida y no
solo en la etapa de análisis.
El software evoluciona con el tiempo(Los
requisitos del usuario y del producto suelen
cambiar conforme se desarrolla el mismo).

3. El proceso de desarrollo de software 30


Modelo Evolutivo

Se basa en retroalimentación, la especificación de


requerimientos es actualizada, y una segunda versión
del producto es desarrollada y desplegada. El proceso
se repite.

Requiere especial cuidado en los documentos, programas, etc.


desarrollados para distintas versiones del software. Cada paso
debe ser registrado, la documentación debe ser recuperada con
facilidad, los cambios deben ser efectuados de una manera
controlada.

3. El proceso de desarrollo de software 31


• El diseño y la implementación del sistema debe
rehacerse para reflejar los cambios de los
requerimientos del sistema, por lo tanto son
necesarios iteraciones de procesos.

En el enfoque incremental no existe


una especificación completa del
sistema hasta que la parte final se
especifica

32
Modelos de iteración de
procesos

La especificación, el diseño y la
implementación del software se dividen
El desarrollo Incremental en una serie de incrementos los cuales se
desarrollan uno a uno

El desarrollo en Espiral El desarrollo gira en espiral hacia


fuera, empezando con un esbozo
inicial y terminando con el
desarrollo final del sistema

Iterativo Incremental es un modelo del tipo evolutivo 33


El Desarrollo incremental:

• Propuesto por Mills en 1980. Sugirió el enfoque


incremental de desarrollo como una forma de
reducir la repetición del trabajo en el proceso de
desarrollo y dar oportunidad de retrasar la toma
de decisiones en los requisitos hasta adquirir
experiencia con el sistema
Bajo este modelo se entrega software “por partes
funcionales más pequeñas” , pero reutilizables, llamadas
incrementos. En general cada incremento se construye
sobre aquel que ya fue entregado.

3. El proceso de desarrollo de software 34


Proporciona a los clientes
oportunidades para retrasar las
decisiones en los requerimientos
detallados, hasta que adquieren
cierta experiencia con el sistema.

Los clientes identifican,


de forma somera, los
servicios que proveerá el Los servicios de
sistema, y la importancia prioridad más alta se
de estos servicios. entregan primero al
cliente.

Se definen varios
incrementos en donde cada
uno proporciona un
subconjunto de
funcionalidad del sistema.
Desarrollo
Incremental 35
El modelo en Espiral
• Propuesto por Boehm (1988), es un modelo
centrado en actividad
• El desarrollo gira hacia fuera, empezando con
una esquema inicial y terminando con el
desarrollo final del sistema
• Se basa en las mismas actividades que el modelo
de cascada, pero añade varias tareas:
– Administración de riesgo
– Reutilización
– Elaboración de prototipos

3. El proceso de desarrollo de software 36


3. El proceso de desarrollo de software 38
Referencias

• Ingeniería de software. un enfoque práctico, Roger S. Pressman, ed.


Mc Graw Hill,
• Análisis y Diseño de sistemas, Kendall & Kendall, ed. Prentice Hall,
Ingeniería de Software. Pressman, Roger S. Ed. Mc Graw-Hill.
• Ingeniería de Software. Sommerville, Jan. Ed. Adisson Wesley.
• Análisis Orientado a Objetos. Senn, James A. Ed. Mc Graw Hill.
• Ingeniería de Software una Perspectiva Orientada a Objetos. Eric J.
Braude. Ed. Alfaomega.
• Sistemas de Información. Álvaro Gómez Vieites, Carlos Suárez
Rey. Herramientas prácticas para la gestión Empresarial.
• Observatorio de prácticas de desarrollo de software en MinPyme y
• revistas.udistrital.edu.co , Vol. 1, Núm. 15 (2012) › Abuchar
Porras 2013
3. El proceso de desarrollo de software 39

También podría gustarte