SlideShare uma empresa Scribd logo
1 de 28
El modelo 
del proceso del Software
Conceptualización de Tecnología 
Orientada a Objetos 
La Tecnología Orientada a Objetos es un nuevo enfoque 
sobre la manera de organizar las diferentes piezas que 
componen un sistema de información (software), como 
en el hardware (equipo físico), la base de datos e incluso, 
en organizaciones todas estas piezas se denominan 
"objetos", los cuales son pequeños subsistemas 
independientes con datos propios sobre estos elementos 
y sus clases y tipos, rigen tales propiedades como 
herencia, comunicación con lenguajes, polimorfismos y 
otros que en conjunto permiten ventajas prácticas.
 La TOO se fundamenta en el proceso de construcción y 
utilización de conocimientos, por lo tanto, objetos y clases 
son los pasos más importantes en la búsqueda de una 
nueva revolución que reemplace, esta vez, parte del 
esfuerzo que implica la organización y utilización del 
conocimiento, del mismo modo que en la primera, las 
máquinas reemplazaron el esfuerzo físico del hombre y de 
los animales, permitiendo el vertiginoso avance del mundo. 
 En Tecnología Orientado a Objetos (TOO) a los conceptos se 
les llama objetos, en consecuencia, los OBJETOS son 
MODELOS de entes del mundo real. Los percibimos porque 
tienen límites que los esperan de su medio ambiente y de 
los demás (IDENTIDAD). Se encuentran en un ESTADO 
específico en el mundo.
Un objeto puede ser concreto (material)o 
abstracto (inmaterial), simple o complejo; pero 
siempre estará compuesto de DATOS y 
OPERACIONES. 
Ejemplos: 
Un libro, una factura, una organización 
Un avión, el vuelo de un avión, una reserva de 
avión 
Un icono en la pantalla, a la que se puede 
señalar y abrir
Metodologías emergentes de 
desarrollo de Software 
METODOLOGÍAS DE DESARROLLO 
En ingeniería de software es un marco de trabajo usado para estructurar, planificar y 
controlar el proceso de desarrollo en sistemas de información. 
Introducción 
 Una metodología de desarrollo de software se refiere a un framework que es 
usado para estructurar, planear y controlar el proceso de desarrollo en sistemas de 
información. A lo largo del tiempo, una gran cantidad de métodos han sido 
desarrollados diferenciándose por su fortaleza y debilidad. El framework para 
metodología de desarrollo de software consiste en: 
 Una filosofía de desarrollo de programas de computación con el enfoque del 
proceso de desarrollo de software Herramientas, modelos y métodos para asistir al 
proceso de desarrollo de software. Estos frameworks son a menudo vinculados a 
algún tipo de organización, que además desarrolla, apoya el uso y promueve la 
metodología. La metodología es a menudo documentada en algún tipo de 
documentación formal.
Cascada 
• Es un proceso secuencial de desarrollo en el 
que los pasos de desarrollo son vistos hacia 
abajo a través de las fases de análisis de las 
necesidades, el diseño, implementación, 
pruebas (validación), la integración, y 
mantenimiento.
Principios básicos del modelo de cascada : 
El proyecto está dividido en fases secuenciales. 
Hace hincapié en la planificación, los horarios, fechas, presupuestos y ejecución de 
todo un sistema de una sola vez. 
Un estricto control se mantiene durante la vida del proyecto a través de la utilización 
de una amplia documentación escrita, así como a través de comentarios y aprobación 
por el usuario y la tecnología de la información de gestión al final de la mayoría de las 
fases antes de comenzar la próxima fase. 
 Análisis de requisitos: En esta fase se analizan las necesidades de los usuarios 
finales del software para determinar qué objetivos debe cubrir. Se lleva acabo 
documento de especificación de requisitos que contiene la especificación 
completa de lo que debe hacer el sistema sin entrar en detalles internos. Es 
importante señalar que en esta etapa se debe consensuar todo lo que se requiere 
del sistema y será aquello lo que seguirá en las siguientes etapas, no pudiéndose 
requerir nuevos resultados a mitad del proceso de elaboración del software. 
 Diseño del Sistema: Descompone y organiza el sistema en elementos que puedan 
elaborarse por aprovechando las ventajas del desarrollo en equipo. Aquí surge un 
documento de Diseño del Software, que contiene la descripción de la estructura 
relacional global del sistema y la especificación de lo que debe hacer cada una de 
sus partes, así como la manera en que se combinan unas con otras.
 Diseño del Programa: Es la fase en donde se realizan los algoritmos 
necesarios para el cumplimiento de los requerimientos del usuario así 
como también los análisis necesarios para saber que herramientas usar en 
la etapa de Codificación. 
 Codificación: Es la fase en donde se implementa el código fuente, 
haciendo uso de prototipos así como de pruebas y ensayos para corregir 
errores. Dependiendo del lenguaje de programación y su versión se crean 
las bibliotecas y componentes reutilizables dentro del mismo proyecto 
para hacer que la programación sea un proceso mucho más rápido. 
 Pruebas: Los elementos, ya programados, se ensamblan para componer el 
