Вы находитесь на странице: 1из 12

Educación Página 1 de 12

Consideraciones y Perspectivas Sobre el Desarrollo de


Sistemas Informáticos.
Eugenio Jacobo Hernández Valdelamar.

E-mail: jackhv@hotmail.com

Fundación Arturo Rosenblueth.

RESUMEN

En este trabajo se expone una perspectiva del desarrollo de sistemas, analizando su


problemática y proponiendo algunas soluciones, con base en la infraestructura con la que
cuentan muchas empresas y desarrolladores independientes que practican esta actividad, así
como el impacto de la tecnología por venir. Tambien se comenta la importancia de un marco
legal que regule el desarrollo y uso de productos de software, sobre todo si se toma en cuenta
que poco a poco nos estamos integrando a una comunidad global que depende de estos
recursos, y por lo tanto, la exigencia en la adopción de normas de calidad que aseguren el
rendimiento de los productos.

Introducción.

El objeto de un análisis a fondo sobre el estado y perspectivas del desarrollo de sistemas (de
cómputo específicamente) no solo debe hacerse por mero entretenimiento, sino para crear
una consciencia y plantear estrategias para mejorar y superar los logros obtenidos entre
aquellos que comparten el interés y la responsabilidad de esta especialidad, así como
aquellos que se benefician de los resultados (usuarios).

Dicho análisis debe abarcar aspectos tan variados como la formación académica, las
necesidades del mercado, la aparición de nuevas tecnologías, la interacción con otras áreas
del conocimiento, así como el impacto social provocado (la esencia de la teoría general de
sistemas). Varios son los puntos sobre los que pueden discutirse, aunque a mi criterio solo
algunos son vitales:

z Areas de desarrollo.

z Plataformas de desarrollo.

z Herramientas de desarrollo.

z Nuevas técnicas de solución de problemas.

z Legislación.

file://D:\edu\edujhv13.htm 07/03/2006
Educación Página 2 de 12

Estas cinco áreas contienen la mayor parte de la problemática que cualquier profesionista o
estudiante de la computación e informática, debe conocer, entender y tratar de solucionar.
Además, desde una perspectiva real, todos estos factores inciden directamente en el ejercicio
de la profesión, por lo que es oportuno tener la oportunidad de ofrecer una opinión al
respecto.

I. Areas de desarrollo.

Cuando se le pregunta a un estudiante la razón de su elección por una carrera relacionada a la


computación, por lo general suelen responder específicamente:

"quiero aprender a programar para hacer juegos de..."

"quiero aprender a construir una computadora..."

"es lo de moda, un pariente o amigo hacen lo mismo"

o simplemente "no lo sé"

Después de 4 ó 5 años en la escuela, ¿dónde lo van a aplicar? Tenemos básicamente tres


grandes clases de fuentes de trabajo: las empresas públicas, las empresas privadas y las
instituciones de educación. Aunque el azar y la necesidad son los principales factores para
que un individuo se desarrolle en cualquiera de estos sectores, ¿acaso sabe lo que va a ser?,
¿Cuales son los requisitos para obtener un empleo?, o ¿qué se hace en esos lugares?

El aparente divorcio entre las necesidades del sector productivo (industria y comercio) y la
formación educativa, provoca que tales cuestiones impresionen demasiado. Sin embargo,
aunque algunas instituciones tienen excelentes planes de estudio, y varias están en el proceso
de actualizarse, no es posible que se afirme que conseguiremos empleo por que sistemas
descontinuados necesitan mantenimiento o actualizaciones. Esta actitud es la que nos hace
parecer como técnicos (de los cuales aunque hay una gran demanda), cuando en realidad son
licenciados e ingenieros, cuyas capacidades a veces quedan veladas por este tipo de
circunstancias.

Algunas de las áreas de conocimiento con más demanda son:

- Redes y telecomunicaciones.

- Desarrollo de sistemas de información.

- Manejo de aplicaciones especializadas.

- Soporte técnico y mantenimiento.

- Capacitación y docencia.

file://D:\edu\edujhv13.htm 07/03/2006
Educación Página 3 de 12

- Reingeniería de procesos.

