SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
El Proceso
de Desarrollo
 de Software

       Diseño de Software Avanzado
        Departamento de Informática
La Ingeniería del Software
 Ingeniería...
  —   “La profesión en la que el conocimiento de las ciencias naturales y
      matemáticas, ganado con estudio, experiencia y práctica, es aplicado
      con buen juicio para desarrollar formas de utilizar, económicamente, los
      materiales y las fuerzas de la naturaleza para el beneficio del género
      humano” (Acreditation Board for Engineering and Technology, 1996).


 Peculiaridades de la Ingeniería del Software
  —   El “producto” software.
  —   Mucho desarrollo, poca disciplina ingenieril.
  —   Necesidad de describir y documentar lo que se va a producir.
  —   Cambios frecuentes en el producto.




                                                                   Diseño de Software Avanzado
                            El Proceso de Desarrollo de Software    Departamento de Informática   2
La Ingeniería del Software (y II)
 Ingeniería de Sistemas vs. Ingeniería del Software
  —   La Ingeniería de Sistemas está relacionada con todos los aspectos
      asociados al desarrollo de sistemas complejos: hardware, software, etc.
  —   Los sistemas intensivos software son sistemas constituidos
      principalmente por software.


 Informática (Computer Science) vs. Ingeniería del Software
  —   La Informática está relacionada con las teorías y métodos subyacentes a
      los ordenadores y a los sistemas software.




                                                                   Diseño de Software Avanzado
                            El Proceso de Desarrollo de Software    Departamento de Informática   3
Problemas en el Desarrollo de Software
             Problemas                                             Soluciones
El programa no hace lo que se
                                                  Definir bien las especificaciones
supone que debe hacer
                                                  Definir bien el diseño y las
El programa se cuelga
                                                  pruebas
Hace falta un 200% del tiempo
                                                  Planificar bien
planificado para concluir el programa
Si el programador se va de la
empresa... ¡Vaya! Hay que hacer un                Definir bien la documentación
nuevo programa
...                                               ...


                                                                          Diseño de Software Avanzado
                            El Proceso de Desarrollo de Software           Departamento de Informática   4
El Típico Problema de Incomunicación
                                  1. Necesidad: lo que el cliente realmente
                                     quería.
                                  2. Cliente: lo que fue capaz de describir como
                                     una clara necesidad.
                                  3. Proceso de ventas: lo que el fabricante de
                                     software prometió al cliente.
                                  4. Requisitos: los requisitos descritos por el
                                     cliente, tal como finalmente fueron
                                     entendidos.
                                  5. Análisis: la especificación formal de los
                                     requisitos realizada por los analistas.
                                  6. Diseño: la especificación del funcionamiento
                                     del sistema para satisfacer los requisitos
                                     analizados.
                                  7. Codificación: lo que escribió el programador.
                                  8. Instalación: lo que realmente fue instalado al
                                     cliente.
                                  9. Pruebas: lo que los responsables vieron en
                                     el sistema.

                                                              Diseño de Software Avanzado
              El Proceso de Desarrollo de Software             Departamento de Informática   5
El Proceso de Desarrollo Software




Requisitos, necesidades




   ¿Cómo se hace un proyecto software?
                                                                  Sistema software
                                                                  Diseño de Software Avanzado
                           El Proceso de Desarrollo de Software    Departamento de Informática   6
El Proceso de Desarrollo Software (II)
 El SDP define el qué, quién, cuándo y cómo del desarrollo de
 software.

 Cuatro actividades fundamentales que son comunes para todos los
 procesos de desarrollo de software :
  —   Especificación del software
  —   Desarrollo del software
  —   Validación del software
  —   Evolución del software


 Modelo de proceso:
  —   Descripción simplificada (abstracción) de un proceso de desarrollo de
      software real.


                                                                   Diseño de Software Avanzado
                            El Proceso de Desarrollo de Software    Departamento de Informática   7
Ejemplo: Proceso en Cascada

      Necesidad

                                                                          Una sola iteración
 Análisis de requisitos



                          Diseño



                                      Implementación