sistema y se comprueba que funciona correctamente y que cumple con los 
requisitos, antes de ser entregado al usuario final. 
 Verificación: Es la fase en donde el usuario final ejecuta el sistema, para 
ello el o los programadores ya realizaron exhaustivas pruebas para 
comprobar que el sistema no falle. En la creación de desarrollo de cascada 
se implementa los códigos de investigación y pruebas del mismo 
 Mantenimiento: Una de las etapas más criticas, ya que se destina un 75% 
de los recursos, es el mantenimiento del Software ya que al utilizarlo 
como usuario final puede ser que no cumpla con todas nuestras 
expectativas.
Incremental 
Provee una estrategia para controlar la complejidad y los riesgos, 
desarrollando una parte del producto software reservando el resto de 
aspectos para el futuro. Los principios básicos son: 
 Una serie de mini-Cascadas se llevan a cabo, donde todas las fases 
de la cascada modelo de desarrollo se han completado para una 
pequeña parte de los sistemas, antes de proceder a la próxima 
incremental 
 Se definen los requisitos antes de proceder con lo evolutivo, se 
realiza un mini-Cascada de desarrollo de cada uno de los 
incrementos del sistema 
 El concepto inicial de software, análisis de las necesidades, y el 
diseño de la arquitectura y colectiva básicas se definen utilizando el 
enfoque de cascada, seguida por iterativo de prototipos, que 
culmina en la instalación del prototipo final.
Etapa de inicialización: Se crea una versión del sistema. 
La meta de esta etapa es crear un producto con el que el 
usuario pueda interactuar, y por ende retroalimentar el 
proceso. Debe ofrecer una muestra de los aspectos claves 
del problema y proveer una solución lo suficientemente 
simple para ser comprendida e implementada fácilmente. 
Para guiar el proceso de iteración se crea una lista de 
control de proyecto, que contiene un historial de todas 
las tareas que necesitan ser realizadas. Incluye cosas 
como nuevas funcionalidades para ser implementadas, y 
areas de rediseño de la solución ya existente. Esta lista de 
control se revisa periódica y constantemente como 
resultado de la fase de análisis.
Etapa de iteración: Esta etapa involucra el rediseño 
e implementación de una tarea de la lista de control 
de proyecto, y el análisis de la versión más reciente 
del sistema. La meta del diseño e implementación 
de cualquier iteración es ser simple, directa y 
modular, para poder soportar el rediseño de la 
etapa o como una tarea añadida a la lista de control 
de proyecto. 
Las modificaciones deben ser más fáciles de hacer 
conforme avanzan las iteraciones. Si no es así, hay 
un problema primordial usualmente encontrado en 
un diseño débil o en la proliferación excesiva de 
parches al sistema( los parches son necesarios solo 
para evitar el rediseño del sistema).
Evolutivo 
El modelo Evolutivo conocido también como 
incremental e iterativo, consiste en hacer la 
documentación de las fases, realizando un 
prototipo del sistema, se evalúa el qué tan lejos 
el prototipo está de la solución final esperada 
por el cliente; se toman en cuenta las 
observaciones de esta evaluación, y se crea un 
nuevo prototipo que las incluya. Esto se hace 
con el fin de cumplir los requerimientos 
establecidos.
 La ventaja es que es ideal para sistemas que no tiene 
bien definidos los requerimientos, es decir, para la 
mayoría de los sistemas que se desarrollan. El cliente 
desde el principio tiene una idea de los requerimientos 
de su sistema, pero no están claros hasta el último 
detalle. Aún así podemos basarnos en lo ya entendido 
(cliente y desarrollador), trabajar con esta información, 
y mientras se vayan creando prototipos, el cliente 
detallará sus especificaciones. 
 Su desventaja es que es difícil distinguirlo del proceso 
"codifica y corrige", pues en cierta medida son 
parecidos, la diferencia está que en la práctica se 
requiere que al construir el prototipo se aplique el 
análisis y el diseño pero sólo a una parte de los 
requerimientos, solo es basado en prototipos.
Espiral 
Las actividades de este modelo se conforman en 
una espiral, en la que cada bucle o iteración 
representa un conjunto de actividades. Las 
actividades no están fijadas a ninguna prioridad, 
sino que las siguientes se eligen en función del 
análisis de riesgo, comenzando por el bucle 
interior.
Ciclos o Iteraciones En cada vuelta o iteración hay que tener en cuenta: 
 Los Objetivos: qué necesidad debe cubrir el producto. 
 Alternativas: las diferentes formas de conseguir los objetivos de forma 
exitosa, desde diferentes puntos de vista como pueden ser: 
 Características: experiencia del personal, requisitos a cumplir, etc. 
 Formas de gestión del sistema. 
 Riesgo asumido con cada alternativa. 
 Desarrollar y Verificar: Programar y probar el software. 
 Si el resultado no es el adecuado o se necesita implementar mejoras o 
funcionalidades: 
 Se planificaran los siguientes pasos y se comienza un nuevo ciclo de la 
