Вы находитесь на странице: 1из 48

MODELOS DE

DESARROLLO DE
SOFTWARE
ISC.JOSE ALBERTO ESTRADA GARCIA.
ISC.ALBERTO DE JESUS GOMEZ CRUZ.
QUE ES UN METODO?
Mtodo: Es un conjunto de herramientas, tcnicas y procesos que brindan soporte y facilitan
el logro u obtencin de una meta que hacer, a lo largo de todo el ciclo de vida del software,
para construir un producto bueno, de calidad, dentro del presupuesto y a tiempo.
El proceso de desarrollo del
software
Es la totalidad de aspectos y caractersticas de
un producto o servicio, que se refieren a su
capacidad para satisfacer sus necesidades, dada
en la ecuacin de sus objetivos,

Es un conjunto de actividades y resultados asociados


que produce un software es uno de los componentes
del mtodo de desarrollo del software.
COMO SE
SELECCIONA?
Debemos tener en cuenta 4 puntos
principales:

La naturaleza del producto. La aplicacin que se necesite

Mtodos y herramientas. Los controles y entregas


Principales estndares de procesos de
desarrollo del software
Conjunto de criterios aprobados, documentados y
disponibles para determinar la adecuacin de una
accin (Estndar de proceso) o de un objeto (Estndar
de producto), agrupan lo mejor y mas apropiado de las
buenas practicas y usos del desarrollo de software.

Engloban los conocimientos del software que son


patrimonios de una organizacin, proporciona un
marco para implementar procedimientos de
aseguramiento de calidad y tambin proporcionan
continuidad entre el trabajo de distintas personas.
ISO/IEC 12207
Establece un proceso de ciclo de vida para el software que incluye procesos y actividades que se
aplican desde la definicin de requisitos, pasando por la adquisicin y configuracin de los
servicios del sistema, hasta la finalizacin de su uso.
con la modularidad se pretende conseguir procesos con un mnimo acoplamiento y una
mxima cohesin.
En cuanto a la responsabilidad se busca establecer un responsable para cada proceso,
facilitando la aplicacin del estndar en proyectos en los que pueden exisitir distintas personas u
organizacin involucradas, no importando el uso que se le de a este.
ISO 9000
ISO 9000 es un conjunto de normas sobre calidad y gestin continua de calidad, estableciendo
por la Organizacin Internacional de Normalizacin(ISO)
Se pueden aplicar en cualquier tipo de organizacin o actividad orientada a la produccin de
bienes o servicios. Las normas recogen tanto el contenido minimizo como las guas y
herramientas especificas de implantacin, como mtodos de autora.
ciclo de vida?
ciclo de desarrollo?
Modelos de ciclo
de vida
Define el estado de las fases a travs de las
cuales se mueve un proyecto de desarrollo
de software.
Un modelo de ciclo de vida del software:
1. Describe las fases principales de
desarrollo de software.
2. Define las fases primarias esperadas de
ser ejecutadas durante estas fases.
3. Ayuda a administrar el progreso de
desarrollo.
4. Provee un espacio de trabajo para la
definicin de un detallado proceso de
desarrollo de software.
MODELO LINEAL SECUENCIAL
Llamado algunas veces ciclo de vida bsico o modelo en cascada, el modelo lineal secuencial
sugiere un enfoque sistemtico, secuencial, para el desarrollo del software que comienza en un
nivel de sistemas y progresa con el anlisis, diseo, codificacin, pruebas y mantenimiento.

ESTE MODELO TIENE CUATRO ETAPAS QUE SON:

Anlisis de Evaluacin
Planificacin Ingeniera
riesgos del cliente
DIAGRAMA DEL MODELO LINEAL
Ingeniera y Anlisis del Sistema

Anlisis de los Requisitos

Diseo

Codificacin

Prueba

