SlideShare una empresa de Scribd logo
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

Manual de instalacion de Mongo db
Manual de instalacion de Mongo dbManual de instalacion de Mongo db
Manual de instalacion de Mongo db
Ruby B. Blanca
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
Guillermo Chirinos
 
Analisis critico sobre las ventajas competitivas que se obtienen al implement...
Analisis critico sobre las ventajas competitivas que se obtienen al implement...Analisis critico sobre las ventajas competitivas que se obtienen al implement...
Analisis critico sobre las ventajas competitivas que se obtienen al implement...
Leslie Karelia Rodriguez Sibaja
 
Pruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionPruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacion
Abner Gerardo
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
Francisco Gómez
 
Powerpoint dela seguridad y proteccion de los sistemas operativos
Powerpoint dela seguridad y proteccion de los sistemas operativosPowerpoint dela seguridad y proteccion de los sistemas operativos
Powerpoint dela seguridad y proteccion de los sistemas operativos
Adriana Rodriguez
 
Modelo incremental
Modelo incrementalModelo incremental
Modelo incremental
Avelino Felipe Policarpio
 
Procesos De Ingenieria Del Software
Procesos De Ingenieria Del SoftwareProcesos De Ingenieria Del Software
Procesos De Ingenieria Del Software
Raquel Solano
 
TELEPROCESOS
TELEPROCESOSTELEPROCESOS
TELEPROCESOS
AntonioReyes628031
 
Tabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacionTabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacion
MarioS1093
 
Tipos de organigramas
Tipos de organigramasTipos de organigramas
Tipos de organigramas
Growth Hacking Talent
 
BASE DE DATOS INTRODUCCION
BASE DE DATOS INTRODUCCIONBASE DE DATOS INTRODUCCION
BASE DE DATOS INTRODUCCION
ejjsm
 
Esquema de particiones
Esquema de particionesEsquema de particiones
Esquema de particiones
Pnfi Unermb
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
manuel alfredo chacon valero
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
marijoalbarran
 
Metodología de desarrollo de software rad
 Metodología de desarrollo de software rad Metodología de desarrollo de software rad
Metodología de desarrollo de software rad
marcosxm
 
Modelamiento software
Modelamiento softwareModelamiento software
Modelamiento software
Cristhian J. Oscco Huangal
 
Enfoque estructurado enfoque oo
Enfoque estructurado   enfoque ooEnfoque estructurado   enfoque oo
Enfoque estructurado enfoque oo
karlanm07
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
Cesar Prado
 
Ejercicios packet tracer_completo_2014
Ejercicios packet tracer_completo_2014Ejercicios packet tracer_completo_2014
Ejercicios packet tracer_completo_2014
Dario Esquina
 

La actualidad más candente (20)

Manual de instalacion de Mongo db
Manual de instalacion de Mongo dbManual de instalacion de Mongo db
Manual de instalacion de Mongo db
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
 
Analisis critico sobre las ventajas competitivas que se obtienen al implement...
Analisis critico sobre las ventajas competitivas que se obtienen al implement...Analisis critico sobre las ventajas competitivas que se obtienen al implement...
Analisis critico sobre las ventajas competitivas que se obtienen al implement...
 
Pruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionPruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacion
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Powerpoint dela seguridad y proteccion de los sistemas operativos
Powerpoint dela seguridad y proteccion de los sistemas operativosPowerpoint dela seguridad y proteccion de los sistemas operativos
Powerpoint dela seguridad y proteccion de los sistemas operativos
 
Modelo incremental
Modelo incrementalModelo incremental
Modelo incremental
 
Procesos De Ingenieria Del Software
Procesos De Ingenieria Del SoftwareProcesos De Ingenieria Del Software
Procesos De Ingenieria Del Software
 
TELEPROCESOS
TELEPROCESOSTELEPROCESOS
TELEPROCESOS
 
Tabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacionTabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacion
 
Tipos de organigramas
Tipos de organigramasTipos de organigramas
Tipos de organigramas
 
