Modelos Sotware

17
MODELO EN CASCADA, TRADICIONAL Cascada Es un método que ordena rigurosamente las etapas del ciclo de vida del software de tal manera que el inicio de cada etapa debe esperar a la finalización del inmediatamente anterior. Sirve para los proyectos donde los requisitos se encuentren bien definidos claramente y no son obligados a futuras modificaciones. Estructura Características Es una visón de procesos por etapas. para que el proyecto tenga éxito deben desarrollarse todas las etapas. si se cambia el orden de las fases el resultado será de menor calidad. Ventajas tiene todo bien organizado. planificación sencilla. Calidad del producto alta. fácil manejo por parte del usuario.

description

Resumen de metodologias o Modelos Sotware

Transcript of Modelos Sotware

Page 1: Modelos Sotware

MODELO EN CASCADA, TRADICIONAL

Cascada

Es un método que ordena rigurosamente las etapas del ciclo de vida del software

de tal manera que el inicio de cada etapa debe esperar a la finalización del

inmediatamente anterior.

Sirve para los proyectos donde los requisitos se encuentren bien definidos

claramente y no son obligados a futuras modificaciones.

Estructura

Características

Es una visón de procesos por etapas.

para que el proyecto tenga éxito deben desarrollarse todas las etapas.

si se cambia el orden de las fases el resultado será de menor calidad.

Ventajas

tiene todo bien organizado.

planificación sencilla.

Calidad del producto alta.

fácil manejo por parte del usuario.

Page 2: Modelos Sotware

Desventajas

difícil para corregir.

difícil de actualizar.

lleva gran tiempo todo el ciclo.

Espiral

El modelo de desarrollo en espiral es un generador de modelo de proceso guiado

por el riesgo que se emplea para conducir sistemas intensivos de ingeniería de

software concurrente y al vez de muchos usuarios.

Características

En cada giro se construye un nuevo modelo de sistemas completo.

el modelo puede combinarse con otros modelos.

mejor modelo para grandes sistemas.

No hay numero definido de interacciones.

Estructura

Ventajas

.Reduce los riegos del proyecto.

Page 3: Modelos Sotware

Incorpora objetivos de calidad.

integra el desarrollo con el mantenimiento.

Modelo dra

Es un proceso de desarrollo de software lineal y secuencial que enfatiza un ciclo

de de desarrollo más corto.

Características

.El software no se desarrolla y utiliza en su totalidad, sino una seria de

incrementos, donde cada incremento se incluyen nuevas funcionalidades

del sistema.

. se necesitan equipos compuestos por alrededor de sies personas,

incluyendo desarrolladores y usuario de tiempo completo.

Page 4: Modelos Sotware

Ventajas

.manejo de varias plataformas.

. Entrega temprana al cliente.

.mayor involucramiento de usuarios.

.menos fallas.

.ciclos de desarrollo más pequeños.

Desventaja

Para proyectos grandes se necesitan mucho recurso humano.

.progreso más difícil de medir.

Modelos evolutivos

La evolución del software está basado respecto a lo que diga el cliente. Enfocado

para el mejoramiento del software.

Características

.Se adaptan más fácilmente a los cambios introducidos a lo largo del

desarrollo.

.iterativos.

.En cada interacción se obtiene versiones más completas del sw

Existen dos tipos de desarrollo evolutivo:

Desarrollo Exploratorio: El objetivo de este enfoque es explorar con el usuario los

requisitos hasta llegar a un sistema final. El desarrollo comienza con las partes

que se tiene más claras. El sistema evoluciona conforme se añaden nuevas

características propuestas por el usuario.

Page 5: Modelos Sotware

Enfoque utilizando prototipos: El objetivo es entender los requisitos del

usuario y trabajar para mejorar la calidad de los requisitos. A diferencia del

desarrollo exploratorio, se comienza por definir los requisitos que no están

claros para el usuario y se utiliza un prototipo para experimentar con ellos.

El prototipo ayuda a terminar de definir estos requisitos.

Estructura

Ventajas

Reutilización del software.

Simplifica las pruebas; pues estas se le hacen a los componentes antes de

probar el conjunto completo de componentes ensamblados.

Simplifica el mantenimiento del sistema.

Mayor calidad.

Desventajas

Genera mucho tiempo en el desarrollo del sistema.

Modelo costoso.

Requiere experiencia en la identificación de riesgos.

Page 6: Modelos Sotware

Genera mucho trabajo adicional.

Modelo concurrente

Ligado con el cliente, basados en los requerimientos que pida el cliente.

Características:

• se puede expresar de manera esquematizada

• las actividades llevan procesos concurrentes

• es aplicable a todo tipo de desarrollo de software

• es un modulo aplicable para cliente soñador

• esta dirigido por las necesidades del usuario

• es aplicable al cliente servidor

Estructura

