INGENIERÍA DE SOFTWARE - Mapa Mental

INGENIERÍA DE SOFTWARE

DEFINICIÓN

La ingeniería del software es una disciplina formada por un conjunto de técnicas, métodos y herramientas que se utilizan para el desarrollo de los sistemas o programas informáticos los cuales nos permiten solucionar problemas de todo tipo y para todos los rubros

ORIGEN

surgió en 1968, tras una conferencia en Garmisch (Alemania) que tuvo como objetivo resolver los problemas de la crisis del software.

EVOLUCIÓN

Con el transcurso de los años se han desarrollado recursos que conforman la ingeniería del software, es decir, herramientas y técnicas de especificación, diseño e implementación del software: la programación estructurada, la programación orientada a objetos, las herramientas CASE, la documentación, los estándares, CORBA, los servicios web, el lenguaje UML, etc.

IMPORTANCIA

El software en la actualidad es de una importancia vital en todo los ámbitos y para todos los rubros, por ejemplo: los sistemas automatizados, entretenimiento, videojuegos, cine y televisión, la industria musical, restaurantera, comercial etc. Para los sistemas de educación, seguridad, políticos, gubernamentales, etcétera.

RELACIÓN ENTRE LA INGENIERÍA DE SISTEMAS Y DE SOFTWARE

Estas dos carreras se complementan una a la otra y son capaces de trabajar juntas para la realización de un Proyecto. ya que la ingeniería de software se encarga de crear y mantener las aplicaciones de software aplicando tecnologías y la ingeniería de sistemas consiste en la aplicación de fundamentos de las ciencias computacionales, electronicas y los conocimientos de software, para el desarrollo de soluciones.se podría decir que la ingeniería de software es un complemento de la ingeniería en sistemas ya que en esta se ve a detalle el ciclo de vida del software.

PROCESO SOFTWARE

Especificación

usuarios e ingenieros definen el software a producir y las restricciones en su funcionalidad.

Desarrollo

fase en la cual el software se diseña y se programa.

Validación

el software debe ser probado para asegurar que cumple con las necesidades del cliente.

Evolución

el software debe poder ser modificado para adaptarse a cambios en el mercado y en las necesidades de los usuarios.

Enfoques

Modelo en cascada

ordena rigurosamente las etapas del ciclo de vida del software, de tal forma que el inicio de cada etapa debe esperar a la finalización de la inmediatamente anterior

Prototipado

pertenece a los modelos de desarrollo evolutivo. El prototipo debe ser construido en poco tiempo, usando los programas adecuados y no se deben utilizar muchos recursos

Incremental e iterativo

Divide la funcionalidad del sistema en partes. En cada incremento, una parte de la funcionalidad es desarrollada, desde el análisis hasta las pruebas.

Espiral

Combinación de procesos en cascada y prototipado. Fue definido por Barry Boehm en 1986 en el artículo “A Spiral Model of Software Development and Enhancement”

RAD (Rapid Application Development)

emplea técnicas iterativas y de prototipado. Lo introdujo James Martin en 1991.

RUP (Rationa Unified Process)

El Rational Unified Process en inglés es un proceso de desarrollo de software iterativo y junto con el Lenguaje Unificado de Modelado (UML), constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos.

GRACIAS POR SU ATENCIÓN

La siguiente clasificación es la más habitual basada en las fases del ciclo de desarrollo que cubren

Upper CASE (U-CASE), herramientas que ayudan en las fases de planificación, análisis de requisitos y estrategia del desarrollo, usando, entre otros diagramas UML.

Middle CASE (M-CASE), herramientas para automatizar tareas en el análisis y diseño de la aplicación.

Lower CASE (L-CASE), herramientas que semi-automatizan la generación de código, crean programas de detección de errores, soportan la depuración de programas y pruebas. Además automatizan la documentación completa de la aplicación.

METODOLOGIAS

Los métodos de la ingeniería de software introducen frecuentemente una notación especial orientada al lenguaje o gráfica y a un conjunto de criterios para la calidad del software.

Programación estructurada

Esta forma de programar (paradigma) se basa en un famoso teorema, desarrollado por Edsger Dikjstra, que demuestra que todo programa puede escribirse utilizando únicamente las tres estructuras básicas de control

Programación orientada a objetos o POO

Los conceptos de la programación orientada a objetos tienen origen en Simula 67, un lenguaje diseñado en 1967 para hacer simulaciones de eventos discretos, creado por Ole-Johan Dahl y Kristen Nygaard del Centro de Cómputo Noruego en Oslo.

Extreme Programming

Enfoque formulado por Kent Beck en 1999, que se diferencia de las metodologías tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la previsibilidad.

UTILIDAD

Нажмите сюда, чтобы центрировать карту.
Нажмите сюда, чтобы центрировать карту.