jueves, 5 de marzo de 2009

sábado, 21 de febrero de 2009

Futuro de la ingenieria

En la actualidad ya son muchas las universidades que imparten Ingeniería Informática que están reestructurando sus planes de estudios. La Universidad de Castilla La Mancha y la Politécnica de Valencia son solamente un ejemplo. Sin embargo, estas reestructuraciones poseen una cierta falta de flexibilidad desde el punto de vista de la Ingeniería del Software. La necesidad de ajustarse a los contenidos fijados por el Real Decreto 1459/1990 hace imposible la variación de la troncalidad, teniendo que realizar los posibles ajustes sobre la base de las asignaturas optativas. Si embargo, la evolución seguida por la Ingeniería del Software en estos últimos años, su mayor necesidad y presencia en la empresa, y las perspectivas futuras, hacen que resulte cuestionable la actual estructura de la titulación en Ingeniería Informática.
Adicionalmente, la actual especificación de la titulación en Ingeniaría Informática deja de lado un importante núcleo de conocimiento que cada vez se está mostrando más necesario para el titulado que accede al mundo laboral y que desempeñará tareas vinculadas con la Ingeniería del Software. Así, por ejemplo, aspectos legislativos y empresariales resultan necesarios para comprender el entorno en el que debe trabajar el Ingeniero del Software; cierta formación de base en Psicología y Sociología resultaría muy interesante ante la complejidad del trato con los clientes; etc. Algunos de estos temas vienen recogidos en la propuesta de currículo del IEEE/ACM dentro del área denominada Temas sociales y profesionales. Sin embargo, la mayor parte de los mismos no están cubiertos explícitamente por los contenidos de ninguna materia troncal. También es necesario prestar más atención al tema de la gestión de proyectos software, concretamente a la aplicación de técnicas mínimamente rigurosas para la gestión del software. Al fin y al cabo, el desarrollo hay que hacerlo de todas formas, pero la gestión del desarrollo aparece en muchas ocasiones como algo secundario que se resuelve como se puede, sobre la marcha.
Además es necesario tener en cuenta aspectos tales como la naturaleza del software, la gente que crea software y los factores esenciales en la creación de productos que contienen software.
Por otro lado es necesario tener presente el nuevo escenario que en el ámbito Europeo se está diseñando como consecuencia de la Declaración de Bolonia. Esta Declaración es el compromiso establecido por 29 países europeos en junio de 1999 para reformar las estructuras de sus sistemas de educación superior buscando la convergencia entre ellos. La intención de estos países es poder contar con un espacio Europeo de educación superior en el año 2010. Es por tanto razonable pensar que en un futuro cercano se procederá a una reestructuración de los planes de estudio buscando dichas líneas de convergencia. Concretamente, las Facultades y Escuelas Superiores de
Informática están siendo de las primeras en abordar este paso. De este modo, según se desprende de la reunión anual de la COODI (Conferencia de Decanos y Directores de Centros Universitarios de Informática en España) celebrada en Barcelona (16 y 17 de mayo de 2002) en el marco del 25º aniversario de la Facultat d’Informática de Barcelona, la futura línea de evolución de estos estudios pasa por el diseño de un recorrido curricular cíclico con la estructura “BaMa” (Bachelor + Master) en el que el primer ciclo de 4 años de duración conduciría a la obtención del título de Ingeniería Informática con competencias y atribuciones profesionales. Este título se podría completar por una parte con Masters de especialización que recogieran las características de cada universidad, su entorno socio-económico y las necesidades tecnológicas de cada momento y, por otra, con cursos de doctorado encaminados a la realización de la tesis doctoral.
Ante esta situación, una propuesta de futuro en este marco podría orientarse por el mantenimiento dentro de la formación base del Ingeniero en Informática de un bloque de Ingeniería del Software proporcional al existente en la actualidad (un 7’5% del total de créditos). Adicionalmente, se abordaría el desarrollo de una especialización en Ingeniería del Software a través de programas Master. Estos
programas podrían ser de dos tipos claramente diferenciados: uno eminentemente aplicado orientado a la formación del Ingeniero en el trabajo con el cliente y los equipos de desarrollo, y que debería incluir formación en aspectos psicológicos, sociológicos y legislativos; y otro de corte más teórico destinado a proporcionar una base conceptual más amplia. Este segundo modelo podría sustituirse por un tercer ciclo específico en Ingeniería del Software.

jueves, 19 de febrero de 2009

Mitos del software