espiral. La espiral tiene una forma de caracola y se dice que mantiene dos 
dimensiones, la radial y la angular: 
 Angular: Indica el avance del proyecto del software dentro de un ciclo. 
 Radial: Indica el aumento del coste del proyecto, ya que con cada nueva 
iteración se pasa más tiempo desarrollando. 
 Este sistema es muy utilizado en proyectos grandes y complejos como 
puede ser, por ejemplo, la creación de un Sistema Operativo.
PROTOTIPOS 
El Modelo se basa en la construcción del prototipo en poco tiempo, usando 
los programas adecuados y no se debe utilizar muchos recursos. 
El diseño rápido se centra en una representación de aquellos aspectos del 
software que serán visibles para el cliente o el usuario final. Este diseño 
conduce a la construcción de un prototipo, el cual es evaluado por el cliente 
para una retroalimentación; gracias a ésta se refinan los requisitos del 
software que se desarrollará. La interacción ocurre cuando el prototipo se 
ajusta para satisfacer las necesidades del cliente. Esto permite que al mismo 
tiempo el desarrollador entienda mejor lo que se debe hacer y el cliente vea 
resultados a corto plazo. 
• Etapas 
• Plan rápido 
• Modelado, diseño rápido 
• Construcción del Prototipo 
• Desarrollo, entrega y retroalimentación 
• Comunicación
• Tarea : 
Investigar 
El proceso de desarrollo unificado – RUP 
El lenguaje de modelado unificado - UML
Proceso de desarrollo unificado – RUP 
Es un modelo de software que permite el 
desarrollo de software a gran escala, mediante 
un proceso continuo de pruebas y 
retroalimentación, garantizando el 
cumplimiento de ciertos estándares de calidad. 
Aunque con el inconveniente de generar mayor 
complejidad en los controles de administración 
del mismo. Sin embargo, los beneficios 
obtenidos recompensan el esfuerzo invertido en 
este aspecto.
En que consiste RUP 
El proceso de desarrollo unificado constituye un 
marco metodológico que define en términos de 
metas estratégicas, objetivos, actividades y 
artefactos (documentación) requerido en cada 
fase de desarrollo. Esto permite enfocar 
esfuerzo de los recursos humanos en términos 
de habilidades, competencias y capacidades a 
asumir roles específicos con responsabilidades 
bien definidas.
Su principal objetivo es asegurar la producción 
de software de alta calidad, que cumpla las 
necesidades de sus usuarios finales, que sea 
realizado en las fechas acordadas y con el 
presupuesto disponible.
Estructura del ciclo de vida del proceso 
de desarrollo unificado ( RUP ) 
Fase de Inicio. 
Es la fase más pequeña del proyecto e, idealmente, debe realizarse también 
en un periodo de tiempo pequeño (una única iteración). 
El hecho de llevar a cabo una fase de inicio muy larga indica que se esta 
realizando una especificación previa excesiva, lo que responde más a un 
modelo en cascada. 
Objetivos: 
 Establecer una justificación para el proyecto. 
 Establecer el ámbito del proyecto. 
 Esbozar los casos de uso y los requisitos clave que dirigirán las 
decisiones de diseño. 
 Esbozar las arquitecturas candidatas. 
 Identificar riesgos. 
 Preparar el plan del proyecto y la estimación de costes. El hito de final de 
fase se conoce como Hito Objetivo del Ciclo de Vida.
Fase de Elaboración. 
 Durante esta fase se capturan la mayoría de los requisitos del 
sistema. 
 Los objetivos principales de esta fase serán la identificación de 
riesgos y establecer y validar la arquitectura del sistema. 
Base de Arquitectura Ejecutable: 
• La arquitectura se valida a través de la implementación de una Base 
de Arquitectura Ejecutable: se trata de una implementación parcial 
del sistema que incluye los componentes principales del mismo. 
• Al final de la fase de elaboración la base de arquitectura ejecutable 
debe demostrar que soporta los aspectos clave de la funcionalidad 
del sistema y que muestra la conducta adecuada en términos de 
rendimiento, escalabilidad y coste. 
 Al final de la fase se elabora un plan para la fase de construcción. 
 El hito arquitectura del ciclo de vida marca el final de la fase.
Fase de construcción. 
Es la fase más larga de proyecto. 
 El sistema es construido en base a lo 
especificado en la fase de elaboración. 
 Las características del sistema se implementan 
en una serie de iteraciones cortas y limitadas en 
el tiempo. 
 El resultado de cada iteración es una versión 
ejecutable de software. 
 El hito de capacidad operativa inicial marca el 
final de la fase.
Fase de transición. 
En esta fase el sistema es desplegado para los 
usuarios finales. 
 La retroalimentación recibida permite incorporar 
refinamientos al sistema en las sucesivas 
iteraciones. 
 Esta iteración también cubre el entrenamiento de 
los usuarios para la utilización del sistema. 
 El hito de lanzamiento del producto marca el 
