sanchez garcia juan jose definiciones en la ingeniería de software sis4-1

47
Universidad Tecnologica de Hermosillo Tecnologias de la Informacion y la Comunicación Juan Jose Sanchez Garcia 15 de enero de 2013 Definiciones en la Ingeniería de Software

Upload: jose-garcia

Post on 04-Jul-2015

348 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Universidad Tecnologica de Hermosillo

Tecnologias de la Informacion y la Comunicación

Juan Jose Sanchez Garcia

15 de enero de 2013

Definiciones en la Ingeniería de

Software

Page 2: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Introduccion

Page 3: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

El presente trabajo contempla una breve pero informativa

introducción al tema de la Ingenieria de Software.

Este trabajo cubre varios temas de importancia para el alumno

de TICS pues presenta conceptos importantes de la Ingenieria

de Software.

Entre los temas que están en este trabajo se encuentra

W3C,Refactorizacion de Software,Sistema de computo,etc.

Page 4: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Ingeniería de Software: Definición, inicios,

importancia, utilidad

Page 5: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Definicion

Page 6: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Es la aplicación de un enfoque sistemático, disciplinado y

cuantificable al desarrollo, operación y mantenimiento de

software, y el estudio de estos enfoques, es decir, la

aplicación de la ingeniería al software.

Page 7: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Inicios

Page 8: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

El concepto de ingeniería del software surgió en 1968, tras una

conferencia en Garmisch (Alemania) que tuvo como objetivo

resolver los problemas de la crisis del software. El término

crisis del software se usó desde finales de 1960 hasta mediados

de 1980 para describir los frecuentes problemas que aparecían

durante el proceso de desarrollo de nuevo software.

Page 9: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Tras la aparición de nuevo hardware basado en circuitos

integrados, comenzaron a desarrollarse sistemas y aplicaciones

mucho más complejos que hasta entonces no era posible

construir puesto que el hardware disponible no lo permitía.

Page 10: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Estos nuevos proyectos de desarrollo de software, en la mayoría

de ocasiones, no se terminaban a tiempo, lo cual también

provocaba que el presupuesto final del software excediera de

aquel que se había pactado. Algunos de estos proyectos eran tan

críticos (sistemas de control de aeropuertos, equipos para

medicina, etc.) que sus implicaciones iban más allá de las

pérdidas millonarias que causaban

Page 11: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Importancia

Page 12: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

En la ingeniería de software se utilizan los métodos, las

herramientas y los procedimientos necesarios para que el

software que se vaya formando tenga una buena calidad y que

los errores que se puedan cometer sean mínimos. Hay un factor

que se toma en cuenta para que el software funcione

adecuadamente y tenga la calidad requerida.

Page 13: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Las organizaciones se ven obligadas a disminuir el costo y el

tiempo tanto para el desarrollo de su producción, como para el

funcionamiento de la organización como tal, ello lleva a la idea

de generar crecimiento arrancando por la problemática de

corregir falencias y automatizar procesos sin dejar de lado el

hecho de que la solución definitiva no solo debe ser capaz de

realizar la labor que se solicita de la forma más eficiente y eficaz

sino también de permitir que mute o cambie de acuerdo a la

exigencia del mercado, con conocimiento claro que esta tiene

un tiempo de vida limitado

Page 14: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Utilidad

Page 15: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

En la construcción y desarrollo de proyectos se aplican métodos

y técnicas para resolver los problemas, la informática aporta

herramientas y procedimientos sobre los que se apoya la

ingeniería de software.

Page 16: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

mejorar la calidad de los productos de software

aumentar la productividad y trabajo de los ingenieros

del software.

Facilitar el control del proceso de desarrollo de

software.

Suministrar a los desarrolladores las bases para

construir software de alta calidad en una forma eficiente.

Definir una disciplina que garantice la producción y el

mantenimiento de los productos software desarrollados en el

plazo fijado y dentro del costo estimado.

Page 17: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Clasificacion de los Sistemas de Computo

Page 18: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

De acuerdo a la forma de representación física de la

información: Hace referencia a la forma de recibir y/o procesar

internamente la información surgiendo así 3 tipos de estos

sistemas:

Sistemas Analógicos

Sistemas Digitales

Sistemas Hibridos

Page 19: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Sistemas Analogicos

Page 20: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Basados en la lectura de magnitudes físicas que pueden tomar

un valor cualquiera dentro de un rango prefijado. Estas

representan los números mediante una cantidad física, es

decir, asignan valores numéricos por medio de la medición

física de una propiedad real, como la longitud de un objeto, el

Angulo entre 2 líneas, o la cantidad de voltaje que pasa a través

de un punto en un circuito eléctrico.

Page 21: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Sistema Digital

Page 22: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Las computadoras digitales representan los datos o unidades

separadas. La forma más simple de computadora digital es

contar con los dedos. A diferencia de la computadora

analógica, limitada por la precisión de las mediciones que

puedan realizarse, la computadora digital puede representar

correctamente los datos con tantas posiciones y números que se

requieran.

Page 23: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Sistema Hibrido

Page 24: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Estos sistemas toman valores tanto digitales como analógicos.

Generalmente se usan en problemas especiales en los que los

datos de entrada provienen de mediciones convertidas a dígitos

y son procesados por una computadora por ejemplo.

Page 25: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

De acuerdo al tipo de uso

Page 26: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Tienen que ver con el tipo de aplicaciones que puede

ejecutar, se tipifican en:

Computadoras de uso personal

Computadoras de uso Especifico

Page 27: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Uso Personal

Page 28: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Es la computadora que puede utilizarse para distintas clases de

