SlideShare una empresa de Scribd logo
1 de 85
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y desplieguejoshell
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentesmellcv
 
Tm03 modelo de casos de uso
Tm03 modelo de casos de usoTm03 modelo de casos de uso
Tm03 modelo de casos de usoJulio Pari
 
Administración de centros de cómputo clase 1
Administración de centros de cómputo   clase 1Administración de centros de cómputo   clase 1
Administración de centros de cómputo clase 1Marcelo Herrera
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareRoger Villegas
 
Arquitectura de la Información
Arquitectura de la InformaciónArquitectura de la Información
Arquitectura de la InformaciónXimena Tabares
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareRoberth Loaiza
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de usoTensor
 
Estrategias prueba de software
Estrategias prueba de softwareEstrategias prueba de software
Estrategias prueba de softwareCentro Líbano
 
Analisis de sistemas, Necesidad del Analisis y Participantes
Analisis de sistemas,  Necesidad del Analisis y ParticipantesAnalisis de sistemas,  Necesidad del Analisis y Participantes
Analisis de sistemas, Necesidad del Analisis y ParticipantesColegio Metropolitano
 
Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1Marta Silvia Tabares
 
Diseño de interfaz de usuario
Diseño de interfaz de usuarioDiseño de interfaz de usuario
Diseño de interfaz de usuarioYesith Valencia
 
Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividadesElvisAR
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 CapasFani Calle
 
Tendencias actuales del desarrollo de software
Tendencias actuales del desarrollo de softwareTendencias actuales del desarrollo de software
Tendencias actuales del desarrollo de softwareCoordinador Ordoñez
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso RealesSergio Sanchez
 

La actualidad más candente (20)

Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegue
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
 
Tm03 modelo de casos de uso
Tm03 modelo de casos de usoTm03 modelo de casos de uso
Tm03 modelo de casos de uso
 
Administración de centros de cómputo clase 1
Administración de centros de cómputo   clase 1Administración de centros de cómputo   clase 1
Administración de centros de cómputo clase 1
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de software
 
Arquitectura de la Información
Arquitectura de la InformaciónArquitectura de la Información
Arquitectura de la Información
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de Software
 
Active directory
Active directoryActive directory
Active directory
 
Diseño de interfaces
Diseño de interfacesDiseño de interfaces
Diseño de interfaces
 
Uml
UmlUml
Uml
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de uso
 
Estrategias prueba de software
Estrategias prueba de softwareEstrategias prueba de software
Estrategias prueba de software
 
Analisis de sistemas, Necesidad del Analisis y Participantes
Analisis de sistemas,  Necesidad del Analisis y ParticipantesAnalisis de sistemas,  Necesidad del Analisis y Participantes
Analisis de sistemas, Necesidad del Analisis y Participantes
 
Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1
 
Diseño de interfaz de usuario
Diseño de interfaz de usuarioDiseño de interfaz de usuario
Diseño de interfaz de usuario
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividades
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
Tendencias actuales del desarrollo de software
Tendencias actuales del desarrollo de softwareTendencias actuales del desarrollo de software
Tendencias actuales del desarrollo de software
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
 

Similar a 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
 

Similar a 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
 

Más de 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
 

Más de 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
 

Último

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
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
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
 
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
 
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
 
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
 
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
 
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
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
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
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
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
 
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
 
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
 

Último (20)

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
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
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
 
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
 
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
 
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
 
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
 
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
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
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.
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
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
 
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
 
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
 

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