Ventajas

Excelente para proyectos en los que se conforman grupos de trabajo

independientes.

Proporciona una imagen exacta del estado actual de un proyecto.

Page 7: Modelos Sotware

Desventajas

Si no se dan las condiciones señaladas no es aplicable.

Si no existen grupos de trabajo no se puede trabajar en este método

Modelo incremental

Es un modelo de tipo evolutivo que está basado en varios ciclos Cascada

realimentados aplicados repetidamente, con una filosofía iterativa.

Características

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.

. Requiere gestores experimentados.

. Los errores en los requisitos se detectan tarde.

. El resultado puede ser muy positivo.

ESTRUCTURA

Page 8: Modelos Sotware

Ventajas:

- Con un paradigma incremental se reduce el tiempo de desarrollo inicial, ya que

se implementa la funcionalidad parcial.

- También provee un impacto ventajoso frente al cliente, que es la entrega

temprana de partes operativas del Software.

- El modelo proporciona todas las ventajas del modelo en cascada realimentado,

reduciendo sus desventajas sólo al ámbito de cada incremento.

- Permite entregar al cliente un producto más rápido en comparación del modelo

de cascada.

- Resulta más sencilo acomodar cambios al acotar el tamaño de los incrementos.

- Por su versatilidad requiere de una planeación cuidadosa tanto a nivel

administrativo como técnico.

Desventajas:

- El modelo Incremental no es recomendable para casos de sistemas de tiempo

real, de alto nivel de seguridad, de procesamiento distribuido, y/o de alto índice de

riesgos.

- Requere de mucha planeacion, tanto administrativa como técnica.

- Requiere de metas claras para conocer el estado del proyecto.

MODELOS ORIENTADOS A LA REUTILIZACIÓN

Es un enfoque de desarrollo que trata de maximizar la reutilización del Software

existente.

DESARROLLO BASADO EN COMPONENTES

Cuyas características son:

Configura aplicaciones a partir de componentes de software preparados.

Tiene un enfoque iterativo y evolutivo.

Page 9: Modelos Sotware

Estructura

Ingeniería del Dominio: Su objetivo es identificar, construir, catalogar y diseminar

un conjunto de componentes de software que tienen aplicación en el software

actual y futuro dentro de un dominio de aplicación particular.

Características

Análisis del dominio

Modelo del dominio

Modelado estructural

Estructura

Page 10: Modelos Sotware

Ventajas

La actualización y reutilización de software.

Desventaja

La no adaptación a diferentes plataformas.

MODELOS DE PROCESOS AGILES

EXTREME PROGRAMMING

Características

Basado en los valores de simplicidad, comunicación, retroalimentación, el

valor y el respeto.

Equipo completo.

Pruebas de clientes, lanzamientos pequeños.

Diseño simple, programación en pareja, desarrollo basado en pruebas,

mejoras del diseño.

Integración continua, ritmo sostenible

Estructuras

Page 11: Modelos Sotware

Método de desarrollo de sistema dinámico (DSDM)

Es una metodología ágil que abarca todo el ciclo de vida de un proyecto de

desarrollo de Software.

Estructura

FDD

DESARROLLO BASADO EN FUNCIONES

Es una técnica de programación guiada por rasgos o características, centradas en

el usuario, no en el programador.

Page 12: Modelos Sotware

Métodos agiles

Ventajas

.El modelo es prescindible de modelos desechables.

.pocos roles más flexible.

.cliente es parte del equipo.

.orientado a proyectos de corta duración.

.es fácil de modificar

Metodología Acrónimo Creación Tipo de modelo Característica

Adaptive SoftwareDevelopment

ASD Highsmith 2000 Prácticas + Ciclo devida

Inspirado en sistemasadaptativos complejos

Agile Modeling AM Ambler 2002 “Metodología basada enla práctica”

Suministra modelado ágila otros métodos

Crystal Methods CM Cockburn 1998 “Familia demetodologías”

MA con énfasis enmodelo de ciclos

Agile RUP dX Booch, Martin, Newkirk1998

Framework / Disciplina XP dado vuelta conartefactos RUP

Dynamic SolutionsDelivery Model

DSDM Stapleton 1997 Framework / Modelo deciclo de vida

Creado por 16 expertosen RAD

Evolutionary ProjectManagement

Evo Gilb 1976 Framework adaptativo Primer método ágilexistente

ExtremeProgramming

XP Beck 1999 “Disciplina en prácticasde ingeniería”

Método ágil radical

Feature-drivendevelopment

FDD De Luca & Coad 1998Palmer & Felsing 2002

“Metodología” Método ágil de diseño yconstrucción

Lean Development LD Charette 2001, Mary yTom Poppendieck

“Forma de pensar” –Modelo logístico

Metodología basada enprocesos productivos

Microsoft SolutionsFramework

