Your SlideShare is downloading. ×
Ingeniería de software
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Ingeniería de software

64
views

Published on

presentacion sobre conceptos de engenieria de software elaborado por Javier Eduardo Valenzuela Olivas.

presentacion sobre conceptos de engenieria de software elaborado por Javier Eduardo Valenzuela Olivas.

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
64
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Javier Eduardo Valenzuela O. INGENIERÍA DE SOFTWARE
  • 2.  INTRODUCCIÓN:  En esta presentación podrás a aprender todo lo relacionado con la ingeniería de software, como sus conceptos y cómo se clasifica las aplicaciones de cómputo, temas relacionadas con ello como Software Engineering Institute (SEI) y W3C. Además de su modelos y filosofías del desarrollo, procesos y arquitectura.
  • 3.  INGENIERÍA DE SOFTWARE: IMPORTANCIA:  Uno de los objetivos más perseguidos desde los inicios de la informática ha sido la búsqueda de técnicas que mejorasen la calidad y permitiesen reducir los costes de las soluciones de software.
  • 4.  INGENIERÍA DE SOFTWARE: INICIOS:  A mediados de los 60, la creación de un producto software se convirtió en una tarea angustiosa (crisis del software), y se hizo por tanto necesario introducir una serie de herramientas y procedimientos que facilitaran por un lado, la labor de creación de nuevo software y por otro, la comprensión y el manejo del mismo. Estos fueron los inicios de la ingeniería del software.
  • 5.  INGENIERÍA DE SOFTWARE: DEFINICION:  Definición: Según Bauer (1969), entendemos por ingeniería del 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.”
  • 6.  INGENIERÍA DE SOFTWARE: CLASIFICACIÓN DE LOS TIPOS DE APLICACIONES DE COMPUTO:  Software de sistemas: Está formado por todos aquellos programas cuya finalidad es servir al desarrollo o al funcionamiento de otros programas.  Software de aplicación: Son aplicaciones típicas como word, excel, etc.  Software científico y de Ingeniería: Se encarga de realizar complejos cálculos sobre datos numéricos de todo tipo.
  • 7.  Software empotrado: Software empotrado es aquel que va instalado en otros productos industriales, como por ejemplo la electrónica de consumo, dotando a estos productos de un grado de inteligencia cada vez mayor.  Software de línea de productos: satisfacer clientes.  Aplicaciones basadas en web: aplicaciones de espectro como correos electrónicos.  Software de inteligencia artificial: El software basado en lenguajes procedimentales es útil para realizar de forma rápida y fiable operaciones que para el ser humano son tediosas e incluso inabordables.
  • 8. SOFTWARE ENGINEERING INSTITUTE (SEI):  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.
  • 9. PROCESO PARA EL DESARROLLO DE SOFTWARE:  Un proceso para el desarrollo de software, también denominado ciclo de vida del desarrollo de software es una estructura aplicada al desarrollo de un producto de software.  Hay varios modelos a seguir para el establecimiento de un proceso para el desarrollo de software, cada uno de los cuales describe un enfoque diferente para diferentes actividades que tienen lugar durante el proceso.
  • 10. MODELOS Y FILOSOFÍAS DE DESARROLLO DE SOFTWARE:  Modelo lineal secuencial (Ciclo de vida clásico) Enfoque sistemático y secuencial del desarrollo del software que comienza en un nivel de sistemas y progresa con el análisis, diseño, codificación, pruebas y mantenimiento. Actividades: 1.- Ingeniería y modelado de Sistemas/Información: – Ubicación del software en el ámbito donde va a funcionar. 2.- Análisis de los requisitos del software: – Se deben conocer los aspectos relacionados con la información a tratar, la función requerida, comportamiento, rendimiento, etc del software. – El cliente debe dar el visto bueno.
  • 11.  3.- Diseño: – Estructura del programa y arquitectura del software. – Representaciones de la Interfaz. – Detalle Procedimental (algoritmo).  4.- Generación de código o Implementación: – Puede automatizarse si el diseño está bien detallado.  5.- Pruebas: –De Caja Blanca: Análisis de los distintos caminos de ejecución de los algoritmos. –De Caja Negra: Análisis de los procesos externos funcionales.  6.- Mantenimiento Gestión de cambios en el software debidos a: – Errores durante el desarrollo. – Adaptación a nuevos entornos. Ej. Sistema Operativo – Mejoras funcionales o de Rendimiento.
  • 12.  Modelo de construcción de prototipos: Se dan un conjunto de objetivos generales de entrada, procesamiento y salida. Con ellos se desarrolla un prototipo inicial que sirve para detallar objetivos (requisitos) más concretos del producto final. El prototipo se suele desechar.
  • 13.  Desarrollo Rápido de Aplicaciones (DRA) Es una adaptación a “alta velocidad” del modelo lineal secuencial en el que se logra el desarrollo rápido utilizando un enfoque de construcción basado en componentes. Puede permitir el desarrollo de un sistema completamente funcional en periodos cortos de tiempo (de 60 a 90 días).
  • 14. – Se delimita muy bien el ámbito del problema. – La interacción del software con el nuevo sistema no es complicada o se utilizan nuevas tecnologías que no son dominadas por el equipo de desarrollo. Inconvenientes: – Debe haber un compromiso por parte del equipo de desarrollo y del cliente en el desarrollo rápido de actividades. – Requiere recursos suficientes para crear el número de equipos necesarios.
  • 15.  Modelos Evolutivos: Necesidad: El software, al igual que el resto de sistemas evoluciona con el tiempo. Necesidad de procedimientos que permitan una evolución del software.
  • 16.  Modelo Incremental. – Combina elementos del modelo lineal secuencial con la filosofía interactiva de construcción de prototipos. – Entrega por incrementos. – Fácil adaptación a requerimientos temporales de entrega.
  • 17.  Modelo en Espiral. – Combina el modelo lineal secuencial y el de construcción de prototipos aparte de proporcionar el potencial para el desarrollo rápido de versiones incrementales del software. – Se debe establecer el número de interacciones.
  • 18.  Arquitectura de software: La arquitectura de software es un 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.
  • 19.  CONCLUSION:  La ingeniería de software es herramientas y procedimientos que facilitaran por un lado, la labor de creación de nuevo software y por otro, la comprensión y el manejo del mismo, la cual cuenta con una arquitectura la cual es considerada el nivel más alto en el diseño y es la que da el funcionamiento e interacción entre las partes del software.Además cuenta con modelos y filosofías que nos ayudan para hacer una buena ingeniería de software. Todo esto para crear software de mejor calidad.

×