SlideShare ist ein Scribd-Unternehmen logo
1 von 85
Downloaden Sie, um offline zu lesen
Ingeniería de Software
            Sorey Bibiana García Zapata

                      Ingeniera Informática
            Politécnico Jaime Isaza Cadavid

      Especialista en Desarrollo de Software
                          Universidad EAFIT
Algunos discutirán mi forma de explicar la ingeniería
      de software, mi argumento es simple…

  No puedes hacer bien algo de lo que no tienes
conciencia, y saber de memoria un concepto de un
       libro pocas veces genera conciencia
Este es un curso para principantes, y también para
 personas de vieja guardia, que aun no entienden
     ahora por que nos “complicamos tanto”.

Los que todo lo saben, aquí tampoco encontrarán nada nuevo, o de pronto si, un
                             poquito de conciencia.
¿Qué es Ingeniería
    de software?
"Ingeniería del Software es el estudio de
    los principios y metodologías para
desarrollo y mantenimiento de sistemas de
         software" Zelkovitz 1978.
“Ingeniería del Software es la aplicación
practica del conocimiento científico en el diseño
y construcción de programas de computadora y
   la documentación asociada requerida para
desarrollar, operar(funcionar) y mantenerlos. Se
conoce también como desarrollo de software o
      producción de software” Bohem 1976.
“Ingeniería del Software trata del
 establecimiento de los principios y métodos de
la ingeniería a fin de obtener software de modo
 rentable que sea fiable y trabaje en maquinas
            reales” Fritz Bauer 1972.
La aplicación de un enfoque sistemático,
disciplinado, y cuantificable al desarrollo,
operación, y mantenimiento del software;
  es decir la aplicación de Ingeniería del
            Software. IEEE 1993.
¿Se entendió?
Busquemos una definición
Pues bien,
  vamos a conocer un poco de eso.


  Ha pensado alguna vez,
Donde hay software?
Parece que son más
   responsabilidades de las que
        esperábamos no?

Bueno, y que tal si nos hacemos un par
           de preguntas…
Iría en un viaje
alrededor de la tierra
 en globo, sabiendo
     que este esta
 controlado por una
    computadora?
Viajaría usted en un avión cuyo
software ha sido construido por usted?
Si su respuesta a estas
preguntas ha presentado
un poco de duda, vale la
pena cuestionarse alguna
         cosas…
Dudan los enfermos
 del corazón de sus
médicos cirujanos?
Dudan los empresarios
de los ingenieros civiles y
     arquitectos que
construyen sus edificios?
Bueno, y es que no es carpintero por
 tener madera, clavos y martillo…

Como no se es desarrollador de
  software por saber programar.
Ha visto el gracioso video de…

Que pasaría si los programadores
       hicieran aviones?

          Si, no lo invito a verlo antes de continuar…
      http://www.youtube.com/watch?v=UZq4sZz56qM
Gracioso, no?

                 Pues no!
No es gracioso que siendo un profesional tu
      trabajo sea tomado en broma…

El problema es, que pasa si nosotros mismos
  nos tomamos nuestro trabajo en broma?
Pues bien, si no se toma su trabajo en serio, lo que pasará es
         que usted mismo no será tomado en serio.

    Si usted sabe programar pero desconoce las
       motivaciones asociadas a su trabajo, las
 responsabilidades que implica y las consecuencias
que acarrea su mal desempeño… es decir, si no sabe
  ingeniería de software o le importa poco lo que
significa, pues usted no sabe hacer software, solo
                  sabe programar.
Si comparamos saber hacer
 software, con saber hacer
edificios, lo que usted sabe
    hacer básicamente es
      “pegar ladrillos”
Y si bien los ladrillos y demás estructuras, conforman el
 producto final; existen una serie de roles asociados a la
construcción, sin los cuales las admirables construcciones
           modernas no podrían ser construidos.
Es el caso de los maestros de obra, arquitectos,
ingenieros civiles…

Solo por mencionar algunos de los más obvios.
Un programador es
    solo un rol del
  conjunto de roles
   implicados en el
proceso de desarrollo
     de software
Pues bien, para desarrollar software existen
una serie de roles asociados, encargados de
 analizar, planificar y establecer, que es lo
 que va a desarrollarse, como, con cuantos
recursos, en cuanto tiempo e incluso a que
              nivel de calidad
Y es que, si tuviera dinero para enviar a construir su
                     propia casa….

 No le gustaría que quien va a construirla le
  garantizara la calidad del trabajo que va a
  realizar y le demostrara que cuenta con el
     conocimiento, materiales y equipo
 necesarios para hacer un trabajo perfecto?
Si?
Pues bien, los clientes y usuarios de
los proyectos de software, esperan
      exactamente lo mismo!
La ingeniería de software es una
idea casi ética sobre como hacer el
       software de forma correcta
El problema radica en que como casi
  todas las cosas en la vida, existen
 visiones diferentes de cómo hacer
     las cosas de forma correcta

  No obstante, existen unos principios generales