Mantenimiento
ACTIVIDADES DEL MODELO LINEAL
Ingeniera Y Anlisis Del Sistema.
Debido a que el software es siempre parte de un sistema mayor, el trabajo comienza
estableciendo los requisitos de todos los elementos del sistema y luego asignando algn
subconjunto de estos requisitos al software.
Anlisis De Los Requisitos Del Software.
Se debe comprender cules son los datos que se van a manejar, cul va a ser la funcin que
tiene que cumplir el software, cules son las interfaces requeridas y cul es el rendimiento y
otros requisitos no funcionales que se esperan lograr.
Diseo.
El diseo es el proceso que traduce los requisitos en una representacin del software de forma
que pueda conocerse la arquitectura, funcionalidad e incluso la calidad del mismo antes de
comenzar la codificacin.
Codificacin.
Se traducen los diagramas de diseo a un lenguaje fuente, que luego se traduce - se compila -
para obtener un programa ejecutable.
Prueba.
El objetivo es comprobar que no se hayan producido errores en alguna de las fases anteriores,
especialmente en la codificacin. Se deben probar todas las sentencias, y todos los mdulos que
forman parte del sistema.
Mantenimiento.
El software sufrir cambios a lo largo de su vida til. Estos cambios pueden ser debidos a tres
causas:

-Que, durante la utilizacin, el cliente detecte errores en el software: los errores latentes.

-Que se produzcan cambios en alguno de los componentes del sistema.

-Que el cliente requiera modificaciones funcionales no contempladas en el proyecto.


Mapa en cascada
Que Es Un Modelo De Cascada
Se define como una secuencia de fases en la que al final de cada una de ellas se rene la
documentacin para garantizar que cumple las especificaciones y los requisitos
Este modelo se encarga de considerar las actividades fundamentales del proceso de:
Especificacin, desarrollo, validacin.
Importancia de modelo de software
Es importante porque Modelo o Desarrollo en Cascada En Ingeniera de software el desarrollo
en cascada, tambin llamado modelo en cascada, es el enfoque metodolgico que ordena
rigurosamente las etapas del ciclo de vida del software, de forma tal que el inicio de cada etapa
debe esperar a la finalizacin de la inme
Anlisis y definicin de requerimientos
Los servicios, restricciones y metas del sistema se definen a partir de las consultas
con los usuarios. Se definen en detalles y sirve como una especificacin del
sistema.
Diseo del sistema y del software
El proceso del diseo del sistema divide los requerimientos en sistemas hardware o
software. Establece una arquitectura completa del sistema. El Sistema del software
identifica y describe las abstracciones fundamentales del sistema software y sus
relaciones.
Implementacin y prueba de unidades
El diseo del software se lleva a cabo como un conjunto o unidades de programas. Implica
verificar que cada una cumpla su especificacin
Integracin y prueba del sistema
Los programas o las unidades individuales de programas se integran y prueban como un sistema
completo para asegurar que se cumplan los requerimientos del software
FUNCIONAMIENTO Y MANTENIMIENTO
El Sistema se instala y se pone en funcionamiento practico. El mantenimiento implica a
corregir errores no descubiertos en las etapas anteriores del ciclo de vida, mejorar la
implementacin de las unidades del sistema y saltar los servicios del sistema una vez
que descubran nuevos requerimientos
Ventajas del modelo cascada
La documentacin se produce en cada fase y que este cuadra con otros modelos del proceso de
ingeniera. Su Principal problema es su inflexibilidad al dividir el proyecto en distintas etapas
El Modelo cascada solo se debe utilizar cuando los requerimientos se comprendan
bien y sea improbable que cambien radicalmente durante el desarrollo
Ventajas del modelo cascada
Fcil entendimiento e implementacin
Ampliamente utilizado y conocido ( En teora )
Refuerza buenos hbitos: definir antes que
disear, disear antes que codificar
Identifica entregables e hitos
Orientado a documentos
Funciona bien en productos maduros y equipos
dbiles
Desventajas del modelo cascada
No aprovecha la iteracin, ni el desarrollo
exploratorio
Espera requerimientos definidos completamente al
inicio del proyecto -IREAL
Dificultar para integrar administracin del riesgo
El software es entregado tarde en el proyecto
Esto hace que se detecten errores graves muy tarde.
Hacer cambios es difcil y costoso
MODELO DE PROTOTIPOS

NOTA: tambin esto se considera un ciclo por que


Esto seria, en base a sigue desde el Recoleccin y refinamiento de
la solucin que tiene
el software ya hecho
requisitos hasta El producto de Ingeniera y as se
basa en el modelo de ciclo de vida de un software

Esto seria en bases a todas las