Sin embargo, debe estarse consciente de que la tendencia de la cultura informática apunta a
que todo mundo pueda utilizar una computadora de manera provechosa, por lo que los
especialistas en informática ¿donde quedan?

No hay que preocuparse mucho, pues entre las nuevas necesidades generadas por miles de
usuarios, el desarrollo y la adopción de nuevas tecnologías, y el mantenimiento de las ya
existentes, prometen mantenernos bastante ocupados, aunque nunca esta de más diversificar
nuestras habilidades, cooperando con especialistas de otras ramas. Tal vez esta sea la única
manera de mantener un equilibrio justo.

II. Plataformas de desarrollo.

En lo referente a las plataformas de desarrollo (o el hardware en el que se desarrollan e


implantan los sistemas), es evidente una dependencia tecnológica abrumadora del exterior. Si
alguien no esta de acuerdo, le preguntaría ¿bien, si no es así, entonces en qué somos líderes?,
¿qué producimos?

En este caso, ya es algo tarde como para "empezar a desarrollar tecnología propia" (como
producción de microcircuitos o periféricos). Entonces, ¿cual es el remedio?. Si se tratará de
buenos deseos, tal vez sería bueno reestructurar toda la infraestructura de computo nacional
usando estaciones de trabajo de vanguardia (p.ej con procesadores RISC) y sistemas
electrónicos de servicios y consumo gratuitos como los que se tienen en Francia. Sin
embargo la realidad es otra. Aunque la mayoría de las computadoras personales (PCs) cada
vez son más rápidas, con todo y que la tecnología CISC no es la más óptima (pero por
razones de mercado es la más exitosa), sí se invirtió en el equipo, este debe utilizarse y
aprovecharse para las actividades que requirieron su adquisición.

Sin embargo, a mediano plazo, será necesario renovar de nuevo la infraestructura de


computo de varias empresas, por lo que se debe estar al tanto del desarrollo, lanzamiento y
especificaciones de nuevos productos, para así poder asesorar objetivamente las inversiones
de las empresas que estén dispuestas a invertir, así como a los usuarios independientes que
por lo general, son presa de publicidad no objetiva, y realizan gastos apresurados en lugar de
invertir su dinero.

III. Herramientas de desarrollo.

La parte técnica del desarrollo de sistemas puede analizarse desde dos puntos de vista:

1. Las herramientas teóricas para el desarrollo de sistemas.

- Metodologías de análisis y diseño.

file://D:\edu\edujhv13.htm 07/03/2006
Educación Página 4 de 12

- Lenguajes de programación (estructurados, LOOs, funcionales, scripts, etc.).

2. Los productos (software o hardware) disponibles para el desarrollo de sistemas.

- Editores de texto e imágenes.

- Herramientas CASE.

- Sistemas de administración y planeación.

- Interpretes y Compiladores.

- Manejadores de bases de datos.

- Navegadores (browsers).

- Componentes específicos (comunicación en red, manejadores de dispositivos, etc.).

Por alguna razón no muy clara, se muestra más interés hacia las herramientas prácticas que a
las teóricas, aunque esto es una generalidad. Aún así, cada individuo y cada empresa tienen
sus propias necesidades, por lo que vale la pena preguntar ¿cuales son las características
deseables de una herramienta de desarrollo?. Algunos parámetros pueden ser:

- Ambientes de desarrollo interactivos (IDE).

- GUI (WYSIWYG)

- Soporte de acceso a bases de datos.

- Soporte de recursos multimedia (imágenes y sonidos).

- Soporte de comunicaciones en red y otros periféricos.

- Generación de aplicaciones multitarea.

- Velocidad.

- Asesoría técnica.

- Transportabilidad de las aplicaciones generadas (multiplataforma).

- Requerimientos de hardware no exagerados.

- Compatibilidad con aplicaciones auxiliares y componentes.

Por lo general, aunque se realice una evaluación de productos bajo estos criterios, la realidad
es que hay que adaptarse a lo que tiene la empresa (ya sea por rehusarse a tomar riesgos o
por falta de presupuesto), lo que puede convertir a un desarrollador en un experto

file://D:\edu\edujhv13.htm 07/03/2006
Educación Página 5 de 12

