Seleccion de tecnicas de ingenieria de software

2,050 views
1,953 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,050
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
65
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Seleccion de tecnicas de ingenieria de software

  1. 1. SELECCION DE TECNICAS DE INGENIERIA DE SOFTWARE.<br />Ingris Argueta… 1-S-I-”A’’<br />
  2. 2. INTRODUCCIÓN<br />A continuación se presenta puntos importantes para el desarrollo de software. Las técnicas a ejecutar para que sea de calidad.<br />Lo más escencial para ello, es poner en práctica la ingeniería de software, los módelos de desarrollo de este, las etapas que se deben de seguir<br /> y por ultimo un pequeno comentario, acerca del video de ‘’Ariane Flight 501’’ y sobre, ‘’Que pasaria si los programadores hicieran aviones’’<br />
  3. 3. OBJETIVOS<br />Dar a conocer la importancia del desarrollo del software de calidad.<br />Aportar conocimiento sobre la ingeniería de software.<br />Tratar puntos importantes para la calidad de un software<br />
  4. 4. QUE ES PROGRAMA, SOFTWARE Y APLICACION<br />PROGRAMA: Es un conjunto de instrucciones que una vezejecutadasrealizan una o variastareas en la computadora.<br />SOFTWARE: Es el conjunto de programas de computo, procedimientos, reglas, documentación y datosasociados que forman parte de los operadores de un sistema de computación.<br />APLICACIÓN: Es un tipo de programainformáticoDiseñado como herramienta para permitir a un usuario realizar uno o dicersos tipos de trabajos.<br />
  5. 5. DIFERENCIA ENTRE PROGRAMA, SOFTWARE Y APLICACION.<br /> Las diferenciasentresestoselementos importantes, lo que se refiere con programas, es el conjunto de instruccionesescritas en algúnlenguaje de programación. Software, es el conjunto de programas, es la base auxiliar de los procedimientos y reglas que forman parte de todos los documentosasociados y la configuración de datos que se necesitan para hacer que estosprogramasoperen de maneracorrecta.<br />Aplicación, esaquel que hace que el computadorcoopere con el usuario en la realización de las tareastipicamentehumana, tales como gestionar una contabilidad o escribir un texto, cooperan con el usuario para la realización de las actividades.<br />
  6. 6. QUE ES INGENIERIA E INGENIERIA DE SOFTWARE<br />INGENIERIA: Es la menera de abordar un problema y resolverlo, estratar de aplicar todos los conocimentos de estudio y la práctica con el fin de desarrollar un proyeccto de manaraeficaz.<br />INGENIERIA DE SOFTWARE: Trata del establecimiento de los principios, conocimentos y métodos de la ingeniería, con el fin de obtener un software de calidad, que sea fiable y trabaje con las necesidades del usuario.<br />
  7. 7. POR QUE SE DICE QUE “QUE EL SOFTWARE NO SE CREA NI SE CONSTRUYE, SI NO SE DESARROLLA<br /> La creación de un software implica el desarrollo de este. El poder desarrollarlo, genera el estipular los conocimientos necesarios, las actividades y conjunto de etapasparcialmenteordenadas con la intención de lograr un objetivo, en estecaso un software de calidad.<br /> Por ello un software se desarrollapaso a paso.<br />
  8. 8. QUE ES CALIDAD Y CALIDAD DE SOFTWARE<br />CALIDAD: Grupo de caracteristicas que representan la efectividad y la eficiencia de un sistema informático.<br />CALIDAD DE SOFTWARE: Se define la calidad de software, como la ausencia de errores de funcionamiento, la adecuación a las necesidades del usuario, y el enlance de un desempeño apropiado (tiempo, volumen y espacio) ademas del cumplimiento de los estandares.<br />
  9. 9. POR QUE SE DICE QUE NO EXISTE UN SOFTWARE TERMINADO <br />Esto se debe claroestá, que un software requieredia a dia ser adecuado a los cambiantesnecesidades de un negocio, pero tambien a que en el mantenimiento se corrigenmuchos errores del desarrollo o se incurren en graves problemas al intentarhacercambios para los que el sistema desarrollado no se encuentranpreparados. Por elloes necesario crear un software flexible a cambios, para posiblesespecificaciones o cosas que el usuario necesite. <br />
  10. 10. EN QUE CONSISTE UN PPROYECTO DE DESARROLLO DE SOFTWARE<br />En actividades que se realizán para la costrucción, liberación y evolución de un producto de software, comenzando con le estudio de una idea y finalizando con la implementación final del sistema, para ello se tiene que tomar en cuenta la concepción: define, el enlance del proyecto y desarrolla un caso de negocio. La elaboración: define, un plan del proyecto, especifica las caracteristicas y fundamenta la arquitectura. La construcción: crea el producto y La transición: transfiere el producto a los usuarios.<br />
  11. 11. CUALES SON LAS ETAPAS DEL DESARROLLO DE SOFTWARE<br />
  12. 12. ETAPAS DEL DESARROLLO DE SOFTWARE<br />Análisis de requisitos<br /> Extraer los requisitos de un producto de software es la primera etapa para crearlo. Mientras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere de habilidad y experiencia en la ingeniería de software para reconocer requisitos incompletos, ambiguos o contradictorios.<br />Diseño y arquitectura<br /> Consiste en Diseñar, de foma general un sistema, su interfaz y Consiste en incorporar consideraciones de la implementación tecnológica, como el hardware, la red, etc.<br />
  13. 13. Programación<br /> Reducir un diseño a código puede ser la parte más obvia del trabajo de ingeniería de software, pero no es necesariamente la porción más larga. La complejidad y la duración de esta etapa está intimamente ligada al o a los lenguajes de programación utilizados.<br />Pruebas<br /> Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificación. Una técnica de prueba es probar por separado cada módulo del software, y luego probarlo de forma integral,para así llegar al objetivo.<br />
  14. 14. Documentación<br /> Todo lo concerniente a la documentación del propio desarrollo del software y de la gestión del proyecto, pasando por modelaciones (UML), diagramas, pruebas, manuales de usuario, manuales técnicos, etc; todo con el propósito de eventuales correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema.<br />Mantenimiento<br /> Mantener y mejorar el software para enfrentar errores descubiertos y nuevos requisitos. Esto puede llevar más tiempo incluso que el desarrollo inicial del software. Alrededor de 2/3 de toda la ingeniería de software tiene que ver con dar mantenimiento. Una pequeña parte de este trabajo consiste en arreglar errores, o bugs. La mayor parte consiste en extender el sistema para hacer nuevas cosas.<br />
  15. 15. CUAL ES LA DIFERENCIA ENTRE EL TERMINO INGENIERIA DE SOFTWARE Y EL SIMPLE DESARROLLO DE SOFTWARE<br /> Ingeniería de software se refiere a las disciplina que integra el proceso, los métodos y las herramientas para el desarrollo de software, es la base findamental para ello. El desarrollo o producción de software, son las actividades que se realizán para poder crearlo, realizando un estudio de las ideas para llevar a cabo la implementación del sistema, en el cual se ha detallado los requerimientos necesarios para ello.<br />
  16. 16. CUALES SON LOS MODELOS DE DESARROLLO DE SOFTWARE<br />Modelo de Cascada<br />Modelo Incremetal Iterativo<br />Modelo Incremental Evolutivo<br />Modelo Espiral<br />Modelo de Proceso<br />Prototipos <br />
  17. 17. .MODELO DE CASCADA<br /><ul><li>Cliclo del desarrollo del software
  18. 18. Este modelotiene una seceunciaordenada
  19. 19. El trabajo de una etapapreviaes la entrada al siguentepaso
  20. 20. Establece criterios de entrada y salida en cada faseclaramentedefinidos
  21. 21. Proveeestabilidad en los requerimientos.</li></li></ul><li>MODELO DE CASCADA<br />
  22. 22. MODELO INCREMENTAL ITERATIVO<br />Combinaelementos del modelo de cascada (aplicadorepetivamente). La parte iniciales el nucleo del producto (es la parte masimportante). Una version del producto surge cuandonuevascaracteristicashansidoimplantadas a medidas que hansidosugeridas por el usuario. El objetivoestrabajarjunto al usuario para descubrirsusrequisistos de manera incremental antes de que el producto final sea obtenido<br />
  23. 23. MODELO INCREMENTAL ITERATIVO<br />
  24. 24. MODELO INCREMENTAL EVOLUTIVO<br />Se utïlizacuando:<br /><ul><li>Los requisistoscambianconforme al desarrollo avanza
  25. 25. Si las fechas de mercadohacenimposiblestener un productocompleto y hay que introducir una versiónlimitada
  26. 26. Si los requisitoscentralesestanbiendefinidos pero todavia hay que definir los detalles de la extención del producto.</li></ul>Diferencia: en el caso del modeloevolutivo se desarrollaria una versión de todo el sistema. En el iterativo, se parte de la versión anterior sin cambios y le añadimos nuevas funciones.<br />
  27. 27. MODELO EVOLUTIVO<br />
  28. 28. MODELO ESPIRAL<br />Un conjunto de puntos de fijación para asegurar el compromiso del usuario con soluciones del sistema que seanfactibles y mutuamentessatisfactorias.<br />Se caracteriza principalmente por:<br /> Un enfoque cíclico para el crecimiento incremental del grado de definición e implementación de un sistema, mientras que disminuye su grado de riesgo.<br /> Un conjunto de puntos de fijación para asegurar el compromiso del usuario con soluciones de sistema que sean factibles y mutuamente satisfactorias.<br />
  29. 29. MODELO ESPIRAL<br />
  30. 30. MODELO DE PROCESO<br /><ul><li>Impulsa un proceso iterativo del desrrollo
  31. 31. Cada cicloes una versión del produto
  32. 32. Utlizametodosdefinidos para marcar la transición entre las distintasetapas
  33. 33. Ofrece mayor poder de decisión a los usuarios
  34. 34. Buscamejorara la calidad y creatividad.</li></li></ul><li>PROTOTIPO<br /> Un prototipoes una versiónpreliminar de un sistema de información con fines de demostración o evaluación.<br />Construcción de prototipo:<br /><ul><li>Identificación de requerimiento
  35. 35. Diseño rápido
  36. 36. Es un métodomenos formal de desarrollo
  37. 37. El prototipoes una técnica para comprender las especificaciones
  38. 38. Un prototipopuede ser eliminado
  39. 39. Un prototipopuede ser parte del producto final.</li></li></ul><li>PROTOTIPO<br />
  40. 40. VIDEO DE “ARIANE FLIGHT 501”. QUE FUE LO QUE SUCEDIO<br />Debido a un error en el Diseño de software. El cohete se desvió de su trayectoria de vuelo 37 segundos después del lanzamiento y fue destruido por su automatizado sistema de autodestrucción. Es uno de los mas infames bugs (es el resultado de un fallo o deficiencia durante el proceso de creación de programas de ordenador o computadora (software)). Se partió y explotó. En el proyecto global se invirtierón 10 años de contrucción y 7 millones de Euros, lo que supuso un duro golpe para la Agencia Especial Europea<br />
  41. 41. QUE EFECTOS TIENEN LAS FALLAS DEL SOFTWARE SOBRE EL COHETE<br /> Se produjo un resultadoincorrecto e inesperado, fuedestruidomenos de un minutodespues del lanzamiento, debido a un error en la junta de orientación en el programamainformático. <br /> El no crear un software de calidad produjofallosmecánicos en el cohete, lo cual ocasionó que esteexplotará. También el no crear las pruebas necesarias .<br />
  42. 42. COMO AFECTA NUETRA VIDA QUE EL SOFTWARE NO SEA DE CALIDAD<br />Es muy probable que se presentenproblemas en forma de retrasos, perdidas de tiempo o dinero. Lamentablemente, estosproblemaspueden ser mucho mas graves, siafectan al sistema critico; esdecir, aquelloscuyofallopuedeprovocar graves perdidasecónomicaas o problemasambientales o sociales. E incluso, la perdida de vidashumanas, tales el caso de la Therac-25 Radioterapia, máquina que fuédirectamente responsible de algunasmuertes de pacientes en la década de 1980.<br />
  43. 43. COMO PODEMOS GARANTIZAR CALIDAD EN EL DESARROLLO DE SOFTWARE<br /> Implica la utilización de metodologías o procédimientos estándares para el análisis, diseño, programación y prueba del software que permitan uniformar la filosofía de trabajo, en aras de lograr una mayor confiabilidad, mantenibilidad y factibilidad de prueba, a la vez que eleven la productividad, tanto para la labor del desarrollo como para el control de calidad de software. Los requisitos del software son la base de las medidas de calidad. La falta de concordancia con los requisitos es una falta de calidad<br />
  44. 44. CALIDAD EN EL DESARROLLO DE SOFTWARE<br />La política establecida debe de estar sustenta sobre tres principios básicos:<br /><ul><li>TECNOLÓGICO: define las técnicas a utilizar en el proceso de desarrollo de software.
  45. 45. ADMINISTRATIVO: completa las funciones de planificación y control de desarrollo del software, a sí como la organización del ambiente o centro de ingeniería de software.
  46. 46. ERGÓNOMICO: define la interfaz entre el usuario y ambiente automátizado.</li></ul> La adopción de una buena política contribuye en granmedida a lograr la calidad del software, pero no la asegura, para elloes necesario su control o evaluación.<br />
  47. 47. VIDEO DE “QUE PASARIA SI LOS PROGRAMADORE GICIERAN AVIONES<br />?POR QUE SE DA ESE FENOMENO?<br />Por las consecuencias que prodecen algunos software que no están  diseñados con calidad, los preblemas que puedan presentar y la perdida que esto puede ocasionar.<br /> También, a que el programador, no establece las pruebas necesarias, tampoco el mantenimiento adecuado.<br />
  48. 48. CUAL ES EL MENSAJE QUE TE DEJA EL VIDEO<br />“NO ES POSIBLE CREAR UN SOFTWARE A MEDIAS E INTENTAR RESOLVERLO CUANDO YA ESTA EN MARCHA O IMPLANTADO”.<br /> En el caso de algunos software, se desarrolla, yacuandoesteeste en marcha, en el video, se ve personas colocandopartes escenciales del avión, el cual se debe de aplicar pruebas sobre cada pieza, luego la azafataintentandoservirjugo al pasajero o sea “usuario”, el cual da a entender que los programadores fallarón y acabanpringandolo. Despues se lanzán en paracaidas el cual supone que despues de diseñar y programar un software, los programadores no se quedan para ver que tal va la cosa. Nada de pruebas, tampoco de mantenimiento.<br />
  49. 49. SE HARA REALMENTE LO CORRECTO<br /> No, los ingenieros, diseñadores o programadores, deben de tomar muy en serio su trabajo, analizar, codificar y diseñar un software, para ello, implica mucho tiempo, dinero y mucho esfuerzo para poder desarrollarlo con calidad, sin ello se estarán arriesgando a perdidas muy grandes.<br />
  50. 50. QUE ESTRATEGIAS PROPORCIONA LA INGENIERIA DE SOFTWARE PARA SOLVENTAR ESTA SITUACION<br />Aplicar todos los conocimietos necesarios, para poder crear un software de calidad, y así solventar una situación que implique la duda o la insertidumbre de cualquier usuario a la hora de implantar un sistema, el cual a requerido de toda la práctica, procesos, métodos, conocimientos y herramientas implicadas por el programador para la creación del software<br />
  51. 51. CONCLUCIÓN<br />El siguentetrabajofue con el fin de presentarconocimiento sobre la ingeniería de software, gracias a la ayuda de algunasfuentes de información.<br /> El concluirestetrabajo genera el satisfacer, con el aporteproporcionadohacerca del tema.<br />Dia a dia. La tecnologíaavanza con granrapidez, el saber el adquirir lo masescencial del tema, se saber controlar los requisitos que se generan a la hora de desarrollar un software, se ha conocidotodo lo relacionado a ello, el poder alcanzar el objetivo, de desarrollar un software de calida, aunque, siempre se presentandificultades, tales el caso del Ariane Flight 501, que es un ejemplomuygrande, de lo que ocurrecuando un software no es de calidad.<br />

×