Académique Documents
Professionnel Documents
Culture Documents
2, Jul-Dic 2011
Scott F. Schaull
Columbia University, NY
scott.schaull@columbia.edu
RESUMEN
El desarrollo de software puede ser predecible y controlable, econmico y manejable pero, actualmente, los
proyectos software no se suelen ejecutar de esa manera, aunque sea posible lograrlo. En este artculo se trata al
desarrollo de software como una emergente y necesaria Ingeniera de Software y se describe la necesidad de
procesos formativos adecuados desde las universidades para reconocer la prctica del desarrollo de software
como una profesin ingenieril.
Palabras clave
Ingeniera, Ingeniera de Software, Desarrollo de Software.
Keywords
Engineering, Software Engineering, Software Development.
Mots-cls
Gnie, Gnie logiciel, Dveloppement de logiciel.
7
Ing. USBMed, Vol. 2, No. 2, Jul-Dic 2011
Situaciones parecidas a este simple ejemplo de fsica demasiado dependiente de las cambiantes
se producen por montones en lo que tiene que ver con condiciones del mercado como para darse el lujo de
el software. Cuando los empleados, formados como invertir tiempo en ingeniera. Estas objeciones se
cientficos computacionales, comienzan a trabajar en basan en una idea estrecha y errnea acerca de la
sistemas de produccin, a menudo disean y ingeniera. La ingeniera es la aplicacin de principios
construyen software que es demasiado frgil para usar cientficos con fines prcticos y, si no se hace as, es
en produccin, o que es inseguro. Se concentran mala ingeniera. Tratar de aplicar mtodos formales a
estrecha y profundamente en consideraciones de todos los proyectos de software es tan mala idea como
menor importancia y excluyen otros factores que son tratar de aplicar code-and-fix para desarrollar todos los
ms importantes. Pueden invertir das ajustando a proyectos.
mano un algoritmo de ordenacin en lugar de horas
usando una librera de cdigo o copiando un algoritmo Tratar al desarrollo de software como ingeniera
adecuado de un libro. El tpico graduado de Ciencias clarifica la idea de que para diferentes proyectos son
Computacionales suele necesitar varios aos de apropiados diferentes objetivos de desarrollo. Cuando
entrenamiento en el puesto de trabajo para acumular se disea un edificio, los materiales de construccin
suficiente conocimiento prctico para, mnimamente, deben ser adecuados para el propsito de la
desarrollar software de produccin satisfactorio. construccin. Es posible construir una bodega amplia
para guardar vehculos agrcolas con un metal delgado
La falta de un desarrollo profesional no es culpa slo y sin hoja de aislamiento, pero una casa no se
de los desarrolladores de software. El mundo del construira de la misma manera; pero, a pesar de que
software se ha convertido en vctima de su propio la casa sea resistente y clida, de ninguna manera nos
xito. El mercado laboral del software ha estado referimos a la bodega como de inferior calidad que la
creciendo ms rpido que la infraestructura formativa casa. La bodega se dise adecuadamente para un fin
necesaria para apoyarlo, por lo que ms de la mitad de previsto y, si hubiera sido construida de la misma
las personas que ocupan puestos en desarrollo de manera que la casa, incluso podra criticarse por tener
software han sido formados en otros campos "ms ingeniera de la necesaria" un juicio segn el
relacionados. Los empleadores no les pueden exigir a cual los diseadores despilfarran recursos en las
estas personas que, en sus horas libres, obtengan un construcciones y que por lo tanto no aplican la
ttulo equivalente a un pregrado en ingeniera. Incluso ingeniera necesaria.
si pudieran, la mayor parte de los cursos disponibles
son para Ciencias Computacionales, no para En software, un proyecto bien ejecutado se gestiona
Ingeniera de Software. La infraestructura formativa se para que cumpla alguno de los siguientes objetivos del
ha quedado a la zaga de las necesidades de la producto:
industria.
Defectos mnimos
4. MS QUE UNA MODA Mxima satisfaccin de usuarios
Algunas personas piensan que "Ingeniera de Tiempo de respuesta mnimo
Software" es slo una palabra de moda que significa lo Buena mantenibilidad
mismo que "programacin de computadores". Es cierto Buena extensibilidad
que la Ingeniera de Software ha sido usurpada, pero Robustez
un trmino puede ser objeto de abuso y todava tener Alta correctitud
un significado legtimo. La definicin del diccionario
para "Ingeniera" es: Aplicacin de principios Cada equipo del proyecto software debe definir
cientficos y matemticos con fines prcticos, y es lo explcitamente la importancia relativa de cada
que la mayora de los programadores tratan de hacer. caracterstica; luego, el equipo completo, debe
Los ingenieros de software aplicamos algoritmos conducir el proyecto de forma que logre sus objetivos.
desarrollados cientficamente y definidos
matemticamente, mtodos de diseo funcional, Los proyectos software son diferentes de los proyectos
mtodos de aseguramiento de calidad y otras prcticas de ingeniera que utilizan materiales fsicos. En otro
para desarrollar productos software y servicios [3]. tipo de ingeniera, el costo de los materiales puede
Como David Parnas [4] seala, en otros campos llegar al 50% o ms del costo total del proyecto.
tcnicos de la profesin ingenieril se inventaron y Algunas empresas de ingeniera reportan que
asignaron personeras jurdicas y certificaciones para consideran automticamente como de alto riego a los
que sus clientes conocieran que estaban calificados proyectos cuya mano de obra constituye ms del 50%
para construir productos tcnicos. Los clientes del de su costo [5]. En un proyecto tpico de software, los
software no se merecen menos. costos de mano de obra pueden llegar casi al 100%
del costo total. La mayora de proyectos de ingeniera
Algunas personas piensan que tratar como ingeniera se centran en optimizar los objetivos del producto y los
al desarrollo de software significa que todos tendremos costos de diseo son relativamente insignificantes.
que usar mtodos formales para escribir programas Debido a que los costos de mano de obra constituyen
como pruebas matemticas. El sentido y la experiencia gran parte del total de los costos del ciclo de vida del
comn nos dice que eso es demasiado para muchos software, los proyectos software necesitan enfocarse
proyectos. Otros objetan que el software comercial es ms en optimizar los objetivos del proyecto que lo que
8
Ing. USBMed, Vol. 2, No. 2, Jul-Dic 2011