dependiente de un producto en particular, aunque lo más recomendable es conocer las


características y funcionamiento básicos de varias herramientas, para tener opciones al
proponer una solución.

Además, los nuevos repositorios de software permiten probar varios productos con un costo
mínimo, aunque la mayor parte de estos se encuentran en otros países. Sin embargo, este
banco de recursos provee la libertad de elegir, y no nos limita a las existencias de los
aparadores de una tienda.

Recomendar los diez mejores productos, no sería prudente, pues nos encontramos en un
punto donde están apareciendo nuevas herramientas orientadas hacía el aprovechamiento de
nuevos recursos, tanto de las arquitecturas de hardware, como de los sistemas operativos y el
Internet, y otros productos existentes se están adaptando al cambio, por lo que será
interesante observar si la costumbre se impondrá sobre la funcionalidad de nuevas opciones
(batalla que ya antes se ha librado).

IV. Técnicas de solución de problemas.

Aunque los cánones del análisis y diseño de sistemas de cómputo pugnan por un mayor
empleo del tiempo y recursos en el planteamiento de un modelo abstracto, que contenga
todas las consideraciones y métodos de solución posible, para después implementarlos con
un menor esfuerzo, existen algunos detalles prácticos que no lo permiten del todo. Lo ideal
sería decir:

Antes: mucho tiempo invertido en desarrollar interfaces gráficas de usuario (GUI),


implementar y probar accesos a bases de datos y comunicaciones en red.

Ahora: más tiempo para dedicarse a solucionar (y documentar) el problema principal, y no


cuestiones técnicas (en teoría).

Poco a poco la calidad de los productos de cómputo lo han permitido. Pero en relación a la
solución de problemas, cuidado. Considero que debe considerarse la complejidad en dos
sentidos:

El determinismo del problema. No todo problema es deterministico. Si lo es, un


analista en sistemas puede desarrollar un algoritmo para solucionarlo, solo que
dicho analista no debe ser necesariamente un docto en cuestiones de computo,
sino un experto en el dominio del problema (p.ej. matemáticos, físicos). Si el
problema es no determinista, existen dos opciones: ponerse a llorar, o estudiar
temas de vanguardia como redes neuronales, algoritmos genéticos o lógica
difusa. La buena noticia es que tales técnicas son capaces de solucionar
problemas muy complejos, relativamente con un esfuerzo mínimo; la mala, es
que no es necesario un programador experto que la implemente, sino un experto
en información relacionada con el problema. Y esto solo es la punta del
témpano. ¿Qué dirían si les dijeran que un programa es capaz de crearse a sí
mismo o qué puede ser autónomo? Imposible...no.

file://D:\edu\edujhv13.htm 07/03/2006
Educación Página 6 de 12

Paralelismo. Conforme el modelado de un problema desee realizarse de forma


más apegada a su símil real, es necesario considerar que los eventos y procesos
relacionados pueden ocurrir en un mismo instante de tiempo. Aunque no es una
tarea fácil, existen distintas metodologías que permiten expresar estas relaciones
de manera formal, aunque el dilema principal, muchas veces se relacione con la
implementación. Para ello pueden realizarse simulaciones, o aprovechar
recursos de multitareas de algún sistema operativo, todo esto mientras no sean
más accesibles las arquitecturas con multiprocesadores.

V. Legislación y normatividad.

Deben tomarse en cuenta para dictar disposiciones legales y proponer normas para las
actividades relacionadas con la informática los siguientes campos:

a. Crímenes por computadora.

Incidentes como el de las elecciones federales en 1994, con la supuesta violación de


seguridad del sistema de conteo, y la posibilidad latente de fraudes electrónicos, hacen
necesaria una legislación en materia de crímenes computacionales (o cibercrimen).

Una buena definición de este tipo de crimen debe tomar en cuenta únicamente los actos
criminales que involucren computadoras (ya sea en su contra o por su uso). Estos crímenes
pueden clasificarse de la siguiente manera [1]:

Sabotaje. Involucra un ataque en contra de un sistema de computo o de sus


componentes, por parte de una organización o individuo (p.ej. virus de
computadora).

