2. ¿Qué es Ava net ? Ava net es una comunidad altruista orientada a generar mecanismos de capacitación y proyección profesional, a través de la formación de comunidades que aplican metodologías y procesos estructurados en la ejecución de proyectos, generando experiencias reales de aprendizaje, a través del uso del emprendimiento, motivación y conocimiento empírico disponible en los profesionales y entusiastas que participan activamente en la Web 2.0
3. El primer proyecto de Ava net es Ava net . El conjunto de elementos que apoyan los procesos de aprendizaje e interaccion de la comunidad, se basan en la construccion y evolucion de una herramienta de software, desarrollada como un proyecto que sigue los principios propuestos ¿Porqué Ingeniería de Software?
4. Los conceptos consignados en esta presentación están expresados en términos “simples” y tan solo pretenden transmitir una idea “sencilla” acerca de los temas relacionados con ellos
8. "Ingeniería del Software es el estudio de los principios y metodologías para desarrollo y mantenimiento de sistemas de software" Zelkovitz 1978.
9. “ 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.
10. “ 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.
11. 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.
20. Parece que son más responsabilidades de las que esperábamos no? Bueno, y que tal si nos hacemos un par de preguntas…
21. Iría en un viaje alrededor de la tierra en globo, sabiendo que este esta controlado por una computadora?
22. Viajaría usted en un avión cuyo software ha sido construido por usted?
23. Si su respuesta a estas preguntas ha presentado un poco de duda o quizá le ha parecido gracioso lo que usted piensa al respecto , vale la pena cuestionarse algunas cosas…
25. Dudan los empresarios de los ingenieros civiles y arquitectos que construyen sus edificios?
26. ¿En que parte de las definiciones está nuestro que hacer como personas?
27. La ingeniería de software es una idea casi ética sobre como hacer el software de forma correcta
28. Una idea personal Ser ingeniero tiene que ver con “ ser humanamente responsable”
29. 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
30. 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
31. Reemplacemos entonces la frase “ hacer software de forma correcta ” por “ hacer software de calidad ”
32. 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 ”
33. Hacer las cosas bien, siempre va a requerir un poco más de esfuerzo, que hacerlas de cualquier otro modo
34. Con el fin de tener un acercamiento común a las ideas que intentamos transmitir, haremos algunas analogías usando el sentido común
39. Sin embargo sabemos que en realidad, es un poco más difícil de lo que imaginamos
40. Pues bien lo mismo sucede con la construcción de software… 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
41. 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 ?
42. Si? Pues bien, los clientes y usuarios de los proyectos de software, esperan exactamente lo mismo !
43. Pero… y que 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)
44. 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
45. 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
46. 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=IONcgYzVFlg
47. 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=_EM0hDchVlY
48. Que tal las respuestas? Nada agradables si me permiten decirles!
49. Y quien dice que siempre sale mal? A pues no, no siempre sale mal… Solo algunas veces… Veamos…
51. 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
73. Cada escenario plantea retos , condiciones y necesidades diferentes! Que tal si los vemos otra vez, mientras nos preguntamos… Que herramientas , personas , presupuesto , conocimiento y tiempo necesitamos para cada escenario?
74.
75. Lo mismo sucede con el software, todos los proyectos son distintos, por lo cual cada uno debe ser considerado individualmente
76. Los cambios en las primeras etapas son más costosos que en las últimas
77. 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
78. 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.
79. 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 .
81. Que es la ingeniería de software ? 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
82. 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 .
85. Ahora que conocemos las actividades que deben desarrollarse dentro de un proyecto de desarrollo de software, es un poco más claro el por que se necesitan diferentes roles que ejecuten distintas actividades y tengan distintas responsabilidades .
86. Las personas vinculadas a estos roles en un proyecto , son conocidos como los participantes . Conozcamos algunos de ellos…
87.
88. Aprender sobre Ingeniería de Software es mucho más que un reto académico… Cuanto estas dispuesto a perder a cambio de no aprender?
100. Todas las imágenes de esta presentación fueron tomadas de Office Online Altruismo Digital al Servicio de la Comunidad 2.0 ¿Preguntas? Visítanos: http://avanet.org