Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Modelos para El Desarrollo de Software PDF
Modelos para El Desarrollo de Software PDF
modelo
clsico,
modelo
Los dems modelos que estudiaremos toman como base al SDLC por
lo tanto es importante su comprensin
solucin de software para determinado problema, esta fase tiene 3 pasos importantes:
a. Solicitud: viene del resultado de entrevistas con las personas relacionadas con el
problema
b. Estudio de Factibilidad: determinar que el sistema solicitado sea rentable con
relacin al costo/beneficio que el problema conlleva, hay 3 estudios que deben
realizarse en este paso:
i. Factibilidad Tcnica: Determina si
el problema puede resolverse con
el software y el personal existente,
y si en caso de necesitar nueva
tecnologa,
cuales
son
las
Fase 2.
problema. En esta fase se hace estudio de todos los documentos relacionados con el
problema:
a. Estudio de manuales de procesos
b. Estudio de reportes y documentos relacionados
c. Observacin del proceso
d. Tomar muestras de formas y documentos
Fase 3.
analizar las necesidades del propio software como tal: servidores, infraestructura de red,
anchos de banda, disposicin de equipos, hardware adicional, etc.
Un desarrollador de software no solo debe saber programar, debe
tambin conocer toda la arquitectura e infraestructura que conlleva el
tener que desarrollar un sistema para usar de forma eficiente los
servidores, hardware y canales de comunicacin.
Fase 4.
Diseo del sistema: tambin lo conocemos como diseo lgico, en esta fase se
Los diagramas de flujo de datos como por ejemplo el diagrama de contexto y el de nivel 1 son
algunos de los que se redactan durante esta etapa.
Material facilitado por Ing. Gerardo Josu Portillo ([email protected])
Fase 5.
Desarrollo del software: a este se le conoce como diseo fsico y es aqu donde
los programadores realizan la codificacin del software. En esta fase aparte de programar,
los desarrolladores tambin documentarn el cdigo fuente del mismo.
Un software que carece de documentacin en su cdigo fuente rara vez podr trascender y crecer
Fase 6.
Prueba del software: en esta fase se hace pruebas piloto con datos de
muestra, se analizan todas las posibilidades y los desarrolladores corrigen los detalles
encontrados.
En la industria del software, especialmente en la de los videojuegos la etapa de pruebas es crucial para
entregar piezas de ingeniera con calidad; pero aun los diseadores de programas ms experimentados dejan
pasar muchos detalles, los ejemplos ms famosos son los bug presentados por los juegos de Super Mario
Bros. Para el Nintendo Entertaiment System (NES) donde podras atravesar la pared y entrar a un error de
programacin conocido como mundo 0 -1, o en el juego Pokmon de Gameboy en el cual al hacer una serie
de pasos ocurran glitches grficos conocidos como el bug: Missingno.
Material facilitado por Ing. Gerardo Josu Portillo ([email protected])
Fase 7.
Al final en esta etapa se estar haciendo los mantenimientos respectivos al sistema, estos,
de forma peridica:
Optimizar bases de datos
Optimizacin de rutinas de cdigo fuente
Adicin de procesos
Eliminacin de procesos
Caractersticas
Planear un proyecto antes de comenzarlo
Documenta cada actividad
Disear el sistema antes de comenzar a codificar
Realizar pruebas al software
Ventajas
Permite avanzar en el desarrollo siguiendo pasos sencillos
Desventajas
Si se producen cambios a etapas bsicas cuando se ha llegado a etapas avanzadas
(desarrollo, pruebas, implementacin) puede ser catastrfico para un proyecto
grande.
No es frecuente que el usuario final sepa explicar de forma clara los requisitos, es
comn encontrar incertidumbre en las primeras etapas del proyecto que luego es
difcil de acomodar.
El cliente debe ser paciente ya que el software no va a estar disponible hasta que el
proyecto est en una etapa demasiado avanzada.
Investigacin Previa
Requirimientos de Informacin
Vuelve a comenzar
Analisis de Necesidades
Diseo del Sistema
Desarrollo del Software
Prueba del Software
Implementacin
Escuchar al
Cliente
Validar el
prototipo
Construir el
Prototipo
Fase 2.
Fase 3.
Los
usuarios
experimentan
con
el
prototipo
estos
proveen
la
retroalimentacin sobre lo que a ellos les gust y no les gust acerca del prototipo
proporcionado.
Toda La informacin obtenida la documentamos y la utilizamos para el
desarrollo del sistema real, un prototipo nunca debe considerarse
como un sistema real sino como un ambiente de pruebas para
entender a la organizacin.
Ventajas
Hace ms rpido el diseo de soluciones de software pequeas
Desventajas
El cliente puede llegar a creer que as va a ser el software terminado
Suele prestarse a hacer soluciones de software que crecen de forma desordenada
(quick and dirty)
Modelo Incremental
Es un modelo evolutivo que est basado en el modelo secuencial lineal y es una de las
variaciones ms fieles al mismo con la diferencia que reduce los riesgos que conlleva el
mismo.
Consiste en ir recorriendo todas las etapas del desarrollo a medida se va avanzando en cada
una de las etapas del modelo secuencial lineal de siete fases, o sea a cada fase le aplicamos
las otras fases, el siguiente dibujo describe mejor este modelo:
Investiga
cion
Arranca el
Incremento 1
Arranca el
Incremento 2
Requerim
ientos
Investiga
cion
Analisis
Requerim
ientos
Investiga
cion
Arranca el
Incremento 3
Arranca el
Incremento N
Fecha 1
Fecha 2
Fecha 3
Diseo
Analisis
Requerim
ientos
Investiga
cion
Desarroll
o
Diseo
Analisis
Requerim
ientos
Pruebas
Desarroll
o
Diseo
Analisis
Implemen
tacion
Pruebas
Desarroll
o
Diseo
Entrega del
Incremento 1
Implemen
tacion
Pruebas
Desarroll
o
Tiempo
Fecha 4
Entrega del
Incremento 2
Implemen
tacion
Pruebas
Fecha 5
Entrega del
Incremento 3
Implemen
tacion
Fecha 6
Entrega del
Incremento N
Fecha 7
Fecha 8
Observe como cada incremento (entrega de una parte del sistema) comienza en una fecha y termina
en otra a travs del tiempo de desarrollo del proyecto, el modelo incremental permite dividir el
proyecto en partes que se van ejecutando simultneamente y a cada una de est as partes se le aplica
el modelo secuencial lineal (SDLC), puede haber la cantidad incrementos que desee (N).
Ventajas
Reduce las desventajas del modelo lineal secuencial ya que en cada incremento
puede retroalimentarse el anterior
Al ir desarrollando el sistema es ms fcil detectar si los requerimientos planeados
para los siguientes incrementos son correctos
Si ocurre un error importante entonces se descarta solamente el ltimo incremento
lo que se traduce en reduccin de riesgos y del tiempo de desarrollo del software
Desventajas
No es recomendado cuando el sistema requiere un alto nivel de seguridad ya que es
probable que se pasen por alto muchos controles y algunas personas descubran
dichas puertas abiertas y las utilicen para cometer fraudes.
Modelo en Espiral
Es otro modelo evolutivo creado por el Ing. Informtico Barry Boehm, el cual une al modelo
basado en prototipos con el modelo secuencial lineal (SDLC).
El modelo en espiral est basado en 4 fases, las cuales van repitindose de forma cclica,
pero en cada ciclo van aumentando las actividades a realizar hasta obtener un sistema de
calidad.
Este modelo es recomendado para grandes proyectos de software y
est orientado al riesgo (costo vs tiempo)
Determinar objetivos: identificar las necesidades del usuario que deben ser
los mismos, como estos realizan las operaciones y las diferentes alternativas que hay para
realizar cada una de ellas, debe tomarse la que represente menos riesgos para la
organizacin.
Fase 3.
mismo tiempo irlas probando con los usuarios, evaluar todas las posibilidades.
Fase 4.
Desarrollar y Probar
Planificacin
A cada vuelta en la espiral la conocemos cono ciclo o iteracin, la espiral arranca desde el
centro y se va expandiendo hacia afuera (como un caracol). Mientras ms ancho se hace el
caracol significa que el proyecto se va haciendo ms caro, esto, porque se ha invertido ms
trabajo en el proyecto con cada vuelta.
Material facilitado por Ing. Gerardo Josu Portillo ([email protected])
Ventajas
Une los enfoques lineal y el basado en prototipos, permite apreciar que a medida nos
extendemos en el proyecto estamos gastando ms recursos en el mismo.
Desventajas
Necesita de mucha habilidad y experiencia al momento de hacer el anlisis de riesgos
No le gusta a la mayora de clientes porque lo consideran complicado
Conclusin
En Honduras se suele utilizar en su mayora enfoques sencillos de entender como el basado
en prototipos y el lineal, debemos ponernos a pensar que hay ms mtodos, incluso ms
que los expuestos en este material. Les recomiendo que siempre que puedan investiguen
sobre otros; ningn proyecto de software es igual. Por experiencia personal les puedo decir
que utilizo el modelo en espiral, ya que me permite controlar el costo del proyecto ya que
muchos de mis clientes a veces se ponen a meterle ms y ms a cada proyecto sin
considerar que como profesionales debemos cobrar esas horas adicionales que se
consumen por cada nueva caracterstica que va a tener el sistema de software.
Humor
Resumiendo el modelo secuencial lineal