Seleccion de tecnicas de ingenieria de software

37
SELECCION DE TECNICAS DE INGENIERIA DE SOFTWARE. Ingris Argueta… 1-S-I-”A’’

Transcript of Seleccion de tecnicas de ingenieria de software

Page 1: Seleccion de tecnicas de ingenieria de software

SELECCION DE TECNICAS DE INGENIERIA DE SOFTWARE.

Ingris Argueta… 1-S-I-”A’’

Page 2: Seleccion de tecnicas de ingenieria de software

INTRODUCCIÓNA continuación se presenta puntos importantes

para el desarrollo de software. Las técnicas a

ejecutar para que sea de calidad.

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

y por ultimo un pequeno comentario, acerca del

video de ‘’Ariane Flight 501’’ y sobre, ‘’Que

pasaria si los programadores hicieran aviones’’

Page 3: Seleccion de tecnicas de ingenieria de software

OBJETIVOS Dar a conocer la importancia del desarrollo del

software de calidad.

Aportar conocimiento sobre la ingeniería de software.

Tratar puntos importantes para la calidad de un software

Page 4: Seleccion de tecnicas de ingenieria de software

QUE ES PROGRAMA, SOFTWARE Y APLICACION

PROGRAMA: Es un conjunto de instrucciones que una vez ejecutadas realizan una o varias tareas en la computadora.

SOFTWARE: Es el conjunto de programas de computo, procedimientos, reglas, documentación y datos asociados que forman parte de los operadores de un sistema de computación.

APLICACIÓN: Es un tipo de programa informático Diseñado como herramienta para permitir a un usuario realizar uno o dicersos tipos de trabajos.

Page 5: Seleccion de tecnicas de ingenieria de software

DIFERENCIA ENTRE PROGRAMA, SOFTWARE Y APLICACION.

Las diferencias entres estos elementos importantes, lo que se refiere con programas, es el conjunto de instrucciones escritas en algún lenguaje de programación. Software, es el conjunto de programas, es la base auxiliar de los procedimientos y reglas que forman parte de todos los documentos asociados y la configuración de datos que se necesitan para hacer que estos programas operen de manera correcta.

Aplicación, es aquel que hace que el computador coopere con el usuario en la realización de las tareas tipicamente humana, tales como gestionar una contabilidad o escribir un texto, cooperan con el usuario para la realización de las actividades.

Page 6: Seleccion de tecnicas de ingenieria de software

QUE ES INGENIERIA E INGENIERIA DE SOFTWARE

INGENIERIA: Es la menera de abordar un problema y

resolverlo, es tratar de aplicar todos los conocimentos

de estudio y la práctica con el fin de desarrollar un

proyeccto de manara eficaz.

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.

Page 7: Seleccion de tecnicas de ingenieria de software

POR QUE SE DICE QUE “QUE EL

SOFTWARE NO SE CREA NI SE

CONSTRUYE, SI NO SE DESARROLLA 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 etapas parcialmente ordenadas con la intención de lograr un objetivo, en este caso un software de calidad.

Por ello un software se desarrolla paso a paso.

Page 8: Seleccion de tecnicas de ingenieria de software

QUE ES CALIDAD Y CALIDAD DE SOFTWARE

CALIDAD: Grupo de caracteristicas que

representan la efectividad y la eficiencia de un

sistema informático.

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.

Page 9: Seleccion de tecnicas de ingenieria de software

POR QUE SE DICE QUE NO EXISTE

UN SOFTWARE TERMINADO

Esto se debe claro está, que un software requiere dia a dia ser adecuado a los cambiantes necesidades de un negocio, pero tambien a que en el mantenimiento se corrigen muchos errores del desarrollo o se incurren en graves problemas al intentar hacer cambios para los que el sistema desarrollado no se encuentran preparados. Por ello es necesario crear un software flexible a cambios, para posibles especificaciones o cosas que el usuario necesite.

Page 10: Seleccion de tecnicas de ingenieria de software

EN QUE CONSISTE UN PPROYECTO DE DESARROLLO DE SOFTWARE

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.