Es una idealización que no
se da en estado puro
                                                                     Pruebas           Producto final

                                                                                   Diseño de Software Avanzado
                                   El Proceso de Desarrollo de Software             Departamento de Informática   8
El Proceso de Desarrollo Software (y III)
 Es un problema complejo para proyectos medios o grandes:
  —   Dividir un proyecto en mini-proyectos, más fáciles de manejar y
      completar.
  —   Cada mini-proyecto es una iteración.
  —   Cada iteración contiene todos los elementos de un proyecto normal:
       •   planificación
       •   análisis y diseño
       •   construcción
       •   integración y pruebas
       •   versión del producto (interna o externa)
  —   Cada iteración genera una línea base (baseline) que comprende una
      versión parcialmente completa del sistema final, y toda la documentación
      asociada.
  —   Las sucesivas iteraciones se construyen unas sobre otras hasta que se
      alcanza el sistema final terminado.
  —   La diferencia entre dos líneas base se conoce como incremento.

                                                                       Diseño de Software Avanzado
                                El Proceso de Desarrollo de Software    Departamento de Informática   9
Ejemplo: Proceso en Espiral




             Espiral de Boehm (©IEEE, 1988)

                                                       Diseño de Software Avanzado
                El Proceso de Desarrollo de Software    Departamento de Informática   10
Ejemplo: Proceso Iterativo e Incremental
 Posibilita la evolución en paralelo de los distintos flujos de trabajo, y
 por tanto el trabajo en paralelo de distintos equipos de personas.
 Las distintas versiones de los documentos producidas en cada
 iteración no necesariamente son compatibles entre sí: organizar bien
 la documentación.

       Iteración 1                 Iteración 2                     Iteración 3

         Análisis                     Análisis                       Análisis
       (versión 1)                  (versión 2)                    (versión 3)
                                      Diseño                         Diseño
                                    (versión 1)                    (versión 2)
                                                                 Implementación
                                                                   (versión 1)



                                                                       Diseño de Software Avanzado
                          El Proceso de Desarrollo de Software          Departamento de Informática   11
El Proceso Unificado
de Desarrollo de Software
 Ligado en su origen histórico a los trabajos de Ivar Jacobson en
 Ericsson (1967), Objectory (1987) y Rational (1997).
 Principios del USDP/UP.
  —   Dirigido por casos de uso y riesgos
       • Capturar requisitos.
       • Analizar riesgos y enfrentarse a ellos.
  —   Centrado en la arquitectura
       • La arquitectura de un sistema describe la estrategia de división del sistema en
         componentes, cómo estos componentes interaccionan, y cómo son
         desplegados en el hardware.
       • Una arquitectura de calidad garantiza un sistema de calidad, no una mera
         colección de piezas mal conectadas.
  —   Iterativo e incremental
       • Proceso dividido en sucesivas iteraciones.
       • La diferencia entre dos iteraciones es un incremento.


                                                                       Diseño de Software Avanzado
                               El Proceso de Desarrollo de Software     Departamento de Informática   12
USDP: Flujos de Trabajo
 En cada iteración existen cinco flujos de trabajo (workflows):
  —   Requisitos: capturar lo que el sistema debe hacer.
  —   Análisis: refinar y estructurar los requisitos.
  —   Diseño: realizar los requisitos en la arquitectura del sistema.
  —   Implementación: construir el software.
  —   Pruebas: verificar que la implementación funciona como se desea.


 Pueden existir otros (no cubiertos por USDP):
  —   Planificación
  —   Evaluación
  —   Específicos del proyecto


 Distinto peso relativo en cada iteración.

                                                                   Diseño de Software Avanzado
                            El Proceso de Desarrollo de Software    Departamento de Informática   13
USDP: Fases
 El ciclo de vida del proyecto se divide en cuatro fases, cada una de
 las cuales termina con un hito (milestone):
  —   Inicio: objetivos del proyecto.
  —   Elaboración: arquitectura del sistema.
  —   Construcción: capacidad operativa inicial.
  —   Transición: entrega del producto.


 En cada fase puede haber una o más iteraciones.

 En cada iteración se ejecutan los cinco flujos de trabajo principales
 y los otros que sean necesarios.




                                                                   Diseño de Software Avanzado
                            El Proceso de Desarrollo de Software    Departamento de Informática   14