Esto seria, lo mejor necesidades del software
con lo cual va a
funcionar el software

Esto seria evaluado por la persona que lo llegue a utilizar.


MODELO DE PROTOTIPOS
DEFINICIN CARACTERSTICAS VENTAJAS DESVENTAJAS

MODELO DE DESARROLLO EVOLUTIVO, SE EL PROTOTIPO ES UNA APLICACIN REDUCCION DELA INCERTIDUMBRE Y ADMINISTRACIN DIFCIL.
INICIA CON LA DEFINICION DE LOS QUE FUNCIONA. DEL RIESGO.
OBJETIVOS GLOBALES PARA EL ADAPTARLO COMO EL SISTEMA FINAL.
SOFTWARE, LUEGO SE IDENTIFICAN LOS SE CREAN CON RAPIDEZ. REDUCCION DE TIEMPO Y DE COSTOS.
REQUISITOS CONOCIDOS Y LAS REAS EL DESARROLLADOR Y EL CLIENTE TIENEN POCA
DEL ESQUEMA EN DONDE ES NECESARIA EVOLUCIONAN A TRAVS DE UN INCREMENTOS EN LA ACEPTACION COMUNICACIN.
MS DEFINICIN. ENTONCES SE PLANTEA PROCESO ITERATIVO. DEL NUEVO SISTEMA.
CON RAPIDEZ UNA ITERACIN DE SURGE CAMBIOS IMPREVISTOS QUE RETRASAN EL
CONSTRUCCIN DE MODELO DE TIENEN UN COSTO BAJO DE EL USUARIO PUEDE EVALUAR EL PROGRESO DE PROTOTIPO.
PROTOTIPOS PERTENECE A LOS DESARROLLO PRODUCTO Y MEJORARLO.
ROTOTIPOS Y SE PRESENTA EL
MODELADO,
DONDE SE UTILIZARIA?
EL uso de este modelo, podra ser, de un cliente
obsesionado por la presentacin de su software
con una calidad visual que lo haga mucho mas fcil
de utilizar.

Un ejemplo de esto, seria en una telefona mvil,


ya que generalmente exige paquetes de software
avanzado concretos y sobre todo los mas visuales
posibles.
Modelo Incremental
DEFINICIN CARACTERSTICAS VENTAJAS DESVENTAJAS
FUE PROPUESTO POR HARLAN MILLS EN EL SE EVITAN PROYECTOS LARGOS Y SE CON UN PARADIGMA EL MODELO INCREMENTAL NO ES
AO 1980. SURGI EL ENFOQUE ENTREGA "ALGO DE VALOR" A LOS USUARIOS INCREMENTAL SE REDUCE EL RECOMENDABLE PARA CASOS DE SISTEMAS DE
INCREMENTAL DE DESARROLLO COMO UNA CON CIERTA FRECUENCIA. TIEMPO DE DESARROLLO INICIAL, YA TIEMPO REAL, DE ALTO NIVEL DE SEGURIDAD, DE
FORMA DE REDUCIR LA REPETICIN DEL QUE SE IMPLEMENTA LA PROCESAMIENTO DISTRIBUIDO Y/O DE ALTO
TRABAJO EN EL PROCESO DE DESARROLLO EL USUARIO SE INVOLUCRA MS. FUNCIONALIDAD PARCIAL. NDICE DE RIESGOS.
Y, DAR OPORTUNIDAD E RETRASAR LA
TOMA DE DECISIONES EN LOS RQUISITOS DIFCIL DE EVALUAR EL COSTO TOTAL. TAMBIN PROVEE UN IMPACTO REQUIERE DE MUCHA PLANEACIN, TANT
HASTA ADQUIRIR EXPERIENCIA CON EL VENTAJOSO FRENTE AL CLIENTE, ADMINISTATIVA COMO TCNICA.
SISTEMA. DIFCIL DE APLICA A LOS SISTEMAS QUE ES LA ENTREGA TEMPRANA DE
TRANSACCIONALES QUE TIENDEN A SER PARTES OPERATIVAS DEL REQUIERE DE METAS CLARAS PARA CONOCER
INTEGRADOS Y A OPERAR COMO UN TODO. SOFTWARE. EL ESTADO DEL PROYECTO.

REQUIERE GESTORES EXPERIMENTADOS. EL MODELO PROPORCIONA TODAS