final de la fase.
Lenguaje de modelado unificado(UML) 
“Modelo: documentación que se utiliza para poder llevar 
a cabo en forma eficiente el proceso.” 
UML un lenguaje que permite modelar, construir y 
documentar los elementos que forman un sistema 
software orientado a objetos. 
UML ofrece un estándar para describir un "plano"del 
sistema (modelo), incluyendo aspectos conceptuales tales 
como procesos de negocios y funciones del sistema, y 
aspectos concretos como expresiones de lenguajes de 
programación, esquemas de bases de datos.
Características de UML 
 Proporciona a los desarrolladores un lenguaje de 
modelamiento ampliamente aceptado y listo 
para usar 
 Es independiente del lenguaje de programación y 
de métodos y procesos de desarrollo de software 
 Proporciona sus propios mecanismos de 
extensión 
Agrupa los conceptos de orientación a objetos 
definiendo su significado.
Modelando con UML 
Modelo 
Diagrama 
de Casos 
de Usos 
Diagrama 
de Clases 
Diagramas 
de 
Despliegue 
Diagramas de 
Componentes 
Diagrama 
de Objetos 
Diagramas 
de 
Secuencias 
Diagramas de 
Colaboración 
Diagramas 
de Estados 
Diagramas 
de 
Actividad
AMSI

Mais conteúdo relacionado

Mais procurados

Modelos Del ciclo de vida del Software
Modelos Del ciclo de vida del SoftwareModelos Del ciclo de vida del Software
Modelos Del ciclo de vida del Softwareguest37183b
 
Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Edwin Belduma
 
Unidad 2. metodologías de desarrollo DE SOFTWARE
Unidad 2. metodologías de desarrollo DE SOFTWAREUnidad 2. metodologías de desarrollo DE SOFTWARE
Unidad 2. metodologías de desarrollo DE SOFTWAREPablo Daniel Bazan Carmona
 
Metodologia de desarrollo de software
Metodologia de desarrollo de softwareMetodologia de desarrollo de software
Metodologia de desarrollo de softwareVictor Varela
 
Ciclo de vida estructurado de un proyecto
Ciclo de vida estructurado de un proyectoCiclo de vida estructurado de un proyecto
Ciclo de vida estructurado de un proyectonicko360
 
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
 
Metodologias para el desarrollo del software
Metodologias para el desarrollo del softwareMetodologias para el desarrollo del software
Metodologias para el desarrollo del softwareyeltsintorres18
 
Etapas de Desarrollo Software
Etapas de Desarrollo SoftwareEtapas de Desarrollo Software
Etapas de Desarrollo SoftwareDaniel Román
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareElvisAR
 
Curso Uml 3.1 Modelos De Desarrollo De Software
Curso Uml   3.1 Modelos De Desarrollo De SoftwareCurso Uml   3.1 Modelos De Desarrollo De Software
Curso Uml 3.1 Modelos De Desarrollo De SoftwareEmilio Aviles Avila
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de softwarejairo sanchez
 
Ciclos de vida del software
Ciclos de vida del softwareCiclos de vida del software
Ciclos de vida del softwareGUEOVANNY20
 
Tipos de ciclos de vida
Tipos de ciclos de vidaTipos de ciclos de vida
Tipos de ciclos de vidasandrasig
 
Plantilla caso prueba
Plantilla caso pruebaPlantilla caso prueba
Plantilla caso pruebaSTBG
 
Desarrollo de software diapositiva
Desarrollo  de software diapositivaDesarrollo  de software diapositiva
Desarrollo de software diapositivaNorma Rodriguez
 

Mais procurados (20)

Modelos Del ciclo de vida del Software
Modelos Del ciclo de vida del SoftwareModelos Del ciclo de vida del Software
Modelos Del ciclo de vida del Software
 
Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.
 
Unidad 2. metodologías de desarrollo DE SOFTWARE
Unidad 2. metodologías de desarrollo DE SOFTWAREUnidad 2. metodologías de desarrollo DE SOFTWARE
Unidad 2. metodologías de desarrollo DE SOFTWARE
 
Metodologia de desarrollo de software
Metodologia de desarrollo de softwareMetodologia de desarrollo de software
Metodologia de desarrollo de software
 
Ciclo de vida estructurado de un proyecto
Ciclo de vida estructurado de un proyectoCiclo de vida estructurado de un proyecto
Ciclo de vida estructurado de un proyecto
 
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
 
Metodologias para el desarrollo del software
Metodologias para el desarrollo del softwareMetodologias para el desarrollo del software
Metodologias para el desarrollo del software
 
Metodología Clásica
Metodología ClásicaMetodología Clásica
Metodología Clásica
 
Etapas de Desarrollo Software
Etapas de Desarrollo SoftwareEtapas de Desarrollo Software
Etapas de Desarrollo Software
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
 
Curso Uml 3.1 Modelos De Desarrollo De Software
Curso Uml   3.1 Modelos De Desarrollo De SoftwareCurso Uml   3.1 Modelos De Desarrollo De Software
Curso Uml 3.1 Modelos De Desarrollo De Software
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
 
Ciclos de vida del software
Ciclos de vida del softwareCiclos de vida del software
Ciclos de vida del software
 
Tipos de ciclos de vida
Tipos de ciclos de vidaTipos de ciclos de vida
Tipos de ciclos de vida
 