Reemplacemos entonces la frase
“hacer software de forma correcta” por
     “hacer software de calidad”
Si calidad!!,

La calidad determina el camino a seguir de todas las
 disciplinas asociadas a la ingeniería de software,…
            aunque para algunos resultan
               “excesivas y engorrosas”
Yo diría que, hacer las cosas bien, siempre va
  a requerir un poco más de esfuerzo, que
       hacerlas de cualquier otro modo
… pues bien, la mayoría de los críticos
 acerca del por que la ingeniería de
   software añade más cantidad de
  trabajo, resultan ser personas que
  desconocen las motivaciones y el
 propósito de la labor que realizan…
¿En que parte de las definiciones
formales nuestro que hacer como
           personas?
La ingeniería es el
     conjunto de
   conocimientos y
 técnicas científicas
  aplicadas, que se
dedica a la resolución
u optimización de los
    problemas que
afectan directamente
   a la humanidad
       Wikipedia
En ella, el conocimiento, manejo y dominio de las
  matemáticas y física, obtenido mediante estudio,
   experiencia y práctica, se aplica con juicio para
desarrollar formas eficientes de utilizar los materiales
  y las fuerzas de la naturaleza para beneficio de la
               humanidad y del ambiente.
                        Wikipedia
Ahí coincidimos

                           Ser ingeniero tiene
                               que ver con
                           “ser humanamente
                              responsable”




No hablo de personas con título de ingeniero, si no de personas que se dediquen a ejercer
                                la ingeniería de software
En resumen

Ingeniería de software es la disciplina o
   área de la informática que ofrece
 métodos y técnicas para desarrollar y
    mantener software de calidad.

                         Wikipedia

  http://es.wikipedia.org/wiki/Ingenier%C3%ADa_del_software
Pero, y ¿qué importa la calidad?


¿Acaso en software no importa es
  básicamente que funcione?

 Veamos algunas respuestas a esa pregunta…


  (Ojo, las siguientes imagenes son meramente ilustrativa, no todas
                     pertenecen al hecho descrito)
Therac-25
(1985 – 1987)

Era una máquina empleada en terapia de
radiación, producida por Atomic Energy of
Canada Limited, notoria por haber sido
objeto del error de software, causando al
menos seis accidentes y que le costó la
vida al menos a cinco personas
Mariner 1
(28 de Julio de 1962)

Un guión en las
instrucciones del
programa de guiado
del cohete provocó la
desviación del Atlas y
tuvo que enviarse un
comando para su
autodestrucción a los
4 minutos y 53
segundos de su
lanzamiento
Vuelo 501 del ARIANE-5
                 (4 de Junio de 1996)

   Otro ejemplo documentado sobre el
     daño ocasionado por software mal
    diseñado es el de la explosión de la
        lanzadera Ariane-5, cuando a 40
segundos después de la iniciación de la
     secuencia de vuelo, la lanzadera se
  desvió de su ruta, se partió y explotó.
  En el proyecto global se invirtieron 10
  años de construcción y 7 mil millones
 de euros, lo que supuso un duro golpe
 para la Agencia Espacial Europea (ESA)

http://www.youtube.com/watch?v=ION
                           cgYzVFlg
A-320 de Air France
                  (26 de junio de 1988)

        Durante una presentación en el
        meeting de Habsheim, cerca de
   Mulhouse (Francia), un A-320 de Air
France se estrella en el bosque, al final
  de la pista. Habrá tres muertos y una
                    centena de heridos.

 Justo después, el mundo se pregunta
     las causas del accidente del avión
  anunciado como "el más seguro del
                              mundo".

  Una de las causas se le atribuye a un
   error en el software de navegación

http://www.youtube.com/watch?v=_E
                       M0hDchVlY
Que tal las
respuestas?

     Nada
 agradables si
 me permiten
   decirles!
Pues bien, aunque actualmente existen
  muchas personas que construyen software
con conocimiento empírico, tal como si fuera
 arte, lo que debe diferenciar un trabajo bien
     hecho (profesional o empírico), es los
   métodos y la evidente forma de hacer el
 trabajo teniendo en mente la calidad de los
   procesos ejecutados y de los productos
                desarrollados.
Bueno, y si es que
parece que la ingeniería
 de software establece
 tan claramente lo que
    hay que hacer…

 Cual es el problema?

   Acaso no todos lo
     hacemos así?

Pues no, a veces pasa que…
Y quien dice que
siempre sale mal?

   A pues no,
 no siempre sale
      mal…

  Solo algunas
    veces…
     Veamos…
CHAOS Report
        (Estudio de Resultado de Ejecución de los Proyectos de Software)

                     Exitoso       Fallido        Cancelado



              33
 53                          46              49            51              53


              40
                             28              23            15              18
 31

              27             26              28            34              29
 16

1994        1996          1998           2000           2002           2004


CHAOS Report 1995: http://net.educause.edu/ir/library/pdf/NCP08083B.pdf
Pues bien,
   muchos de estos errores son aducidos
