Avances y tendencias tecnológicas
en Ingeniería de Software

¿Qué es la ingeniería de software?

La ingeniería de software es una disciplina que trata los problemas prácticos del desarrollo de software y tiene por objetivo mejorar su calidad, produciéndolo dentro de los costos y los plazos previstos. La ingeniería de software ofrece una serie de procesos, metodologías y herramientas para dar soporte a las actividades de desarrollo y mantenimiento. Esta disciplina está en evolución permanente a causa de los constantes cambios tecnológicos, el afán de estandarización y también, gracias a las experiencias adquiridas y documentadas de desarrollos, exitosos o no, de software.

Tendencias Actuales de la Ingeniería del Software

  • Orientación a Objetos

Actualmente una de las áreas más candentes en la industria según las tendencias y en el ámbito académico es la orientación a objetos.  La orientación a objetos promete mejoras de amplio alcance en la forma de diseño, desarrollo y mantenimiento del software ofreciendo una solución a largo plazo a los problemas y preocupaciones que han existido desde el comienzo en el desarrollo de software: la falta de portabilidad del código y reusabilidad, código que es difícil de modificar, ciclos de desarrollo largos y técnicas de codificación no intuitivas.

Un Desarrollo orientado a objetos ataca estos problemas. Tiene tres características básicas: debe estar basado en objetos, basado en clases y capaz de tener herencia de clases. Muchos lenguajes cumplen uno o dos de estos puntos; muchos menos cumplen los tres. La barrera más difícil de sortear es usualmente la herencia.

Una de las preocupaciones actuales más urgentes de la industria de la computación es la de crear software y sistemas corporativos en menor tiempo y a más bajo costo. Para hacer un buen uso del poder cada vez mayor de las computadoras, se necesita un software de mayor complejidad. Aparte de más complejo, también es necesario que sea más confiable. La alta calidad es esencial en el desarrollo del software, ya que una calidad pobre es un desperdicio de dinero y tiempo. Las técnicas orientadas a objetos permiten que el software se construya a partir de objetos de comportamiento específico. Los propios objetos se pueden construir a partir de otros, que a su vez pueden estar transformados por otros objetos.

  • Beneficios que se obtienen del desarrollo de Ciclos de Vida con OO

Los costos de producción de software aumentando día a día; el mantenimiento y la modificación de sistemas complejos suele ser una tarea trabajosa; cada aplicación, (aunque tenga aspectos similares a otra) suele encararse como un proyecto nuevo, etc.

Todos estos problemas aún no han sido solucionados en forma completa. Pero como los objetos son portables (teóricamente) mientras que la herencia permite la reusabilidad del código orientado a objetos, es más sencillo modificar código existente porque los objetos no interaccionan excepto a través de mensajes. En consecuencia un cambio en la codificación de un objeto no afectará la operación con otro objeto siempre que los métodos respectivos permanezcan intactos. La introducción de la tecnología de objetos como una herramienta conceptual para analizar, diseñar e implementar aplicaciones permite que sean más modificables, fácilmente extensibles y a partir de componentes reusables. Esta reusabilidad del código disminuye el tiempo que se utiliza en el desarrollo y hace que sea más intuitivo porque la gente piensa naturalmente en términos de objetos más que en términos de algoritmos de software.

  • Problemas derivados de la Aplicación de este modelo en la actualidad

Un sistema orientado a objetos, por lo visto, puede parecer un paraíso virtual. El problema sin embargo surge en la implementación de tal sistema. Muchas compañías oyen acerca de los beneficios de un sistema orientado a objetos e invierten gran cantidad de recursos luego comienzan a darse cuenta que han impuesto una nueva cultura que es ajena a los programadores actuales. Específicamente los siguientes temas suelen aparecer repetidamente:
Curvas de aprendizaje largas. 

Un sistema orientado a objetos ve al mundo en una forma única. Involucra la conceptualización de todos los elementos de un programa, desde subsistemas a los datos, en la forma de objetos. Toda la comunicación entre los objetos debe realizarse en la forma de mensajes. Esta no es la forma en que están escritos los programas orientados a objetos actualmente; al hacer la transición a un sistema orientado a objetos la mayoría de los programadores deben capacitarse nuevamente antes de poder usarlo.

• Se realizó el 1° Congreso Internacional de Tecnología e-business al que asistieron empresas del nivel de IBM, Sun Microsystems, Microsoft, Dell y Terra, DBACCESS no podía faltar. Los detalles en Noticias DBA

• Es un orgullo para DBAccess anunciar que catorce personas de su equipo de programadores consiguieron superar las exigencias del examen de certificación de Tecnología IBM WebSphere, Fotos y más información en la sección Dentro de DBA

Honack Villanueva, del Equipo de Arquitectura de DBAccess, escribe sobre “Avances y tendencias tecnológicas en Ingeniería de Software" Léelo en la sección Top Tech.

• “Para mí el trabajo en DBAccess ha sido sinónimo de crecimiento profesional y esa motivación es esencial para tomar iniciativas y proponer y liderar mejoras”. Conoce mejor a Erika Hurtado en la sección Nuestra Gente.

• Una nueva central telefónica con tecnología de vanguardia se implementó en las oficinas de DBAccess en Mérida, no te pierdas la gama de funciones que ofrece en la sección Innovaciones

Info  | Créditos  | Términos    © 2005 DBACCESS. All Rigths Reserved