Ciclo de vida cascada
Ciclo de vida cascadaCiclo de vida cascada
Ciclo de vida cascada
 
Plantilla caso prueba
Plantilla caso pruebaPlantilla caso prueba
Plantilla caso prueba
 
Curso Uml 3.2 Proceso Unificado
Curso Uml   3.2 Proceso UnificadoCurso Uml   3.2 Proceso Unificado
Curso Uml 3.2 Proceso Unificado
 
Desarrollo de software diapositiva
Desarrollo  de software diapositivaDesarrollo  de software diapositiva
Desarrollo de software diapositiva
 
Unidad 2. Metodologías de Desarrollo
Unidad 2. Metodologías de DesarrolloUnidad 2. Metodologías de Desarrollo
Unidad 2. Metodologías de Desarrollo
 
Metodologia clasica en cascada
Metodologia clasica en cascadaMetodologia clasica en cascada
Metodologia clasica en cascada
 

Semelhante a AMSI

Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareAndhy H Palma
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareAndhy H Palma
 
Definición de ingeniería del software
Definición de ingeniería del softwareDefinición de ingeniería del software
Definición de ingeniería del softwarehdfkjshdkf
 
Metodologías para el desarrollo de sistemas
Metodologías para el desarrollo de sistemasMetodologías para el desarrollo de sistemas
Metodologías para el desarrollo de sistemasUNEFA
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaamendez45
 
Ciclo Vida Sw
Ciclo Vida SwCiclo Vida Sw
Ciclo Vida Swmsc080277
 
Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3Bruno
 
Unidad 4 Modelos de Procesos del Software
Unidad 4 Modelos de Procesos del SoftwareUnidad 4 Modelos de Procesos del Software
Unidad 4 Modelos de Procesos del Softwarerezzaca
 
Trabajo 2 exposicion
Trabajo 2 exposicionTrabajo 2 exposicion
Trabajo 2 exposicionEvelin Oña
 
implementaciondesoftware-110920135142-phpapp01.pdf
implementaciondesoftware-110920135142-phpapp01.pdfimplementaciondesoftware-110920135142-phpapp01.pdf
implementaciondesoftware-110920135142-phpapp01.pdfssuser948499
 
Proceso de desarrollo de si
Proceso de desarrollo de siProceso de desarrollo de si
Proceso de desarrollo de siDidier Alexander
 
Metodologias de Diseño y Desarrollo de Sistemas de Informacion
Metodologias de Diseño y Desarrollo de Sistemas de InformacionMetodologias de Diseño y Desarrollo de Sistemas de Informacion
Metodologias de Diseño y Desarrollo de Sistemas de InformacionJonathanCarrillo46
 
metodologia de prototipos
metodologia de prototiposmetodologia de prototipos
metodologia de prototiposKeiner Valerio
 
Instituto tecnologio spencer w
Instituto tecnologio spencer wInstituto tecnologio spencer w
Instituto tecnologio spencer wAbner Garcia
 
Proceso unificado y modelo V
Proceso unificado y modelo VProceso unificado y modelo V
Proceso unificado y modelo VVivitaGranizo
 

Semelhante a AMSI (20)

Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de software
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de software
 
Definición de ingeniería del software
Definición de ingeniería del softwareDefinición de ingeniería del software
Definición de ingeniería del software
 
Metodologías para el desarrollo de sistemas
Metodologías para el desarrollo de sistemasMetodologías para el desarrollo de sistemas
Metodologías para el desarrollo de sistemas
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaa
 
metodologia
metodologia metodologia
metodologia
 
Ciclo Vida Sw
Ciclo Vida SwCiclo Vida Sw
Ciclo Vida Sw
 
Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3
 
ASD.pptx
ASD.pptxASD.pptx
ASD.pptx
 
Unidad 4 Modelos de Procesos del Software
Unidad 4 Modelos de Procesos del SoftwareUnidad 4 Modelos de Procesos del Software
Unidad 4 Modelos de Procesos del Software
 
Trabajo 2 exposicion
Trabajo 2 exposicionTrabajo 2 exposicion
Trabajo 2 exposicion
 
Modelos del software
Modelos del softwareModelos del software
Modelos del software
 
implementaciondesoftware-110920135142-phpapp01.pdf
implementaciondesoftware-110920135142-phpapp01.pdfimplementaciondesoftware-110920135142-phpapp01.pdf
implementaciondesoftware-110920135142-phpapp01.pdf
 
Proceso de desarrollo de si
Proceso de desarrollo de siProceso de desarrollo de si
Proceso de desarrollo de si
 
Metodologias de Diseño y Desarrollo de Sistemas de Informacion
Metodologias de Diseño y Desarrollo de Sistemas de InformacionMetodologias de Diseño y Desarrollo de Sistemas de Informacion
Metodologias de Diseño y Desarrollo de Sistemas de Informacion
 
metodologia de prototipos
metodologia de prototiposmetodologia de prototipos
metodologia de prototipos
 
Presentacion Omar
Presentacion OmarPresentacion Omar
Presentacion Omar
 