principalmente a falta de planeación y buen
análisis, cosa que tiene mucho sentido pero
   que sin embargo, no es la única razón…

 Como seres humanos involucrados en el
proceso de desarrollo, cometemos errores
  que de no ser corregidos a tiempo, van
  aumentando su costo y consecuencias
Usemos más analogías para entender
    De que estamos hablando…
¿Y si este fuera nuestro proyecto?
¿Qué necesitaríamos
  para construirlo?
Veamos…

Herramientas
 Personas
  Tiempo
  Dinero
 Recursos
¿Parece
Intuitivo no?
Sin embargo sabemos que en realidad, es
un poco más difícil de lo que imaginamos
Sin embargo…


   Seguimos
cayendo en los
    mismos
 errores una y
   otra vez…
Pues bien,
   muchos de estos errores son aducidos
principalmente a falta de planeación y buen
análisis, cosa que tiene mucho sentido pero
   que sin embargo, no es la única razón…

 Como seres humanos involucrados en el
proceso de desarrollo, cometemos errores
  que de no ser corregidos a tiempo, van
  aumentando su costo y consecuencias
¿Qué errores se comenten?
Falta de comunicación
Ausencia de objetivos y metas
claras durante la ejecución del
           proyecto
Mala estimación
 de tiempos
Falta de planificación
Requisitos poco claros y falta de
   acceso a la información
Indefinición del alcance y las
responsabilidades de las partes
Falta de
identificación y
 gestión de los
    riesgos
Carencia de
habilidades en la
ejecución de un rol
Falta de seguimiento al
 avance del proyecto
Falta de control del
    presupuesto
Recursos Insuficientes
No poseer o seguir
 una arquitectura
Falta de conocimiento e interés
  en la aplicación de mejores
            prácticas
En la mayoría de
 proyectos de desarrollo,
      los costes de
mantenimiento, superan
por un amplio margen los
 costos de desarrollo, se
   habla de un 30% en
 Desarrollo y un 70% en
    Mantenimiento.
Veamos que tal estamos ahora…
Ahora bien, de acuerdo a lo que hemos
hablado entonces, los Ingenieros de software
 no solo deben considerar aspectos técnicos:
  Deben tener una visión más amplia, en lo
          ético, social y profesional.
¿Y como se hace?
Bueno, una primera forma de pensar en las
 actividades que se involucra el proceso de
desarrollo de software es preguntarse acerca
 de Que se construirá? Como se hará? Y De
          que forma evolucionará?

O bien, como veíamos en la gráfica anterior,
      La Definición, El Desarrollo y El
              Mantenimiento
Los cambios en las primeras etapas son más
       costosos que en las últimas
Ingeniería de Software
         Sorey Bibiana García Zapata
               www.soreygarcia.com

Weitere ähnliche Inhalte

Was ist angesagt?

Resumen swebok original
Resumen swebok originalResumen swebok original
Resumen swebok originalDat@center S.A
 
Estimación para proyectos de software cap26
Estimación para proyectos de software cap26Estimación para proyectos de software cap26
Estimación para proyectos de software cap26DEBANI SALAS
 
Aseguramiento de la Calidad del Software
Aseguramiento de la Calidad del SoftwareAseguramiento de la Calidad del Software
Aseguramiento de la Calidad del SoftwareTensor
 
Importancia del análisis de requerimientos
Importancia del análisis de requerimientosImportancia del análisis de requerimientos
Importancia del análisis de requerimientosalmarza1
 
calidad de los sistemas de informacion
calidad de los sistemas de informacioncalidad de los sistemas de informacion
calidad de los sistemas de informacionErika Vazquez
 
Team Software Process (TSP)
Team Software Process (TSP)Team Software Process (TSP)
Team Software Process (TSP)Juan Garcia
 
Metricas Ingenieria De Software
Metricas Ingenieria De SoftwareMetricas Ingenieria De Software
Metricas Ingenieria De SoftwareRicardo
 
Estandares y modelos de calidad del software
Estandares y modelos de calidad del softwareEstandares y modelos de calidad del software
Estandares y modelos de calidad del softwareaagalvisg
 
Análisis de Requerimientos
Análisis de RequerimientosAnálisis de Requerimientos
Análisis de RequerimientosUTPL UTPL
 
Metodologia del rup
Metodologia del rupMetodologia del rup
Metodologia del ruportizrichard
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloJosé Antonio Sandoval Acosta
 
7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesossilviamap64
 
Metodologias de Analisis y Diseno de Sistemas
Metodologias de Analisis y Diseno de SistemasMetodologias de Analisis y Diseno de Sistemas
Metodologias de Analisis y Diseno de SistemasElvis Mendoza Sequera
 
Metodología de desarrollo de software basada en componentes
Metodología de desarrollo de software basada en componentesMetodología de desarrollo de software basada en componentes
Metodología de desarrollo de software basada en componentesEmmanuel Fontán
 
