ingeniería de software - descripción, características, modelos

27
Ingeniería de software II López Castillo Rafael Fernando Universidad Tecnológica de Hermosillo

Upload: rafael-fdo-lopez-castillo

Post on 04-Jul-2015

565 views

Category:

Technology


3 download

DESCRIPTION

Definiciones en la Ingeniería de Software

TRANSCRIPT

Page 1: Ingeniería de software - Descripción, características, modelos

Ingeniería de software IILópez Castillo Rafael Fernando

Universidad Tecnológica de Hermosillo

Page 2: Ingeniería de software - Descripción, características, modelos

Definiciones de la

ingeniería de software

En éste documento se definirán los conceptos generales, las

importancias y las actividades de la ingeniería de software,

además de las metodologías y sus procesos. Las

organizaciones encargadas de estandarizar el desarrollo de

software para tener productos de calidad.

Page 3: Ingeniería de software - Descripción, características, modelos

Conceptos generales

El software:

Producto lógico, intangible, le complementa el hardware. Es

desarrollado, no fabricado, no se deteriora y mayormente

está hecho a la medida

Page 4: Ingeniería de software - Descripción, características, modelos

Conceptos generales

Ingeniería de software:

Entendemos por ingeniería de Software “el establecimiento

y uso de principios de ingeniería robustos, orientados a

obtener software económico, que sea fiable y funcione

eficientemente sobre máquinas reales”.

Page 5: Ingeniería de software - Descripción, características, modelos

Conceptos generales

Ingeniería de software:

Herramientas: Proporcionan un soporte automático o

semiautomático para la aplicación de los procedimientos y

los métodos.

Page 6: Ingeniería de software - Descripción, características, modelos

Conceptos generales

Ingeniería de software:

Procedimientos: se puede caracterizar por un conjunto de

actividades que se pueden aplicar en el desarrollo de

cualquier proyecto software así como la forma de abarcarlas

durante el desarrollo del mismo.

Page 7: Ingeniería de software - Descripción, características, modelos

Conceptos generales

Ingeniería de software:

Análisis: se centra en el QUÉ

Desarrollo: Se centra en el CÓMO

Mantenimiento: Se centra en el cambio que va asociado a la

corrección de errores.

Page 8: Ingeniería de software - Descripción, características, modelos

Inicios de la ingeniería

de software

El concepto de ingeniería de software surgió en 1998, tras

una conferencia en Garmish que tuvo como objetivo

resolver el problema de la crisis del software. Éste fue

ocasionado por el avance desmesurado del hardware. Se

necesitaba un mejor software para aprovechar los recursos

del hardware.

Page 9: Ingeniería de software - Descripción, características, modelos

Importancia de la

ingeniería de software

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.

En la construcción y desarrollo de proyectos se aplican

métodos y técnicas para resolver los problemas

Page 10: Ingeniería de software - Descripción, características, modelos

Tipo de aplicaciones de

computo

• Software de aplicación: aplicaciones típicas

• Software científico y de ingeniería: complejos cálculos

• Software empotrado: va instalado de fabrica

• Software de línea de productos: satisfactorio al cliente

• Aplicaciones basadas en WEB: funcionan en red

Page 11: Ingeniería de software - Descripción, características, modelos

SEI (Software Engineering

Institute)

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

Page 12: Ingeniería de software - Descripción, características, modelos

W3C (World Wide Web

Consortium)

Es un consorcio internacional que produce

recomendaciones para la World Wide Web.

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

URL, HTTP y HTML que son las principales tecnologías

sobre las que se basa la Web.

Page 13: Ingeniería de software - Descripción, características, modelos

Modelos y filosofías de

desarrollo de software

Una metodología de desarrollo de software se refiere a un

framework que es usado para estructurar, planear y

controlar el proceso de desarrollo en sistemas de

información.

Page 14: Ingeniería de software - Descripción, características, modelos

Modelo cascada

Es un proceso secuencial

de desarrollo en el que los

pasos de desarrollo son

vistos hacia abajo

Page 15: Ingeniería de software - Descripción, características, modelos

Modelo prototipo

El prototipo es el

framework de

actividades dedicada al

