Your SlideShare is downloading. ×
0
Ingeniería de Software            Sorey Bibiana García Zapata                      Ingeniera Informática            Polité...
Algunos discutirán mi forma de explicar la ingeniería      de software, mi argumento es simple…  No puedes hacer bien algo...
Este es un curso para principantes, y también para personas de vieja guardia, que aun no entienden     ahora por que nos “...
¿Qué es Ingeniería    de software?
"Ingeniería del Software es el estudio de    los principios y metodologías paradesarrollo y mantenimiento de sistemas de  ...
“Ingeniería del Software es la aplicaciónpractica del conocimiento científico en el diseñoy construcción de programas de c...
“Ingeniería del Software trata del establecimiento de los principios y métodos dela ingeniería a fin de obtener software d...
La aplicación de un enfoque sistemático,disciplinado, y cuantificable al desarrollo,operación, y mantenimiento del softwar...
¿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           d...
Iría en un viajealrededor de la tierra en globo, sabiendo     que este esta controlado por una    computadora?
Viajaría usted en un avión cuyosoftware ha sido construido por usted?
Si su respuesta a estaspreguntas ha presentadoun poco de duda, vale lapena cuestionarse alguna         cosas…
Dudan los enfermos del corazón de susmédicos cirujanos?
Dudan los empresariosde los ingenieros civiles y     arquitectos queconstruyen sus edificios?
Bueno, y es que no es carpintero por tener madera, clavos y martillo…Como no se es desarrollador de  software por saber pr...
Ha visto el gracioso video de…Que pasaría si los programadores       hicieran aviones?          Si, no lo invito a verlo a...
Gracioso, no?                 Pues no!No es gracioso que siendo un profesional tu      trabajo sea tomado en broma…El prob...
Pues bien, si no se toma su trabajo en serio, lo que pasará es         que usted mismo no será tomado en serio.    Si uste...
Si comparamos saber hacer software, con saber haceredificios, lo que usted sabe    hacer básicamente es      “pegar ladril...
Y si bien los ladrillos y demás estructuras, conforman el producto final; existen una serie de roles asociados a laconstru...
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 elproceso de desarrollo     de software
Pues bien, para desarrollar software existenuna serie de roles asociados, encargados de analizar, planificar y establecer,...
Y es que, si tuviera dinero para enviar a construir su                     propia casa…. No le gustaría que quien va a con...
Si?Pues bien, los clientes y usuarios delos proyectos de software, esperan      exactamente lo mismo!
La ingeniería de software es unaidea 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 d...
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,…     ...
Yo diría que, hacer las cosas bien, siempre va  a requerir un poco más de esfuerzo, que       hacerlas de cualquier otro m...
… 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, res...
¿En que parte de las definicionesformales nuestro que hacer como           personas?
La ingeniería es el     conjunto de   conocimientos y técnicas científicas  aplicadas, que sededica a la resoluciónu optim...
En ella, el conocimiento, manejo y dominio de las  matemáticas y física, obtenido mediante estudio,   experiencia y prácti...
Ahí coincidimos                           Ser ingeniero tiene                               que ver con                   ...
En resumenIngeniería de software es la disciplina o   área de la informática que ofrece métodos y técnicas para desarrolla...
Pero, y ¿qué importa la calidad?¿Acaso en software no importa es  básicamente que funcione? Veamos algunas respuestas a es...
Therac-25(1985 – 1987)Era una máquina empleada en terapia deradiación, producida por Atomic Energy ofCanada Limited, notor...
Mariner 1(28 de Julio de 1962)Un guión en lasinstrucciones delprograma de guiadodel cohete provocó ladesviación del Atlas ...
Vuelo 501 del ARIANE-5                 (4 de Junio de 1996)   Otro ejemplo documentado sobre el     daño ocasionado por so...
A-320 de Air France                  (26 de junio de 1988)        Durante una presentación en el        meeting de Habshei...
Que tal lasrespuestas?     Nada agradables si me permiten   decirles!
Pues bien, aunque actualmente existen  muchas personas que construyen softwarecon conocimiento empírico, tal como si fuera...
Bueno, y si es queparece que la ingeniería de software establece tan claramente lo que    hay que hacer… Cual es el proble...
Y quien dice quesiempre 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       Fal...
Pues bien,   muchos de estos errores son aducidosprincipalmente a falta de planeación y buenanálisis, cosa que tiene mucho...
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
¿PareceIntuitivo no?
Sin embargo sabemos que en realidad, esun poco más difícil de lo que imaginamos
Sin embargo…   Seguimoscayendo en los    mismos errores una y   otra vez…
Pues bien,   muchos de estos errores son aducidosprincipalmente a falta de planeación y buenanálisis, cosa que tiene mucho...
¿Qué errores se comenten?
Falta de comunicación
Ausencia de objetivos y metasclaras 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 lasresponsabilidades de las partes
Falta deidentificación y gestión de los    riesgos
Carencia dehabilidades en laejecució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 demantenimiento, superanpor un amplio margen los costos de desar...
Veamos que tal estamos ahora…
Ahora bien, de acuerdo a lo que hemoshablado entonces, los Ingenieros de software no solo deben considerar aspectos técnic...
¿Y como se hace?
Bueno, una primera forma de pensar en las actividades que se involucra el proceso dedesarrollo de software es preguntarse ...
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
Ingenieria De Software Para Dummies
Ingenieria De Software Para Dummies
Ingenieria De Software Para Dummies
Ingenieria De Software Para Dummies
Ingenieria De Software Para Dummies
Ingenieria De Software Para Dummies
Ingenieria De Software Para Dummies
Upcoming SlideShare
Loading in...5
×