USDP: Fases, Iteraciones
y Flujos de Trabajo
                                                                                Fases del ciclo de vida
 Flujos de trabajo    Inicio           Elaboración               Construcción               Transición

   Requisitos
                                                                     Una iteración en la
                                                                     fase de Elaboración
    Análisis



    Diseño



 Implementación



   Pruebas


                      Iteración(es)    Iter.     Iter.       Iter.      Iter.   Iter.      Iter.      Iter.
                     preliminar(es)     #1        #2          #n        #n+1    #n+2        #m       #m+1

                                                         Iteraciones
                                                                                          Diseño de Software Avanzado
                                 El Proceso de Desarrollo de Software                      Departamento de Informática   15
Otros Enfoques y Nomenclaturas

                    Terminología USDP                        Terminología clásica

                          Requisitos
                                                              Análisis de requisitos
                           Análisis

                            Diseño                                          Diseño

                                                                  Implementación
                       Implementación
                                                                     Integración

                           Pruebas                                      Pruebas



Eric Braude, Software Engineering. An Object-Oriented Perspective, John Wiley & Sons, 2001, p. 30.


                                                                                       Diseño de Software Avanzado
                                     El Proceso de Desarrollo de Software               Departamento de Informática   16

Más contenido relacionado

La actualidad más candente

Tema 3 proseso de desarrollo del software
Tema 3 proseso de desarrollo del softwareTema 3 proseso de desarrollo del software
Tema 3 proseso de desarrollo del softwareLuis Garcia
 
Intoduccion A La Ingenieria Del Software
Intoduccion A La Ingenieria Del SoftwareIntoduccion A La Ingenieria Del Software
Intoduccion A La Ingenieria Del Softwareguest9ad165
 
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE. SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE. Cristhian Martinez
 
Diapositivas De Ingenieria De Software
Diapositivas De Ingenieria De SoftwareDiapositivas De Ingenieria De Software
Diapositivas De Ingenieria De Softwarerapa69
 
Ingeniería de software es la aplicación de un enfoque sistemático
Ingeniería de software es la aplicación de un enfoque sistemáticoIngeniería de software es la aplicación de un enfoque sistemático
Ingeniería de software es la aplicación de un enfoque sistemáticoSantiago Moha
 
Elproceso de desarrollo de software
Elproceso de desarrollo de softwareElproceso de desarrollo de software
Elproceso de desarrollo de softwarecelestevictoria
 
Elproceso de desarrollo de software
Elproceso de desarrollo de softwareElproceso de desarrollo de software
Elproceso de desarrollo de softwareayymba
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwaremat3matik
 
Ingeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryyIngeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryynelly
 
Ingenier%c3%ada de software
Ingenier%c3%ada de softwareIngenier%c3%ada de software
Ingenier%c3%ada de softwareMarilupe
 
Ingen de software
Ingen de softwareIngen de software
Ingen de softwareerikapoh
 

La actualidad más candente (16)

La importancia del_modelado_en_la_producción_de_sw_vf
La importancia del_modelado_en_la_producción_de_sw_vfLa importancia del_modelado_en_la_producción_de_sw_vf
La importancia del_modelado_en_la_producción_de_sw_vf
 
Tema 3 proseso de desarrollo del software
Tema 3 proseso de desarrollo del softwareTema 3 proseso de desarrollo del software
Tema 3 proseso de desarrollo del software
 
Intoduccion A La Ingenieria Del Software
Intoduccion A La Ingenieria Del SoftwareIntoduccion A La Ingenieria Del Software
Intoduccion A La Ingenieria Del Software
 
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE. SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascada
 
Diapositivas De Ingenieria De Software
Diapositivas De Ingenieria De SoftwareDiapositivas De Ingenieria De Software
Diapositivas De Ingenieria De Software
 
