Novática
es la revista de ATI (Asociación de
Técnicos de Informática)
Nota importante: Se permite la reproducción y difusión de este artículo por cualquier medio, excepto si está marcado con © o Copyright, debiéndose en todo caso citar su procedencia Important notice: This article can be reproduced and disseminated via any medium except if marked with © or Copyright. Full mention of the source is mandatory |
Novática 153 (septiembre-octubre 2001)
Secciones Técnicas
Referencias autorizadas
Esta página contiene las recomendaciones de lectura, visitas a sitios web y otras informaciones de interés que los editores de las diversas Secciones Técnicas de Novática ofrecen en cada número de nuestra revista.
Las habituales referencias que desde 1999 nos ofrecen los coordinadores de las Secciones Técnicas de nuestra revista pueden consultarse en <http://www.ati.es/novatica/lecturas.html>
En este número contamos con recomendaciones sobre los siguientes temas:
Sección
técnica «Calidad del Software»
(Juan Carlos Granja Álvarez)
Proceso de software personal. Humphrey W.S., Introduccion al proceso de software personal, Addison Wesley, 2001. Se ha traducido a castellano esta interesante obra que plantea un conjunto de pautas y técnicas de mejora de la Calidad del Software, muy útil para los profesionales de la Ingeniería del Software comprometidos en proyectos de mejora del software.
Sitio web sobre Quality Resources online: <http://www. quality.org/>, permite el acceso a gran numero de recursos relacionados con la Calidad del Software y desde donde conseguir información de otras vertientes de interés para ingenieros del software comprometidos con la Calidad del Software.
Sobre detección de defectos software. Weller, E.F. Lessons Learned From Two Yerars Of Inspection Data. IEEE Software, Sept. 1993, pp 38-45.
Sección
técnica «Enseñanza Universitaria de la Informática»
(Cristóbal Pareja Flores)
Tema: Libros electrónicos de programación
Sección Técnica
«Ingeniería del Software»
(Luis Fernández Sanz)
Tema: Recursos varios
Centro de Recursos sobre Aseguramiento de Calidad y Pruebas del Software <http://www.softwareqatest.com/>. Se trata de un clásico centro con material propio pero, sobre todo, con muchos enlaces a sitios de herramientas, revistas, libros y demás recursos sobre aseguramiento de calidad, pruebas, revisiones, auditorías, etc.
Grupo de Interés sobre Tecnología de Software <http://sting.web.cern.ch/sting/sting.html>. En este caso, se trata del sitio web de uno de los grupos de interés que a los que el CERN (Centro Europeo de Investigación Nuclear) da soporte. Si bien el número de enlaces que contiene no es excesivo, supone una buena colección de vínculos (la mayoría bastante conocidos) a recursos sobre distintas áreas del desarrollo de software: reingeniería, bibliografía de ingeniería del software, desarrollo orientado a objetos, C++ o Java, calidad, métricas, etc.
Centro de tecnología de aseguramiento de software de la NASA <http://satc.gsfc.nasa.gov/metrics/> La dirección nos dirige al centro de desarrollo e investigación sobre métricas del software. Además de las distintos documentos o incluso versiones de herramientas de ayuda al aseguramiento de calidad, uno de los mayores atractivos de este sitio es la posibilidad de consultar las bases de datos de mediciones de proyectos reales de software, en distintos lenguajes.
Sección
técnica «Lenguajes informáticos»
(Andrés Marín López,
J. Ángel Velázquez Iturbide)
Tema: Python
Python es un lenguaje moderno. Sus inicios datan de principios de 1990 cuando Guido van Rossum trabajaba en su diseño. Python desciende de la familia de lenguajes Modula pero que toma otras aproximaciones de otros lenguajes: el tipado dinámico de Lisp, la orientación a objetos de Smalltalk, extensiones funcionales de FP, y utilidades de los lenguajes de shell script de UNIX. Python es un lenguaje ideal para prototipado rápido e integrar módulos como extensiones compiladas y guiones interpretados flexibles y de rápido desarrollo.
Python se puede definir como un lenguaje de programación interpretado, interactivo y orientado a objetos. Hay intérpretes para la mayoría de los sistemas operativos actuales basados en Unix, MS-DOS, MS-Windows, MacOS, OS/2, etc. El lenguaje dispone también de una enorme biblioteca de componentes donde puede encontrarse casi de todo, con especial mención a los temas de web (HTTP, XML, XML-RPC, WebDav, etc.)
Python dispone de un portal (<http://www.python.org>) en el que puede encontrarse gran cantidad de documentación, distribuciones, ejemplos y soporte. Además de la documentación que se ofrece directamente en dicho sitio, queremos resaltar los siguientes libros:
Wesley J. Chun, Core Python Programming, Prentice Hall, 2000
Una guía rápida y clara, muy asequible a todos los públicos pues no asume conocimientos previos ni experiencia similar. Revisa Python 1.6, el tratamiento de las expresiones regulares, extensiones de Python y el paradigma de la orientación a objetos. Incluye varios ejemplos aunque no son de una gran complejidad.
Mark Lutz, Programming Python, O'Reilly & Associates, 1996
Un libro con vocación de biblia de Python. Desde Marzo del 2001 está disponible la segunda edición actualizada y revisada (son más de 1.200 páginas) y constituye una referencia casi completa del lenguaje Python 2.0, los módulos disponibles, como embeber Python en C y viceversa, el desarrollo de interfaces gráficos, todo bien ilustrado con abundantes ejemplos. Un libro indispensable para los desarrolladores de Python. El libro muestra como mezclar distintos paradigmas de programación como guiones, orientación a objetos, y programación funcional en un mismo desarrollo, aspecto siempre muy crítico en la ingeniería de software por la confusión que puede llevar consigo. No es un libro introductorio sino que se dirige a programadores interesados en el lenguaje. Puede ser un libro muy indicado para aquellos que se están preguntando por una alternativa a Java.
En la línea del uso de Python para aplicaciones basadas en web, queremos destacar Zope. Zope es un servidor de aplicaciones escrito en Python que ofrece todos los atractivos de Python, incluyendo su carácter de software libre. Zope es de implantación muy creciente y será vigilado de cerca desde la sección técnica de software libre.
Sección técnica
«Libertades e Informática»
(Alfonso Escolano)
Web Bugs (escuchas web). ¿Hemos oído hablar de los web bugs? Recomendamos la visita a <http://www.bugnosis.org> y descargar el programa de detección que se ofrece. En este sitio se da una completa información sobre esta nueva forma de obtener datos sin nuestra autorización. Páginas que tienen web bugs en el momento de escribir estas referencias son por ejemplo <http://www.terra.es>, <http://www.noticias.com>, <http://www.doubleclick.com>, ....
Dispositivo para observar las pulsaciones en el teclado. En las alertas del mes de Septiembre de EPIC (<http://www.epic.org/alert/EPIC_Alert_8.16.html>) aparece la siguiente inquietante noticia: «El gobierno (de Estados Unidos) indica que el dispositivo para observar las pulsaciones en el teclado es «Clasificado». Intentando ocultar los detalles de la tecnología de vigilancia de entrada de datos a través de teclado utilizados en investigación criminal, el gobierno de Estados Unidos ha invocado el Acta de Procedimientos para Clasificar Información (CIPA) en un notorio caso seguido por un Tribunal federal en New Jersey. La utilización de la CIPA se hace en respuesta a una orden del juez en la que pedía se «detallase como funciona el dispositivo de recogida de información». Hasta ahora, esta técnica ha sido descrita como «software, firmware y/o hardware especializado». El FBI instaló subrepticiamente el sistema de vigilancia en el ordenador del acusado, N. Scarfo y lo utilizó para capturar la password utilizada para cifrar la información, en el curso de una investigación sobre juego... En la petición realizada por el juez se indicaba que «el tribunal no puede determinar la legalidad de la investigación gubernamental ... sin conocer de qué forma se realizó la investigación. Esto requiere entender de qué forma funciona el dispositivo de recogida de información» <http://www.epic.org/crypto/scarfo.html>
Libros
Anup K. Ghosh. Security and Privacy for E-Business ISBN: 0-471-38421-6. Wiley, John & Sons. Feb. 2001. Revisión en profundidad de los sistemas que protegen de amenazas externas y salvaguardan la privacidad en el entorno de e-business. Con miles de millones de dólares invertidos en el comercio electrónico, las compañías se están concienciando sobre la protección de la privacidad y la utilización de la seguridad
Simson Garfinkel. Database Nation: The Death of Privacy in the 21st Century. ISBN: 0596001053. O'Reilly & Associates. Feb. 2001. Escritor habitual sobre informática y economía, el autor describe la desaparición de la privacidad debido a la utilización y mal uso de información médica y datos biométricos, el archivo sistemático de datos personales, marketing ...
Constance S. Hawke. Computer and Internet Use on Campus: A Legal Guide to Issues of Intellectual Property, Free Speech, and Privacy. ISBN: 0787955167. Jossey-Bass Inc., Publishers. Oct. 2000. Revisión profunda y práctica sobre alguno de los aspectos referidos a la utilización de la tecnología en los campus educativos. Desde los derechos de propiedad intelectual, a la libre expresión o la protección de la privacidad.
Sección
técnica «Lingüística computacional»
(Xavier Gómez Guinovart)
Dale, Robert; Hermann Moisl y Harold Somers (eds.), Handbook of Natural Language Processing. Marcel Dekker, Nueva York, 2000. ISBN 0-8247-9000-6. Manual universitario de lingüística computacional de reciente publicación. Consta de 37 capítulos (940 páginas) agrupados en tres secciones dedicadas al procesamiento simbólico del lenguaje natural (Parte I), a su procesamiento estadístico (Parte II) y al procesamiento del lenguaje basado en redes neuronales artificiales (Parte III). Entre los 50 especialistas que han participado en la elaboración del volumen, cabe mencionar a Eric Brill (de Microsoft), responsable del capítulo sobre etiquetado morfo-sintáctico; a Harold Somers (de la Univ. de Manchester), autor de los capítulos sobre traducción automática; y a George Heidorn (también de Microsoft), redactor del capítulo sobre correctores gramaticales y de estilo en el procesamiento de texto. La orientación de los contenidos de este manual es principalmente aplicada, enfocándose más hacia las técnicas y herramientas disponibles para la implementación de sistemas, que hacia los fundamentos metodológicos o la discusión teórica.
Jacquemin, Christian, Spotting and Discovering Terms through Natural Language Processing. The MIT Press, Cambridge, 2001. ISBN 0-262-10085-1. En esta monografía académica, Christian Jacquemin describe FASTR, una herramienta computacional que sirve para identificar y normalizar los términos de un texto. FASTR detecta las distintas variantes correctas de un mismo término y las pone en relación con el correspondiente término normalizado. De esta manera, FASTR se puede utilizar tanto en la elaboración de thesaurus terminológicos, como en la indexación automática de documentos propia de los sistemas de recuperación de información. El componente básico de FASTR es una gramática de unificación que codifica las posibles transformaciones que sirven para relacionar un término con sus variantes. Para más información o para obtener una versión de libre distribución destinada a usos no comerciales, véase <http://www.limsi.fr/Individu/jacquemi/FASTR/>.
Sección técnica
«Seguridad»
(Javier Areitio Bertolín)
Sección
técnica «Sistemas de Tiempo Real»
(Alejandro Alonso, Juan Antonio de
la Puente)
Tema: reseña de libro
Designing Concurrent, Distributed, and Real-Time Applications with UML. Hassan Gomaa. Addison-Wesley, 2000. El paradigma de desarrollo de sistemas mediante objetos es uno de los más populares actualmente. Este hecho ha motivado la proliferación de métodos y notaciones para su análisis y diseño. Entre éstos, UML (Unified Modeling Language) proporciona una notación estándar para la descripción de modelos de sistemas mediante objetos. Sin embargo, para que esta notación se aplique eficientemente, es necesario combinarla con métodos de análisis y diseño apropiados. La mayoría de los libros publicados sobre esto tipo de métodos, se centran en el desarrollo de sistemas secuenciales, y omiten los sistemas distribuidos, concurrentes y de tiempo real, a pesar de su innegable interés industrial. En este libro se describe el método COMET para el desarrollo de estas aplicaciones. La calidad de este enfoque viene avalada por la larga experiencia del autor en este tipo de sistemas, y en concreto, en metodologías de desarrollo para los mismos.
COMET es un método de modelado y diseño arquitectónico con objetos concurrentes. El modelo de proceso asociado es altamente iterativo y se basa en los casos de uso. En la fase de análisis de desarrolla un modelo estático y otro dinámico del sistema. El primero define las relaciones estructurales entre las clases del dominio del problema. A continuación, en el modelo dinámico se refinan los casos de uso del modelo de requisitos, para describir las interacciones entre los diversos objetos.
Sección
técnica «Software Libre»
(Jesús M. González Barahona,
Pedro de la Heras Quirós)
Aquí tenéis algunos de los sucesos del mundo del software libre que más nos han llamado la atención últimamente, entre las que han enviado los usuarios de BarraPunto <http://barrapunto.com/>. Gracias a todos los que nos han enviado noticias y han puesto sus comentarios. Sin ellos estas notas sobre la actualidad del software libre no serían posibles.
O'Reilly, Kuhn, Stallman, y ahora Eric Raymond,
hablan sobre la libertad y el poder (Noticia proporcionada por poncho).
Estos días Tim O'Reilly, Richard Stallman y Bradley Khun mantienen
un debate e-epistolar sobre la libertad en el mundo del software. Este
intercambio de pareceres surgió a raiz de unas declaraciones de
Tim O'Reilly en el turno de preguntas del debate entre Craig Mundie (Microsoft)
y Michael Tiemann (Red Hat). En ellas, explicadas luego en la primera ronda
del debate que nos ocupa, Tim O'Reilly trastea en la definición
de Software Libre de la FSF, y sugiere que la definición de la conocida
como libertad 0 (libertad de correr el programa, con cualquier propósito),
se podría substituir por la libertad 0 de Tim, que consistiría
en que el desarrollador de un programa pueda decidir distribuirlo como
mejor le parezca (libertad de elección de licencias, incluyendo
las de software propietario). Le contestaron Bradley Kuhn y Richard Stallman,
hablando sobre el significado de la palabra libertad y la confusión
que según ellos tiene Tim entre esta palabra y la palabra poder.
Tim les contrareplicó. Eric Raymond ha metido baza ahora, aportando
su parecer sobre lo dicho por Kuhn y Stallman, y dejando una pregunta en
el aire para que le respondan Kuhn y Stallman: si tuviérais la posibilidad
de hacer que se aprobara una ley que ilegalizase las licencias de software
propietario, ¿la aprovecharíais?. Espera que le contesten
con un sí o un no.
<http://linuxtoday.com/news_story.php3?ltsn=2001-08
-17-011-20-OP-CY-MS>,
<http://linuxtoday.com/news_story.
php3?ltsn=2001-08-17-016-20-OP-CY>, <http://barrapunto.com/ar/01/08/18/1330217.shtml>
Entrevistan a Bradley Kuhn, vicepresidente de la FSF (Noticia proporcionada por poncho). En Slashdot han entrevistado a Bradley Kuhn, el actual vicepresidente de la FSF. Kuhn comenzó a trabajar con la FSF y en el proyecto GNU como voluntario a mediados de los 90. En enero de 2000 fue contratado a tiempo parcial por la FSF para ayudar a Richard M. Stallman. En febrero de 2001 fue contratado a tiempo completo como vicepresidente de la FSF. Colabora en algunos proyectos de software libre y está escribiendo un libro libre sobre Perl. Aviso para los que aún no entienden qué es el software libre y para los que aún no comparten la filosofía de la FSF: en la entrevista se dicen cosas como ésta: [...] Nuestra sociedad se desprendió de la «libertad» de poseer esclavos. Hoy, nadie se atreve a defender que poseer esclavos es una libertad. Ahora la gente dice que la esclavitud es un poder inapropiado que una persona ejerce sobre otra. Hoy, algunos dicen que el «derecho a escoger tu propia licencia de software» es la mayor libertad en el mundo del software. Sin embargo, yo pienso que, como la esclavitud, se trata de un poder inapropiado, no de una libertad. Las dos situaciones causan daños, y sólo se diferencian en la graduación del daño que cada una provoca. [...] Todo el mundo desarrollado necesita y usa hoy día software, por lo que las decisiones sobre el software determinan el tipo de sociedad que tenemos. Los desarrolladores de software controlan hoy día la manera de vivir de la gente, cómo hacen negocios, cómo se comunican y cómo se entretienen. Los asuntos éticos y políticos no pueden evitarse escondiéndose tras el eslogan «libertad de elección (pero sólo para desarrolladores)». <http://slashdot.org/interviews/01/08/16/2056252.shtml>, <http://barrapunto.com/ar/01/08/17/1829224.shtml>
Apoyo de las Cajas de Ahorro españolas
a GNU/Linux y el Software Libre (Noticia proporcionada por AndresSH).
En una reciente circular (3 de Agosto) de la Confederación Española
de Cajas de Ahorros (CECA) se convoca un Seminario en la Escuela Superior
de Cajas de Ahorros con el título «LINUX & SOFTWARE LIBRE:
ESQUEMAS DE DECISION PARA SU USO EN INFORMÁTICA DEPARTAMENTAL».
La convocatoria del seminario se fundamenta en las recomendaciones de analistas
de mercado y tendencias y en la reunión de características
de este sistema operativo que lo hacen adecuado para su uso en servidores
corporativos y de Internet. Así mismo, considera la circular la
importancia de conocer conceptos como Software Libre, Software de código
abierto y Licencia GPL, a la vez que evita entrar en consideraciones de
partidarios/detractores, recomendando su conocimiento como base para establecer
pautas de implantación.
<http://barrapunto.com/softlibre/01/08/14/1644259.shtml>
El parlamento canario a favor del software
libre (Noticia proporcionada por pLin_io y Baranda).
El Parlamento Canario ha aprobado por unanimidad una proposición
no de ley a favor del software libre. ¿Será una declaración
de intenciones vacía y gratuita, o el principio de un apoyo al software
libre desde las instituciones públicas canarias? <http://www.parcan.es/pub/Bop/5L/2001/166/bo166.pdf>,
<http://www.parcan.es/pub/Bop/5L/2001/122/bo122.pdf>,
<http://barrapunto.com/softlibre/01/08/06/2326202.
shtml>
HP libera su proyecto CoolTown (Noticia proporcionada
por Cadvision). HP ha lanzado una plataforma de software (CoolBase)
para el libre desarrollo de aplicaciones móviles. Al igual que sucede
con la compañía IBM y su AlphaWorks, HP libera el código
de la plataforma CoolBase bajo licencia GNU GPL, y al estilo SourceForge.
CoolBase está integrado en el proyecto CoolTown, una particular
visión del futuro tecnológico, en el que todo en este planeta
tiene su URL. Todas las personas, lugares y cosas son dispositivos móviles
y están interconectados entre sí. A partir de esto, se pueden
desarrollar numerosas aplicaciones con vistas al ocio o al trabajo.
<http://devnet.hp.com/projects/coolbase/>,
<http://barrapunto.com/softlibre/01/07/24/1659255.shtml>
NetBSD 1.5.1 liberado (Noticia proporcionada
por RpJ). Según cuentan en BSDtoday la versión 1.5.1
de NetBSD ha sido liberada. Más de 110 bugs y modificaciones se
han hecho desde la última versión disponible, todos ellos
recibidos grácias al sistema de bugs añadido en esta versión.
El anuncio oficial se puede encontrar NetBSD y se puede encontrar más
información en July Daemon News.
<http://www.netbsd.org/Releases/formal-1.5/NetBSD
-1.5.1.html>,
<http://www.daemonnews.org/200107/netbsd151.
html>,
<http://barrapunto.com//usr/rpj/01/07/12/1236242.shtml>
KDE 2.2, oficialmente en la calle (Noticia
proporcionada por
Heimy).- Mirando mi «KDE News Ticker»,
lo he visto ya en Daily Daemon News y en dot.kde.org. El anuncio oficial
lo podemos encontrar en: <http://www.kde.org/announcements/announce-2.2.html>,
<http://barrapunto.com/kde/01/08/16/1729225.shtml>
Nueva versión de GnomeMeeting (Noticia
proporcionada por
JoseSogo). Acaba de aparecer una nueva versión
de GnomeMeeting. En esta versión se ha comenzado un port a FreeBSD,
y se ha creado un canal en irc.gnome.org donde se pueden resolver dudas
y plantearnuevas ideas e informes de error. El programa utiliza las últimas
librerías del proyecto OpenH323. Hay varias capturas de pantalla,
donde se puede comprobar la apariencia de este programa, así como
una FAQ <http://www.gnomemeeting.org>,
<http://barrapunto.
com/gnome/01/08/20/189219.shtml>
Distribución basada en Debian para multimedia (Noticia proporcionada por fernand0). Ha aparecido una distribución basada en Debian y orientada a la multimedia. Se trata de Demudi. La noticia dice que no se trata de una distribución propiamente dicha, sino de una serie de actualizaciones de aplicaciones de sonido, imagen, y ciertos parches para el kernel que deberían estar accesibles mediante la configuración adecuada del sistema de actualizaciones de la distribución. <http://www.debianplanet.org/debianplanet/article.php?sid=297>
¿Hay que comprar Windows para estudiar
en Zaragoza? (Noticia proporcionada por onta). La Universidad
de Zaragoza ha cambiado este año el soporte en el que envía
la información a sus alumnos, ha pasado del papel al CD-ROM. El
problema es que para ver la base de datos que trae el CD con todas las
asignaturas y planes de estudios es necesario tener Windows, ya que se
trata de un .exe. Ya está mal que no traten de la misma forma a
los usuarios de todas las plataformas, pero es peor que además de
elegir sólo una, eligen una por la que hay que pagar. A continuación
pego el e-mail que les he enviado expresando mi opinión, a ver si
por no usar Windows resulta que no tengo derecho a ver los planes de estudios
en mi casa. Quizá Hispalinux podría presionar a la UZ de
la misma forma que está haciendo con el programa PADRE.
<http://barrapunto.com/article.pl?sid=01/08/20/2312245&mode=nested>
Sección
técnica «Tecnología de Objetos»
(Esperanza Marcos, Gustavo Rossi)
J. Bosch. Design Et Use of Software Arquitectures. ACM Press, 2001. El libro describe un método de diseño para la construcción de familias de sistemas que sean de calidad y fácilmente mantenibles. El Método, basado en la experiencia tanto en la industria como en investigación del autor, propone tres fases: diseño de la arquitectura según la funcionalidad, valoración de la arquitectura y transformación de la misma.
D. Kuluk, E. Guiney. Use Cases: Requirements in Context. ACM Press, 2000. En este libro los autores justifican el porqué los casos de uso son una de las mejores herramientas para la captura de requisitos. El libro es una buena introducción a los requisitos y a los casos de uso.
Sección
Técnica «TIC para la Sanidad»
(Valentín Masero Vargas)
Tema: Recursos de Medicina basada en la evidencia (MBE) en la red.