SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
03-23-05
Universidad Andrés Bello
Facultad de Ingeniería
Modelamiento
de
Sistemas
Universidad Andrés Bello
Metodologías de desarrollo de software
Definición
• Conjunto de pasos y procedimientos que deben seguirse para el
desarrollo de software.
• Conjunto de filosofías, fases, procedimientos, reglas, técnicas,
herramientas, documentación y aspectos de formación para los
desarrolladores de SI [Maddison, 1983]
• Conjunto de procedimientos, técnicas, herramientas y soporte
documental que ayuda a los desarrolladores a realizar nuevo
software
Universidad Andrés Bello
Metodologías de desarrollo de software
Definición
• Un metodología de desarrollo por lo tanto representa el camino a
seguir para desarrollar software de manera sistemática y persigue
algunos de los siguientes objetivos:
• Mejores Aplicaciones
• Un mejor Proceso de Desarrollo que identifique salidas (o
productos intermedios) de cada fase de forma que se pueda
planificar y controlar el proyecto
• Contar con un proceso Estándar en la organización
Universidad Andrés Bello
Metodologías de desarrollo de software
Definición
• En la actualidad debiéramos contar con metodologías que nos
permitan resolver los problemas del desarrollo de software y que
debieran contar con.
– Técnicas de desarrollo que minimicen la complejidad de un
sistema software.
– Métodos y conceptos que permitan al productor y al cliente
explorar la naturaleza del sistema software lo antes posible.
– Técnicas que minimicen los efectos devastadores de las
modificaciones durante el desarrollo y la explotación.
Universidad Andrés Bello
Metodologías de desarrollo de software
Metodología vs Ciclo de vida
• Existen varias diferencias entre Metodología, Ciclo de Vida y Método
– Una Metodología puede ser aplicada a uno o varios modelos de Ciclo
de Vida
– Un Ciclo de Vida indica qué obtener, pero no cómo
– Una Metodología es un concepto más amplio que Método , se puede
considerar como un conjunto de métodos. Una metodología puede
incluir un conjunto de métodos (de análisis, diseño, programación,
etc.) para abarcar el ciclo de vida completo
Universidad Andrés Bello
Metodologías de desarrollo de software
Ciclo de vida
El marco del ciclo de vida del software cubre desde la
conceptuación de las ideas iniciales del producto hasta el fin
de su uso (retirada).
Universidad Andrés Bello
Ciclo de vida del software
Análisis
Diseño
Implementación
Pruebas
Mantenimiento
Universidad Andrés Bello
Metodologías de desarrollo de software
Modelo Lineal o secuencial
Análisis
Diseño
Implementación
Pruebas
Mantenimiento
Universidad Andrés Bello
Metodologías de desarrollo de software
Modelo Lineal o secuencial
Este modelo refleja un desarrollo marcado por la sucesión
escalonada de las etapas que lo componen.
Es necesario terminar por completo cada etapa para pasar a la
siguiente
Este modelo, identificado ya a principios de la década de los 50,
resulta muy rígido porque cada fase requiere como elemento de
entrada el resultado completo de la anterior.
Al aplicarlo en situaciones reales su rigidez genera problemas,
porque muchas veces resulta difícil poder disponer de requisitos
completos o del diseño pormenorizado del sistema en las fases
iniciales.
Resulta apropiado para:
 Desarrollar nuevas versiones de sistemas legados en los que el desconocimiento
de las necesidades de los usuarios, o del entorno de operación no plantea riesgos.
 Sistemas pequeños, sin previsión de evolución a corto plazo.
El modelo prácticamente idéntico, que evita esta rigidez es el de
cascada.
Universidad Andrés Bello
Metodologías de desarrollo de software
Modelo en cascada
Cascada
Universidad Andrés Bello
Metodologías de desarrollo de software
Modelo en cascada
Universidad Andrés Bello
Metodologías de desarrollo de software
Modelos del ciclo de vida
Cascada
• En 1970 Winston Royce definió flujos de retorno sobre el modelo
secuencial, acuñando así el modelo en cascada.
• Refleja la necesidad real de retornar desde una fase hacia las anteriores
con la información generada al avanzar el desarrollo.
• Un representaciones permite retorno posible entre una fase y la anterior, el
otra permite el retorno en cualquier fase para modificar cualquiera de las
anteriores.
• Reconoce la importancia de disponer de los requisitos y diseño antes de
comenzar con la codificación del sistema, lo anterior puede actuar como
una barrera que bloquee el comienzo de la siguiente fase.
• Se puede caer en la tentación de comenzar con el diseño o incluso con la
codificación, sin tener un conocimiento suficiente de los requisitos.
• Resulta apropiado para:
 Desarrollar nuevas versiones de sistemas legados en los que el desconocimiento
de las necesidades de los usuarios, o del entorno de operación no plantean
riesgos.
 Sistemas pequeños, sin previsión de evolución a corto plazo.
