Software Engineering Definitions

44
Ingeniería de Software II MATERIAL DE APOYO PARA LA PRIMERA UNIDAD

description

 

Transcript of Software Engineering Definitions

Page 1: Software Engineering Definitions

Ingeniería de Software IIMATERIAL DE APOYO PARA LA PRIMERA UNIDAD

Page 2: Software Engineering Definitions

Universidad Tecnológica de Hermosillo

Tecnologías de la información y ComunicaciónSistemas Informáticos

Ingeniería de Software II

Facilitador:

José Padilla Duarte

Definición de la IS

Por:

Gema Ivette Durán Verdi

Hermosillo sonora a 11 de Enero del 2014

Page 3: Software Engineering Definitions
Page 4: Software Engineering Definitions

¿Qué es la is?

“Ingeniería de software es la aplicación práctica del conocimiento científico al diseño y construcción de programas de computadora, a la documentación asociada requerida para desarrollar, operar y mantenerlos.”

Page 5: Software Engineering Definitions

¿POR Qué es importante la IS?

Sin la IS no se podría:

Analizar

Diseñar

Programar

Aplicar

Si la IS no estuviera presente en estos procesos difícilmente se podrían satisfacer las necesidades del cliente; él o las personas involucradas en el proyecto no llegarían a un acuerdo lo que pondría en peligro la calidad del producto obtenido.

Page 6: Software Engineering Definitions

¿SERÁ ÚTIL LA IS?

La utilidad de la IS en el marco de fabricación y diseño de un producto define la misma utilidad de un software analiza si es factible o no la realización de este.

Page 7: Software Engineering Definitions

Si la IS NO SE APLICARA….

Page 8: Software Engineering Definitions

Antes de que existiera la IS, los ingenieros que se dedicaban al diseño, operación y mantenimiento de las primeras máquinas cometían errores en la programación, la mayoría de estos errores no eran corregidos por que pertenecían a software embedidos.

Históricamente se han registrado accidentes por fallas en la programación y operación de software puesto que no tenían definido un marco de trabajo como el que la IS dispone en la actualidad.

Page 9: Software Engineering Definitions
Page 10: Software Engineering Definitions

Therac 25

El Therac 25 fue una máquina diseñada para enfermos que requerían de tratamientos de radiación.

Fue responsable de graves quemaduras y muertes en algunos casos.

La máquina proporcionaba dosis de radiación 100 veces mas altas de las que algunos pacientes necesitaban

Page 11: Software Engineering Definitions
Page 12: Software Engineering Definitions
Page 13: Software Engineering Definitions
Page 14: Software Engineering Definitions

Como se observa prescindir de la IS no es el mejor camino para desarrollar software seguro y confiable,

Se debe tener siempre en cuenta que los usuarios son las víctimas, y que desarrollar software que respete normas básicas de calidad no solo es una tarea entre la computadora y el desarrollador.

Page 15: Software Engineering Definitions

¿todo el software es lo mismo que hacen todas las máquinas?

Page 16: Software Engineering Definitions

TIPOS DE Software según la is

SOFTWARE DE SISTEMA

SOFTWARE DE PROGRAMACIÓN

SOFTWARE DE APLICACIÓN

Page 17: Software Engineering Definitions

Software de sistema Software de SistemaProcura al usuario y programador adecuadas interfaces de alto nivel, controladores, herramientas y utilidades de apoyo que permiten el mantenimiento del sistema global. Incluye entre otros:

• Sistemas operativos• Controladores de dispositivos• Herramientas de diagnóstico• Herramientas de Corrección y Optimización• Servidores• Utilidades

Page 18: Software Engineering Definitions

Software de programación

Software de Programación:

Es el conjunto de herramientas que permiten al programador desarrollar

programas informáticos, usando diferentes alternativas y lenguajes de

programación, de una manera práctica. Incluyen básicamente:

Editores de texto

Compiladores

Intérpretes

Enlazadores

Depuradores

Page 19: Software Engineering Definitions

Software de aplicaciónSoftware de aplicación

Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios.

Page 20: Software Engineering Definitions

ORGANIZACIONES DE ESTANDARIZACIÓN DE Software

Page 21: Software Engineering Definitions

SOFTWARE ENGINEERING INSTITUTE

El Instituto de Ingeniería de Software engloba toda la oferta de productos y servicios en Ingeniería de Software, Sistemas y Tecnologías de Información (SI/TI) ya que en todos ellos interviene el software como elemento diferencia

Page 22: Software Engineering Definitions

WORLD WIDE WEB CONSORTIUM

La W3C es una organización que construye estándares para la web, es dirigida por Tim Berners-Lee creador del protocolo HTTP, del URL y el lenguaje de texto plano HTML, tecnologías esenciales para el desarrollo Web.

Page 23: Software Engineering Definitions

MODELOS DE DESARROLLO DE SOFTWARE

La ingeniería de software dispone de varios

modelos, paradigmas y filosofías de desarrollo,

en los cuales se apoya para la construcción del

software, entre ellos:

Page 24: Software Engineering Definitions

MODELO DE CASCADA

El enfoque metodológico que ordena rigurosamente las etapas del proceso para el desarrollo de software, de tal forma que el inicio de cada etapa debe esperar a la finalización de la etapa anterior.