Requerimientos en Ingenieria de Software
Requerimientos en Ingenieria de SoftwareRequerimientos en Ingenieria de Software
Requerimientos en Ingenieria de SoftwareKelvin Abdiel Alvarado
 
Fundamentos de Pruebas de Software - Capítulo 3
Fundamentos de Pruebas de Software - Capítulo 3Fundamentos de Pruebas de Software - Capítulo 3
Fundamentos de Pruebas de Software - Capítulo 3Professional Testing
 

Was ist angesagt? (20)

Resumen swebok original
Resumen swebok originalResumen swebok original
Resumen swebok original
 
Estimación para proyectos de software cap26
Estimación para proyectos de software cap26Estimación para proyectos de software cap26
Estimación para proyectos de software cap26
 
Aseguramiento de la Calidad del Software
Aseguramiento de la Calidad del SoftwareAseguramiento de la Calidad del Software
Aseguramiento de la Calidad del Software
 
Proyecto de reingenieria de software
Proyecto de reingenieria  de softwareProyecto de reingenieria  de software
Proyecto de reingenieria de software
 
SPICE
SPICESPICE
SPICE
 
Importancia del análisis de requerimientos
Importancia del análisis de requerimientosImportancia del análisis de requerimientos
Importancia del análisis de requerimientos
 
calidad de los sistemas de informacion
calidad de los sistemas de informacioncalidad de los sistemas de informacion
calidad de los sistemas de informacion
 
Team Software Process (TSP)
Team Software Process (TSP)Team Software Process (TSP)
Team Software Process (TSP)
 
Metricas Ingenieria De Software
Metricas Ingenieria De SoftwareMetricas Ingenieria De Software
Metricas Ingenieria De Software
 
Modelos basados en prototipos
Modelos basados en prototiposModelos basados en prototipos
Modelos basados en prototipos
 
Estandares y modelos de calidad del software
Estandares y modelos de calidad del softwareEstandares y modelos de calidad del software
Estandares y modelos de calidad del software
 
Análisis de Requerimientos
Análisis de RequerimientosAnálisis de Requerimientos
Análisis de Requerimientos
 
Metodologia del rup
Metodologia del rupMetodologia del rup
Metodologia del rup
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
 
Ingenieria De Software
Ingenieria De SoftwareIngenieria De Software
Ingenieria De Software
 
7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos
 
Metodologias de Analisis y Diseno de Sistemas
Metodologias de Analisis y Diseno de SistemasMetodologias de Analisis y Diseno de Sistemas
Metodologias de Analisis y Diseno de Sistemas
 
Metodología de desarrollo de software basada en componentes
Metodología de desarrollo de software basada en componentesMetodología de desarrollo de software basada en componentes
Metodología de desarrollo de software basada en componentes
 
Requerimientos en Ingenieria de Software
Requerimientos en Ingenieria de SoftwareRequerimientos en Ingenieria de Software
Requerimientos en Ingenieria de Software
 
Fundamentos de Pruebas de Software - Capítulo 3
Fundamentos de Pruebas de Software - Capítulo 3Fundamentos de Pruebas de Software - Capítulo 3
Fundamentos de Pruebas de Software - Capítulo 3
 

Ähnlich wie Ingenieria De Software Para Dummies

Estrategias Avanet: Ingeniería de Software
Estrategias Avanet: Ingeniería de SoftwareEstrategias Avanet: Ingeniería de Software
Estrategias Avanet: Ingeniería de SoftwareAvanet
 
La responsabilidad social de la Ingeniería de Software
La responsabilidad social de la Ingeniería de SoftwareLa responsabilidad social de la Ingeniería de Software
La responsabilidad social de la Ingeniería de SoftwareAvanet
 
Taller ingenieria de software
Taller ingenieria de softwareTaller ingenieria de software
Taller ingenieria de softwareAvanet
 
Desconferencia Barcamp Cali 2009 - Ingeniería de Software
Desconferencia Barcamp Cali 2009 - Ingeniería de SoftwareDesconferencia Barcamp Cali 2009 - Ingeniería de Software
Desconferencia Barcamp Cali 2009 - Ingeniería de SoftwareSorey García
 
Trabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueTrabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueJosue Zelaya
 
Ingeniería y Software
Ingeniería y SoftwareIngeniería y Software
Ingeniería y Softwaremenamigue
 
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
 
Diapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgosDiapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgosMelissa Burgos
 

Ähnlich wie Ingenieria De Software Para Dummies (20)

Estrategias Avanet: Ingeniería de Software
Estrategias Avanet: Ingeniería de SoftwareEstrategias Avanet: Ingeniería de Software
Estrategias Avanet: Ingeniería de Software
 
La responsabilidad social de la Ingeniería de Software
La responsabilidad social de la Ingeniería de SoftwareLa responsabilidad social de la Ingeniería de Software
La responsabilidad social de la Ingeniería de Software
 