Uso de una computadora ajena (p.ej. abuso de confianza).

Crímenes de propiedad que involucren las circunstancias de (2) (p.ej. lavado de


dinero [2]).

Estas clases de crimen están relacionadas con la violación de la confidencialidad, integridad


o disponibilidad de información o recursos de software o hardware.

No será suficiente que legislaciones extranjeras existentes sean adaptadas (será más prudente
una cooperación internacional) a un código civil nacional, ni que los juristas por si solos
redacten un conjunto de artículos y apartados para este caso. Será necesario consultar a los
expertos de la informática, tanto nacionales como extranjeros, para complementar dicha
legislación con el conocimiento actualizado relacionado con la tecnología usada en este tipo
de ilícitos. Del mismo modo especialistas en finanzas y administración deberán ser
consultados, pues su dependencia de los sistemas de información es cada vez mayor.

b. Seguridad.

file://D:\edu\edujhv13.htm 07/03/2006
Educación Página 7 de 12

Los sistemas son vulnerables [3], generalmente por:

1. Complejidad y altos costos de la seguridad.

2. Infraestructura criptográfica.

3. Nuevas tecnologías.

Algunos de los métodos de ataque son:

Virus de computadora, caballos de Troya, bombas de tiempo.

Decodificación ilegal de llaves y contraseñas.

"Sniffers" o programas para intercepción de información en una red (p.ej.


números de tarjetas de crédito, contraseñas, mensajes, etc.).

Ingeniería social (infiltración).

Algunas de las tecnologías de defensa disponibles son:

Autentificación. Determinar la autenticidad de usuarios, nodos de computadora


y documentos, a partir de información secreta como contraseñas, números de
identificación personal (NIP) o llave criptográfica; posesión de dispositivos
como tarjetas o información biometrica (huellas digitales o patrón del iris).

Criptografía. Métodos para ocultar (hacer inteligible) información.

Controles de acceso. Acceso restringido a redes, computadoras, aplicaciones,


transacciones e información en base a políticas de seguridad (basadas p.ej. en
usuarios individuales, grupos de usuario u horarios).

Firewalls. Sistema de computo que monitorea el tráfico de entrada y salida de


una red protegida, colocado por lo general entre la red interna de una
organización y el Internet, para mantener fuera a los intrusos.

Herramientas antivirales. Buscadores (scanners), desinfectantes y checadores de


integridad.

Monitoreo y detección de intrusiones.

Auditoría. Registros de la actividad relevante, tal como inicializaciones (logins)


con o sin éxito, ejecución de comandos del sistema o aplicaciones, y acceso a
archivos y bases de datos.

Es de llamar la atención que en países como Estados Unidos, existan organismos dedicados a
la seguridad nacional especializados en tecnología computacional, tales como la Agencia de
Defensa de Sistemas de Información (DISA). Esto indica el alto grado de riesgo y papel

file://D:\edu\edujhv13.htm 07/03/2006
Educación Página 8 de 12

estratégico, que implica el uso de la tecnología para fines non gratos, por lo que será muy
probable que cada país deba integrar este tipo de organizaciones, tanto en el ámbito público
(manteniendo segura la información relevante de los sectores del estado, así como estar
alerta de ataques a la infraestructura), como privado (consultores de seguridad, proveedores
de soluciones).

C. Ética y responsabilidad profesional.

Por lo general, las empresas que solicitan los servicios de un especialista en informática,
exigen, para empezar, que se cumpla con los requisitos mínimos de conocimiento necesarios
para desempeñar una actividad específica. Por lo general, la responsabilidad de certificar a
un individuo como persona calificada, recae en la institución educativa donde se formo, así
como en el órgano gubernamental que da validez a los estudios cursados. De ahí en adelante,
las responsabilidades adicionales (confidencialidad, garantías, etc.) son estipuladas en
contratos con el profesionista. Sin embargo, tales contratos no estipulan sus derechos (p.ej. si
no se cumple con una fecha de entrega a causa de una falla en los recursos (hardware o
software) utilizados para el desarrollo de la actividad, ¿quien tiene la culpa: el proveedor o el
prestador del servicio?), y cualquier incidente legal, es ventilado conforme a la legislación
laboral existente, sin tomar en cuenta los factores técnicos relacionados.