desarrollo de software

prototipo, es decir,

versiones incompletas

del software a

desarrollar.

Page 16: Ingeniería de software - Descripción, características, modelos

Modelo incremental

Provee una estrategia para

controlar la complejidad y

los riesgos, desarrollando

una parte del producto

software reservando el resto

de aspectos para el futuro.

Page 17: Ingeniería de software - Descripción, características, modelos

Modelo espiral

La atención se centra en la

evaluación y reducción

del riesgo del proyecto

dividiendo el proyecto en

segmentos más pequeños

y proporcionar más

facilidad de cambio

durante el proceso de

desarrollo.

Page 18: Ingeniería de software - Descripción, características, modelos

Ciclo de vida del

desarrollo de software

El término ciclo de vida del software describe el desarrollo

de software, desde la fase inicial hasta la fase final. El

propósito es definir las distintas fases intermedias que se

requieren para validar el desarrollo, es decir, para garantizar

que el software cumpla los requisitos para la aplicación y

verificación de los procedimientos de desarrollo.

Page 19: Ingeniería de software - Descripción, características, modelos

Ciclo de vida del

desarrollo de software

El modelo de ciclo de vida

en cascada se define como

una secuencia de fases en

la que al final de cada una

de ellas se reúne la

documentación para

garantizar que cumple las

especificaciones y los

requisitos antes de pasar a

la fase siguiente:

Page 20: Ingeniería de software - Descripción, características, modelos

Ciclo de vida del

desarrollo de software

El modelo de ciclo de

vida V proviene del

principio que establece

que los procedimientos

utilizados para probar si la

aplicación cumple las

especificaciones ya deben

haberse creado en la fase

de diseño.

Page 21: Ingeniería de software - Descripción, características, modelos

Arquitectura de software

En los años 1960 ya se acercaba el concepto de arquitectura

de software en los círculos de investigación. No obstante,

toma popularidad en los años 1990 tras reconocerse la

denominada crisis del software y como tema de interés de la

incipiente disciplina de la ingeniería del software.

Page 22: Ingeniería de software - Descripción, características, modelos

Arquitectura de software

La Arquitectura del Software es el diseño de más alto nivel

de la estructura de un sistema.

Una Arquitectura de Software, también denominada

Arquitectura lógica, consiste en un conjunto de patrones y

abstracciones coherentes que proporcionan el marco

Page 23: Ingeniería de software - Descripción, características, modelos

Arquitectura de software

Una arquitectura de software se selecciona y diseña con

base en objetivos y restricciones. Los objetivos son aquellos

prefijados para el sistema de información, pero no

solamente los de tipo funcional, también otros objetivos

como la mantenibilidad, flexibilidad e interacción con otros

sistemas de información.

Page 24: Ingeniería de software - Descripción, características, modelos

Arquitectura de software

No es necesario inventar una nueva arquitectura de software

para cada sistema de información. Lo habitual es adoptar

una arquitectura conocida en función de sus ventajas e

inconvenientes para cada caso en concreto.

Page 25: Ingeniería de software - Descripción, características, modelos

Arquitectura de software

• Monolítica. Donde el software se estructura en grupos funcionales muy acoplados.

• Cliente-servidor. Donde el software reparte su carga de cómputo en dos partes independientes pero sin reparto claro de funciones.

• Arquitectura de tres niveles. Especialización de la arquitectura cliente-servidor donde la carga se divide en tres partes (o capas) con un reparto claro de funciones: una capa para la presentación (interfaz de usuario), otra para el cálculo (donde se encuentra modelado el negocio) y otra para el almacenamiento (persistencia). Una capa solamente tiene relación con la siguiente.

Page 26: Ingeniería de software - Descripción, características, modelos

Conclusiones

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.

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 27: Ingeniería de software - Descripción, características, modelos

Bibliografía

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

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

• http://es.wikipedia.org/wiki/Metodolog%C3%ADa_de_desarrollo_de_software

• http://es.kioskea.net/contents/223-ciclo-de-vida-del-software

• http://es.wikipedia.org/wiki/Arquitectura_de_software

• http://moodle.tic-uth.net/file.php/268/ISW.pdf