Intruducción de la Ingeniería de Software
Intruducción de la Ingeniería de SoftwareIntruducción de la Ingeniería de Software
Intruducción de la Ingeniería de Software
 
Taller ingenieria de software
Taller ingenieria de softwareTaller ingenieria de software
Taller ingenieria de software
 
Integrantes
IntegrantesIntegrantes
Integrantes
 
Integrantes
IntegrantesIntegrantes
Integrantes
 
Integrantes
IntegrantesIntegrantes
Integrantes
 
Desconferencia Barcamp Cali 2009 - Ingeniería de Software
Desconferencia Barcamp Cali 2009 - Ingeniería de SoftwareDesconferencia Barcamp Cali 2009 - Ingeniería de Software
Desconferencia Barcamp Cali 2009 - Ingeniería 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
 
Guia1omar
Guia1omarGuia1omar
Guia1omar
 
Trabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueTrabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josue
 
Proyecto final
Proyecto finalProyecto final
Proyecto final
 
Ingeniería y Software
Ingeniería y SoftwareIngeniería y Software
Ingeniería y Software
 
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
 
Diapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgosDiapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgos
 
V2n2a1 (1)
V2n2a1 (1)V2n2a1 (1)
V2n2a1 (1)
 
Diapocitivas preguntas
Diapocitivas preguntasDiapocitivas preguntas
Diapocitivas preguntas
 
Diapocitivas preguntas
Diapocitivas preguntasDiapocitivas preguntas
Diapocitivas preguntas
 
Diapocitivas preguntas
Diapocitivas preguntasDiapocitivas preguntas
Diapocitivas preguntas
 

Mehr von Sorey García

Mision inspiración para docentes
Mision inspiración para docentesMision inspiración para docentes
Mision inspiración para docentesSorey García
 
NetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvilNetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvilSorey García
 
Introducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLIntroducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLSorey García
 
WIE: El poder de transformar al mundo con tecnología
WIE: El poder de transformar al mundo con tecnologíaWIE: El poder de transformar al mundo con tecnología
WIE: El poder de transformar al mundo con tecnologíaSorey García
 
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...Sorey García
 
Internet de las Cosas y Netduino
Internet de las Cosas y NetduinoInternet de las Cosas y Netduino
Internet de las Cosas y NetduinoSorey García
 
Misión: Inspiración
Misión: InspiraciónMisión: Inspiración
Misión: InspiraciónSorey García
 
Tendencias de movilidad en el mercado masivo y empresarial
Tendencias de movilidad en el mercado masivo y empresarialTendencias de movilidad en el mercado masivo y empresarial
Tendencias de movilidad en el mercado masivo y empresarialSorey García
 
[Avanet] Fiesta del Libro y la Cultura Medellín
[Avanet] Fiesta del Libro y la Cultura Medellín[Avanet] Fiesta del Libro y la Cultura Medellín
[Avanet] Fiesta del Libro y la Cultura MedellínSorey García
 
MVP Open Day - Best Practices/Experiences
MVP Open Day - Best Practices/Experiences MVP Open Day - Best Practices/Experiences
MVP Open Day - Best Practices/Experiences Sorey García
 
GWAB: Azure Mobile Services
GWAB: Azure Mobile ServicesGWAB: Azure Mobile Services
GWAB: Azure Mobile ServicesSorey García
 
Similitudes y deferencias en UX para Windows Phone y Windows
Similitudes y deferencias en UX para Windows Phone y WindowsSimilitudes y deferencias en UX para Windows Phone y Windows
Similitudes y deferencias en UX para Windows Phone y WindowsSorey García
 
Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)Sorey García
 
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Sorey García
 
Conociendo el ecosistema de Windows Phone 8 y Windows 8
Conociendo el ecosistema de Windows Phone 8 y Windows 8Conociendo el ecosistema de Windows Phone 8 y Windows 8
Conociendo el ecosistema de Windows Phone 8 y Windows 8Sorey García
 
Hackaton Globant - Windows Phone (snnipets and tips)
Hackaton Globant - Windows Phone (snnipets and tips)Hackaton Globant - Windows Phone (snnipets and tips)
Hackaton Globant - Windows Phone (snnipets and tips)Sorey García
 
Windows Phone 8: Tips de Diseño para Desarrolladores
Windows Phone 8: Tips de Diseño para DesarrolladoresWindows Phone 8: Tips de Diseño para Desarrolladores
Windows Phone 8: Tips de Diseño para DesarrolladoresSorey García
 
JSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y Javascript
JSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y JavascriptJSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y Javascript
JSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y JavascriptSorey García
 
Windows Phone 8 en Campus Party
Windows Phone 8 en Campus PartyWindows Phone 8 en Campus Party
Windows Phone 8 en Campus PartySorey García
 

Mehr von Sorey García (20)

Mision inspiración para docentes
Mision inspiración para docentesMision inspiración para docentes
Mision inspiración para docentes
 
NetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvilNetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvil
 
Introducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLIntroducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAML
 