chuy
chuy chuy
chuy
 
Ingeniería de software es la aplicación de un enfoque sistemático
Ingeniería de software es la aplicación de un enfoque sistemáticoIngeniería de software es la aplicación de un enfoque sistemático
Ingeniería de software es la aplicación de un enfoque sistemático
 
Elproceso de desarrollo de software
Elproceso de desarrollo de softwareElproceso de desarrollo de software
Elproceso de desarrollo de software
 
Elproceso de desarrollo de software
Elproceso de desarrollo de softwareElproceso de desarrollo de software
Elproceso de desarrollo de software
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Ingeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryyIngeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryy
 
Ingenier%c3%ada de software
Ingenier%c3%ada de softwareIngenier%c3%ada de software
Ingenier%c3%ada de software
 
Ingen de software
Ingen de softwareIngen de software
Ingen de software
 
Ingenieria De Software
Ingenieria De SoftwareIngenieria De Software
Ingenieria De Software
 
Conceptos I Sw
Conceptos I SwConceptos I Sw
Conceptos I Sw
 

Destacado

Aprendé Scrum en 5 minutos
Aprendé Scrum en 5 minutosAprendé Scrum en 5 minutos
Aprendé Scrum en 5 minutosRebeka Sanabria
 
Metodologías de desarrollo de software ucp
Metodologías de desarrollo de software   ucpMetodologías de desarrollo de software   ucp
Metodologías de desarrollo de software ucpAlonso Toro Lazo
 
Introducción a las Metodologías Ágiles
Introducción a las Metodologías ÁgilesIntroducción a las Metodologías Ágiles
Introducción a las Metodologías Ágilesmigami
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de softwareUVM
 
Introducción a la metodologías ágiles y scrum
Introducción a la metodologías ágiles y scrumIntroducción a la metodologías ágiles y scrum
Introducción a la metodologías ágiles y scrumRicardo Miguel Palacin Anco
 
Fundamentos de las metodologías ágiles
Fundamentos de las metodologías ágilesFundamentos de las metodologías ágiles
Fundamentos de las metodologías ágilesDomingo Gallardo
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1Sergio Sanchez
 
Scrum en 15 minutos
Scrum en 15 minutosScrum en 15 minutos
Scrum en 15 minutosrodrigoi
 
Presentacion Atmosferia 2011
Presentacion Atmosferia 2011Presentacion Atmosferia 2011
Presentacion Atmosferia 2011Atmosferia
 
Metodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareMetodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareDomingo Gallardo
 
Sensibilización en Metodologías Ágiles
Sensibilización en Metodologías ÁgilesSensibilización en Metodologías Ágiles
Sensibilización en Metodologías ÁgilesSorey García
 
4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De SoftwareJulio Pari
 
Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrolloHermes Romero
 
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa CondeProceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa CondeSam Espinosa
 

Destacado (20)

Generalidades - Marketing
 Generalidades - Marketing  Generalidades - Marketing
Generalidades - Marketing
 
Metodologías ágiles
Metodologías ágilesMetodologías ágiles
Metodologías ágiles
 
Aprendé Scrum en 5 minutos
Aprendé Scrum en 5 minutosAprendé Scrum en 5 minutos
Aprendé Scrum en 5 minutos
 
Metodologías de desarrollo de software ucp
Metodologías de desarrollo de software   ucpMetodologías de desarrollo de software   ucp
Metodologías de desarrollo de software ucp
 
Introducción a las Metodologías Ágiles
Introducción a las Metodologías ÁgilesIntroducción a las Metodologías Ágiles
Introducción a las Metodologías Ágiles
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
 
Introducción a la metodologías ágiles y scrum
Introducción a la metodologías ágiles y scrumIntroducción a la metodologías ágiles y scrum
Introducción a la metodologías ágiles y scrum
 
Fundamentos de las metodologías ágiles
Fundamentos de las metodologías ágilesFundamentos de las metodologías ágiles
Fundamentos de las metodologías ágiles
 
CORETIC - SCRUM
CORETIC - SCRUMCORETIC - SCRUM
CORETIC - SCRUM
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1
 
