Desarrollador
De Wikipedia, la enciclopedia libre
Un desarrollador es un informático que programa aplicaciones en distintos lenguajes de programación informáticos.
El concepto de desarrollo incluye:
- un trabajo en equipo: los proyectos son en general una colaboración entre varios desarrolladores, que tratan cada uno una parte del programa, y también de otros colaboradores como los comerciales, que definen con el cliente la finalidad del producto, diseñadores gráficos que definen el aspecto y la ergonomía...
- la concepción (diseño): a partir de un pliego de condiciones (user requirement specifications), definir las especificaciones técnicas (estructura de los datos, comunicación entre los módulos...)
- las pruebas, que sirven para detectar las no conformidades y los errores
- el mantenimiento: la corrección de los errores después de la salida del programa informático, y la mejora para hacer evolucionar el producto.
[editar] ¿Top-down o bottom-up?
El mundo del desarrollo informático ha estado mucho tiempo debatiendo esta cuestión. Modos de desarrollo:
- top-down, el que corresponde a la descomposición progresiva de Descartes mencionada aquí. Se va de lo complejo a lo simple.
- Ventaja: La complejidad de lo que se estudia se reduce en cada etapa.
- Inconveniente 1: La manera de dividirse no tiene una única razón de ser, y probablemente no se elija el mejor. El problema se repite y se acumula en cada nueva etapa de descomposición.
- Inconveniente 2: La división de un problema en tramos puede eludir involuntariamente las cuestiones transversales que no pertenecen específicamente ni a un tramo, ni a otro. Peor: en el momento en que se examina cada tramo, se puede creer de buena fe que el problema transversal incumbe al otro. Ahora bien, para un problema complejo apenas parece posible guardar en cabeza simultáneamente todos los problemas transversales pendientes, excepto que se sepa formalizar bien por razones de costumbre.
Estas consideraciones conducen a no poner en entredicho el modelo top-down en un caso: el de los problemas que más o menos se conocen bien.
- bottom-up, el que corresponde al control progresivo de elementos simples, y que se combinan para avanzar hacia una complejidad cada vez mayor. Se va de lo simple a lo complejo.
- Inconveniente: muchas ensayos y errores, y no siempre en la buena dirección. Se titubea.
- Pero como contrapartida se familiariza con los elementos de la resolución, se ve dónde se ponen los pies, se adquiere una base estable.
En resumenn, cada método tiene su ámbito de uso óptimo:
- El top-down para todo lo que se controla a grandes rasgos
- El bottom-up para explorar eficazmente los terra incognita.