Page 11: Seleccion de tecnicas de ingenieria de software

CUALES SON LAS ETAPAS DEL DESARROLLO DE SOFTWARE

Page 12: Seleccion de tecnicas de ingenieria de software

ETAPAS DEL DESARROLLO DE SOFTWARE

Análisis de requisitos 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.

Diseño y arquitectura 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.

Page 13: Seleccion de tecnicas de ingenieria de software

Programación 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.

Pruebas 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.

Page 14: Seleccion de tecnicas de ingenieria de software

Documentación 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.

Mantenimiento 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.

Page 15: Seleccion de tecnicas de ingenieria de software

CUAL ES LA DIFERENCIA ENTRE EL TERMINO INGENIERIA DE SOFTWARE Y EL SIMPLE

DESARROLLO DE SOFTWARE

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.

Page 16: Seleccion de tecnicas de ingenieria de software

CUALES SON LOS MODELOS DE DESARROLLO DE SOFTWARE

Modelo de Cascada Modelo Incremetal Iterativo Modelo Incremental Evolutivo Modelo Espiral Modelo de Proceso Prototipos

Page 17: Seleccion de tecnicas de ingenieria de software

.MODELO DE CASCADA

• Cliclo del desarrollo del software• Este modelo tiene una seceuncia ordenada• El trabajo de una etapa previa es la entrada al

siguente paso• Establece criterios de entrada y salida en cada

fase claramente definidos• Provee estabilidad en los requerimientos.

Page 18: Seleccion de tecnicas de ingenieria de software

MODELO DE CASCADA

Page 19: Seleccion de tecnicas de ingenieria de software

MODELO INCREMENTAL ITERATIVO

Combina elementos del modelo de cascada (aplicado repetivamente). La parte inicial es el nucleo del producto (es la parte mas importante). Una version del producto surge cuando nuevas caracteristicas han sido implantadas a medidas que han sido sugeridas por el usuario. El objetivo es trabajar junto al usuario para descubrir sus requisistos de manera incremental antes de que el producto final sea obtenido

Page 20: Seleccion de tecnicas de ingenieria de software

MODELO INCREMENTAL ITERATIVO

Page 21: Seleccion de tecnicas de ingenieria de software

MODELO INCREMENTAL EVOLUTIVO

Se utïliza cuando:• Los requisistos cambian conforme al desarrollo avanza• Si las fechas de mercado hacen imposibles tener un

producto completo y hay que introducir una versión limitada

• Si los requisitos centrales estan bien definidos pero todavia hay que definir los detalles de la extención del producto.

Diferencia: en el caso del modelo evolutivo 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.

Page 22: Seleccion de tecnicas de ingenieria de software

MODELO EVOLUTIVO

Page 23: Seleccion de tecnicas de ingenieria de software

MODELO ESPIRAL

Un conjunto de puntos de fijación para asegurar el compromiso del usuario con soluciones del sistema que sean factibles y mutuamentes satisfactorias.

Se caracteriza principalmente por: 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.

Un conjunto de puntos de fijación para asegurar el compromiso del usuario con soluciones de sistema que sean factibles y mutuamente satisfactorias.

Page 24: Seleccion de tecnicas de ingenieria de software

MODELO ESPIRAL

Page 25: Seleccion de tecnicas de ingenieria de software

MODELO DE PROCESO

• Impulsa un proceso iterativo del desrrollo• Cada ciclo es una versión del produto• Utliza metodos definidos para marcar la transición entre

las distintas etapas• Ofrece mayor poder de decisión a los usuarios• Busca mejorara la calidad y creatividad.

Page 26: Seleccion de tecnicas de ingenieria de software

PROTOTIPO

Un prototipo es una versión preliminar de un sistema de información con fines de demostración o evaluación.

Construcción de prototipo:• Identificación de requerimiento• Diseño rápido• Es un método menos formal de desarrollo• El prototipo es una técnica para comprender las

especificaciones• Un prototipo puede ser eliminado• Un prototipo puede ser parte del producto final.

Page 27: Seleccion de tecnicas de ingenieria de software

PROTOTIPO