Parece increible pero en la actualidad mucha gente que no conoce la tecnologia tiene ciertos mitos sobre software algunos de ellos son:


  • Podemos mensional el uso de Linux: En repetidas ocaciones los usuarios creen que Linux es dificil de maneja. En lo personal es porque no se toman a la tarea de interactuar con este SO.

  • En el software libre no hay innovación:La mejor innovación que han hecho los sistemas abiertos es el mismo Internet: el protocolo TCP/IP entre otros.

  • Los virus infectan únicamente archivo de tipo .com y .exe: Además los virus también pueden infectar a aquellos archivos que sean ejecutados incluyendo los controladores, generalmente archivo .sys y .bin así como archivos overlay, de extensión .ovr. Por otro lado, son también muy conocidos los virus que se crean para archivos de procesmiento por lotes (.bat) y los virus de macro para procesadores de textos y hojas de calculo, como Word y Excel respectivamente.
  • No podemos infectarnos a través un CD-Rom: Aunque un virus no se pueda transmitir a un CD-ROM, estos si pueden grabarse en ellos y posteriormente pasar al ordenador.Desde que los CD regrabables se extendieron también lo hicieron los virus que se almacenaban en ellos por lo que se deberá analizar los archivos de un CD-ROM que provenga de fuentes desconocidas.
  • Los correos electrónico así como los archivos de mis amigos no contendran nunca virus.

Estos son algunos de los mucho mitos que exiten del software.

Pruebas e implementación del sistema

Pruebas:
Durante el proceso de implementación y prueba se deben poner en practica todas las estrategias posibles para garantizar que el usuario inicial del sistema se encuentre libre de problemas lo cual se puede describir durante este proceso t llevar acabo la correcciones.
Existen seis pruebas básicas:
1. Prueba de carga máxima
2. Prueba de almacenamiento
3. Prueba de tiempo de ejecución
4. Prueba de recuperación
5. Prueba de procedimientos
6. Prueba de recursos humanos

Prueba de carga máxima:
Consiste en probar si el sistema puede manejar el volumen de actividades que ocurren cuando el sistema esta en el punto mas alto de su demanda de procesamiento.

Prueba de almacenamiento:
Determina si el sistema puede almacenar una alta cantidad proyectada de datos tanto en sus dispositivos de discos fijos y movibles.

Prueba de tiempo de ejecución:
Determina el tiempo de maquina que el sistema necesita para procesar los datos de una transición.

Prueba de recuperación:
Probar la capacidad del sistema para recuperar datos y restablecer después de una falla.

Prueba de procedimientos:
Evaluar la claridad, validez, seguridad asi como su facilidad y sencillez de los manuales de procedimientos.

Prueba de recursos humanos:
Se determinan como utilizar los usuarios el sistema al procesar datos o procesar informes.

Implementación:
Es la última fase del desarrollo de sistemas. Es el proceso de instalar equipos o software nuevo, como resultado de un análisis y diseño previo como resultado de la situación o mejoramiento de la forma de llevar acabo un proceso automatizado.
Al implementar un sistema lo primero que debemos hacer es asegurarnos que el sistema sea operacional o que funcione de acuerdo a los requerimientos del análisis y permitir que los usuarios puedan operarlos.
Existen varios enfoques de implementación:
• Es darle responsabilidad a los grupos.
• Uso de diferentes estrategias para el enfrentamiento de usuarios.
• El analista necesita formular medidas de desempeño con los cuales evalúa a los usuarios.

miércoles, 18 de febrero de 2009

Caracteristicas de los lenguajes de programacion

Existen muchos lenguajes de programación, que responden a necesidades específicas (cálculo de fórmulas, procesamiento de cadena de caracteres, tiempo real, etc.) y que poseen características y funcionalidades específicas. Por lo tanto, la elección del lenguaje de programación depende, sobre todo, de los requerimientos a satisfacer, así como de los recursos existentes para la comprensión y la práctica del lenguaje.

Criterios de selección de un lenguaje de programación:

Utilidad:
# fácil de aprender, # fácil de usar por un programador experimentado.

Rendimiento:
# velocidad de ejecución de los programas, # velocidad de ejecución del compilador (un programa que traduce el programa a código máquina), # estabilidad (ausencia de defectos)

Portabilidad

Flexibilidad
la posibilidad de desarrollar el lenguaje y su implementación, existencia de bibliotecas de funciones, clases, etc.

Continuidad
# continuidad del fabricante, # continuidad del lenguaje, # continuidad de implementación, # existencia de una norma internacional para definir el lenguaje, # conformidad de implementación con respecto a la norma , # existencia de varios fabricantes para un mismo lenguaje.

Documentación