Ingenieria De Software Para Dummies

32,161

Published on

Las imagenes usadas en esta presentación tiene un fin exclusivamente academico, si alguien considera que debo eliminarlas, por favor hagamelo saber. Gracias

Published in: Technology
20 Comments
67 Likes
Statistics
Notes
  • Muy buen documento, me gusta el ritmo de como manejas el contenido y las ayudas visuales; te agradeceria mucho si me mandas el power, mi correo es j.polanco@hotmail.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Ing Excelente Presentacion, ojala los Ing Clasicos pudieran informase y se dieran cuenta del aporte de los ingenieros Tecnologicos en su contexto general, en este mundo Tecnologico, en donde la ingenieria clasica ha tenido un enorme avance en parte gracias a la produccion de ingenieria de software.'Como les comento a otros de otras areas',,las herramientas de ingenieria que ustedes usan en su dia a dia para su ingenieria evolutiva, es nuestra producto de nuestra ingenieria.

    La industria de la Tecnologia a establecido una Gran Constante, esa Constante consiste en que NADA ES CONSTANTE, Saludos y que esten bien.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Hola¡¡ Buena presentación, me encantaron las imágenes.. De ser posible me gustaría me la hicieras llegar en Power Point.. Mi correo es Wuiston.Patermina@gmail.com

    Saludos y Exito¡¡
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Excelente mucho énfasis a los mas importante.!!!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Me ha encantado la presentación! y me ha hecho plantearme ciertas cosas! muchas gracias!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
32,161
On Slideshare
0
From Embeds
0
Number of Embeds
49
Actions
Shares
0
Downloads
962
Comments
20
Likes
67
Embeds 0
No embeds

No notes for slide

