INTEGRANTES: Reascos Jefferson Guerrero José Castillo Joel Gorozabel Byron FECHA: 25/01/18 CURSO: Sexto Semestre Paralelo “A”
Software e ingeniería de Software
El software es un elemento clave en la evolución de sistemas y productos basados en computadoras, y una de las tecnologías más importantes en todo el mundo. En los últimos 50 años, el software ha pasado de ser la solución de un problema especializado y herramienta de análisis de la información a una industria en sí misma. No obstante, aún hay problemas para desarrollar software de alta calidad a tiempo y dentro del presupuesto asignado. El software — programas, datos e información descriptiva— se dirige a una gama amplia de tecnología y campos de aplicación. El software heredado sigue planteando retos especiales a quienes deben darle mantenimiento. Los sistemas y aplicaciones basados en web han evolucionado de simples conjuntos de contenido de información a sistemas sofisticados que presentan una funcionalidad compleja y contenido en multimedios. Aunque dichas webapps tienen características y requerimientos únicos, son software. La ingeniería de software incluye procesos, métodos y herramientas que permiten elaborar a tiempo y con calidad sistemas complejos basados en computadoras. El proceso de software incorpora cinco actividades estructurales: comunicación, planeación, modelado, construcción y despliegue que son aplicables a todos los proyectos de software. La práctica de la ingeniería de software es una actividad para resolver problemas, que sigue un conjunto de principios fundamentales. Muchos mitos del software todavía hacen que administradores y trabajadores se equivoquen, aun cuando ha aumentado nuestro conocimiento colectivo del software y las tecnologías requeridas para elaborarlo. Conforme el lector aprenda más sobre ingeniería de software, comenzará a entender por qué deben rebatirse estos mitos cada vez que surjan. La ingeniería del software (IS) es: a) El establecimiento y el uso de principios de ingeniería sólidos con el fin de obtener un software económico, fiable y que funcione eficientemente. NATO Conference. b) La aplicación de una aproximación sistemática, disciplinada y cuantificable al desarrollo, el uso y el mantenimiento del software. IEEE software Engineering Terminology. c) Es una disciplina de la ingeniería que se preocupa de todos los aspectos de la producción de software. Ian Sommerville. De estas definiciones se pueden extraer tres ideas importantes: 1. La IS es una ingeniería. Eso implica que las técnicas que forman parte de ella tienen que estar bien fundamentadas, ya sea teórica o empíricamente. 2. El objetivo de la IS no es tan sólo producir un software que “funcione” sino producir un software de calidad (eficiente, libre de errores, usable...). Eso se consigue mediante la aplicación de las técnicas del punto anterior. 3. IS ≠ Programación. La IS se ocupa de todas las etapas del desarrollo del software, tanto las que deben hacerse antes de empezar la programación (como el análisis y el diseño) como las que vienen después (pruebas y mantenimiento). Este hincapié en convertir la IS en una ingeniería surgió como una de las respuestas a la “crisis del software”, expresión con la que se conocía al hecho de que, al principio, la mayoría de los proyectos de software acababa tarde y excedía el importe presupuestado, con errores y sin satisfacer plenamente las necesidades de los clientes. Se vio que debido a la complejidad del proceso de desarrollo se tenía que afrontar la construcción del software utilizando técnicas de ingeniería (análogamente a como se hace en el resto de las ingenierías). (Falgueras, 2013)
Qué es la ingeniería del software
Un sistema de software , denominado también aplicación o simplemente software , es un conjunto integrado de programas que en su forma definitiva se pueden ejecutar, pero comprende también las definiciones de estructuras de datos (por ejemplo, definiciones de bases de datos) que utilizan estos programas y también la documentación referente a todo ello (tanto la documentación de ayuda en el uso del software para sus usuarios como la documentación generada durante su construcción, parte de la cual también servirá para su mantenimiento posterior). (Sagrera, 2013)