1. ESCUELA ESPECIALIZADA EN INGENIERIA ITCA-FEPADESECCION:SISTEMAS-1-BDOCENTE:LIC. MARIO ERNESTO QUINTANILLA“INGENIERIA DE SOFTWARE” By: Melvin Alexander Benítez Duran
2. En la actualidad, el mayor porcentaje de los productos a nivel mundial requieren de software para que su funcionamiento sea efectivo…
3. Pero para tener un concepto claro y concreto acerca de la Ingeniería de Software debemos Respondernos las Siguientes Interrogantes…
4. 1. Existe Diferencia entre Programa, Software y Aplicación? En sí, Un Programa es una secuencia de instrucciones que la maquina puede Interpretar y ejecutar, mientras que Software es un conjunto de programas de Computo, reglas, procedimientos, datos asociados y documentación que forman Parte de las operaciones de un sistema informático y Aplicación es diseñado como herramienta que permite realizar diferentes tipos de trabajo. Los tres se complementan pues para que haya programa debe existir una Aplicación y para que esta exista esta debe haber un Software… Es Decir las tres son Complementarias y son dependientes una de la otra.
5. 2. ¿Que es Ingeniería?Es el estudio y aplicación de las diferentes ramas de la ciencia, con el fin de ayudar a la humanidad en la solución de los problemas que enfrenta la sociedad en sus diferentes áreas.
6. 3. ¿Qué es Ingeniera de Software? Es el área de la informática quedispone a brindar métodos y técnicas para crear software de alta calidad.
7. 4. ¿Por qué se dice que: “El Software no se crea ni se construye, si no se desarrolla”? Cuando se menciona que no se crea ni construye, si no se desarrolla hace referencia que en la elaboración de un software se van dando etapas donde el software adquiere mejoras y va evolucionando, es decir desarrollándose de acuerdo a las necesidades de la entidad empresarial que adquiera el sistema de calidad.
8. 5. ¿Qué es calidad? Es desarrollar, diseñar, producción y mantener un producto que sea económico, útil y que cumpla con los requisitos que el cliente exige. La calidad se encuentra en todo producto por muy pequeño o grande que sea, mientras cumpla con los requisitos del cliente, será de calidad.
9. 6. ¿Qué es Calidad de Software?Es cuando el sistema, componente o proceso informático cumple con los requerimientos especificados, y si puede superar las expectativas del usuario.
10. 7. ¿Por qué se dice que: “No hay software Terminado”? Porque a medida el tiempo avanza, el software deberá adaptarse a la nueva demanda que el cliente realice, entonces el deber del programador será mejorar o ampliar el software de acuerdo a las nuevas necesidades con un funcionamiento mejorado que mantenga la su calidad.
11. 8. ¿En que consiste un Proyecto de Desarrollo de Software? Es como un presupuesto de el desarrollo software pero no solo Incluye el área monetaria, si no que incluye como se realizara el software, quienes lo desarrollaran, en cuanto tiempo, costos, entre otros.
13. 10. ¿Cuál es la diferencia entre Ingeniería de Software y el simple desarrollo o producción de software? La ingeniería de software es el estudio de los principios y mitologías para el desarrollo y mantenimiento del software, en cambio el desarrollo o producción del software es la disciplina o área de la informática que ofrece métodos y técnicas para Desarrollar y mantener el software de calidad.
14. 11. ¿Cuáles son los Modelos de Desarrollo de Software? Modelo en cascada o Clásico (modelo tradicional) Modelo en espiral (modelo evolutivo) Desarrollo por etapas Desarrollo iterativo y creciente o Iterativo e Incremental RAD (Rapid ApplicationDevelopment) RUP (Modelo Racional) Proceso Unificado
15. Modelo de Cascada Este, aunque es más comúnmente conocido como modelo en cascada es también llamado "modelo clásico", "modelo tradicional" o "modelo lineal secuencial". El modelo en cascada puro difícilmente se utilice tal cual, pues esto implicaría un previo y absoluto conocimiento de los requisitos, la no volatilidad de los mismos (o rigidez) y etapas subsiguientes libres de errores; ello sólo podría ser aplicable a escasos y pequeños desarrollos de sistemas.
16. Modelo en Espiral El desarrollo en espiral es un modelo de ciclo de vida del software definido por primera vez por Barry Boehm en 1988, utilizado generalmente en la Ingeniería de software. Las actividades de este modelo se conforman en una espiral, en la que cada bucle o iteración representa un conjunto de actividades. Las actividades no están fijadas a priori, sino que las siguientes se eligen en función del análisis de riesgo, comenzando por el bucle interior.
17. Desarrollo Por Etapas El modelo de desarrollo de software por etapas es similar al Modelo de prototipos ya que se muestra al cliente el software en diferentes estados sucesivos de desarrollo, se diferencia en que las especificaciones no son conocidas en detalle al inicio del proyecto y por tanto se van desarrollando simultáneamente con las diferentes versiones del código.
18. Desarrollo Iterativo Desarrollo iterativo y creciente (o incremental) es un proceso de desarrollo de software, creado en respuesta a las debilidades del modelo tradicional de cascada. Para apoyar el desarrollo de proyectos por medio de este modelo se han creado frameworks (entornos de trabajo), de los cuales los dos más famosos son el Rational UnifiedProcess y el DynamicSystemsDevelopment Method.
19. Desarrollo RAD El desarrollo rápido de aplicaciones o RAD (acrónimo en inglés de rapidapplicationdevelopment) es un proceso de desarrollo de software, desarrollado inicialmente por James Martin en 1980. El método comprende el desarrollo iterativo, la construcción de prototipos y el uso de utilidades CASE (ComputerAided Software Engineering). Tradicionalmente, el desarrollo rápido de aplicaciones tiende a englobar también la usabilidad, utilidad y la rapidez de ejecución.
20. Desarrollo RUP El Proceso Unificado de Racional (Rational UnifiedProcess en inglés, habitualmente resumido como RUP) es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos.
21. Proceso Unificado El Proceso Unificado no es simplemente un proceso, sino un marco de trabajo extensible que puede ser adaptado a organizaciones o proyectos específicos. De la misma forma, el Proceso Unificado de Rational, también es un marco de trabajo extensible, por lo que muchas veces resulta imposible decir si un refinamiento particular del proceso ha sido derivado del Proceso Unificado o del RUP. Por dicho motivo, los dos nombres suelen utilizarse para referirse a un mismo concepto.
22. Ahora Analicemos el video “¿Qué pasaría si los programadores hicieran los aviones?” URL: http://www.youtube.com/watch?v=UZq4sZz56qM
23. 12. ¿Por qué se da este fenómeno? Los programadores prefieren ir modificando y haciendo mejoras al software cuando ya ha entrado en el mercado, y así mediante las opiniones que surjan y la demanda que exista, los programadores van realizando las mejoras al software.
24. 13. ¿Cuál es el mensaje que deja el video? Debemos tomar muy enserio todas nuestras responsabilidades, para que el resultado de nuestros trabajos sean y mantengan mucho éxito, siempre y cuando beneficie a la humanidad.
25. 14. ¿Se hará realmente lo Correcto? No, Porque para poder lanzar un producto al mercado se debe estar completamente seguro que tiene un buen funcionamiento, además si se presenta alguna falla poder solucionarla.
26. 15. ¿Qué estrategia proporciona la Ingeniería de software para resolver esta situación? Aplicar un enfoque sistemático, disciplinado y cuantificable al desarrollo operación (funcionamiento) y mantenimiento del software. Usar metodologías eficaces para el desarrollo y mantenimiento software.
27. Ahora veamos el Video: “ARIANE FLIGHT 501” URL: http://www.youtube.com/watch?v=IONcgYzVFlg
28. 16: ¿Qué fue lo que sucedió? Aproximadamente unos 35 segundos después el cohete exploto debido a una falla en el sistema que marcaria la dirección del cohete.
29. 17. ¿Qué efectos tienen las fallas del software sobre el cohete? Tiene efectos demasiado perjudiciales pues en este caso el mal funcionamiento del software se cree fue el responsable de la falla de la misión del Ariane Flight 501.
30. 18. ¿Cómo afectan nuestras vidas que el software no sea de calidad? Si el software fuera de mala calidad generaría muchos problemas que en algunos casos llevaría a muchos a quiebra, ya que el software juega un papel increíblemente grande en la vida humana. Seria un Caos total.
31. 19. ¿Como podremos garantizar calidad en el desarrollo de software? Realizando una tras otra prueba hasta estar seguro que el software funciona correctamente, además de tratar de ver el software no desde el punto de vista del Programador si no de cómo lo vería el cliente, cambiar de rol por un momento y saber en que fallamos.
32. De lo anteriormente aprendido podemos decir que: Para que un software sea de calidad debe ser debidamente verificado, para que no exista ningún error y funcione correctamente como el cliente lo solicita.