Transcript of "Ingenieria De Software Para Dummies"

  1. 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. 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 tienesconciencia, y saber de memoria un concepto de un libro pocas veces genera conciencia
  3. 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. 4. ¿Qué es Ingeniería de software?
  5. 5. "Ingeniería del Software es el estudio de los principios y metodologías paradesarrollo y mantenimiento de sistemas de software" Zelkovitz 1978.
  6. 6. “Ingeniería del Software es la aplicaciónpractica del conocimiento científico en el diseñoy construcción de programas de computadora y la documentación asociada requerida paradesarrollar, operar(funcionar) y mantenerlos. Seconoce también como desarrollo de software o producción de software” Bohem 1976.
  7. 7. “Ingeniería del Software trata del establecimiento de los principios y métodos dela ingeniería a fin de obtener software de modo rentable que sea fiable y trabaje en maquinas reales” Fritz Bauer 1972.
  8. 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.
  9. 9. ¿Se entendió?Busquemos una definición
  10. 10. Pues bien, vamos a conocer un poco de eso. Ha pensado alguna vez,Donde hay software?
  11. 11. Parece que son más responsabilidades de las que esperábamos no?Bueno, y que tal si nos hacemos un par de preguntas…
  12. 12. Iría en un viajealrededor de la tierra en globo, sabiendo que este esta controlado por una computadora?
  13. 13. Viajaría usted en un avión cuyosoftware ha sido construido por usted?
  14. 14. Si su respuesta a estaspreguntas ha presentadoun poco de duda, vale lapena cuestionarse alguna cosas…
  15. 15. Dudan los enfermos del corazón de susmédicos cirujanos?
  16. 16. Dudan los empresariosde los ingenieros civiles y arquitectos queconstruyen sus edificios?
  17. 17. Bueno, y es que no es carpintero por tener madera, clavos y martillo…Como no se es desarrollador de software por saber programar.
  18. 18. 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
  19. 19. 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?
  20. 20. 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 consecuenciasque acarrea su mal desempeño… es decir, si no sabe ingeniería de software o le importa poco lo quesignifica, pues usted no sabe hacer software, solo sabe programar.
  21. 21. Si comparamos saber hacer software, con saber haceredificios, lo que usted sabe hacer básicamente es “pegar ladrillos”
  22. 22. Y si bien los ladrillos y demás estructuras, conforman el producto final; existen una serie de roles asociados a laconstrucción, sin los cuales las admirables construcciones modernas no podrían ser construidos.
  23. 23. Es el caso de los maestros de obra, arquitectos,ingenieros civiles…Solo por mencionar algunos de los más obvios.
  24. 24. Un programador es solo un rol del conjunto de roles implicados en elproceso de desarrollo de software
  25. 25. Pues bien, para desarrollar software existenuna serie de roles asociados, encargados de analizar, planificar y establecer, que es lo que va a desarrollarse, como, con cuantosrecursos, en cuanto tiempo e incluso a que nivel de calidad
  26. 26. 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?
  27. 27. Si?Pues bien, los clientes y usuarios delos proyectos de software, esperan exactamente lo mismo!
  28. 28. La ingeniería de software es unaidea casi ética sobre como hacer el software de forma correcta
  29. 29. 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
  30. 30. Reemplacemos entonces la frase“hacer software de forma correcta” por “hacer software de calidad”
  31. 31. 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”
  32. 32. Yo diría que, hacer las cosas bien, siempre va a requerir un poco más de esfuerzo, que hacerlas de cualquier otro modo
  33. 33. … 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…
  34. 34. ¿En que parte de las definicionesformales nuestro que hacer como personas?
  35. 35. La ingeniería es el conjunto de conocimientos y técnicas científicas aplicadas, que sededica a la resoluciónu optimización de los problemas queafectan directamente a la humanidad Wikipedia
  36. 36. 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 paradesarrollar formas eficientes de utilizar los materiales y las fuerzas de la naturaleza para beneficio de la humanidad y del ambiente. Wikipedia
  37. 37. 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
  38. 38. En resumenIngenierí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
  39. 39. 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)
  40. 40. Therac-25(1985 – 1987)Era una máquina empleada en terapia deradiación, producida por Atomic Energy ofCanada Limited, notoria por haber sidoobjeto del error de software, causando almenos seis accidentes y que le costó lavida al menos a cinco personas
  41. 41. Mariner 1(28 de Julio de 1962)Un guión en lasinstrucciones delprograma de guiadodel cohete provocó ladesviación del Atlas ytuvo que enviarse uncomando para suautodestrucción a los4 minutos y 53segundos de sulanzamiento
  42. 42. 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 40segundos 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
  43. 43. 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 AirFrance 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ónhttp://www.youtube.com/watch?v=_E M0hDchVlY
  44. 44. Que tal lasrespuestas? Nada agradables si me permiten decirles!
  45. 45. Pues bien, aunque actualmente existen muchas personas que construyen softwarecon 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.
  46. 46. Bueno, y si es queparece 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…
  47. 47. Y quien dice quesiempre sale mal? A pues no, no siempre sale mal… Solo algunas veces… Veamos…
  48. 48. 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 161994 1996 1998 2000 2002 2004CHAOS Report 1995: http://net.educause.edu/ir/library/pdf/NCP08083B.pdf
  49. 49. Pues bien, muchos de estos errores son aducidosprincipalmente a falta de planeación y buenanálisis, cosa que tiene mucho sentido pero que sin embargo, no es la única razón… Como seres humanos involucrados en elproceso de desarrollo, cometemos errores que de no ser corregidos a tiempo, van aumentando su costo y consecuencias
  50. 50. Usemos más analogías para entender De que estamos hablando…
  51. 51. ¿Y si este fuera nuestro proyecto?
  52. 52. ¿Qué necesitaríamos para construirlo?
  53. 53. Veamos…Herramientas Personas Tiempo Dinero Recursos
  54. 54. ¿PareceIntuitivo no?
  55. 55. Sin embargo sabemos que en realidad, esun poco más difícil de lo que imaginamos
  56. 56. Sin embargo… Seguimoscayendo en los mismos errores una y otra vez…
  57. 57. Pues bien, muchos de estos errores son aducidosprincipalmente a falta de planeación y buenanálisis, cosa que tiene mucho sentido pero que sin embargo, no es la única razón… Como seres humanos involucrados en elproceso de desarrollo, cometemos errores que de no ser corregidos a tiempo, van aumentando su costo y consecuencias
  58. 58. ¿Qué errores se comenten?
  59. 59. Falta de comunicación
  60. 60. Ausencia de objetivos y metasclaras durante la ejecución del proyecto
  61. 61. Mala estimación de tiempos
  62. 62. Falta de planificación
  63. 63. Requisitos poco claros y falta de acceso a la información
  64. 64. Indefinición del alcance y lasresponsabilidades de las partes
  65. 65. Falta deidentificación y gestión de los riesgos
  66. 66. Carencia dehabilidades en laejecución de un rol
  67. 67. Falta de seguimiento al avance del proyecto
  68. 68. Falta de control del presupuesto
  69. 69. Recursos Insuficientes
  70. 70. No poseer o seguir una arquitectura
  71. 71. Falta de conocimiento e interés en la aplicación de mejores prácticas
  72. 72. En la mayoría de proyectos de desarrollo, los costes demantenimiento, superanpor un amplio margen los costos de desarrollo, se habla de un 30% en Desarrollo y un 70% en Mantenimiento.
  73. 73. Veamos que tal estamos ahora…
  74. 74. Ahora bien, de acuerdo a lo que hemoshablado 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.
  75. 75. ¿Y como se hace?
  76. 76. Bueno, una primera forma de pensar en las actividades que se involucra el proceso dedesarrollo 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
  77. 77. Los cambios en las primeras etapas son más costosos que en las últimas
  78. 78. Ingeniería de Software Sorey Bibiana García Zapata www.soreygarcia.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×