Page 25: Software Engineering Definitions

MODELO DE PROTOTIPO

El Modelo de prototipos, en Ingeniería de software,

pertenece a los modelos de desarrollo evolutivo.

Características:

- El prototipo debe ser construido en poco tiempo

- Usar los programas adecuados

- No se debe utilizar muchos recursos.

Page 26: Software Engineering Definitions

MODELO DE ESPIRAL

Las actividades de este modelo se conforman en una espiral.Cada bucle o iteración representa un conjunto de actividades. Las actividades no están fijadas a ninguna prioridad, sino que las siguientes se eligen en función del análisis de riesgo, comenzando por el bucle interior.

Page 27: Software Engineering Definitions

MODELADO POR ETAPAS

Page 28: Software Engineering Definitions

DESARROLLO ITERATIVO CRECIENTE

El proceso iterativo incremental se basa en la retroalimentación del usuario. En cada iteración se involucra el análisis de:- Estructura- Modularidad - Usabilidad - Confiabilidad - Eficiencia - Eficacia La lista de control del proyecto se modifica bajo la luz de los resultados del análisis.

Page 29: Software Engineering Definitions

Rapid application development

El método comprende:- El desarrollo interactivo- La construcción de prototipos - El uso de utilidades CASE (Computer Aided

Software Engineering).

El RAD tiende a englobar: - La usabilidad- Utilidad - Rapidez

Page 30: Software Engineering Definitions

Proceso unificado

El nombre Proceso Unificado se usa para describir el proceso genérico que incluye aquellos elementos que son comunes a la mayoría de los refinamientos existentes.

Características:

- Evoluciono al Proceso Unificado de Rational- Este Modelo evita problemas legales- El RUP es una marca registrada por IBM

Page 31: Software Engineering Definitions

CICLO DE VIDA DEL SOFTWARE

Page 32: Software Engineering Definitions

REQUERIMIENTOS

Es la primera etapa del proceso

Se definen las necesidades

Objetivos

Alcances

Necesidades

Recursos

Page 33: Software Engineering Definitions

Análisis

Esta es la segunda etapa, cuestiona la factibilidad de conseguir el producto, en base a los recursos disponibles como:

Recursos Humanos

Recursos Tecnológicos

Recursos Económicos

Recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar.

Page 34: Software Engineering Definitions

DISEÑO Y ARQUITECTURA

Requisitos generales de la arquitectura de la aplicación.

Definición precisa de cada subconjunto de la aplicación.

Page 35: Software Engineering Definitions
Page 36: Software Engineering Definitions

PROGRAMACIÓN

Es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño.

Page 37: Software Engineering Definitions
Page 38: Software Engineering Definitions

PRUEBAS

Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones.

Integración: para garantizar que los diferentes módulos se integren con la aplicación. Éste es el propósito de la prueba de integración que está cuidadosamente documentada.

Prueba beta (o validación), para garantizar que el software cumple con las especificaciones originales.

Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros.

Page 39: Software Engineering Definitions

IMPLEMENTACIÓN

La implementación es parte del proceso en el que los ingenieros de software programan el código para el proyecto.

Las pruebas de software son parte esencial del proceso de desarrollo del software. Esta parte del proceso tiene la función de detectar los errores de software lo antes posible.

Page 40: Software Engineering Definitions

MANTENIMIENTO

El mantenimiento y mejora del software de un software con problemas recientemente desplegado puede requerir más tiempo que el desarrollo inicial del software.

Page 41: Software Engineering Definitions

Concluyendo la IS es una disciplina que respalda la fabricación de un paquete informático si se utiliza cada una de la técnicas de la manera apropiada obtendremos un producto integro que garantize su funcionalidad, seguridad, imagen y preservación y autenticidad de la información

Page 42: Software Engineering Definitions

ADVERTENCIA!!!

EL CONTENIDO MANEJADO EN ESTA PRESENTACIÓN ESTÁ BASADO EN UNA INVESTIGACIÓN DE LA CLASE DE INGENIERÍA DE SOFTWARE II, SE REALIZÓ LA CONSULTA DE DIVERSOS SITIOS ONLINE QUE MANEJAN TODOS LOS CONCEPTOS, PRÁCTICAS, PRECEDENTES HISTÓRICOS, EN EL DOCUMENTO WORD SOLICITADO SE ENCUENTRAN LAS REFERENCIAS DE IMÁGENES Y TEXTOS EXPUESTOS.

Page 43: Software Engineering Definitions

bibliografía

https://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software

http://es.wikipedia.org/wiki/Calidad_de_software

https://es.wikipedia.org/wiki/Historia_de_la_ingenier%C3%ADa_del_software

https://en.wikipedia.org/wiki/List_of_publications_in_computer_science#Report_of_a_conference_sponsored_by_the_NATO_Science_Committee

https://es.wikipedia.org/wiki/Therac_25

http://ingenieriadesoftware3.blogspot.mx/p/importancia-de-la-ingenieria-del.html

http://es.wikipedia.org/wiki/Software

http://es.wikipedia.org/wiki/Software_Engineering_Institute

www.sei.cmu.edu

Page 44: Software Engineering Definitions

Goodby