Universidad Andrés Bello
Metodologías de desarrollo de software
Consideraciones
• Aportes
– Muy utilizado para adaptaciones o mejoras de sistemas
existentes.
– Útil cuando los requisitos están fijos.
• Desmedros
– Es raro que los proyectos reales sigan el flujo secuencial.
– Es difícil que el cliente sepa de manera explícita todos los
requisitos de manera explícita.
– El cliente debe tener paciencia.
Universidad Andrés Bello
Actividad en la que se analizan y clarifican los diferentes
aspectos del problema que debe ser resuelto por la
aplicación, con el fin de establecer claramente qué debe ser
construido
El resultado es, normalmente, un documento de requisitos
software que especifica claramente las funcionalidades de la
aplicación
Ciclo de vida del software
Análisis
Universidad Andrés Bello
• Actividad en la que se decide la organización y la
estructura de una aplicación que satisfaga los diferentes
requisitos establecidos en la fase de análisis
• El resultado es uno (o varios) documentos de diseño que
especifican claramente cómo construir la aplicación
• Mientras que el análisis se ocupa de qué hay que hacer, el
diseño se ocupa de cómo hacerlo
• Hay varias técnicas de diseño, en la actualidad se utiliza
UML a través de algunos de los diagramas propuestos
Ciclo de vida del software
Diseño
Universidad Andrés Bello
• Actividad en la que se construye (codifica) la aplicación
utilizando un lenguaje de programación concreto, y
siguiendo, las directrices marcadas por los documentos de
diseño
• Si las actividades anteriores han sido realizadas
correctamente, la fase de implementación debería ser
bastante trivial
• La implementación se encarga de concretar el diseño
teniendo en cuenta un lenguaje y herramienta de
desarrollo concreta
Ciclo de vida del software
Implementación
Universidad Andrés Bello
• Actividad en la que se asegura que la aplicación construida
satisface los requisitos del usuario
• Se debe invertir mucho tiempo en hacer pruebas (mucho
más que en su implementación!)
• Dos pasos diferenciados
• Verificación: ¿Se ajusta la aplicación construida a los requisitos
establecidos?
• Validación: ¿Resuelve la aplicación el problema que realmente tenía
el usuario?
Ciclo de vida del software
Pruebas
Universidad Andrés Bello
Actividad en la que la aplicación se modifica para satisfacer
cambios o ampliaciones en los requisitos del usuario, corregir
errores, etc.
Es la actividad más costosa en el desarrollo de software
(Consisderar que hay programas que están muchos años en
funcionamiento y lo usan miles de personas)
Estos costes pueden aliviarse si se hacen bien todo lo
anterior
Ciclo de vida del software
Mantenimiento
Universidad Andrés Bello
Consideraciones
• Una solución informática no consiste sólo en programar.
• Se requiere conocer cuáles son las necesidades del cliente.
– Identificar los requisitos, anotarlos, analizarlos, validarlos, etc.
• Diseñar una solución y definir de que manera se realizará el
software, es decir confeccionar los “planos” del software:
– Diseño de la arquitectura, detallado, de datos, …
• Asegurarse de que el software funciona:
– Pruebas de unidad (a nivel de método y clase), de integración, del
sistema de aceptación etc. sistema, de aceptación, etc.
• Mantener coherencia entre las fase por las fases que componen el
desarrollo de software
Universidad Andrés Bello
Metodologías de desarrollo de software
Modelos de construcción por prototipos
• Este paradigma se basa en la producción de una versión
operacional del software, para un conjunto de requisitos
limitado (excluyéndose parte de la funcionalidad).
• El prototipado consiste en la construcción de modelos de
prueba, que simulen el funcionamiento que se pretende
conseguir en el sistema.
• Los prototipos pueden ser:
Ligeros: dibujos de pantallas de interfaz con simulación de
funcionamiento por enlaces a otros dibujos…
Operativos: Módulos de software con funcionamiento propio
que se desarrollan sin cubrir las funcionalidades completas del
sistema, normalmente en entornos RAD (rapid application
development”.
Universidad Andrés Bello
Metodologías de desarrollo de software
Modelos de construcción por prototipos
Esta forma de trabajo previo suele tener como principal objetivo la
experimentación con un entorno similar al deseado, para obtener
retro-información del usuario o cliente que ayuda a los
desarrolladores en la obtención de los requisitos.
Aunque ofrece muchas ventajas, deben conocerse los riesgos que
implica el uso de prototipado:
 Como puede parecer que se ha desarrollado un interfaz de usuario
sofisticado y elaborado, el cliente puede llegar a pensar que ya se ha
realizado el grueso del trabajo.
 Si se trata de un prototipo operativo, puede empezar a crecer al
margen de la planificación, más allá de los objetivos previstos,
desbordando agendas y recursos.
 Si se trata de un prototipo ligero desarrollado fuera del departamento
de desarrollo (ej. Marketing), puede mostrar al cliente funcionalidades
no implementables.
 El prototipo puede llegar a ofrecer funcionalidades superiores a lo
conseguible, por estar construido en un entorno diferente al de
desarrollo, o no incluir toda la funcionalidad del sistema.
Universidad Andrés Bello
Metodologías de desarrollo de software
Modelos de construcción por prototipos
Universidad Andrés Bello
Metodologías de desarrollo de software
Modelos de construcción por prototipos
Prototipo Evolutivo
Universidad Andrés Bello
Metodologías de desarrollo de software
Modelos de construcción por prototipos
Ventajas:
• Los usuarios tienen la posibilidad de interactuar con el
prototipo y realimentar a los desarrolladores.
• Para los usuarios es mas confortable enfrentarse a un
prototipo que a una especificación (mayor identificación).
• Decrece el esfuerzo de desarrollo entre un 40% y un 70%.
Un diseño rápido es posible cuando los requisitos son claros.
Universidad Andrés Bello
Metodologías de desarrollo de software
Modelos de construcción por prototipos
Desventajas:
• Se puede adicionar funcionalidad intrascendente bajo presiones de
uso normal.
• Posibilidad de pensar que es en sí una especificación (sólo es parte).
• Puede demostrar funcionalidad que no es posible bajo apremios
reales.
• El usuario puede creer que tiene frente a sí el sistema completo y
operable.
• Posibilidad de subestimar el proyecto, ya que las salidas están
pronto disponibles.
Universidad Andrés Bello
Metodologías de desarrollo de software
Modelo Espiral
Universidad Andrés Bello
Metodologías de desarrollo de software
Modelo Espiral
Espiral
Definido por Boehm en 1988, presenta un desarrollo evolutivo, en contraste a
la linealidad del cascada. También introduce como elemento distintivo la
actividad de “análisis de riesgo” para guiar la evolución del proceso de
desarrollo.
El ciclo de iteración de este modelo evolutivo se convierte en una espiral, que
al representarse sobre ejes cartesianos muestra en cada cuadrante una clase
particular de actividad: Planificación, Análisis de riesgo, Ingeniería y
Evaluación, que se suceden de forma consecutiva a lo largo del ciclo de vida
del desarrollo. La dimensión angular representa el avance relativo en el
desarrollo de las actividades de cada cuadrante. En cada ciclo de la espiral se
realiza una parte del desarrollo total, a través de los cuatro tipos de
actividades.
En la planificación de cada vuelta se establece el contexto del desarrollo y se
decide qué parte del mismo se abordará en el ciclo siguiente.
Las actividades de análisis de riesgo evalúan las alternativas posibles para la
ejecución de la siguiente parte del desarrollo, seleccionando la más ventajosa
y previendo los riesgos posibles.
Universidad Andrés Bello
Metodologías de desarrollo de software
Modelo Espiral
Espiral
Las actividades de ingeniería corresponden a las indicadas en los modelos
lineales (secuencial y cascada): análisis, diseño, codificación, etc.
Las actividades de evaluación analizan los resultados de la fase de ingeniería,
tomando el resultado de la evaluación como punto de partida para el análisis
de la siguiente fase.
Este modelo permite múltiples combinaciones ya que en la planificación de
cada ciclo se determina el avance que se va a ejecutar durante la vuelta,
puede consistir en la obtención y validación de requisitos, o en el desarrollo
del diseño, o el diseño junto con la codificación, o en la obtención de un
subsistema completo (cascada de requisitos  diseño, codificación, pruebas e
integración).
En función de las combinaciones empleadas se podría argumentar que un
desarrollo en espiral puede acabar siendo idéntico a otro modelo. Así por
ejemplo si cada vuelta realizase exactamente una de las fases del modelo en
cascada, al final se podría argumentar que se ha seguido una cascada. Si por
el contrario en cada vuelta se desarrollara una parte del sistema global, se
podría decir que se ha seguido no un modelo de ciclo de desarrollo, sino de
ciclo de vida, y concretamente el modelo incremental.
Universidad Andrés Bello
Metodologías de desarrollo de software
Modelo Espiral
Ventajas:
• Demanda una consideración directa de los riesgos técnicos
en todas las etapas del proyecto.
• Permite la utilización de la creación de prototipos como un
mecanismo de reducción del riesgo.
• Permite utilizar el enfoque de creación de prototipos en
cualquier etapa de evolución del producto.
Desventajas
• Criticidad del análisis de riesgo
• Difícil de “vender” como algo controlable
Universidad Andrés Bello
Metodologías de desarrollo de software
Consideraciones para aplicar un ciclo de vida
Al iniciar el proyecto, el responsable de la arquitectura de procesos debe
realizar los siguientes pasos:
 Análisis de las circunstancias ambientales del proyecto.
 Diseño del modelo específico de ciclo de vida para el proyecto (sobre las bases de
los diseños más apropiados, para el desarrollo y la evolución del sistema de
software.
 Mapeo de las actividades sobre el modelo.
 Desarrollo del plan para la gestión del ciclo de vida del proyecto.
Debe considerar aspectos como:
 Posibilidad de descomposición del sistema en subsistemas de software, con
agendas y entregas diferenciadas.
 Estabilidad esperada de los requisitos.
 Novedad del proceso o procesos gestionados por el sistema en el entorno del
cliente.
 Criticidad de las agendas y presupuestos.
 Grado de complejidad del interfaz de operación, criticidad de la usabilidad.
 Grado de conocimiento y familiaridad con el entorno de desarrollo, componentes
externos empleados, etc.
Universidad Andrés Bello
Que Modelo a utilizar
Proyecto de software
Un proyecto es una organización transitoria de individuos
dedicados a alcanzar un objetivo especifico dentro de un
periodo de tiempo, un presupuesto, y un objetivo técnico.
Un proyecto:
• Tiene un principio y un fin.
• Debe de tener un objetivo (debe de ser medible).
• Requiere de un líder y de un equipo.
Por lo tanto, podemos indicar que:
• Es Temporal y Único, ya que involucra hacer algo
que no se ha hecho antes.
Universidad Andrés Bello
Que Modelo a utilizar
Que modelo usamos
• Dado que cada proyecto es único, no existe un modelo que
se aplique al 100% a todos los proyectos de una
organización.
• Una organización puede contar con uno o más modelos de
desarrollo para ser utilizados dependiendo del tipo de
proyecto.
• El modelo seleccionado tendrá influencia en el éxito del
proyecto y en el tipo de decisiones que se deberán hacer.
Universidad Andrés Bello
Que Modelo a utilizar
Como sabremos cual es el más adecuado
Para seleccionar el modelo a adoptar habrá que
hacerse una serie de cuestionamientos:
– ¿Qué tantos son los riesgos del proyecto?
– ¿Qué tan claros están los requerimientos?
– ¿Se conoce bien la tecnología ha utilizar?
– ¿Visibilidad que requiere el proyecto?
– ¿Qué tanta planeación hacia adelante es requerida?
– ¿Qué restricciones se tienen?
Universidad Andrés Bello
Que Modelo a utilizar
Criterios de éxito
• Contar con un modelo debidamente documentado. (entradas,
salidas, entregables, aprobaciones)
• Los documentos deben de estar actualizados.
• La gente que participa en el proyecto debe estar capacitada en su
uso.
• Se debe de reforzar el uso del modelo mediante auditorias y
revisiones.
• La alta gerencia debe soportar la utilización de un modelo.
• Cualquier desviación al modelo debe ser documentada y aprobada.
• Se debe de medir la eficiencia del modelo.
• Retroalimentar y ajustar.
Universidad Andrés Bello
Que Modelo a utilizar
Lecciones aprendidas por el profesor
• No existe una formula que indique cual es el modelo más
adecuado, Ud. debe ser capaz de definir el más apropiado, de
acuerdo al proyecto. Ningún proyecto es igual a otro.
• Un modelo no plantea un solución única, complementar modelos
puede ser la mejor solución.
Universidad Andrés Bello
Fases del Análisis OO
• Centrarse en el “qué”.
• Identificar los requisitos: documentos de análisis.
– Entrevistas.
– Identificar requisitos funcionales y no funcionales (ej.:
rendimiento, fiabilidad)
• Especificar los requisitos: documento de especificación de requisitos.
– Documentos técnicos. Organización y clasificación de los
requisitos.
• Analizar: Modelos de análisis.
– Estudio de posibles escenarios: casos de uso.
– Otras técnicas: fichas CRC, orientados al flujo, etc.
• Validar
Universidad Andrés Bello
Fases del Análisis OO
– La especificación de
requisitos describe el
sistema, en lenguaje
natural.
– Sirve de comunicación
entre desarrolladores y
clientes, “contrato”.
– El modelo de análisis usa
notación formal (ej.: Z,
Alloy) o semi-formal).
– Sirve de comunicación
entre desarrolladores.
Universidad Andrés Bello
Modelos de Análisis OO

Weitere ähnliche Inhalte

Was ist angesagt?

Trabajo de Análisis y Diseños de Sistemas
Trabajo de Análisis y Diseños de SistemasTrabajo de Análisis y Diseños de Sistemas
Trabajo de Análisis y Diseños de SistemasFreddy Ramos
 
1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...
1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...
1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...Juan Morales
 
Modelado de sistemas software
Modelado de sistemas softwareModelado de sistemas software
Modelado de sistemas softwareJavier Ramírez
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetoshector_h30
 
Ingeniería de software II - Parte 4
Ingeniería de software II - Parte 4Ingeniería de software II - Parte 4
Ingeniería de software II - Parte 4Marta Silvia Tabares
 
etapas del análisis,diseño y programacion orientada a objetos
etapas del análisis,diseño y programacion orientada a objetosetapas del análisis,diseño y programacion orientada a objetos
etapas del análisis,diseño y programacion orientada a objetos222415
 
DiseñO Orientado A Objetos
DiseñO Orientado A ObjetosDiseñO Orientado A Objetos
DiseñO Orientado A ObjetosFrancisco Godoy
 
Metodologias para el analisis y diseño de sistemas
Metodologias para el analisis y diseño de sistemasMetodologias para el analisis y diseño de sistemas
Metodologias para el analisis y diseño de sistemasFrancisco Gómez
 
Metodología para el desarrollo del sistemas de información y comunicación seg...
Metodología para el desarrollo del sistemas de información y comunicación seg...Metodología para el desarrollo del sistemas de información y comunicación seg...
Metodología para el desarrollo del sistemas de información y comunicación seg...travesuras79
 
Herramientas de Desarrollo de Software
Herramientas de Desarrollo de SoftwareHerramientas de Desarrollo de Software
Herramientas de Desarrollo de SoftwareTe Amo Gabriel
 
Análisis orientado a objetos y uml
Análisis orientado a objetos y umlAnálisis orientado a objetos y uml
Análisis orientado a objetos y umlSena
 
Arquitectura software.taxonomias.comportamiento.001
Arquitectura software.taxonomias.comportamiento.001Arquitectura software.taxonomias.comportamiento.001
Arquitectura software.taxonomias.comportamiento.001Jose Emilio Labra Gayo
 
MODELADO RUP UML
MODELADO RUP UMLMODELADO RUP UML
MODELADO RUP UMLkcastro388
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 

Was ist angesagt? (20)

Trabajo de Análisis y Diseños de Sistemas
Trabajo de Análisis y Diseños de SistemasTrabajo de Análisis y Diseños de Sistemas
Trabajo de Análisis y Diseños de Sistemas
 
1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...
1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...
1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...
 
Modelado de sistemas software
Modelado de sistemas softwareModelado de sistemas software
Modelado de sistemas software
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
 
Ingeniería de software II - Parte 4
Ingeniería de software II - Parte 4Ingeniería de software II - Parte 4
Ingeniería de software II - Parte 4
 
etapas del análisis,diseño y programacion orientada a objetos
etapas del análisis,diseño y programacion orientada a objetosetapas del análisis,diseño y programacion orientada a objetos
etapas del análisis,diseño y programacion orientada a objetos
 
DiseñO Orientado A Objetos
DiseñO Orientado A ObjetosDiseñO Orientado A Objetos
DiseñO Orientado A Objetos
 
Metodologías de desarrollo orientado a objetos
Metodologías de desarrollo orientado a objetosMetodologías de desarrollo orientado a objetos
Metodologías de desarrollo orientado a objetos
 
Estructura de casos de uso
Estructura de casos de usoEstructura de casos de uso
Estructura de casos de uso
 
Análisis y diseño orientado a objetos
Análisis y diseño orientado a objetosAnálisis y diseño orientado a objetos
Análisis y diseño orientado a objetos
 
Metodologia
MetodologiaMetodologia
Metodologia
 
Metodologias para el analisis y diseño de sistemas
Metodologias para el analisis y diseño de sistemasMetodologias para el analisis y diseño de sistemas
Metodologias para el analisis y diseño de sistemas
 
Metodología CommonKADS
Metodología CommonKADSMetodología CommonKADS
Metodología CommonKADS
 
Metodología para el desarrollo del sistemas de información y comunicación seg...
Metodología para el desarrollo del sistemas de información y comunicación seg...Metodología para el desarrollo del sistemas de información y comunicación seg...
Metodología para el desarrollo del sistemas de información y comunicación seg...
 
Herramientas de Desarrollo de Software
Herramientas de Desarrollo de SoftwareHerramientas de Desarrollo de Software
Herramientas de Desarrollo de Software
 
Análisis orientado a objetos y uml
Análisis orientado a objetos y umlAnálisis orientado a objetos y uml
Análisis orientado a objetos y uml
 
Arquitectura software.taxonomias.comportamiento.001
Arquitectura software.taxonomias.comportamiento.001Arquitectura software.taxonomias.comportamiento.001
Arquitectura software.taxonomias.comportamiento.001
 
Clase 04 diseno_ui
Clase 04 diseno_uiClase 04 diseno_ui
Clase 04 diseno_ui
 
MODELADO RUP UML
MODELADO RUP UMLMODELADO RUP UML
MODELADO RUP UML
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 

Ähnlich wie Mod 6.2 introducción al análisis

Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfBibliotecaenlineaUNI
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de softwareAbner Garcia
 
Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de softJazmin Cr
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadXKWDX
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de softwareUVM
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaamendez45
 
Trabajo de sistemas de software
Trabajo de sistemas de softwareTrabajo de sistemas de software
Trabajo de sistemas de softwareJhonJairoPerez
 
1. ciclo de_vida_de_software
1. ciclo de_vida_de_software1. ciclo de_vida_de_software
1. ciclo de_vida_de_softwareMiguel Castro
 
Ciclo de Vida del Software.pdf
Ciclo de Vida del Software.pdfCiclo de Vida del Software.pdf
Ciclo de Vida del Software.pdfyormis3
 
Ciclosdevidadelsoftware
CiclosdevidadelsoftwareCiclosdevidadelsoftware
CiclosdevidadelsoftwareJuan Quiroga
 
Libro de ciclos de vida de un software
Libro de ciclos de vida de un softwareLibro de ciclos de vida de un software
Libro de ciclos de vida de un softwareDarketo Galindo
 
Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3Bruno
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de softwareRadel Fuentes
 
Análisis de Sistemas
Análisis de SistemasAnálisis de Sistemas
Análisis de SistemasT.I.C
 
PROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREPROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREAlejandro Leon
 

Ähnlich wie Mod 6.2 introducción al análisis (20)

Modelos del software
Modelos del softwareModelos del software
Modelos del software
 
Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdf
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
 
Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de soft
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidad
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaa
 
Trabajo de sistemas de software
Trabajo de sistemas de softwareTrabajo de sistemas de software
Trabajo de sistemas de software
 
1. ciclo de_vida_de_software
1. ciclo de_vida_de_software1. ciclo de_vida_de_software
1. ciclo de_vida_de_software
 
Ciclo de Vida del Software.pdf
Ciclo de Vida del Software.pdfCiclo de Vida del Software.pdf
Ciclo de Vida del Software.pdf
 
Ciclosdevidadelsoftware
CiclosdevidadelsoftwareCiclosdevidadelsoftware
Ciclosdevidadelsoftware
 
Capitulogratis
CapitulogratisCapitulogratis
Capitulogratis
 
Modelos
ModelosModelos
Modelos
 
Libro de ciclos de vida de un software
Libro de ciclos de vida de un softwareLibro de ciclos de vida de un software
Libro de ciclos de vida de un software
 
Ciclo de Vida de un Software.pdf
Ciclo de Vida de un Software.pdfCiclo de Vida de un Software.pdf
Ciclo de Vida de un Software.pdf
 
Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
 
RUP
RUPRUP
RUP
 
Análisis de Sistemas
Análisis de SistemasAnálisis de Sistemas
Análisis de Sistemas
 
PROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREPROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWARE
 

Mehr von Pedro Montecinos Gaete

Mehr von Pedro Montecinos Gaete (6)

Modelo en cascada pemo
Modelo en cascada pemoModelo en cascada pemo
Modelo en cascada pemo
 
Mod control algoritmo 2017
Mod control algoritmo 2017Mod control algoritmo 2017
Mod control algoritmo 2017
 
3_Orientación a objeto
3_Orientación a objeto3_Orientación a objeto
3_Orientación a objeto
 
Mod 1 introducción a la programación
Mod 1 introducción a la programaciónMod 1 introducción a la programación
Mod 1 introducción a la programación
 
Mod 2 algoritmos
Mod 2 algoritmosMod 2 algoritmos
Mod 2 algoritmos
 
Nomenclatura manual bpmn 2.0
Nomenclatura manual bpmn 2.0Nomenclatura manual bpmn 2.0
Nomenclatura manual bpmn 2.0
 

Kürzlich hochgeladen

SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)veganet
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfEDILIAGAMBOA
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 

