22
TORIBIO ALCARAZ VALENZUELA INGENIERIA EN SOFTWARE

Ingenieria en software

  • Upload
    el-tory

  • View
    92

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Ingenieria en software

T O R I B I O A L C A R A Z V A L E N Z U E L A

INGENIERIA EN SOFTWARE

Page 2: Ingenieria en software

INTRODUCCIÓN

• Tema principal es definiciones, orígenes, su

importancia. Definiciones de Software Engineering

Suit (SEI) y el World Wide Web Consortium (W3C)

que son organizaciones que se encargan de la

ingeniería de software como nos ayuda a la

creación de software de calidad que también se

incluyen los modelos de desarrollo y sus procesos

para el desarrollo del mismo.

Page 3: Ingenieria en software

DEFINICIÓN

• La ingeniería del software es el desarrollo,

operación y mantenimiento del software de forma

sistemática, disciplinada y cuantificable, y

el estudio de dichos métodos.

En otras palabras, es el estudio dedicado a

la creación de software de buena calidad, barato

y fácil de desarrollar y mantener. Es la aplicación

de la ingeniería al software.

Page 4: Ingenieria en software

HISTORIA

• El concepto de ingeniería del software surgió en

1968, tras una conferencia en 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 5: Ingenieria en software

IMPORTANCIA

• La importancia de la ingeniería en software es muy

importante ya que con ella se puede analizar,

diseñar, programar y aplicar un software de

manera correcta y organizada, cumpliendo con

todas las especificaciones del cliente y el usuario

final. Lo anterior es posible gracias a los objetivos

que esta propone.

Page 6: Ingenieria en software

UTILIDAD

• Facilitar el control en el 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 7: Ingenieria en software

CLASIFICACIÓN DE APLICACIONES DE COMPUTO

Los sistemas de computo se pueden dividir de acuerdo a los siguientes puntos:

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

• De acuerdo al Tipo de Uso

• De acuerdo a la Potencia

• De acuerdo al paralelismo

• IBM vs. APPlE

• Clones vs. de marca.

Page 8: Ingenieria en software

SEI (SOFTWARE ENGINEERINGINSTITUTE)

• Es un centro de investigación y desarrollo fundado

por el Departamento de Defensa de los Estados

Unidos y operado por la Carnegie Mellon University,

en Pittsburgh, Pennsylvania. La SEI ayuda en el

avance de los principios y prácticas de la ingeniería

de software, y sirve como un recurso nacional en la

ingeniería de software, seguridad en computación,

y mejora en procesos.

Page 9: Ingenieria en software

W3C (WORLD WIDE WEB CONSORTIUM)

• Es la principal organización internacional de

estándares para la World Wide Web. Fue fundada

por Tim Berners-Lee en Octubre de 1994, en la

MIT/LCS (Massachusetts Institute Of Tecnology

Laboratory for Computer Science), y actualmente

es quien lo encabeza. Dicho consorcio está

conformado por organizaciones que mantienen un

staff de tiempo completo con el propósito de

trabajar juntos en el desarrollo de estándares para

la World Wide Web.

Page 10: Ingenieria en software

MODELOS Y FILOSOFÍAS DE DESARROLLO DE SOFTWARE.

Page 11: Ingenieria en software

Modelo en Cascada: Es 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. Un ejemplo de dicha metodología es:

• Análisis de requisitos.

• Diseño del Sistema.

• Diseño del Programa.

• Codificación.

• Pruebas.

• Implantación.

• Mantenimiento.

De esta forma, cualquier error de diseño detectado en la etapa de prueba conduce necesariamente al rediseño y nueva programación del código afectado, aumentando los costos del desarrollo.

Page 12: Ingenieria en software

• Modelo de Prototipos: Se trata de un modelo de desarrollo de tipo evolutivo. La mecánica consiste en construir un prototipo en poco tiempo, utilizando los programas adecuados y tratando de no usar mucho dinero pues, a partir de que el prototipo sea aprobado, se podrá comenzar con el desarrollo del producto final.

• El modelo de prototipos consta de varias etapas.

• Comunicación

• Plan Rápido

• Modelado, Diseño Rápido

• Construcción del Prototipo

• Desarrollo, Entrega y Retroalimentación

Page 13: Ingenieria en software

• Modelo en Espiral: Es un modelo de desarrollo

evolutivo. Las actividades a realizar se encuentran

dentro de una espiral, donde cada bucle

representa un conjunto de actividades, las cuales

no cuentan con ninguna prioridad, sino que las

siguientes se definen en función del análisis de

riesgos.

• Para cada ciclo, habrá cuatro actividades a

realizar.

Page 14: Ingenieria en software

CICLO DE VIDA DEL DESARROLLO DE SOFTWARE

Page 15: Ingenieria en software

PROCESOS PARA EL DESARROLLO DE SOFTWARE

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

Page 16: Ingenieria en software

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

Page 17: Ingenieria en software

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

Page 18: Ingenieria en software

• 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 19: Ingenieria en software

• Implementación

• Mantenimiento: para todos los procedimientos

correctivos (mantenimiento correctivo) y las

actualizaciones secundarias del software

(mantenimiento continuo).

Page 20: Ingenieria en software

ARQUITECTURA DE SOFTWARE.

• conjunto de patrones que proporcionan un marco

de referencia necesario para guiar la construcción

de un software, permitiendo a los programadores,

analistas y todo el conjunto de desarrolladores del

software compartir una misma línea de trabajo y

cubrir todos los objetivos y restricciones de la

aplicación. Es considerada el nivel más alto en el

diseño de la arquitectura de un sistema puesto que

establecen la estructura, funcionamiento e

interacción entre las partes del software.

Page 21: Ingenieria en software

CONCLUSIÓN

En este documento se aprecia el desarrollo de un

software y los estándares que se tienen que seguir

para poder obtener un software de calidad.

Hay diferentes tipos de desarrollos de software, los

cuales si no se llevan a cabo podría fallar en un 70%

el sistema diseñado.

Page 22: Ingenieria en software

BIBLIOGRAFIA

• http://www.slideshare.net/almoralgon/clasificacion

-de-los-sistemas-de-computo

• http://ingenieriadesoftware3.blogspot.mx/p/import

ancia-de-la-ingenieria-del.html

• http://www.monografias.com/trabajos5/inso/inso.s

html#intro

• http://www.alegsa.com.ar/Dic/ingenieria%20del%2

0software.php