Scrum en 15 minutos
Scrum en 15 minutosScrum en 15 minutos
Scrum en 15 minutos
 
Desarrollo Agil
Desarrollo AgilDesarrollo Agil
Desarrollo Agil
 
Presentacion Atmosferia 2011
Presentacion Atmosferia 2011Presentacion Atmosferia 2011
Presentacion Atmosferia 2011
 
Metodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareMetodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de software
 
Metodología scrum
Metodología scrumMetodología scrum
Metodología scrum
 
Sensibilización en Metodologías Ágiles
Sensibilización en Metodologías ÁgilesSensibilización en Metodologías Ágiles
Sensibilización en Metodologías Ágiles
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
 
4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software
 
Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrollo
 
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa CondeProceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
 

Similar a 01 el proceso-de_desarrollo_de_software

Tm01 el modelado en el desarrollo de software
Tm01 el modelado en el desarrollo de softwareTm01 el modelado en el desarrollo de software
Tm01 el modelado en el desarrollo de softwareJulio Pari
 
Trabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueTrabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueJosue Zelaya
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruizjhonatanalex
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanjhonatanalex
 
El_software_y_la_Ingenieria_de_Software.pdf
El_software_y_la_Ingenieria_de_Software.pdfEl_software_y_la_Ingenieria_de_Software.pdf
El_software_y_la_Ingenieria_de_Software.pdfpauly230688
 
El Proceso De Desarrollo De Software
El Proceso De Desarrollo De SoftwareEl Proceso De Desarrollo De Software
El Proceso De Desarrollo De Softwareahias arosemena
 
Introducción a la Ingeniria del Software
Introducción a la Ingeniria del SoftwareIntroducción a la Ingeniria del Software
Introducción a la Ingeniria del SoftwareEdit Lopez Veloz
 
procesos de desarrollo de sw
procesos de desarrollo de swprocesos de desarrollo de sw
procesos de desarrollo de swLuis Lucho
 
Kevin guia
Kevin guiaKevin guia
Kevin guiakeninmnk
 

Similar a 01 el proceso-de_desarrollo_de_software (20)

Tm01 el modelado en el desarrollo de software
Tm01 el modelado en el desarrollo de softwareTm01 el modelado en el desarrollo de software
Tm01 el modelado en el desarrollo de software
 
introducción ingeniería de software
introducción  ingeniería de  softwareintroducción  ingeniería de  software
introducción ingeniería de software
 
Proceso desarrollo software
Proceso desarrollo softwareProceso desarrollo software
Proceso desarrollo software
 
Trabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueTrabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josue
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruiz
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatan
 
El_software_y_la_Ingenieria_de_Software.pdf
El_software_y_la_Ingenieria_de_Software.pdfEl_software_y_la_Ingenieria_de_Software.pdf
El_software_y_la_Ingenieria_de_Software.pdf
 
Inf 162
Inf 162Inf 162
Inf 162
 
El Proceso De Desarrollo De Software
El Proceso De Desarrollo De SoftwareEl Proceso De Desarrollo De Software
El Proceso De Desarrollo De Software
 
Paula guia
Paula guiaPaula guia
Paula guia
 
Proceso de diseño
Proceso de diseñoProceso de diseño
Proceso de diseño
 
Software
SoftwareSoftware
Software
 
Introducción a la Ingeniria del Software
Introducción a la Ingeniria del SoftwareIntroducción a la Ingeniria del Software
Introducción a la Ingeniria del Software
 
procesos de desarrollo de sw
procesos de desarrollo de swprocesos de desarrollo de sw
procesos de desarrollo de sw
 
Kevin guia
Kevin guiaKevin guia
Kevin guia
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascada
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascada
 
UNIDAD_I.ppt
UNIDAD_I.pptUNIDAD_I.ppt
UNIDAD_I.ppt
 

Último

Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 

Último (20)

Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 

