Programación. Arte Vs. Ingeniería
La programación es un proceso mediante el cual, el “Programador” se propone escribir un “Programa” que será utilizado en una computadora bajo una arquitectura X. Ahora bien, el insumo básico para poder desarrollar cualquier software es una herramienta de programación que puede ir desde un lenguaje de programación simple estándar, normalizado, un IDE o un Framework de trabajo…
En el proceso de desarrollo de un software, es necesario definir la herramienta a utilizar, haciendo una justificación válida del porqué fue seleccionada.
No existe ningún patrón o receta que determine que o cual herramienta a utilizar, sin embargo se presentan ciertas características comunes deseables por todo programador, tales como:
Conocimiento: Preferiblemente el programador debe conocer las funcionalidades y expresiones de la herramienta.
Curva de Aprendizaje Corta: En el caso de no conocer la herramienta de programación, el programador desea desde lo mas profundo que la herramienta sea fácil de aprender en un tiempo denominado corto dentro de la planificación del proyecto.
Multiparadigma/Multitecnología: La herramienta de programación a utilizar, preferiblemente debe aceptar diferentes estilos de programación o paradigmas ya que en la práctica sabemos que un paradigma en particular no resuelve todos los problemas que se le presentan de la manera mas idónea (es decir, con facilidad y eficiencia); sin embargo, es necesario que haga énfasis en las ultimas y mejores prácticas paradigmáticas, tales como la Orientación a Objetos, Paradigma Visual, imperativo, Lógico, funcional, modular con facilidad de manejo de componentes reutilizables aplicables a diferentes tecnologías (Escritorio - Cliente/Servidor - CGI – WEB – RIA).
Multipropósito: Esta característica supone que la herramienta puede ser utilizada para desarrollar una aplicación de cualquier propósito y no que esté dedicada a la programación de aplicaciones en un área de conocimiento específica. A saber, la herramienta puede ser utilizada para gestionar archivos de datos, base de datos, formulación científica, simulación de sistemas, aspectos financieros, control de procesos e inclusive debe permitir crear nuevas herramientas como frameworks, y nuevos componentes.
Es posible que en los inicios de la programación, se pudiera considerar como un arte, ya que, cada programador seguía sus instintos sobre que se necesitaba y le ponía un toque personal a las interfaces. Hoy día , se habla de desarrollo de software y no de fabricación aunque la palabra construcción esté explícita en el proceso.
Un proyecto de software es una verdadera obra de ingeniería; surge de una necesidad individual o colectiva, se desarrolla con la participación de cierto número de actores que varía de acuerdo al ámbito o alcance, se rige por un proceso, modelaje y metodología esencialmente probada que proponga las mejores prácticas y en general, se ejecuta en fases. Se requiere conocimientos obtenidos a través del estudio, excelente planificación y la capacidad de “oir” a los clientes para conocer efectivamente los requerimientos. Por último se debe prestar suma importancia a la documentación.
Cita del Libro en desarrollo:
META-METODOLOGIA ECLECTICA PARA PROYECTOS INFORMÁTICOS
CON ÉNFASIS EN LA INGENIERÍA DE SOFTWARE
Por Ronny Estredo.
0 comentarios