WIE: El poder de transformar al mundo con tecnología
WIE: El poder de transformar al mundo con tecnologíaWIE: El poder de transformar al mundo con tecnología
WIE: El poder de transformar al mundo con tecnología
 
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
 
Internet de las Cosas y Netduino
Internet de las Cosas y NetduinoInternet de las Cosas y Netduino
Internet de las Cosas y Netduino
 
Misión: Inspiración
Misión: InspiraciónMisión: Inspiración
Misión: Inspiración
 
Codies.Launch()
Codies.Launch()Codies.Launch()
Codies.Launch()
 
Tendencias de movilidad en el mercado masivo y empresarial
Tendencias de movilidad en el mercado masivo y empresarialTendencias de movilidad en el mercado masivo y empresarial
Tendencias de movilidad en el mercado masivo y empresarial
 
[Avanet] Fiesta del Libro y la Cultura Medellín
[Avanet] Fiesta del Libro y la Cultura Medellín[Avanet] Fiesta del Libro y la Cultura Medellín
[Avanet] Fiesta del Libro y la Cultura Medellín
 
MVP Open Day - Best Practices/Experiences
MVP Open Day - Best Practices/Experiences MVP Open Day - Best Practices/Experiences
MVP Open Day - Best Practices/Experiences
 
GWAB: Azure Mobile Services
GWAB: Azure Mobile ServicesGWAB: Azure Mobile Services
GWAB: Azure Mobile Services
 
Similitudes y deferencias en UX para Windows Phone y Windows
Similitudes y deferencias en UX para Windows Phone y WindowsSimilitudes y deferencias en UX para Windows Phone y Windows
Similitudes y deferencias en UX para Windows Phone y Windows
 
Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)
 
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
 
Conociendo el ecosistema de Windows Phone 8 y Windows 8
Conociendo el ecosistema de Windows Phone 8 y Windows 8Conociendo el ecosistema de Windows Phone 8 y Windows 8
Conociendo el ecosistema de Windows Phone 8 y Windows 8
 
Hackaton Globant - Windows Phone (snnipets and tips)
Hackaton Globant - Windows Phone (snnipets and tips)Hackaton Globant - Windows Phone (snnipets and tips)
Hackaton Globant - Windows Phone (snnipets and tips)
 
Windows Phone 8: Tips de Diseño para Desarrolladores
Windows Phone 8: Tips de Diseño para DesarrolladoresWindows Phone 8: Tips de Diseño para Desarrolladores
Windows Phone 8: Tips de Diseño para Desarrolladores
 
JSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y Javascript
JSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y JavascriptJSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y Javascript
JSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y Javascript
 
Windows Phone 8 en Campus Party
Windows Phone 8 en Campus PartyWindows Phone 8 en Campus Party
Windows Phone 8 en Campus Party
 

Kürzlich hochgeladen

ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 

Kürzlich hochgeladen (20)

ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 

