1. REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA
EDUCACIÓN UNIVERSITARIA
INSTITUTO UNIVERSITARIO POLITÉCNICO
“SANTIAGO MARIÑO”
INGENIERÍA DEL SOFTWARE
PROFESOR: INTEGRANTES:
Richard Rodríguez Betania García
Leilmid Moyano
Puerto Ordaz, Junio del 2017.
2. Índice
Historia de la Ingeniería del Software…………………………………………….1
Ingeniería del Software (Definiciones)……………………………………………1
Objetivos de Ingeniería del Software……………………………………………..2
Características de la ingeniería del software…………………………………….3
Ventajas y desventajas de la ingeniería de software……………………………3
Recursos de la ingeniería de software……………………………………………4
Implicaciones Socioeconómicas…………………………………………………..5
Etapas del proceso de la ingeniería del software………………………………..6
Como han afectado los avances tecnológicos y su recuperación en la vida
social................................................................................................................7
Finalidad de la ingeniería del software……………………………………………7
Complejidad de la ingeniería del software………………………………………..7
Programación como base del desarrollo de la ingeniería del software……….7
Bibliografía…………………………………………………………………….…….9
3. 1
Historia de la Ingeniería del Software
Durante los primeros años de la informática, el software era un
añadido. La programación se consideraba un "arte", para el que no existían
metodologías, era un proceso que se realizaba sin planificación alguna. En
esta época toda la programación se desarrollaba a medida para cada
necesidad concreta, y en consecuencia tenía muy poca difusión,
habitualmente quien lo escribía era porque lo necesitaba, y era quien lo
mantenía.
En una segunda época a partir de mitad de la década de 1960 se
estableció el software como producto y aparecieron las empresas dedicadas
al desarrollo y distribución masiva del mismo. El origen del término Ingeniería
del Software, como se ha visto previamente se atribuye a dos conferencias
organizadas por la OTAN en 1967 y 1968.
La tercera era comenzó a mediados de la década de 1970, época en
la que los sistemas informáticos aumentaron mucho en su complejidad, y
nacieron las redes de ordenadores. Esto supuso mucha presión para los
desarrolladores, aunque los ordenadores para uso personal, apenas estaban
difundidos. Esta época acabó con la aparición de los microprocesadores.
La cuarta era de la evolución de los sistemas informáticos, comienza
hacia 1990 y se dirige al impacto colectivo de los ordenadores y el software,
en todos los entornos. La industria del software tiene un gran peso en la
economía mundial. Aparecen las técnicas de redes neuronales, junto con la
lógica difusa, de interés en el campo de la Inteligencia Artificial.
Ingeniería del Software
Ingeniería de software es la aplicación práctica del conocimiento
científico al diseño y construcción de programas de computadora y a la
documentación asociada requerida para desarrollar, operar y mantenerlos.
4. 2
Se conoce también como desarrollo de software o producción de software
(Bohem, 1976).
La ingeniería de software trata del establecimiento de los principios
y métodos de la ingeniería a fin de obtener software de modo rentable,
que sea fiable y trabaje en máquinas reales (Bauer, 1972).
Ingeniería de software es el estudio de los principios y
metodologías para el desarrollo y mantenimiento de sistemas software
(Zelkovitz, 1978).
Objetivos de Ingeniería del Software
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.
Mejorar la calidad de los productos de software aumentar
la productividad y trabajo de los ingenieros del software.
Facilitar el control del 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.
Diseñar aplicaciones informáticas que se ajusten a las necesidades de
las organizaciones.
Intervenir en todas las fases del ciclo de vida de un producto.
Diseñar, construir y administrar bases de datos.
Introducir procedimientos de calidad en los sistemas, evaluando
métricas e indicadores y controlando la calidad del software producido.
5. 3
Importancia la ingeniería del 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.
Características de la ingeniería del software
El software no se crea, se desarrolla: Se va mejorando y agregando
mas componentes que son indispensables para su funcionamiento y
cumplimiento de los requerimientos del cliente.
El software no se descompone, se des actualiza: A medida del uso
que se le dé al software este va sufriendo cambios por
incompatibilidad con el sistema operativo ya que estos van
actualizándose. por lo tanto nuestro software tiene que actualizarse
también con la tecnología.
No se ensambla bajo otros componentes. El software se hace a la
medida: El software se desarrolla de acuerdo a las necesidades del
cliente o usuario final. Si dicho software no se desarrolla de acuerdo a
estos, el software no le servirá al usuario, por lo tanto su uso es
inservible
Ventajas y desventajas de la ingeniería de software.
Ventajas
Comprar puede ahorrar dinero en comparación con construir.
Los entregables pueden ser fácilmente trasladados a otra plataforma.
El desarrollo se realiza a un nivel de abstracción mayor.
Visibilidad temprana.
Mayor flexibilidad.
Menor codificación manual.
Mayor involucramiento de los usuarios.
6. 4
Posiblemente menos fallas.
Posiblemente menor costo.
Ciclos de desarrollo más pequeños.
Interfaz gráfica estándar.
Desventajas
Comprar puede ser más caro que construir.
Costo de herramientas integradas y equipo necesario.
Progreso más difícil de medir.
Menos eficiente.
Menor precisión científica.
Riesgo de revertirse a las prácticas sin control de antaño.
Más fallas.
Prototipos pueden no escalar, un problema mayúsculo.
Funciones reducidas.
Dependencia en componentes de terceros: funcionalidad de más o de
menos, problemas legales.
Recursos de la ingeniería de software
Recursos humanos
Son todas aquellas personas que intervienen en la planificación de
cualquier instancia de software, El número de personas requerido para un
proyecto de software sólo puede ser determinado después de hacer una
estimación del esfuerzo de desarrollo.
Recursos de entorno
Es el entorno de las aplicaciones (software y hardware) el hardware
proporciona el medio físico para desarrollar las aplicaciones (software),
este recurso es indispensable.
7. 5
Implicaciones Socioeconómicas
Económicamente
En los EEUU, el software contribuyó a 1/8 de todo el incremento del
PIB durante los 90's (alrededor de 90,000 millones de dólares por año), y 1/9
de todo el crecimiento de productividad durante los últimos años de la
década (alrededor de 33,000 millones de dólares por año). La ingeniería de
software contribuyó a $1 billón de crecimiento económico y productividad en
esa década. Alrededor del globo, el software contribuye al crecimiento
económico en formas similares, aunque es difícil de encontrar estadísticas
fiables. Además, con la industria del lenguaje está hallando cada vez más
campos de aplicación a escala global.
Socialmente
La ingeniería de software cambia la cultura del mundo debido al
extendido uso de la computadora. El correo electrónico (E-mail), la WWW y
la mensajería instantánea permiten a la gente interactuar en nuevas formas.
El software baja el costo y mejora la calidad de los servicios de salud, los
departamentos de bomberos, las dependencias gubernamentales y otros
servicios sociales. Los proyectos exitosos donde se han usado métodos de
ingeniería de software incluyen a GNU/Linux, el software del transbordador
espacial, los cajeros automáticos y muchos otros.
La IS se puede considerar como la ingeniería aplicada al software,
esto es, por medios sistematizados y con herramientas preestablecidas, la
aplicación de ellos de la forma más eficiente para la obtención de resultados
8. 6
óptimos; objetivos que siempre busca la ingeniería. No es sólo de la
resolución de problemas, sino más bien teniendo en cuenta las diferentes
soluciones, elegir la más apropiada.
Etapas del proceso de la ingeniería del software
Análisis de requerimientos: Se extraen los requisitos del producto de
software. En esta etapa la habilidad y experiencia en la ingeniería del
software es crítica para reconocer requisitos incompletos, ambiguos o
contradictorios.
Especificación: Es la tarea de describir detalladamente el software a
ser escrito, de una forma rigurosa. Se describe el comportamiento esperado
del software y su interacción con los usuarios y/o otros sistemas.
Diseño y arquitectura: Determinar cómo funcionará de forma general
sin entrar en detalles incorporando consideraciones de la implementación
tecnológica, como el hardware, la red, etc. Consiste en el diseño de los
componentes del sistema que dan respuesta a las funcionalidades descritas
en la segunda etapa también conocidas como las entidades de negocio.
Programación: Se traduce el diseño a código. Es la parte más obvia
del trabajo de ingeniería de software y la primera en que se obtienen
resultados tangibles.
Prueba: Consiste en comprobar que el software responda/realice
correctamente las tareas indicadas en la especificación. Es una buena praxis
realizar pruebas a distintos niveles y por equipos diferenciados del de
desarrollo.
Documentación: Realización del manual de usuario, y posiblemente un
manual técnico con el propósito de mantenimiento futuro y ampliaciones al
sistema. Las tareas de esta etapa se inician ya en la primera fase pero sólo
finalizan una vez terminadas las pruebas.
Mantenimiento: En esta etapa se realizan un mantenimiento correctivo
y un mantenimiento evolutivo.
9. 7
Como han afectado los avances tecnológicos y su
recuperación en la vida social
Los avances tecnológicos y su repercusión en la vida social han
afectado inevitablemente el proceso de desarrollo de software por diversos
motivos, como ser el acceso indiscriminado de los usuarios a cierta
información que hasta hace un par de décadas desconocía por completo y
que no pueden comprender, dado que no poseen el grado de conocimiento
técnico necesario.
Finalidad de la ingeniería del software
La finalidad de la Ingeniería de Software es obtener un producto de
Software eficiente y fiable.
Complejidad de la ingeniería del software
La complejidad de software es una parte importante que se debe
considerar antes de empezar a desarrollar el mismo ya que está
directamente relacionada con el tamaño del sistema, ya que cuando más
grande sea el sistema, mayor es su complejidad, las fallas de software son
aquellas que ocurren por el mal funcionamiento de los mismos provocando
grandes pérdidas a las empresas tanto como a la empresa desarrolladora
del software como a la que lo adquirió.
Programación como base del desarrollo de la ingeniería del
software
Existe una tendencia a identificar el proceso de creación de un
programa informático con la programación, que es cierta cuando se trata
de programas pequeños para uso personal, y que dista de la realidad
cuando se trata de grandes proyectos.
El proceso de creación de software, desde el punto de vista de
la ingeniería, incluye mínimamente los siguientes pasos:
10. 8
Reconocer la necesidad de un programa para solucionar un
problema o identificar la posibilidad de automatización de una tarea.
Recoger los requisitos del programa. Debe quedar claro qué es lo
que debe hacer el programa y para qué se necesita.
Realizar el análisis de los requisitos del programa. Debe quedar
claro qué tareas debe realizar el programa. Las pruebas que
comprueben la validez del programa se pueden especificar en esta
fase.
Diseñar la arquitectura del programa. Se debe descomponer el
programa en partes de complejidad abordable.
Implementar el programa. Consiste en realizar un diseño detallado,
especificando completamente todo el funcionamiento del programa,
tras lo cual la codificación debería resultar inmediata.
Probar el programa. Comprobar que pasan pruebas que se han
definido en el análisis de requisitos.
Implantar el programa. Consiste en poner el programa en
funcionamiento junto con los componentes que pueda necesitar.
La ingeniería del software se centra en los pasos de planificación y
diseño del programa, mientras que antiguamente la realización de un
programa consistía casi únicamente en escribir el código, bajo solo el
conocimiento de los requisitos y con una modesta fase de análisis y
diseño.
11. 9
Bibliografía
Blog historia de la informática (Patponto)
http://histinf.blogs.upv.es/2010/12/28/ingenieria-del-software/
Blog Ingeniería del software (Alfredo Ospina)
http://ingenieriadesoftware3.blogspot.com/p/importancia-de-la-ingenieria-
del.html
Ingeniería del software (Wiki pedía)
https://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software
es.slideshare.net (Pablo Antonio Fidel)
https://es.slideshare.net/pabloantoniofidel/complejidad-del-software-2
Blog Ingeniería del software (Neftali)
http://ingeniodesoftware.blogspot.com/2013/02/complejidad-y-fallas.html
es.slideshare.net (T.I.C)
https://es.slideshare.net/jramflor/etapas-del-proceso-de-la-ingeniera-del-
software