Instituto tecnologio spencer w
Instituto tecnologio spencer wInstituto tecnologio spencer w
Instituto tecnologio spencer w
 
Estudiante
EstudianteEstudiante
Estudiante
 
Proceso unificado y modelo V
Proceso unificado y modelo VProceso unificado y modelo V
Proceso unificado y modelo V
 

AMSI

  • 1. El modelo del proceso del Software
  • 2. Conceptualización de Tecnología Orientada a Objetos La Tecnología Orientada a Objetos es un nuevo enfoque sobre la manera de organizar las diferentes piezas que componen un sistema de información (software), como en el hardware (equipo físico), la base de datos e incluso, en organizaciones todas estas piezas se denominan "objetos", los cuales son pequeños subsistemas independientes con datos propios sobre estos elementos y sus clases y tipos, rigen tales propiedades como herencia, comunicación con lenguajes, polimorfismos y otros que en conjunto permiten ventajas prácticas.
  • 3.  La TOO se fundamenta en el proceso de construcción y utilización de conocimientos, por lo tanto, objetos y clases son los pasos más importantes en la búsqueda de una nueva revolución que reemplace, esta vez, parte del esfuerzo que implica la organización y utilización del conocimiento, del mismo modo que en la primera, las máquinas reemplazaron el esfuerzo físico del hombre y de los animales, permitiendo el vertiginoso avance del mundo.  En Tecnología Orientado a Objetos (TOO) a los conceptos se les llama objetos, en consecuencia, los OBJETOS son MODELOS de entes del mundo real. Los percibimos porque tienen límites que los esperan de su medio ambiente y de los demás (IDENTIDAD). Se encuentran en un ESTADO específico en el mundo.
  • 4. Un objeto puede ser concreto (material)o abstracto (inmaterial), simple o complejo; pero siempre estará compuesto de DATOS y OPERACIONES. Ejemplos: Un libro, una factura, una organización Un avión, el vuelo de un avión, una reserva de avión Un icono en la pantalla, a la que se puede señalar y abrir
  • 5. Metodologías emergentes de desarrollo de Software METODOLOGÍAS DE DESARROLLO En ingeniería de software es un marco de trabajo usado para estructurar, planificar y controlar el proceso de desarrollo en sistemas de información. Introducción  Una metodología de desarrollo de software se refiere a un framework que es usado para estructurar, planear y controlar el proceso de desarrollo en sistemas de información. A lo largo del tiempo, una gran cantidad de métodos han sido desarrollados diferenciándose por su fortaleza y debilidad. El framework para metodología de desarrollo de software consiste en:  Una filosofía de desarrollo de programas de computación con el enfoque del proceso de desarrollo de software Herramientas, modelos y métodos para asistir al proceso de desarrollo de software. Estos frameworks son a menudo vinculados a algún tipo de organización, que además desarrolla, apoya el uso y promueve la metodología. La metodología es a menudo documentada en algún tipo de documentación formal.
  • 6. Cascada • Es un proceso secuencial de desarrollo en el que los pasos de desarrollo son vistos hacia abajo a través de las fases de análisis de las necesidades, el diseño, implementación, pruebas (validación), la integración, y mantenimiento.
  • 7. Principios básicos del modelo de cascada : El proyecto está dividido en fases secuenciales. Hace hincapié en la planificación, los horarios, fechas, presupuestos y ejecución de todo un sistema de una sola vez. Un estricto control se mantiene durante la vida del proyecto a través de la utilización de una amplia documentación escrita, así como a través de comentarios y aprobación por el usuario y la tecnología de la información de gestión al final de la mayoría de las fases antes de comenzar la próxima fase.  Análisis de requisitos: En esta fase se analizan las necesidades de los usuarios finales del software para determinar qué objetivos debe cubrir. Se lleva acabo documento de especificación de requisitos que contiene la especificación completa de lo que debe hacer el sistema sin entrar en detalles internos. Es importante señalar que en esta etapa se debe consensuar todo lo que se requiere del sistema y será aquello lo que seguirá en las siguientes etapas, no pudiéndose requerir nuevos resultados a mitad del proceso de elaboración del software.  Diseño del Sistema: Descompone y organiza el sistema en elementos que puedan elaborarse por aprovechando las ventajas del desarrollo en equipo. Aquí surge un documento de Diseño del Software, que contiene la descripción de la estructura relacional global del sistema y la especificación de lo que debe hacer cada una de sus partes, así como la manera en que se combinan unas con otras.
  • 8.  Diseño del Programa: Es la fase en donde se realizan los algoritmos necesarios para el cumplimiento de los requerimientos del usuario así como también los análisis necesarios para saber que herramientas usar en la etapa de Codificación.  Codificación: Es la fase en donde se implementa el código fuente, haciendo uso de prototipos así como de pruebas y ensayos para corregir errores. Dependiendo del lenguaje de programación y su versión se crean las bibliotecas y componentes reutilizables dentro del mismo proyecto para hacer que la programación sea un proceso mucho más rápido.  Pruebas: Los elementos, ya programados, se ensamblan para componer el sistema y se comprueba que funciona correctamente y que cumple con los requisitos, antes de ser entregado al usuario final.  Verificación: Es la fase en donde el usuario final ejecuta el sistema, para ello el o los programadores ya realizaron exhaustivas pruebas para comprobar que el sistema no falle. En la creación de desarrollo de cascada se implementa los códigos de investigación y pruebas del mismo  Mantenimiento: Una de las etapas más criticas, ya que se destina un 75% de los recursos, es el mantenimiento del Software ya que al utilizarlo como usuario final puede ser que no cumpla con todas nuestras expectativas.
  • 9. Incremental Provee una estrategia para controlar la complejidad y los riesgos, desarrollando una parte del producto software reservando el resto de aspectos para el futuro. Los principios básicos son:  Una serie de mini-Cascadas se llevan a cabo, donde todas las fases de la cascada modelo de desarrollo se han completado para una pequeña parte de los sistemas, antes de proceder a la próxima incremental  Se definen los requisitos antes de proceder con lo evolutivo, se realiza un mini-Cascada de desarrollo de cada uno de los incrementos del sistema  El concepto inicial de software, análisis de las necesidades, y el diseño de la arquitectura y colectiva básicas se definen utilizando el enfoque de cascada, seguida por iterativo de prototipos, que culmina en la instalación del prototipo final.
  • 10. Etapa de inicialización: Se crea una versión del sistema. La meta de esta etapa es crear un producto con el que el usuario pueda interactuar, y por ende retroalimentar el proceso. Debe ofrecer una muestra de los aspectos claves del problema y proveer una solución lo suficientemente simple para ser comprendida e implementada fácilmente. Para guiar el proceso de iteración se crea una lista de control de proyecto, que contiene un historial de todas las tareas que necesitan ser realizadas. Incluye cosas como nuevas funcionalidades para ser implementadas, y areas de rediseño de la solución ya existente. Esta lista de control se revisa periódica y constantemente como resultado de la fase de análisis.
  • 11. Etapa de iteración: Esta etapa involucra el rediseño e implementación de una tarea de la lista de control de proyecto, y el análisis de la versión más reciente del sistema. La meta del diseño e implementación de cualquier iteración es ser simple, directa y modular, para poder soportar el rediseño de la etapa o como una tarea añadida a la lista de control de proyecto. Las modificaciones deben ser más fáciles de hacer conforme avanzan las iteraciones. Si no es así, hay un problema primordial usualmente encontrado en un diseño débil o en la proliferación excesiva de parches al sistema( los parches son necesarios solo para evitar el rediseño del sistema).
  • 12. Evolutivo El modelo Evolutivo conocido también como incremental e iterativo, consiste en hacer la documentación de las fases, realizando un prototipo del sistema, se evalúa el qué tan lejos el prototipo está de la solución final esperada por el cliente; se toman en cuenta las observaciones de esta evaluación, y se crea un nuevo prototipo que las incluya. Esto se hace con el fin de cumplir los requerimientos establecidos.
  • 13.  La ventaja es que es ideal para sistemas que no tiene bien definidos los requerimientos, es decir, para la mayoría de los sistemas que se desarrollan. El cliente desde el principio tiene una idea de los requerimientos de su sistema, pero no están claros hasta el último detalle. Aún así podemos basarnos en lo ya entendido (cliente y desarrollador), trabajar con esta información, y mientras se vayan creando prototipos, el cliente detallará sus especificaciones.  Su desventaja es que es difícil distinguirlo del proceso "codifica y corrige", pues en cierta medida son parecidos, la diferencia está que en la práctica se requiere que al construir el prototipo se aplique el análisis y el diseño pero sólo a una parte de los requerimientos, solo es basado en prototipos.
  • 14. Espiral Las actividades de este modelo se conforman en una espiral, en la que cada bucle o iteración representa un conjunto de actividades. Las actividades no están fijadas a ninguna prioridad, sino que las siguientes se eligen en función del análisis de riesgo, comenzando por el bucle interior.
  • 15. Ciclos o Iteraciones En cada vuelta o iteración hay que tener en cuenta:  Los Objetivos: qué necesidad debe cubrir el producto.  Alternativas: las diferentes formas de conseguir los objetivos de forma exitosa, desde diferentes puntos de vista como pueden ser:  Características: experiencia del personal, requisitos a cumplir, etc.  Formas de gestión del sistema.  Riesgo asumido con cada alternativa.  Desarrollar y Verificar: Programar y probar el software.  Si el resultado no es el adecuado o se necesita implementar mejoras o funcionalidades:  Se planificaran los siguientes pasos y se comienza un nuevo ciclo de la espiral. La espiral tiene una forma de caracola y se dice que mantiene dos dimensiones, la radial y la angular:  Angular: Indica el avance del proyecto del software dentro de un ciclo.  Radial: Indica el aumento del coste del proyecto, ya que con cada nueva iteración se pasa más tiempo desarrollando.  Este sistema es muy utilizado en proyectos grandes y complejos como puede ser, por ejemplo, la creación de un Sistema Operativo.
  • 16. PROTOTIPOS El Modelo se basa en la construcción del prototipo en poco tiempo, usando los programas adecuados y no se debe utilizar muchos recursos. El diseño rápido se centra en una representación de aquellos aspectos del software que serán visibles para el cliente o el usuario final. Este diseño conduce a la construcción de un prototipo, el cual es evaluado por el cliente para una retroalimentación; gracias a ésta se refinan los requisitos del software que se desarrollará. La interacción ocurre cuando el prototipo se ajusta para satisfacer las necesidades del cliente. Esto permite que al mismo tiempo el desarrollador entienda mejor lo que se debe hacer y el cliente vea resultados a corto plazo. • Etapas • Plan rápido • Modelado, diseño rápido • Construcción del Prototipo • Desarrollo, entrega y retroalimentación • Comunicación
  • 17. • Tarea : Investigar El proceso de desarrollo unificado – RUP El lenguaje de modelado unificado - UML
  • 18. Proceso de desarrollo unificado – RUP Es un modelo de software que permite el desarrollo de software a gran escala, mediante un proceso continuo de pruebas y retroalimentación, garantizando el cumplimiento de ciertos estándares de calidad. Aunque con el inconveniente de generar mayor complejidad en los controles de administración del mismo. Sin embargo, los beneficios obtenidos recompensan el esfuerzo invertido en este aspecto.
  • 19. En que consiste RUP El proceso de desarrollo unificado constituye un marco metodológico que define en términos de metas estratégicas, objetivos, actividades y artefactos (documentación) requerido en cada fase de desarrollo. Esto permite enfocar esfuerzo de los recursos humanos en términos de habilidades, competencias y capacidades a asumir roles específicos con responsabilidades bien definidas.
  • 20. Su principal objetivo es asegurar la producción de software de alta calidad, que cumpla las necesidades de sus usuarios finales, que sea realizado en las fechas acordadas y con el presupuesto disponible.
  • 21. Estructura del ciclo de vida del proceso de desarrollo unificado ( RUP ) Fase de Inicio. Es la fase más pequeña del proyecto e, idealmente, debe realizarse también en un periodo de tiempo pequeño (una única iteración). El hecho de llevar a cabo una fase de inicio muy larga indica que se esta realizando una especificación previa excesiva, lo que responde más a un modelo en cascada. Objetivos:  Establecer una justificación para el proyecto.  Establecer el ámbito del proyecto.  Esbozar los casos de uso y los requisitos clave que dirigirán las decisiones de diseño.  Esbozar las arquitecturas candidatas.  Identificar riesgos.  Preparar el plan del proyecto y la estimación de costes. El hito de final de fase se conoce como Hito Objetivo del Ciclo de Vida.
  • 22. Fase de Elaboración.  Durante esta fase se capturan la mayoría de los requisitos del sistema.  Los objetivos principales de esta fase serán la identificación de riesgos y establecer y validar la arquitectura del sistema. Base de Arquitectura Ejecutable: • La arquitectura se valida a través de la implementación de una Base de Arquitectura Ejecutable: se trata de una implementación parcial del sistema que incluye los componentes principales del mismo. • Al final de la fase de elaboración la base de arquitectura ejecutable debe demostrar que soporta los aspectos clave de la funcionalidad del sistema y que muestra la conducta adecuada en términos de rendimiento, escalabilidad y coste.  Al final de la fase se elabora un plan para la fase de construcción.  El hito arquitectura del ciclo de vida marca el final de la fase.
  • 23. Fase de construcción. Es la fase más larga de proyecto.  El sistema es construido en base a lo especificado en la fase de elaboración.  Las características del sistema se implementan en una serie de iteraciones cortas y limitadas en el tiempo.  El resultado de cada iteración es una versión ejecutable de software.  El hito de capacidad operativa inicial marca el final de la fase.
  • 24. Fase de transición. En esta fase el sistema es desplegado para los usuarios finales.  La retroalimentación recibida permite incorporar refinamientos al sistema en las sucesivas iteraciones.  Esta iteración también cubre el entrenamiento de los usuarios para la utilización del sistema.  El hito de lanzamiento del producto marca el final de la fase.
  • 25. Lenguaje de modelado unificado(UML) “Modelo: documentación que se utiliza para poder llevar a cabo en forma eficiente el proceso.” UML un lenguaje que permite modelar, construir y documentar los elementos que forman un sistema software orientado a objetos. UML ofrece un estándar para describir un "plano"del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocios y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos.
  • 26. Características de UML  Proporciona a los desarrolladores un lenguaje de modelamiento ampliamente aceptado y listo para usar  Es independiente del lenguaje de programación y de métodos y procesos de desarrollo de software  Proporciona sus propios mecanismos de extensión Agrupa los conceptos de orientación a objetos definiendo su significado.
  • 27. Modelando con UML Modelo Diagrama de Casos de Usos Diagrama de Clases Diagramas de Despliegue Diagramas de Componentes Diagrama de Objetos Diagramas de Secuencias Diagramas de Colaboración Diagramas de Estados Diagramas de Actividad