Ingenieria De Software Para Dummies

  • 1. Ingeniería de Software Sorey Bibiana García Zapata Ingeniera Informática Politécnico Jaime Isaza Cadavid Especialista en Desarrollo de Software Universidad EAFIT
  • 2. Algunos discutirán mi forma de explicar la ingeniería de software, mi argumento es simple… No puedes hacer bien algo de lo que no tienes conciencia, y saber de memoria un concepto de un libro pocas veces genera conciencia
  • 3. Este es un curso para principantes, y también para personas de vieja guardia, que aun no entienden ahora por que nos “complicamos tanto”. Los que todo lo saben, aquí tampoco encontrarán nada nuevo, o de pronto si, un poquito de conciencia.
  • 4. ¿Qué es Ingeniería de software?
  • 5. "Ingeniería del Software es el estudio de los principios y metodologías para desarrollo y mantenimiento de sistemas de software" Zelkovitz 1978.
  • 6. “Ingeniería del Software es la aplicación practica del conocimiento científico en el diseño y construcción de programas de computadora y la documentación asociada requerida para desarrollar, operar(funcionar) y mantenerlos. Se conoce también como desarrollo de software o producción de software” Bohem 1976.
  • 7. “Ingeniería del Software trata del establecimiento de los principios y métodos de la ingeniería a fin de obtener software de modo rentable que sea fiable y trabaje en maquinas reales” Fritz Bauer 1972.
  • 8. La aplicación de un enfoque sistemático, disciplinado, y cuantificable al desarrollo, operación, y mantenimiento del software; es decir la aplicación de Ingeniería del Software. IEEE 1993.
  • 10. Pues bien, vamos a conocer un poco de eso. Ha pensado alguna vez, Donde hay software?
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. Parece que son más responsabilidades de las que esperábamos no? Bueno, y que tal si nos hacemos un par de preguntas…
  • 18. Iría en un viaje alrededor de la tierra en globo, sabiendo que este esta controlado por una computadora?
  • 19. Viajaría usted en un avión cuyo software ha sido construido por usted?
  • 20. Si su respuesta a estas preguntas ha presentado un poco de duda, vale la pena cuestionarse alguna cosas…
  • 21. Dudan los enfermos del corazón de sus médicos cirujanos?
  • 22. Dudan los empresarios de los ingenieros civiles y arquitectos que construyen sus edificios?
  • 23. Bueno, y es que no es carpintero por tener madera, clavos y martillo… Como no se es desarrollador de software por saber programar.
  • 24. Ha visto el gracioso video de… Que pasaría si los programadores hicieran aviones? Si, no lo invito a verlo antes de continuar… http://www.youtube.com/watch?v=UZq4sZz56qM
  • 25. Gracioso, no? Pues no! No es gracioso que siendo un profesional tu trabajo sea tomado en broma… El problema es, que pasa si nosotros mismos nos tomamos nuestro trabajo en broma?
  • 26. Pues bien, si no se toma su trabajo en serio, lo que pasará es que usted mismo no será tomado en serio. Si usted sabe programar pero desconoce las motivaciones asociadas a su trabajo, las responsabilidades que implica y las consecuencias que acarrea su mal desempeño… es decir, si no sabe ingeniería de software o le importa poco lo que significa, pues usted no sabe hacer software, solo sabe programar.
  • 27. Si comparamos saber hacer software, con saber hacer edificios, lo que usted sabe hacer básicamente es “pegar ladrillos”
  • 28. Y si bien los ladrillos y demás estructuras, conforman el producto final; existen una serie de roles asociados a la construcción, sin los cuales las admirables construcciones modernas no podrían ser construidos.
  • 29. Es el caso de los maestros de obra, arquitectos, ingenieros civiles… Solo por mencionar algunos de los más obvios.
  • 30. Un programador es solo un rol del conjunto de roles implicados en el proceso de desarrollo de software
  • 31. Pues bien, para desarrollar software existen una serie de roles asociados, encargados de analizar, planificar y establecer, que es lo que va a desarrollarse, como, con cuantos recursos, en cuanto tiempo e incluso a que nivel de calidad
  • 32. Y es que, si tuviera dinero para enviar a construir su propia casa…. No le gustaría que quien va a construirla le garantizara la calidad del trabajo que va a realizar y le demostrara que cuenta con el conocimiento, materiales y equipo necesarios para hacer un trabajo perfecto?
  • 33. Si? Pues bien, los clientes y usuarios de los proyectos de software, esperan exactamente lo mismo!
  • 34. La ingeniería de software es una idea casi ética sobre como hacer el software de forma correcta
  • 35. El problema radica en que como casi todas las cosas en la vida, existen visiones diferentes de cómo hacer las cosas de forma correcta No obstante, existen unos principios generales
  • 36. Reemplacemos entonces la frase “hacer software de forma correcta” por “hacer software de calidad”
  • 37. Si calidad!!, La calidad determina el camino a seguir de todas las disciplinas asociadas a la ingeniería de software,… aunque para algunos resultan “excesivas y engorrosas”
  • 38. Yo diría que, hacer las cosas bien, siempre va a requerir un poco más de esfuerzo, que hacerlas de cualquier otro modo
  • 39. … pues bien, la mayoría de los críticos acerca del por que la ingeniería de software añade más cantidad de trabajo, resultan ser personas que desconocen las motivaciones y el propósito de la labor que realizan…
  • 40. ¿En que parte de las definiciones formales nuestro que hacer como personas?
  • 41. La ingeniería es el conjunto de conocimientos y técnicas científicas aplicadas, que se dedica a la resolución u optimización de los problemas que afectan directamente a la humanidad Wikipedia
  • 42. En ella, el conocimiento, manejo y dominio de las matemáticas y física, obtenido mediante estudio, experiencia y práctica, se aplica con juicio para desarrollar formas eficientes de utilizar los materiales y las fuerzas de la naturaleza para beneficio de la humanidad y del ambiente. Wikipedia
  • 43. Ahí coincidimos Ser ingeniero tiene que ver con “ser humanamente responsable” No hablo de personas con título de ingeniero, si no de personas que se dediquen a ejercer la ingeniería de software
  • 44. En resumen Ingeniería de software es la disciplina o área de la informática que ofrece métodos y técnicas para desarrollar y mantener software de calidad. Wikipedia http://es.wikipedia.org/wiki/Ingenier%C3%ADa_del_software
  • 45. Pero, y ¿qué importa la calidad? ¿Acaso en software no importa es básicamente que funcione? Veamos algunas respuestas a esa pregunta… (Ojo, las siguientes imagenes son meramente ilustrativa, no todas pertenecen al hecho descrito)
  • 46. Therac-25 (1985 – 1987) Era una máquina empleada en terapia de radiación, producida por Atomic Energy of Canada Limited, notoria por haber sido objeto del error de software, causando al menos seis accidentes y que le costó la vida al menos a cinco personas
  • 47. Mariner 1 (28 de Julio de 1962) Un guión en las instrucciones del programa de guiado del cohete provocó la desviación del Atlas y tuvo que enviarse un comando para su autodestrucción a los 4 minutos y 53 segundos de su lanzamiento
  • 48. Vuelo 501 del ARIANE-5 (4 de Junio de 1996) Otro ejemplo documentado sobre el daño ocasionado por software mal diseñado es el de la explosión de la lanzadera Ariane-5, cuando a 40 segundos después de la iniciación de la secuencia de vuelo, la lanzadera se desvió de su ruta, se partió y explotó. En el proyecto global se invirtieron 10 años de construcción y 7 mil millones de euros, lo que supuso un duro golpe para la Agencia Espacial Europea (ESA) http://www.youtube.com/watch?v=ION cgYzVFlg
  • 49. A-320 de Air France (26 de junio de 1988) Durante una presentación en el meeting de Habsheim, cerca de Mulhouse (Francia), un A-320 de Air France se estrella en el bosque, al final de la pista. Habrá tres muertos y una centena de heridos. Justo después, el mundo se pregunta las causas del accidente del avión anunciado como "el más seguro del mundo". Una de las causas se le atribuye a un error en el software de navegación http://www.youtube.com/watch?v=_E M0hDchVlY
  • 50. Que tal las respuestas? Nada agradables si me permiten decirles!
  • 51. Pues bien, aunque actualmente existen muchas personas que construyen software con conocimiento empírico, tal como si fuera arte, lo que debe diferenciar un trabajo bien hecho (profesional o empírico), es los métodos y la evidente forma de hacer el trabajo teniendo en mente la calidad de los procesos ejecutados y de los productos desarrollados.
  • 52. Bueno, y si es que parece que la ingeniería de software establece tan claramente lo que hay que hacer… Cual es el problema? Acaso no todos lo hacemos así? Pues no, a veces pasa que…
  • 53.
  • 54. Y quien dice que siempre sale mal? A pues no, no siempre sale mal… Solo algunas veces… Veamos…
  • 55. CHAOS Report (Estudio de Resultado de Ejecución de los Proyectos de Software) Exitoso Fallido Cancelado 33 53 46 49 51 53 40 28 23 15 18 31 27 26 28 34 29 16 1994 1996 1998 2000 2002 2004 CHAOS Report 1995: http://net.educause.edu/ir/library/pdf/NCP08083B.pdf
  • 56. Pues bien, muchos de estos errores son aducidos principalmente a falta de planeación y buen análisis, cosa que tiene mucho sentido pero que sin embargo, no es la única razón… Como seres humanos involucrados en el proceso de desarrollo, cometemos errores que de no ser corregidos a tiempo, van aumentando su costo y consecuencias
  • 57. Usemos más analogías para entender De que estamos hablando…
  • 58. ¿Y si este fuera nuestro proyecto?
  • 59. ¿Qué necesitaríamos para construirlo?
  • 60. Veamos… Herramientas Personas Tiempo Dinero Recursos
  • 62. Sin embargo sabemos que en realidad, es un poco más difícil de lo que imaginamos
  • 63. Sin embargo… Seguimos cayendo en los mismos errores una y otra vez…
  • 64. Pues bien, muchos de estos errores son aducidos principalmente a falta de planeación y buen análisis, cosa que tiene mucho sentido pero que sin embargo, no es la única razón… Como seres humanos involucrados en el proceso de desarrollo, cometemos errores que de no ser corregidos a tiempo, van aumentando su costo y consecuencias
  • 65. ¿Qué errores se comenten?
  • 67. Ausencia de objetivos y metas claras durante la ejecución del proyecto
  • 70. Requisitos poco claros y falta de acceso a la información
  • 71. Indefinición del alcance y las responsabilidades de las partes
  • 72. Falta de identificación y gestión de los riesgos
  • 73. Carencia de habilidades en la ejecución de un rol
  • 74. Falta de seguimiento al avance del proyecto
  • 75. Falta de control del presupuesto
  • 77. No poseer o seguir una arquitectura
  • 78. Falta de conocimiento e interés en la aplicación de mejores prácticas
  • 79. En la mayoría de proyectos de desarrollo, los costes de mantenimiento, superan por un amplio margen los costos de desarrollo, se habla de un 30% en Desarrollo y un 70% en Mantenimiento.
  • 80. Veamos que tal estamos ahora…
  • 81. Ahora bien, de acuerdo a lo que hemos hablado entonces, los Ingenieros de software no solo deben considerar aspectos técnicos: Deben tener una visión más amplia, en lo ético, social y profesional.
  • 82. ¿Y como se hace?
  • 83. Bueno, una primera forma de pensar en las actividades que se involucra el proceso de desarrollo de software es preguntarse acerca de Que se construirá? Como se hará? Y De que forma evolucionará? O bien, como veíamos en la gráfica anterior, La Definición, El Desarrollo y El Mantenimiento
  • 84. Los cambios en las primeras etapas son más costosos que en las últimas
  • 85. Ingeniería de Software Sorey Bibiana García Zapata www.soreygarcia.com