BASE DE DATOS INTRODUCCION
BASE DE DATOS INTRODUCCIONBASE DE DATOS INTRODUCCION
BASE DE DATOS INTRODUCCION
 
Esquema de particiones
Esquema de particionesEsquema de particiones
Esquema de particiones
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
 
Metodología de desarrollo de software rad
 Metodología de desarrollo de software rad Metodología de desarrollo de software rad
Metodología de desarrollo de software rad
 
Modelamiento software
Modelamiento softwareModelamiento software
Modelamiento software
 
Enfoque estructurado enfoque oo
Enfoque estructurado   enfoque ooEnfoque estructurado   enfoque oo
Enfoque estructurado enfoque oo
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
Ejercicios packet tracer_completo_2014
Ejercicios packet tracer_completo_2014Ejercicios packet tracer_completo_2014
Ejercicios packet tracer_completo_2014
 

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 Software
Avanet
 
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
Avanet
 
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
Juan Antonio CARBAJAL MAYHUA
 
Taller ingenieria de software
Taller ingenieria de softwareTaller ingenieria de software
Taller ingenieria de software
Avanet
 
Integrantes
IntegrantesIntegrantes
Integrantes
guestf57eef57
 
Integrantes
IntegrantesIntegrantes
Integrantes
guestf57eef57
 
Integrantes
IntegrantesIntegrantes
Integrantes
guestf57eef57
 
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
Sorey García
 
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdfCarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
ssuser7ccf16
 
introducción ingeniería de software
introducción  ingeniería de  softwareintroducción  ingeniería de  software
introducción ingeniería de software
Carlos Anibal Riascos Hurtado
 
Guia1omar
Guia1omarGuia1omar
Guia1omar
martiromar
 
Trabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueTrabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josue
Josue Zelaya
 
Proyecto final
Proyecto finalProyecto final
Proyecto final
Felipe Sanchez
 
Ingeniería y Software
Ingeniería y SoftwareIngeniería y Software
Ingeniería y Software
menamigue
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruiz
jhonatanalex
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatan
jhonatanalex
 
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
Melissa Burgos
 
V2n2a1 (1)
V2n2a1 (1)V2n2a1 (1)
Diapocitivas preguntas
Diapocitivas preguntasDiapocitivas preguntas
Diapocitivas preguntas
Ernesto Villarreal
 
Diapocitivas preguntas
Diapocitivas preguntasDiapocitivas preguntas
Diapocitivas preguntas
Ernesto Villarreal
 

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
 
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdfCarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
 
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
 

Más de Sorey García

Mision inspiración para docentes
Mision inspiración para docentesMision inspiración para docentes
Mision inspiración para docentes
Sorey 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óvil
Sorey 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 XAML
Sorey 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ía
Sorey 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 Netduino
Sorey García
 
Misión: Inspiración
Misión: InspiraciónMisión: Inspiración
Misión: Inspiración
Sorey García
 
Codies.Launch()
Codies.Launch()Codies.Launch()
Codies.Launch()
Sorey 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 empresarial
Sorey 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ín
Sorey 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 Services
Sorey 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 Windows
Sorey 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 8
Sorey 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 8
Sorey 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 Desarrolladores
Sorey 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 Javascript
Sorey García
 
Windows Phone 8 en Campus Party
Windows Phone 8 en Campus PartyWindows Phone 8 en Campus Party
Windows Phone 8 en Campus Party
Sorey 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

INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
renzocruz180310
 
El uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidianaEl uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidiana
231458066
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
leia ereni
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajasSlideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
AdrianaRengifo14
 
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMAUML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
martinezluis17
 
La Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docxLa Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docx
luiscohailatenazoa0
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
codesiret
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
giampierdiaz5
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
jgvanessa23
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
Uso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptxUso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptx
231485414
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
larapalaciosmonzon28
 
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdktrabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
KukiiSanchez
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
cecypozos703
 
625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf
yuberpalma
 

Último (20)

INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
 
El uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidianaEl uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidiana
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajasSlideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
 
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMAUML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
 
La Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docxLa Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docx
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
Uso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptxUso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptx
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
 
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdktrabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
 
625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf
 

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