d. Derechos de autor.

Por lo general, todo producto comercial se encuentra protegido por leyes nacionales o
internacionales de derechos de autor, para asegurar que cualquier otra persona sin
autorización se beneficie del trabajo de una empresa o un particular (aclarando discrepancias
como la surgida en nuestro país a principios de 1998 entre IBM y Printaform). En pocas
palabras: protección legal en contra de la "piratería".

Sin embargo, existen grupos que no están de acuerdo, como la Fundación de Software libre
(FREE Software Foundation) o la Liga para la Libertad de la Programación (League for
Programming Freedom), a causa de la formación de monopolios alrededor de las patentes de
software (acaso no sería ridículo pagar derechos por el uso de un algoritmo de ordenamiento
o de búsqueda para una tarea escolar) y derechos de autor sobre las interfaces (Apple vs.
Microsoft hace algunos años por la aparición de Windows).

Bajo este argumento, el software ha sufrido una nueva clasificación, donde destacan:

Software propietario. El cual suele estar restringido a un solo equipo de computo


(licencia); se prohibe redistribuirlo, alquilarlo o modificarlo y no incluye el
código fuente.

Software libre. El cual se permite redistribuirlo, usarlo o modificarlo, e incluye


el código fuente.

Copylefted software. Software libre en cuyos términos de distribución no


permite que se agregue ninguna restricción al redistribuirlo o modificarlo.

De ellas destaca el copylefted software, categoría donde se encuentra el proyecto GNU [4],
cuyo objetivo es el de proveer al usuario de aplicaciones libres para satisfacer todas sus

file://D:\edu\edujhv13.htm 07/03/2006
Educación Página 9 de 12

necesidades.

Este punto de vista es un reto para los productores de software (a los cuales no les agrada
mucho la idea), aunque para ser franco, la competencia siempre es sana, y más si se toma en
cuenta que la presión la han tomado en sus manos gentes tan capacitadas (consumidores y
desarrolladores inconformes que no perciben un centavo por sus contribuciones al proyecto
GNU), como el personal más capaz de esas empresas.

Dicen que la manera de controlar una oveja o una vaca es darle una extensa pradera.

e. Normas de Calidad.

Poco a poco, el mercado está entendiendo que el consumo compulsivo causado por la
publicidad, no es la mejor elección si lo que se busca es la calidad. Esta nueva cultura de
consumo, que en una primera etapa está alcanzando a los grandes productores y
distribuidores, no tardará en ser demandada a los profesionistas independientes. Después de
todo es justo asegurarse de tener lo mejor por nuestro dinero. Sin embargo ¿quién impone
tales normas de calidad a productos y servicios?

Un ejemplo es ISO (International Standarts Organization) y su modelo de estándares de


calidad administrativa y garantía de calidad ISO 9000, que son las bases para la
implementación, verificación y asesoramiento de un sistema especial de calidad en
organizaciones de manufactura y servicios. Los estándares incluyen un conjunto de "buenas
prácticas" que deben seguirse para asegurar la efectividad del sistema de calidad. Algunas de
sus características son:

z Proponer estándares de calidad no estándares de productos (p.ej. IEEE).

z Propuestas por personas que entienden los problemas y fallas en la


industria, además de los requerimientos del sistema de calidad.

z Cada compañía establece sus propias reglas y procedimientos


dependiendo de los objetivos y políticas de calidad de la organización.

z Aceptación mundial.

Algunos de los objetivos del ISO 9000 son:

z Mantener y mejorar la calidad de los productos continuamente, con


relación a los requerimientos de los clientes.

z Dar confianza a la administración interna y otros empleados, cumpliendo


y manteniendo los requerimientos de calidad.

z Dar confianza al cliente con productos de calidad.

Adoptar estas normas, asegura una aceptación internacional y mantiene un buen grado de
competitividad, nacional como internacional, así como la optimización de los medios de

file://D:\edu\edujhv13.htm 07/03/2006
Educación Página 10 de 12