aplicaciones, es decir que puede soportar el trabajo

concurrente de diferentes aplicaciones de usuario y/o sistema.

Page 29: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Uso Especifico

Page 30: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Es la computadora que únicamente puede utilizarse para una

o grupo de aplicaciones determinado a una aplicación muy

concreta, este tipo de computadoras son conocidas

habitualmente como embebidas pues se encuentra incorporadas

a otros a otros sistemas o equipos.

Page 31: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

De Acuerdo a la potencia

Hace referencia a la configuración que presentan las

computadoras que les permite un mejor desempeño , esta

clasificación considera:

Supercomputadora

Microcomputadora

Servidores de red

Estación de trabajo

Computadora Personal

Computadoras móvil

Page 32: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Software Engineering Institute

Page 33: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Software Engineering Institute (SEI) es un instituto federal

estadounidense de investigación y desarrollo, fundado por

Congreso de los Estados Unidos en 1984 para desarrollar

modelos de evaluación y mejora en el desarrollo de

software, que dieran respuesta a los problemas que generaba al

ejército estadounidense la programación e integración de los

sub-sistemas de software en la construcción de complejos

sistemas militares. Financiado por el Departamento de Defensa

de los Estados Unidos y administrado por la Universidad

Carnegie Mellon.

Page 34: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Es un referente en Ingeniería de Software por realizar el

desarrollo del modelo SW-CMM (1991) que ha sido el punto

de arranque de todos los que han ido formando parte del

modelo que ha desarrollado sobre el concepto de capacidad y

madurez, hasta el actual CMMI.

Page 35: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

W3C

Page 36: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

El WorldWide Web Consortium, abreviado W3C, es un

consorcio internacional que produce recomendaciones para la

WorldWide Web.

Está dirigida por Tim Berners-Lee, el creador original de URL

(Uniform Resource Locator, Localizador Uniforme de

Recursos), HTTP (HyperTextTransfer Protocol, Protocolo de

Transferencia de HiperTexto) y HTML (HyperText Markup

Language,Lenguaje de Marcado de HiperTexto) que son las

principales tecnologías sobre las que se basa la Web.

Page 37: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Modelos y filosofias de desarrollo de

software

Page 38: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

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 se puede citar:

Modelo en cascada o Clásico (modelo tradicional)

Modelo de prototipos

Modelo en espiral

Desarrollo por etapas

Desarrollo iterativo y creciente o Iterativo e Incremental

RAD (Rapid Application Development)

Desarrollo concurrente

Proceso Unificado

RUP (Proceso Unificado de Rational)

Page 39: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Ciclo de vida del desarrollo de Software

Page 40: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

El ciclo de vida básico de un software consta de los siguientes procedimientos:

• Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global.

• Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se

pueda aplicar.

• Diseño general: requisitos generales de la arquitectura de la aplicación.

• Diseño en detalle: definición precisa de cada subconjunto de la aplicación.

• Programación (programación e implementación): es la implementación de un lenguaje de programación para crear las funciones

definidas durante la etapa de diseño.

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

especificaciones.

Page 41: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

• 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

• Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del

software (mantenimiento continuo).

El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una aplicación dependen del tipo de modelo de ciclo de

vida acordado entre el cliente y el equipo de desarrolladores.

Page 42: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

• 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

• Mantenimiento: para todos los procedimientos correctivos

(mantenimiento correctivo) y las actualizaciones secundarias del

software (mantenimiento continuo).

El orden y la presencia de cada uno de estos procedimientos en el ciclo

de vida de una aplicación dependen del tipo de modelo de ciclo de vida

acordado entre el cliente y el equipo de desarrolladores.

Page 43: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Arquitectura de Software

Page 44: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

En los inicios de la informática, la programación se consideraba un

arte y se desarrollaba como tal, debido a la dificultad que entrañaba

para la mayoría de las personas, pero con el tiempo se han ido

descubriendo y desarrollando formas y guías generales, con base a las

cuales se puedan resolver los problemas. A estas, se les ha

denominado Arquitectura de Software, porque, a semejanza de los

planos de un edificio o construcción, estas indican la estructura,

funcionamiento e interacción entre las partes del software. En el

libro "An introduction to Software Architecture", David Garlan y

Mary Shaw definen que la Arquitectura es un nivel de diseño que

hace foco en aspectos "más allá de los algoritmos y estructuras de

datos de la computación; el diseño y especificación de la estructura

global del sistema es un nuevo tipo de problema".

Page 45: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

Conclusion

La ingeniería de software es un tema muy importante dentro

del proceso de aprendizaje de un alumno.

La ingeniería de software permite a los programadores la

creación de mejor software mediante el uso de técnicas y

metodologías para garantizar la correcta funcionalidad de

este, además de poder formalizar el código fuente para facilitar

la reutilización del software.

La ingeniería de software ha sido uno de los pilares mas grandes

para el crecimiento de la industria del software a lo largo de los

años

Page 47: Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1

http://www.buenastareas.com/ensayos/Inportancia-De-

La-Ingenier%C3%ADa-De-Software/1205392.html

http://www.itpuebla.edu.mx/Alumnos/Cursos_Tutoriales

/Ana_Sosa_Pintle/SISTEMAS/ARCHIVOS_FUNDAMENTOS

/ARCHIVOS/U4_1.htm

http://histinf.blogs.upv.es/2010/12/28/ingenieria-del-

software/

http://prezi.com/wribnzku2hre/ieee-830/

http://www.slideshare.net/almoralgon/clasificacion-de-

los-sistemas-de-computo

http://es.wikipedia.org/wiki/Ventana_(inform%C3%A1tic

a)#Modalidad