Introducción a la Ingeniería de Software: La Disciplina Evolucionaria

por Osama Rayis
Traducido por Patrick Royer

La ingeniería de Software fue definida por Bauer a finales de los 60s como el establecimiento y uso de principios de ingeniería para obtener software que fuera confiable y que funcionara eficientemente con las máquinas reales. A pesar de ser vieja, esta definición da el sentimiento correcto detrás de la disciplina.

La importancia del uso de estas medidas es característica para todas las disciplinas de la ingeniería. En un framework de ingeniería, la métrica se refiere a estándares de las medidas usadas para cuantificar aspectos específicos de un proceso, de un producto o de un proyecto de la ingeniería. Una medida es el mapa de un mundo empírico a un mundo más formal y más matemático. [4].

Los desarrollos de ingeniería de Software comenzaron con la técnica de programación y después fueron utilizados en otras fases del ciclo vital del software. La programación estructurada fue seguida por otros métodos estructurados de análisis y tambien métodos estructurados de diseño. Además, comenzaron tecnologías orientadas a objeto. En épocas tempranas la programación era la tarea de oro de ingeniería del Software pero ahora la ingeniería y el diseño de requisito son más populares. En los años 90s la gerencia de proyecto ganó interés y llego a ser un componente importante en ingeniería del Software. En la década pasada, los estándares de la ingeniería de Software y la madurez de proceso han caracterizado la industria del software como una disciplina madura.

En un nivel técnico, la ingeniería de sistema de información comienza con una serie de tareas que hacen modelos y que resultan en una especificación completa de requisitos y una representacion comprensiva de diseño del software que será construido. [5]. Se han desarrollado muchos métodos para hacer modelos de sistemas de información. Sin embargo, los métodos orientado a objeto van a llegar a ser el estandard. Para ciertos sistemas de información crítico, se han desarrollado métodos formales para producir sistemas con la integridad más alta. Los métodos formales confían en las técnicas matemáticas que expresan y modelan los requisitos de cualquier producto en el ciclo vital del software. El uso de métodos formales es recomendado cuando sea posible en un ciclo vital del software.

El Desarrollo de Software Orientado a Objecto comenzó en los 80s como una etapa natural de los métodos estructurados. UML (Unified Modeling Language) ha emergido como una unificación de los diversos métodos orientados a objeto y se está convirtiendo en un estándard de ISO. [2].

Actualmente, la tecnología de componente es un método para desarrollar sistemas de información que esta creciendo.[1] A diferencia de los métodos tradicionales, la tecnología de componente ensembla componentes para formar una solución de software. Acualmente, hay dos estándares de componentes en competencia: JavaBeans por Sun y DCOM por Microsoft. Los componentes de software son materiales reusables para construir sistemas de software. La tecnología Component-Base (Basada en Componentes) es un método poderoso por la empresa de la ingeniería de sistemas de información porque es una tecnología que reduce el conflicto entre sistemas de alta complejidad y de la búsqueda para la alta calidad y la productividad.

La ingeniería de Software es una disciplina que todavía se esta desarrollando. Podemos esperar en el futuro su crecimiento y madurez en los próximos años.

Referencias

1
Dogru, A., Jololian, L., Kurfess, F., and Tanik, M., 1998, Component-Based Technology for the Engineering of Virtual Enterprises and Software, Computer Engineering Department, METU, TR-98-7, Turkey
2
Kobryn, C., 1999, UML 2001 : A Standardization Odyssey, Communications of ACM, Volume 42, No. 10, pp. 29-37.
3
Krieger D. and Adler R., 1998.The Emergence of Distributed Component Platforms, IEEE Computer, Volume 31 No. 3, pp. 43-53.
4
Oman P. and Pfleeger S., 1996, “Applying Software Metrics”, IEEE Press.
5
Pressman, R., 1997, Software Engineering- A Practitioners Approach, 5th edition, McGraw-Hill.

Osama Rayis recientemente recibió su Ph.D en Ingeniería de Computación en la Universidad de Middle East Technical. Sus intereses de la investigación incluyen; La Ingeniería de Software, específicamente en las áreas de los sistemas de información de seguridad, en la calidad de la Ingeniería de Software y de los métodos formales. El ha trabajado como un asistente de enseñanza en la Ciencia y Tecnología en la Universidad de Sudán.


Last Modified:
Location: www.acm.org/crossroads/espanol/xrds7-4/intro74.html