01 el proceso-de_desarrollo_de_software

  • 1. El Proceso de Desarrollo de Software Diseño de Software Avanzado Departamento de Informática
  • 2. La Ingeniería del Software Ingeniería... — “La profesión en la que el conocimiento de las ciencias naturales y matemáticas, ganado con estudio, experiencia y práctica, es aplicado con buen juicio para desarrollar formas de utilizar, económicamente, los materiales y las fuerzas de la naturaleza para el beneficio del género humano” (Acreditation Board for Engineering and Technology, 1996). Peculiaridades de la Ingeniería del Software — El “producto” software. — Mucho desarrollo, poca disciplina ingenieril. — Necesidad de describir y documentar lo que se va a producir. — Cambios frecuentes en el producto. Diseño de Software Avanzado El Proceso de Desarrollo de Software Departamento de Informática 2
  • 3. La Ingeniería del Software (y II) Ingeniería de Sistemas vs. Ingeniería del Software — La Ingeniería de Sistemas está relacionada con todos los aspectos asociados al desarrollo de sistemas complejos: hardware, software, etc. — Los sistemas intensivos software son sistemas constituidos principalmente por software. Informática (Computer Science) vs. Ingeniería del Software — La Informática está relacionada con las teorías y métodos subyacentes a los ordenadores y a los sistemas software. Diseño de Software Avanzado El Proceso de Desarrollo de Software Departamento de Informática 3
  • 4. Problemas en el Desarrollo de Software Problemas Soluciones El programa no hace lo que se Definir bien las especificaciones supone que debe hacer Definir bien el diseño y las El programa se cuelga pruebas Hace falta un 200% del tiempo Planificar bien planificado para concluir el programa Si el programador se va de la empresa... ¡Vaya! Hay que hacer un Definir bien la documentación nuevo programa ... ... Diseño de Software Avanzado El Proceso de Desarrollo de Software Departamento de Informática 4
  • 5. El Típico Problema de Incomunicación 1. Necesidad: lo que el cliente realmente quería. 2. Cliente: lo que fue capaz de describir como una clara necesidad. 3. Proceso de ventas: lo que el fabricante de software prometió al cliente. 4. Requisitos: los requisitos descritos por el cliente, tal como finalmente fueron entendidos. 5. Análisis: la especificación formal de los requisitos realizada por los analistas. 6. Diseño: la especificación del funcionamiento del sistema para satisfacer los requisitos analizados. 7. Codificación: lo que escribió el programador. 8. Instalación: lo que realmente fue instalado al cliente. 9. Pruebas: lo que los responsables vieron en el sistema. Diseño de Software Avanzado El Proceso de Desarrollo de Software Departamento de Informática 5
  • 6. El Proceso de Desarrollo Software Requisitos, necesidades ¿Cómo se hace un proyecto software? Sistema software Diseño de Software Avanzado El Proceso de Desarrollo de Software Departamento de Informática 6
  • 7. El Proceso de Desarrollo Software (II) El SDP define el qué, quién, cuándo y cómo del desarrollo de software. Cuatro actividades fundamentales que son comunes para todos los procesos de desarrollo de software : — Especificación del software — Desarrollo del software — Validación del software — Evolución del software Modelo de proceso: — Descripción simplificada (abstracción) de un proceso de desarrollo de software real. Diseño de Software Avanzado El Proceso de Desarrollo de Software Departamento de Informática 7
  • 8. Ejemplo: Proceso en Cascada Necesidad Una sola iteración Análisis de requisitos Diseño Implementación Es una idealización que no se da en estado puro Pruebas Producto final Diseño de Software Avanzado El Proceso de Desarrollo de Software Departamento de Informática 8
  • 9. El Proceso de Desarrollo Software (y III) Es un problema complejo para proyectos medios o grandes: — Dividir un proyecto en mini-proyectos, más fáciles de manejar y completar. — Cada mini-proyecto es una iteración. — Cada iteración contiene todos los elementos de un proyecto normal: • planificación • análisis y diseño • construcción • integración y pruebas • versión del producto (interna o externa) — Cada iteración genera una línea base (baseline) que comprende una versión parcialmente completa del sistema final, y toda la documentación asociada. — Las sucesivas iteraciones se construyen unas sobre otras hasta que se alcanza el sistema final terminado. — La diferencia entre dos líneas base se conoce como incremento. Diseño de Software Avanzado El Proceso de Desarrollo de Software Departamento de Informática 9
  • 10. Ejemplo: Proceso en Espiral Espiral de Boehm (©IEEE, 1988) Diseño de Software Avanzado El Proceso de Desarrollo de Software Departamento de Informática 10
  • 11. Ejemplo: Proceso Iterativo e Incremental Posibilita la evolución en paralelo de los distintos flujos de trabajo, y por tanto el trabajo en paralelo de distintos equipos de personas. Las distintas versiones de los documentos producidas en cada iteración no necesariamente son compatibles entre sí: organizar bien la documentación. Iteración 1 Iteración 2 Iteración 3 Análisis Análisis Análisis (versión 1) (versión 2) (versión 3) Diseño Diseño (versión 1) (versión 2) Implementación (versión 1) Diseño de Software Avanzado El Proceso de Desarrollo de Software Departamento de Informática 11
  • 12. El Proceso Unificado de Desarrollo de Software Ligado en su origen histórico a los trabajos de Ivar Jacobson en Ericsson (1967), Objectory (1987) y Rational (1997). Principios del USDP/UP. — Dirigido por casos de uso y riesgos • Capturar requisitos. • Analizar riesgos y enfrentarse a ellos. — Centrado en la arquitectura • La arquitectura de un sistema describe la estrategia de división del sistema en componentes, cómo estos componentes interaccionan, y cómo son desplegados en el hardware. • Una arquitectura de calidad garantiza un sistema de calidad, no una mera colección de piezas mal conectadas. — Iterativo e incremental • Proceso dividido en sucesivas iteraciones. • La diferencia entre dos iteraciones es un incremento. Diseño de Software Avanzado El Proceso de Desarrollo de Software Departamento de Informática 12
  • 13. USDP: Flujos de Trabajo En cada iteración existen cinco flujos de trabajo (workflows): — Requisitos: capturar lo que el sistema debe hacer. — Análisis: refinar y estructurar los requisitos. — Diseño: realizar los requisitos en la arquitectura del sistema. — Implementación: construir el software. — Pruebas: verificar que la implementación funciona como se desea. Pueden existir otros (no cubiertos por USDP): — Planificación — Evaluación — Específicos del proyecto Distinto peso relativo en cada iteración. Diseño de Software Avanzado El Proceso de Desarrollo de Software Departamento de Informática 13
  • 14. USDP: Fases El ciclo de vida del proyecto se divide en cuatro fases, cada una de las cuales termina con un hito (milestone): — Inicio: objetivos del proyecto. — Elaboración: arquitectura del sistema. — Construcción: capacidad operativa inicial. — Transición: entrega del producto. En cada fase puede haber una o más iteraciones. En cada iteración se ejecutan los cinco flujos de trabajo principales y los otros que sean necesarios. Diseño de Software Avanzado El Proceso de Desarrollo de Software Departamento de Informática 14
  • 15. USDP: Fases, Iteraciones y Flujos de Trabajo Fases del ciclo de vida Flujos de trabajo Inicio Elaboración Construcción Transición Requisitos Una iteración en la fase de Elaboración Análisis Diseño Implementación Pruebas Iteración(es) Iter. Iter. Iter. Iter. Iter. Iter. Iter. preliminar(es) #1 #2 #n #n+1 #n+2 #m #m+1 Iteraciones Diseño de Software Avanzado El Proceso de Desarrollo de Software Departamento de Informática 15
  • 16. Otros Enfoques y Nomenclaturas Terminología USDP Terminología clásica Requisitos Análisis de requisitos Análisis Diseño Diseño Implementación Implementación Integración Pruebas Pruebas Eric Braude, Software Engineering. An Object-Oriented Perspective, John Wiley & Sons, 2001, p. 30. Diseño de Software Avanzado El Proceso de Desarrollo de Software Departamento de Informática 16