Page 28: Seleccion de tecnicas de ingenieria de software

VIDEO DE “ARIANE FLIGHT 501”. QUE FUE LO QUE SUCEDIO

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

Page 29: Seleccion de tecnicas de ingenieria de software

QUE EFECTOS TIENEN LAS FALLAS DEL SOFTWARE SOBRE EL COHETE

Se produjo un resultado incorrecto e inesperado, fue destruido menos de un minuto despues del lanzamiento, debido a un error en la junta de orientación en el programama informático.

El no crear un software de calidad produjo fallos mecánicos en el cohete, lo cual ocasionó que este explotará. También el no crear las pruebas necesarias .

Page 30: Seleccion de tecnicas de ingenieria de software

COMO AFECTA NUETRA VIDA QUE EL SOFTWARE NO SEA DE CALIDAD

Es muy probable que se presenten problemas en forma de retrasos, perdidas de tiempo o dinero. Lamentablemente, estos problemas pueden ser mucho mas graves, si afectan al sistema critico; es decir, aquellos cuyo fallo puede provocar graves perdidas ecónomicaas o problemas ambientales o sociales. E incluso, la perdida de vidas humanas, tal es el caso de la Therac-25 Radioterapia, máquina que fué directamente responsible de algunas muertes de pacientes en la década de 1980.

Page 31: Seleccion de tecnicas de ingenieria de software

COMO PODEMOS GARANTIZAR CALIDAD

EN EL DESARROLLO DE SOFTWARE

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

Page 32: Seleccion de tecnicas de ingenieria de software

CALIDAD EN EL DESARROLLO DE SOFTWARE

La política establecida debe de estar sustenta sobre tres principios básicos:

TECNOLÓGICO: define las técnicas a utilizar en el proceso de desarrollo de software.

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.

ERGÓNOMICO: define la interfaz entre el usuario y ambiente automátizado.

La adopción de una buena política contribuye en gran medida a lograr la calidad del software, pero no la asegura, para ello es necesario su control o evaluación.

Page 33: Seleccion de tecnicas de ingenieria de software

VIDEO DE “QUE PASARIA SI LOS

PROGRAMADORE GICIERAN AVIONES?POR QUE SE DA ESE FENOMENO?

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.

También, a que el programador, no establece las pruebas necesarias, tampoco el mantenimiento adecuado.

Page 34: Seleccion de tecnicas de ingenieria de software

CUAL ES EL MENSAJE QUE TE DEJA EL VIDEO

“NO ES POSIBLE CREAR UN SOFTWARE A MEDIAS E INTENTAR RESOLVERLO CUANDO YA ESTA EN MARCHA O IMPLANTADO”.

En el caso de algunos software, se desarrolla, ya cuando este este en marcha, en el video, se ve personas colocando partes escenciales del avión, el cual se debe de aplicar pruebas sobre cada pieza, luego la azafata intentando servir jugo al pasajero o sea “usuario”, el cual da a entender que los programadores fallarón y acaban pringandolo. 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.

Page 35: Seleccion de tecnicas de ingenieria de software

SE HARA REALMENTE LO CORRECTO

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.

Page 36: Seleccion de tecnicas de ingenieria de software

QUE ESTRATEGIAS PROPORCIONA LA INGENIERIA DE SOFTWARE PARA

SOLVENTAR ESTA SITUACION

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

Page 37: Seleccion de tecnicas de ingenieria de software

CONCLUCIÓN

El siguente trabajo fue con el fin de presentar conocimiento sobre la ingeniería de software, gracias a la ayuda de algunas fuentes de información.

El concluir este trabajo genera el satisfacer, con el aporte proporcionado hacerca del tema.

Dia a dia. La tecnología avanza con gran rapidez, el saber el adquirir lo mas escencial del tema, se saber controlar los requisitos que se generan a la hora de desarrollar un software, se ha conocido todo lo relacionado a ello, el poder alcanzar el objetivo, de desarrollar un software de calida, aunque, siempre se presentan dificultades, tal es el caso del Ariane Flight 501, que es un ejemplo muy grande, de lo que ocurre cuando un software no es de calidad.