Kürzlich hochgeladen (20)

SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdf
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 

Mod 6.2 introducción al análisis

  • 1. 03-23-05 Universidad Andrés Bello Facultad de Ingeniería Modelamiento de Sistemas
  • 2. Universidad Andrés Bello Metodologías de desarrollo de software Definición • Conjunto de pasos y procedimientos que deben seguirse para el desarrollo de software. • Conjunto de filosofías, fases, procedimientos, reglas, técnicas, herramientas, documentación y aspectos de formación para los desarrolladores de SI [Maddison, 1983] • Conjunto de procedimientos, técnicas, herramientas y soporte documental que ayuda a los desarrolladores a realizar nuevo software
  • 3. Universidad Andrés Bello Metodologías de desarrollo de software Definición • Un metodología de desarrollo por lo tanto representa el camino a seguir para desarrollar software de manera sistemática y persigue algunos de los siguientes objetivos: • Mejores Aplicaciones • Un mejor Proceso de Desarrollo que identifique salidas (o productos intermedios) de cada fase de forma que se pueda planificar y controlar el proyecto • Contar con un proceso Estándar en la organización
  • 4. Universidad Andrés Bello Metodologías de desarrollo de software Definición • En la actualidad debiéramos contar con metodologías que nos permitan resolver los problemas del desarrollo de software y que debieran contar con. – Técnicas de desarrollo que minimicen la complejidad de un sistema software. – Métodos y conceptos que permitan al productor y al cliente explorar la naturaleza del sistema software lo antes posible. – Técnicas que minimicen los efectos devastadores de las modificaciones durante el desarrollo y la explotación.
  • 5. Universidad Andrés Bello Metodologías de desarrollo de software Metodología vs Ciclo de vida • Existen varias diferencias entre Metodología, Ciclo de Vida y Método – Una Metodología puede ser aplicada a uno o varios modelos de Ciclo de Vida – Un Ciclo de Vida indica qué obtener, pero no cómo – Una Metodología es un concepto más amplio que Método , se puede considerar como un conjunto de métodos. Una metodología puede incluir un conjunto de métodos (de análisis, diseño, programación, etc.) para abarcar el ciclo de vida completo
  • 6. Universidad Andrés Bello Metodologías de desarrollo de software Ciclo de vida El marco del ciclo de vida del software cubre desde la conceptuación de las ideas iniciales del producto hasta el fin de su uso (retirada).
  • 7. Universidad Andrés Bello Ciclo de vida del software Análisis Diseño Implementación Pruebas Mantenimiento
  • 8. Universidad Andrés Bello Metodologías de desarrollo de software Modelo Lineal o secuencial Análisis Diseño Implementación Pruebas Mantenimiento
  • 9. Universidad Andrés Bello Metodologías de desarrollo de software Modelo Lineal o secuencial Este modelo refleja un desarrollo marcado por la sucesión escalonada de las etapas que lo componen. Es necesario terminar por completo cada etapa para pasar a la siguiente Este modelo, identificado ya a principios de la década de los 50, resulta muy rígido porque cada fase requiere como elemento de entrada el resultado completo de la anterior. Al aplicarlo en situaciones reales su rigidez genera problemas, porque muchas veces resulta difícil poder disponer de requisitos completos o del diseño pormenorizado del sistema en las fases iniciales. Resulta apropiado para:  Desarrollar nuevas versiones de sistemas legados en los que el desconocimiento de las necesidades de los usuarios, o del entorno de operación no plantea riesgos.  Sistemas pequeños, sin previsión de evolución a corto plazo. El modelo prácticamente idéntico, que evita esta rigidez es el de cascada.
  • 10. Universidad Andrés Bello Metodologías de desarrollo de software Modelo en cascada Cascada
  • 11. Universidad Andrés Bello Metodologías de desarrollo de software Modelo en cascada
  • 12. Universidad Andrés Bello Metodologías de desarrollo de software Modelos del ciclo de vida Cascada • En 1970 Winston Royce definió flujos de retorno sobre el modelo secuencial, acuñando así el modelo en cascada. • Refleja la necesidad real de retornar desde una fase hacia las anteriores con la información generada al avanzar el desarrollo. • Un representaciones permite retorno posible entre una fase y la anterior, el otra permite el retorno en cualquier fase para modificar cualquiera de las anteriores. • Reconoce la importancia de disponer de los requisitos y diseño antes de comenzar con la codificación del sistema, lo anterior puede actuar como una barrera que bloquee el comienzo de la siguiente fase. • Se puede caer en la tentación de comenzar con el diseño o incluso con la codificación, sin tener un conocimiento suficiente de los requisitos. • Resulta apropiado para:  Desarrollar nuevas versiones de sistemas legados en los que el desconocimiento de las necesidades de los usuarios, o del entorno de operación no plantean riesgos.  Sistemas pequeños, sin previsión de evolución a corto plazo.
  • 13. Universidad Andrés Bello Metodologías de desarrollo de software Consideraciones • Aportes – Muy utilizado para adaptaciones o mejoras de sistemas existentes. – Útil cuando los requisitos están fijos. • Desmedros – Es raro que los proyectos reales sigan el flujo secuencial. – Es difícil que el cliente sepa de manera explícita todos los requisitos de manera explícita. – El cliente debe tener paciencia.
  • 14. Universidad Andrés Bello Actividad en la que se analizan y clarifican los diferentes aspectos del problema que debe ser resuelto por la aplicación, con el fin de establecer claramente qué debe ser construido El resultado es, normalmente, un documento de requisitos software que especifica claramente las funcionalidades de la aplicación Ciclo de vida del software Análisis
  • 15. Universidad Andrés Bello • Actividad en la que se decide la organización y la estructura de una aplicación que satisfaga los diferentes requisitos establecidos en la fase de análisis • El resultado es uno (o varios) documentos de diseño que especifican claramente cómo construir la aplicación • Mientras que el análisis se ocupa de qué hay que hacer, el diseño se ocupa de cómo hacerlo • Hay varias técnicas de diseño, en la actualidad se utiliza UML a través de algunos de los diagramas propuestos Ciclo de vida del software Diseño
  • 16. Universidad Andrés Bello • Actividad en la que se construye (codifica) la aplicación utilizando un lenguaje de programación concreto, y siguiendo, las directrices marcadas por los documentos de diseño • Si las actividades anteriores han sido realizadas correctamente, la fase de implementación debería ser bastante trivial • La implementación se encarga de concretar el diseño teniendo en cuenta un lenguaje y herramienta de desarrollo concreta Ciclo de vida del software Implementación
  • 17. Universidad Andrés Bello • Actividad en la que se asegura que la aplicación construida satisface los requisitos del usuario • Se debe invertir mucho tiempo en hacer pruebas (mucho más que en su implementación!) • Dos pasos diferenciados • Verificación: ¿Se ajusta la aplicación construida a los requisitos establecidos? • Validación: ¿Resuelve la aplicación el problema que realmente tenía el usuario? Ciclo de vida del software Pruebas
  • 18. Universidad Andrés Bello Actividad en la que la aplicación se modifica para satisfacer cambios o ampliaciones en los requisitos del usuario, corregir errores, etc. Es la actividad más costosa en el desarrollo de software (Consisderar que hay programas que están muchos años en funcionamiento y lo usan miles de personas) Estos costes pueden aliviarse si se hacen bien todo lo anterior Ciclo de vida del software Mantenimiento
  • 19. Universidad Andrés Bello Consideraciones • Una solución informática no consiste sólo en programar. • Se requiere conocer cuáles son las necesidades del cliente. – Identificar los requisitos, anotarlos, analizarlos, validarlos, etc. • Diseñar una solución y definir de que manera se realizará el software, es decir confeccionar los “planos” del software: – Diseño de la arquitectura, detallado, de datos, … • Asegurarse de que el software funciona: – Pruebas de unidad (a nivel de método y clase), de integración, del sistema de aceptación etc. sistema, de aceptación, etc. • Mantener coherencia entre las fase por las fases que componen el desarrollo de software
  • 20. Universidad Andrés Bello Metodologías de desarrollo de software Modelos de construcción por prototipos • Este paradigma se basa en la producción de una versión operacional del software, para un conjunto de requisitos limitado (excluyéndose parte de la funcionalidad). • El prototipado consiste en la construcción de modelos de prueba, que simulen el funcionamiento que se pretende conseguir en el sistema. • Los prototipos pueden ser: Ligeros: dibujos de pantallas de interfaz con simulación de funcionamiento por enlaces a otros dibujos… Operativos: Módulos de software con funcionamiento propio que se desarrollan sin cubrir las funcionalidades completas del sistema, normalmente en entornos RAD (rapid application development”.
  • 21. Universidad Andrés Bello Metodologías de desarrollo de software Modelos de construcción por prototipos Esta forma de trabajo previo suele tener como principal objetivo la experimentación con un entorno similar al deseado, para obtener retro-información del usuario o cliente que ayuda a los desarrolladores en la obtención de los requisitos. Aunque ofrece muchas ventajas, deben conocerse los riesgos que implica el uso de prototipado:  Como puede parecer que se ha desarrollado un interfaz de usuario sofisticado y elaborado, el cliente puede llegar a pensar que ya se ha realizado el grueso del trabajo.  Si se trata de un prototipo operativo, puede empezar a crecer al margen de la planificación, más allá de los objetivos previstos, desbordando agendas y recursos.  Si se trata de un prototipo ligero desarrollado fuera del departamento de desarrollo (ej. Marketing), puede mostrar al cliente funcionalidades no implementables.  El prototipo puede llegar a ofrecer funcionalidades superiores a lo conseguible, por estar construido en un entorno diferente al de desarrollo, o no incluir toda la funcionalidad del sistema.
  • 22. Universidad Andrés Bello Metodologías de desarrollo de software Modelos de construcción por prototipos
  • 23. Universidad Andrés Bello Metodologías de desarrollo de software Modelos de construcción por prototipos Prototipo Evolutivo
  • 24. Universidad Andrés Bello Metodologías de desarrollo de software Modelos de construcción por prototipos Ventajas: • Los usuarios tienen la posibilidad de interactuar con el prototipo y realimentar a los desarrolladores. • Para los usuarios es mas confortable enfrentarse a un prototipo que a una especificación (mayor identificación). • Decrece el esfuerzo de desarrollo entre un 40% y un 70%. Un diseño rápido es posible cuando los requisitos son claros.
  • 25. Universidad Andrés Bello Metodologías de desarrollo de software Modelos de construcción por prototipos Desventajas: • Se puede adicionar funcionalidad intrascendente bajo presiones de uso normal. • Posibilidad de pensar que es en sí una especificación (sólo es parte). • Puede demostrar funcionalidad que no es posible bajo apremios reales. • El usuario puede creer que tiene frente a sí el sistema completo y operable. • Posibilidad de subestimar el proyecto, ya que las salidas están pronto disponibles.
  • 26. Universidad Andrés Bello Metodologías de desarrollo de software Modelo Espiral
  • 27. Universidad Andrés Bello Metodologías de desarrollo de software Modelo Espiral Espiral Definido por Boehm en 1988, presenta un desarrollo evolutivo, en contraste a la linealidad del cascada. También introduce como elemento distintivo la actividad de “análisis de riesgo” para guiar la evolución del proceso de desarrollo. El ciclo de iteración de este modelo evolutivo se convierte en una espiral, que al representarse sobre ejes cartesianos muestra en cada cuadrante una clase particular de actividad: Planificación, Análisis de riesgo, Ingeniería y Evaluación, que se suceden de forma consecutiva a lo largo del ciclo de vida del desarrollo. La dimensión angular representa el avance relativo en el desarrollo de las actividades de cada cuadrante. En cada ciclo de la espiral se realiza una parte del desarrollo total, a través de los cuatro tipos de actividades. En la planificación de cada vuelta se establece el contexto del desarrollo y se decide qué parte del mismo se abordará en el ciclo siguiente. Las actividades de análisis de riesgo evalúan las alternativas posibles para la ejecución de la siguiente parte del desarrollo, seleccionando la más ventajosa y previendo los riesgos posibles.
  • 28. Universidad Andrés Bello Metodologías de desarrollo de software Modelo Espiral Espiral Las actividades de ingeniería corresponden a las indicadas en los modelos lineales (secuencial y cascada): análisis, diseño, codificación, etc. Las actividades de evaluación analizan los resultados de la fase de ingeniería, tomando el resultado de la evaluación como punto de partida para el análisis de la siguiente fase. Este modelo permite múltiples combinaciones ya que en la planificación de cada ciclo se determina el avance que se va a ejecutar durante la vuelta, puede consistir en la obtención y validación de requisitos, o en el desarrollo del diseño, o el diseño junto con la codificación, o en la obtención de un subsistema completo (cascada de requisitos  diseño, codificación, pruebas e integración). En función de las combinaciones empleadas se podría argumentar que un desarrollo en espiral puede acabar siendo idéntico a otro modelo. Así por ejemplo si cada vuelta realizase exactamente una de las fases del modelo en cascada, al final se podría argumentar que se ha seguido una cascada. Si por el contrario en cada vuelta se desarrollara una parte del sistema global, se podría decir que se ha seguido no un modelo de ciclo de desarrollo, sino de ciclo de vida, y concretamente el modelo incremental.
  • 29. Universidad Andrés Bello Metodologías de desarrollo de software Modelo Espiral Ventajas: • Demanda una consideración directa de los riesgos técnicos en todas las etapas del proyecto. • Permite la utilización de la creación de prototipos como un mecanismo de reducción del riesgo. • Permite utilizar el enfoque de creación de prototipos en cualquier etapa de evolución del producto. Desventajas • Criticidad del análisis de riesgo • Difícil de “vender” como algo controlable
  • 30. Universidad Andrés Bello Metodologías de desarrollo de software Consideraciones para aplicar un ciclo de vida Al iniciar el proyecto, el responsable de la arquitectura de procesos debe realizar los siguientes pasos:  Análisis de las circunstancias ambientales del proyecto.  Diseño del modelo específico de ciclo de vida para el proyecto (sobre las bases de los diseños más apropiados, para el desarrollo y la evolución del sistema de software.  Mapeo de las actividades sobre el modelo.  Desarrollo del plan para la gestión del ciclo de vida del proyecto. Debe considerar aspectos como:  Posibilidad de descomposición del sistema en subsistemas de software, con agendas y entregas diferenciadas.  Estabilidad esperada de los requisitos.  Novedad del proceso o procesos gestionados por el sistema en el entorno del cliente.  Criticidad de las agendas y presupuestos.  Grado de complejidad del interfaz de operación, criticidad de la usabilidad.  Grado de conocimiento y familiaridad con el entorno de desarrollo, componentes externos empleados, etc.
  • 31. Universidad Andrés Bello Que Modelo a utilizar Proyecto de software Un proyecto es una organización transitoria de individuos dedicados a alcanzar un objetivo especifico dentro de un periodo de tiempo, un presupuesto, y un objetivo técnico. Un proyecto: • Tiene un principio y un fin. • Debe de tener un objetivo (debe de ser medible). • Requiere de un líder y de un equipo. Por lo tanto, podemos indicar que: • Es Temporal y Único, ya que involucra hacer algo que no se ha hecho antes.
  • 32. Universidad Andrés Bello Que Modelo a utilizar Que modelo usamos • Dado que cada proyecto es único, no existe un modelo que se aplique al 100% a todos los proyectos de una organización. • Una organización puede contar con uno o más modelos de desarrollo para ser utilizados dependiendo del tipo de proyecto. • El modelo seleccionado tendrá influencia en el éxito del proyecto y en el tipo de decisiones que se deberán hacer.
  • 33. Universidad Andrés Bello Que Modelo a utilizar Como sabremos cual es el más adecuado Para seleccionar el modelo a adoptar habrá que hacerse una serie de cuestionamientos: – ¿Qué tantos son los riesgos del proyecto? – ¿Qué tan claros están los requerimientos? – ¿Se conoce bien la tecnología ha utilizar? – ¿Visibilidad que requiere el proyecto? – ¿Qué tanta planeación hacia adelante es requerida? – ¿Qué restricciones se tienen?
  • 34. Universidad Andrés Bello Que Modelo a utilizar Criterios de éxito • Contar con un modelo debidamente documentado. (entradas, salidas, entregables, aprobaciones) • Los documentos deben de estar actualizados. • La gente que participa en el proyecto debe estar capacitada en su uso. • Se debe de reforzar el uso del modelo mediante auditorias y revisiones. • La alta gerencia debe soportar la utilización de un modelo. • Cualquier desviación al modelo debe ser documentada y aprobada. • Se debe de medir la eficiencia del modelo. • Retroalimentar y ajustar.
  • 35. Universidad Andrés Bello Que Modelo a utilizar Lecciones aprendidas por el profesor • No existe una formula que indique cual es el modelo más adecuado, Ud. debe ser capaz de definir el más apropiado, de acuerdo al proyecto. Ningún proyecto es igual a otro. • Un modelo no plantea un solución única, complementar modelos puede ser la mejor solución.
  • 36. Universidad Andrés Bello Fases del Análisis OO • Centrarse en el “qué”. • Identificar los requisitos: documentos de análisis. – Entrevistas. – Identificar requisitos funcionales y no funcionales (ej.: rendimiento, fiabilidad) • Especificar los requisitos: documento de especificación de requisitos. – Documentos técnicos. Organización y clasificación de los requisitos. • Analizar: Modelos de análisis. – Estudio de posibles escenarios: casos de uso. – Otras técnicas: fichas CRC, orientados al flujo, etc. • Validar
  • 37. Universidad Andrés Bello Fases del Análisis OO – La especificación de requisitos describe el sistema, en lenguaje natural. – Sirve de comunicación entre desarrolladores y clientes, “contrato”. – El modelo de análisis usa notación formal (ej.: Z, Alloy) o semi-formal). – Sirve de comunicación entre desarrolladores.