MSF Microsoft 1994 Lineamientos,Disciplinas, Prácticas

Framework de desarrollode soluciones

Rapid Development RAD McConnell 1996 Survey de técnicas y

modelos

Selección de best

practices, no método

Rational UnifiedProcess

RUP Kruchten 1996 Proceso unificado Método (¿ágil?) conmodelado

Scrum Scrum Sutherland 1994 -Schwaber 1995

“Proceso” (frameworkde management)

Complemento de otrosmétodos, ágiles o no

Page 13: Modelos Sotware

MODELO PARA SISTEMAS OO

Este método proporciona un soporte para el diseño creativo de productos de

software, a escala industria. Utiliza lenguajes como para el modelado y dearrollo

de proyectos como:oose,omt-2,booch,uml.

Dependiendo el proyecto se escoge el modela más adecuado.

ITERACTIVO E INCREMENTAL

Page 14: Modelos Sotware

Añade funciones al sistema progresivamente, tras validar las sucesivas

interacciones con el cliente, el proceso va convergiendo hacia el producto

esperando por ambas partes.

Ventajas

.diseño modulares.

.fácil de modificar.

.reutilización de clases.

SCRUM

Enfatiza valores y prácticas de gestión, sin pronunciarse sobre

requerimientos, prácticas de desarrollo, implementación y demás

cuestiones técnicas

Hace uso de Equipos auto-dirigidos y auto-organizados

Puede ser aplicado teóricamente a cualquier contexto en donde un grupo

de gente necesita trabajar junta para lograr una meta común.

Desarrollo de software iterativos incrementales basados en prácticas agiles

Iteraciones de treinta días; aunque se pueden realizar con mas frecuencia,

estas iteraciones, conocidas como Sprint

Dentro de cada Sprint se denomina el Scrum Master al Líder de Proyecto

quien llevará a cabo la gestión de la iteración

Se convocan diariamente un “Scrum Daily Meeting” el cual representa una

reunión de avance diaria de no más de 15 minutos con el propósito de tener

realimentación sobre las tareas de los recursos y los obstáculos que se

presentan. En la cual se responden preguntas como: ¿Qué has hecho

desde el ultimo encunetro? ¿Qué obstaculos hay para cumplir la meta?

¿Qué haras antes del proximo encuentro?

Page 15: Modelos Sotware

Roles : si

Experiencia Team: No

Modelo ágil: si

Aplicable para Web: Si

Individualización Team: No.

RUP

Page 16: Modelos Sotware

Describir la organización, documentación, funcionalidad y restricciones de

un software.

Documentar y registrar las decisiones que se tomen para el desarrollo de

un software.

Implementar los diferentes diagramas de UML, dando paso a la reducción

de tiempo a la hora de desarrollar un software.

Administrar los Requerimientos:

Esta práctica permite documentar, agilizar, mejorar los requerimientos

obtenidos para el desarrollo de un software, es sin duda una metodología

que ayuda a insertar nuevos cambios a un sistema de información

(actualizaciones).

Implementar arquitecturas basadas en Componentes:

Como es de saberse, antes de realizar el desarrollo completo de un

aplicativo, es necesario realizar un modelo a escala del mismo, pues bien,

el RUP ofrece herramientas basadas en los componentes del sistema a

implementar, dando vía al modelamiento seguro del mismo.

Modelar Visualmente el Software:

El RUP permite mostrar en una GUI el modelo de software desarrollado,

permitiendo al desarrollador mostrar errores y poder corregirlos, sin duda, la

interfaz gráfica da vida al sistema y es ella quien me permite realizar

modificaciones.

Verificar la Calidad de Software:

El verificar la calidad del producto realizado, es una práctica que sustenta el

desarrollo del mismo, el RUP, como herramienta colaboradora, ofrece

formas de diseño, implementación, ejecución, entre otras del software,

antes de que éste sea implementado. En pocas palabras, permite realizar

testing al aplicativo.

Controlar los Cambios realizados al Software:

El RUP además de ofrecer herramientas para el desarrollo y análisis,

permite también suministrar recursos que sean ajustables a los posibles

Page 17: Modelos Sotware

cambios que pueda sufrir el software, ya sea de actualización o innovación

del mismo.

Dirigido por Casos de Uso: –Los casos de uso son los artefactos primarios

para establecer el comportamiento deseado del sistema

Centrado en la Arquitectura: –La arquitectura es utilizada para

conceptualizar, construir, administrar y evolucionar el sistema en desarrollo

Iterativo e Incremental:

–Maneja una serie de entregas ejecutables

–Integra continuamente la arquitectura para producir nuevas versiones

mejoradas

Conceptualmente amplio y diverso

Enfoque orientado a objetos

En evolución continua

Adaptable

Repetible

Permite mediciones:

–Estimación de costos y tiempo, nivel de avance, etc.