Software Engineering Definitions
-
Upload
apoklypsia -
Category
Technology
-
view
241 -
download
1
description
Transcript of Software Engineering Definitions
Ingeniería de Software IIMATERIAL DE APOYO PARA LA PRIMERA UNIDAD
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
¿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.”
¿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.
¿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.
Si la IS NO SE APLICARA….
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.
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
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.
¿todo el software es lo mismo que hacen todas las máquinas?
TIPOS DE Software según la is
SOFTWARE DE SISTEMA
SOFTWARE DE PROGRAMACIÓN
SOFTWARE DE APLICACIÓN
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
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
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.
ORGANIZACIONES DE ESTANDARIZACIÓN DE Software
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
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.
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:
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.
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.
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.
MODELADO POR ETAPAS
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.
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
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
CICLO DE VIDA DEL SOFTWARE
REQUERIMIENTOS
Es la primera etapa del proceso
Se definen las necesidades
Objetivos
Alcances
Necesidades
Recursos
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.
DISEÑO Y ARQUITECTURA
Requisitos generales de la arquitectura de la aplicación.
Definición precisa de cada subconjunto de la aplicación.
PROGRAMACIÓN
Es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño.
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.
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.
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.
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
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.
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
Goodby