LAS VENTAJAS DEL MODELO EN
LOS ERRORES EN LOS REQUISITOS SE CASCADA REALIMENTADO,
DETECTAN TARDE. REDUCIENDO SUS DESVENTAJAS
SLO AL MBITO DE CADA
EL RESULTADO PUEDE SER POSITIVO. INCREMENTO.
MODELO ESPIRAL
Es un modelo no secuencial, con un nivel de
complejidad mayor a los anteriores, incluye
un elemento muy til en el desarrollo del
software el Anlisis de Riesgos.

Aqu el cliente si no esta satisfecho, se cubre otra banda


de la espiral que vuelve a la segunda etapa (Planificacin)
VENTAJAS DESVENTAJAS
Utiliza prototipos para hacer una idea del software Su anlisis de riesgo, sin experiencia podra
final y tambin para crear una imagen detallada de sobrevalorar o subestimar los errores que se
los cuales son los errores que tiene o podra tener presenten haciendo imposible el paso a la siguiente
un programa durante su funcionamiento. fase.
permite al cliente, evaluar los factores de riesgos
que le comunica el prototipo de anlisis de riesgo y El cual desembocara en introducirnos a una espiral
tomar una decisin u otra, y sea mas interactivo sin fin, y este problema genera otro adicional.
que los anteriores.
Y ser difcil que el cliente acepte el proyecto
Y si es aprobado se continua girando a la espiral realizado bajo estas condiciones.
hasta la evaluacin del cliente y continuamos en el
modelo clsico o volvemos en la etapa de
planificacin.
Cuando
utilizarlo?
U N C A S O E N D O N D E S E P O D R A U T I L I Z A R E S T E M O D E LO, E S P O R E J E M P LO D E U N
PA Q U E T E D E S O F T WA R E D E C O N T R O L D E A S I G N A C I O N ES D E N M E R O S D E TA R J E TA S
D E C R D I TO S A T I T U L A R ES D E C U E N TA S B A N C A R I A S .
YA Q U E S E R U N A D E L A S P R I O R I DA D ES , D E D E T E C TA R E L M A S M N I M O FA L LO E N L A
E L A B O R A C I N D E L S O F T WA R E .
CUADRO COMPARATIVO
MODELO
SCRUM
No es necesario tener todos los
requerimientos, el punto a favor es que
no es necesario tener todos los
requisitos desde un principio, para
comenzar a desarrollar solo basta con
tener las funcionalidades mas
importantes, se va rellenando a media
que se va avanzado el proyecto. El objetivo es ir construyendo versiones
Aqu tomamos los requisitos que perfectamente funcionales, en las que poco
estimamos y que podrn a poco se vayan aadiendo caractersticas y
desarrollarse dentro de un sprint y que sean funcionales, para mostrarle al
cuando pasan al sprint estas se cliente.
dividen en tareas.
Aqu a diaria se realiza una reunin, en
donde participa todo el equipo y una
vez terminada la reunin, se intenta resolver
los impedimentos que se han encontrado y
se actualiza con el avance producido. Y por cada
Sprint, se debe tener una DEMO funcional del
Sprint, para luego ensersela al cliente.
Una ves terminada la retrospectiva, se
volver al inicio donde se realiza una nueva
planificacin para el nuevo Sprint y as
sucesivamente hasta finalizar el producto.
MODELO SCRUM
VENTAJAS DESVENTAJAS

Entrega de un producto funcional, al terminar cada No genera toda la documentacin de todas la


Sprint. metodologas.
Posibilidad de ajustar la necesidad en base al cliente. No es apto para todos los proyectos.
Visualizacin del proyecto da a da.
Alcance acotado y viable.
Equipos integrados y comprometidos con el proyecto, y
se auto administran.
EL MEJOR MTODO ES EL MTODO SCRUM, PUES PERMITE UNA GRAN
ORGANIZACIN DE DIVIDIR LAS TAREAS EN SEGMENTOS, Y LA REUNIN
DIARIA FORTALECE EL TRABA JO EN EQUIPO, Y LA RESOLUCIN DE LOS
PROBLEMAS QUE PUEDA TENER ALGN INTEGRANTE DEL EQUIPO.

Вам также может понравиться