Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE INGENIERIA
ESCUELA PROFESIONAL DE INGENIERIA CIVIL
CURSO: INFORMÁTICA APLICADA A LA INGENIERÍA CIVIL
ÍNDICE:
I. INTRODUCCION: .............................................................................................................. 3
1.3 “NO SILVER BULLET”: ............................................................................................ 4
II. EVOLUCIÓN DE LA INGENIERÍA DEL SOFTWARE ................................................. 4
2.1 PROCESO SOFTWARE ............................................................................................ 5
2.2 MÉTODOS .................................................................................................................... 7
2.2.1 Programación estructurada ................................................................................. 8
2.2.2 Programación orientada a objetos o POO ....................................................... 8
2.2.3 Extreme Programming .......................................................................................... 9
2.3 HERRAMIENTAS ........................................................................................................ 9
2.4 TENDENCIA ACTUAL ............................................................................................. 10
III. CONCLUSIONES: ....................................................................................................... 11
IV. RECOMENDACIONES: .............................................................................................. 12
V. REFERENCIAS ................................................................................................................ 12
UNIVERSIDAD TECNOLOGICA DE LOS ANDES
FACULTAD DE INGENIERIA
ESCUELA PROFESIONAL DE INGENIERIA CIVIL
CURSO: INFORMÁTICA APLICADA A LA INGENIERÍA CIVIL
I. INTRODUCCION:
La ingeniería del software, según la definición de la IEEE en 1993, es la aplicación de
un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y
mantenimiento del software. La ingeniería del software ofrece métodos o técnicas para
desarrollar y mantener software de calidad que resuelven problemas de todo tipo, y trata
áreas muy diversas de la informática y de las ciencias computacionales.
1.1 OBJETIVOS:
Conocer cuáles son los aspectos históricos que conforman el contexto de la
ingeniería en la informática.
Plantear como fue el proceso de la evolución de la ingeniería civil en donde su
propósito fundamental es estudiar las problemáticas de una sociedad.
Reconocer cuales fueron técnicas elementales que derivaron el proceso de
desarrollo de la ingeniería en el servicio de la comunidad.
1.2 ANTECEDENTES:
El concepto de ingeniería del software surgió en 1968, tras una conferencia en Garmisch
(Alemania) que tuvo como objetivo resolver los problemas de la crisis del software. El
término crisis del software se usó desde finales de 1960 hasta mediados de 1980 para
describir los frecuentes problemas que aparecían durante el proceso de desarrollo de
nuevo software. Tras la aparición de nuevo hardware basado en circuitos integrados,
comenzaron a desarrollarse sistemas y aplicaciones mucho más complejos que hasta
entonces no era posible construir puesto que el hardware disponible no lo permitía.
Estos nuevos proyectos de desarrollo de software, en la mayoría de ocasiones, no se
terminaban a tiempo, lo cual también provocaba que el presupuesto final del software
excediera de aquel que se había pactado. Algunos de estos proyectos eran tan críticos
(sistemas de control de aeropuertos, equipos para medicina, etc) que sus implicaciones
iban más allá de las pérdidas millonarias que causaban. Además, en muchos casos el
software no daba respuesta a las verdaderas necesidades del cliente o había que ser
un usuario experto para poder utilizarlo, todo ello sumado a que el mantenimiento de los
productos era complejo y muy costoso.
Una de las primeras y más conocidas referencias a los conceptos crisis el software e
ingeniería del software fue hecha por Edsger Dijkstra, durante la presentación de 1972
titulada “The Humble Programmer” en la Association for Computing Machinery, cuando
se le hizo entrega de un Premio Turing.
UNIVERSIDAD TECNOLOGICA DE LOS ANDES
FACULTAD DE INGENIERIA
ESCUELA PROFESIONAL DE INGENIERIA CIVIL
CURSO: INFORMÁTICA APLICADA A LA INGENIERÍA CIVIL
Si bien es cierto que la búsqueda de una única solución no funcionó, también había que
ser consciente de que tampoco existían balas de plata en ninguna otra profesión. Así,
con el transcurso de los años, casi todo el mundo aceptó que no se encontraría
ninguna bala de plata, pero se tomó esto como una prueba de que la ingeniería del
software finalmente había madurado y que los proyectos debían tener éxito gracias al
trabajo duro y al esfuerzo. El campo de la ingeniería del software es demasiado complejo
y diverso para que una única solución resuelva todos los problemas, pero el conjunto de
todas las prácticas que surgieron y de las que surgen hoy en día son las que, bien
aplicadas, permiten que la ingeniería del software desarrolle productos de calidad.
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.
En combinación con las herramientas, también se han hecho esfuerzos por incorporar
los métodos formales al desarrollo de software, argumentando que si se probaba
formalmente que los productos software hacían lo que se les requería, la industria del
software sería tan predecible como lo son otras ramas de la ingeniería.
UNIVERSIDAD TECNOLOGICA DE LOS ANDES
FACULTAD DE INGENIERIA
ESCUELA PROFESIONAL DE INGENIERIA CIVIL
CURSO: INFORMÁTICA APLICADA A LA INGENIERÍA CIVIL
Cada producto software necesita un proceso diferente. Por tanto, estas etapas
genéricas deben organizarse de diferente manera y en diferentes niveles según el tipo
de software para el que se aplique el proceso. Un uso inapropiado del proceso software
puede reducir la calidad o la usabilidad del producto a ser desarrollado, e incluso
incrementar los costes de desarrollo.
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. La primera descripción formal la realizó en 1970
Winston W. Royce, en uno de sus artículos.
2.2 MÉTODOS
A lo largo de los años se han ido desarrollando una gran cantidad de metodologías para
desarrollar software, a menudo vinculadas a algún tipo de organización, que además
desarrolla, apoya el uso y promueve la metodología. La metodología es a menudo
documentada en algún tipo de documentación formal.
Técnica en la cual la estructura de un programa tan solo emplea tres estructuras lógicas
de control: secuencia, selección e iteración. La programación estructurada se basa en
el teorema del programa estructurado demostrado por Böhm-Jacopini, el cual establece
que cualquier programa con una entrada y una salida exclusivamente es equivalente a
un programa que contiene solamente las estructuras lógicas mencionadas
anteriormente.
Esta nueva forma de programar que dio lugar a programas fiables y eficientes, que
además estaban escritos de manera que facilitaba su comprensión posterior.
Smalltalk fue desarrollado en Xerox PARC por Alan Kay, entre otros, en la década de
los 70. Smalltalk introdujo el término POO para representar el uso de objetos y mensajes
como la base de la computación. Smalltalk fue diseñado para ser un sistema
completamente dinámico en el cual las clases se podrían crear y modificar en tiempo de
ejecución en lugar de estáticamente.
usuario, para las cuales la programación orientada a objetos está particularmente bien
adaptada. En este caso, se habla también de programación dirigida por eventos.
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. Sus defensores consideran que ser capaz de adaptarse a los cambios de
requisitos en cualquier punto de la vida del proyecto es una aproximación mejor y más
realista que definir todos los requisitos al comienzo e invertir esfuerzos después en
controlar los cambios.
2.3 HERRAMIENTAS
Aunque ésos son los inicios de las herramientas informáticas que ayudan a crear nuevos
proyectos informáticos, la primera herramienta CASE fue Excelerator que salió a la luz
en el año 1984 y trabajaba bajo una plataforma PC.
UNIVERSIDAD TECNOLOGICA DE LOS ANDES
FACULTAD DE INGENIERIA
ESCUELA PROFESIONAL DE INGENIERIA CIVIL
CURSO: INFORMÁTICA APLICADA A LA INGENIERÍA CIVIL
Las herramientas CASE alcanzaron su techo a principios de los años 90. En la época
en la que IBM había conseguido una alianza con la empresa de software AD/Cycle para
trabajar con sus mainframes, estos dos gigantes trabajaban con herramientas CASE
que abarcaban todo el ciclo de vida del software. Pero poco a poco los mainframes han
ido siendo menos utilizados y actualmente el mercado de las Big CASE ha muerto
completamente abriendo el mercado de diversas herramientas más específicas para
cada fase del ciclo de vida del software. Por ejemplo, algunas herramientas CASE son
MagicDraw (diseño), ArchE (arquitectura) o MetaEdit (desarrollo).
Aunque no es fácil y no existe una forma única de clasificarlas, las herramientas CASE
se pueden clasificar teniendo en cuenta los siguientes parámetros:
La siguiente clasificación es la más habitual basada en las fases del ciclo de desarrollo
que cubren:
Las direcciones en las que evoluciona la ingeniería del software hoy en día pueden
agruparse de la siguiente manera:
En 2006, Money Magazine and Salary.com determine que la ingeniería del software era
el mejor trabajo en América en términos de crecimiento, remuneración, nivel de estrés,
flexibilidad horaria, creatividad, entorno de trabajo y capacidad de ascenso.
Hoy en día, contamos con carreras universitarias, másteres, y una gran oferta formativa
para profesionales del software. A pesar de ser una disciplina joven y que sigue
evolucionando, los resultados de todos los esfuerzos y métodos desarrollados con el
paso de los años, así como de la experiencia, permiten desarrollar productos de calidad
al nivel de cualquier otra ingeniería.
III. CONCLUSIONES:
Esta actividad nos mostró una investigación de un glosario de as definiciones
que son muy específicas, así como definiciones de la ingeniería de software y
que sin importar su modelo o definición de diferentes organizaciones y puntos
de vista se utiliza para la creación de un mejor software de calidad con el
desarrollo de software mediante a sus procesos métodos e herramientas que
posee.
Como puede abstraerse del anterior artículo, la especialización de la labor de los
Ingenieros de Sistemas es cada vez más necesaria. Las funciones que antes se
consideraban simples o de rutina, hoy se convierten en complejas ingenierías de
intervención, lo que exige a los profesionales de la informática la adquisición de
conocimientos que la educación de un pregrado no le brinda. De acuerdo con
esta visión es necesario dividir la formación en Ingeniería de Sistemas, ciencias
computacionales, Ingeniería Informática o como se llame en cada país, en dos
áreas claramente establecidas por las exigencias de los actuales Sistemas de
Información: Arquitectos de Sistemas e Ingenieros de Software. Los primeros se
encargan de diseñar, construir y mantener la arquitectura sobre la que se
soportará el core del negocio y el manejo de la información que circula en todos
los procesos de la empresa, y los segundos se especializan en diseñar,
desarrollar y mantener los programas que transitan sobre la arquitectura y
UNIVERSIDAD TECNOLOGICA DE LOS ANDES
FACULTAD DE INGENIERIA
ESCUELA PROFESIONAL DE INGENIERIA CIVIL
CURSO: INFORMÁTICA APLICADA A LA INGENIERÍA CIVIL
IV. RECOMENDACIONES:
Aprovechar al máximo las instalaciones actuales del centro de cómputo de la
Universidad para el desarrollo de ejercicios, prácticas y laboratorios diseñados
en cada materia, con la idea de incrementar en un futuro próximo, el presupuesto
de inversiones en el renglón de hardware y software de alta tecnología, con
beneficios también para la licenciatura en Sistemas Computacionales.
V. REFERENCIAS
http://www.cs.utexas.edu/~EWD/transcriptions/EWD03xx/EWD340.html
http://aprendeenlinea.udea.edu.co/lms/moodle/mod/resource/view.php?id=
14273
http://www.experiencefestival.com/a/History_of_software_engineering_-
_1985_to_present_No_silver_bullet/id/5134751
http://es.wikipedia.org/wiki/Herramienta_CASE
http://es.wikipedia.org/wiki/Metodolog%C3%ADa_de_desarrollo_de_softwa
re
http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos
http://es.wikipedia.org/wiki/Extreme_Programming
http://es.wikipedia.org/wiki/Rational_Unified_Process#Un_poco_de_historia
http://media.wiley.com/product_data/excerpt/94/08186760/0818676094.pdf
http://en.wikipedia.org/wiki/History_of_software_engineering
http://www.dagstuhl.de/Reports/96/9635.pdf