producción. Si tomamos en cuenta que existen planes para generar fuentes de trabajo a través
del Internet, desarrollando sistemas o componentes de computo, serán necesarias
regulaciones y normas que aseguren la calidad del trabajo de los desarrolladores, así como el
control administrativo y de productividad.

Ejemplo de esto, es la norma internacional en procesos del ciclo de vida del software
ISO/IEC 12207 [5], creada para establecer un esquema común internacional para adquirir,
proveer, operar y mantener software (propuesta en 1988 y publicada en agosto de 1995).

Conclusiones.

Basándose en lo expuesto en este trabajo, el especialista en cómputo debe estar permanente


informado de las tendencias de la industria y las necesidades sociales, para contribuir de
manera real con su trabajo. Además es posible mencionar algunas perspectivas a corto y
mediano plazo:

z Descentralización de los centros de trabajo. Cuanta gente no ha deseado


trabajar desde su casa, evitando los problemas de tráfico o cualquier otro
inconveniente del exterior. Bien, pues parece que este deseo cada vez es
más factible de realizarse. La Internet es la infraestructura que lo
permitirá, aunque antes es necesario establecer esquemas de organización
y comunicación que permitan integrar el trabajo de varias gentes a
distancia, así como las formas de remuneración (tomando en cuanta que
para poder trabajar así, es necesario pagar por el servicio telefónico y de
conexión a un servidor).

z Ingeniería de información. Como se mencionó antes, las habilidades de


modelado, organización, interpretación y procesamiento de información,
están tomando cada vez más importancia, por lo que es recomendable
relacionarse con los métodos de otras disciplinas en este sentido. Esto se
traducirá en un valor agregado para el especialista, permitiéndole un
amplio campo de desarrollo.

z Globalización e integración. Aunque varias compañías se habían negado a


aceptar un cambio en sus políticas de cómputo, esto ha empezado a
cambiar, a causa de la variedad de productos en el mercado y su menor
costo, además de la exigencia implícita de compatibilidad o extinción,
este proceso se volverá constante, mejorando la productividad de los
usuarios terminales en base a la inversión.

z Programación: ¿un arte que se creará por sí mismo? Esto aún suena
descabellado, pero es una nueva alternativa basada en la teoría de la
evolución de Darwin, donde un programa será capaz de mejorarse hasta
cumplir con los requerimientos de la información de entrada y salida
(programación genética). Programar no será lo mismo, pues se competirá
contra una forma más barata (y óptima) para el desarrollo de aplicaciones.

file://D:\edu\edujhv13.htm 07/03/2006
Educación Página 11 de 12

Referencias Bibliográficas.

[1] Computer security and the law.

Gary S. Morris.

GSM Associates.

http://csrc.ncsl.nist.gov/secpubs/cslaw.txt

[2] Cyberlaundering: anonymous digital cash and money laundering.

R. Mark Bortner.

University of Miami. School of law. 1996.

[3] Protection and defense of intrusion.

Dorothy E. Denning.

Georgetown University. 1996.

[4] The GNU Manifesto.

Richard Stallman.

Free Software Foundation. 1985.

http://www.fsf.org/gnu/manifesto.html

[5]ISO/IEC 12207 Software Lifecycle Processes

Lewis Gray

Ada PROS, Inc. 1997.

Acerca del autor

file://D:\edu\edujhv13.htm 07/03/2006
Educación Página 12 de 12

E. Jacobo Hernández Valdelamar es Ingeniero en Computación egresado de la Fundación


Arturo Rosenblueth, y miembro del IEEE. Segundo lugar nacional de tésis a nivel
licenciatura por parte del ANIEI (1997). Ha trabajado en diversas empresas de consultoría
privadas, desarrollando sistemas de información. Es académico de la licenciatura y el
posgrado de la Fundación A. Rosenblueth, y de la licenciatura en la UAM-Iztapalapa, y ha
participado como conferencista en diversos foros. Actualmente está dedicado a la
investigación de nuevas tecnologías como el computo evolutivo, sistemas distribuidos y
agentes de software, y colabora en algunos proyectos con el Instituto de Quimica de la
UNAM.

| Inicio | Indice de Educación |

file://D:\edu\edujhv13.htm 07/03/2006

Вам также может понравиться