lunes, 20 de julio de 2009

CALIDAD DEL SOFTWARE


CALIDAD DEL SOFTWARE

Ana María Mercedez Maigua Soliz
Facultad de Ciencias y Tecnología, Ingeniería Informática,
Universidad Autónoma Juan Misael Saracho
Tarija-Bolivia
ana_airam_abr@hotmail.com

Resumen
Este artículo describe la investigación de la Calidad del Software.
La ingeniería del Software es una disciplina que integra procesos, métodos y herramientas para el desarrollo de software de computadora, la calidad es la base de todo ello. Dado al mayor crecimiento que están experimentando la sociedad, las empresas, el incremento en la competencia, es necesario que las empresas, organizaciones se esfuercen por ofrecer un mejor producto.
La calidad del producto no solo se mide al terminarlo. La complejidad de problemas que buscan soluciones en el software ha aumentado considerablemente.
Las organizaciones buscan normas, estándares o modelos que ayuden a conseguir su meta de calidad, ya que estas desean entregar un software confiable, a tiempo, que cumpla con las expectativas del cliente. Además se debe tomar en cuenta las consecuencias que podrían ocurrir por un defecto en el producto.
A través de este artículo se detallan diferentes conceptos que son necesarios conocer a la hora de introducirse en el tema. En relación al tema se expone la calidad de software, los factores que determinan la calidad, control, la gestión de calidad, aseguramiento, estándares, entre otros elementos a conocer.
Palabras clave
Informática, calidad, calidad de software, gestión de calidad, aseguramiento de calidad, control de calidad.

1. INTRODUCCION
Nuestro entorno cada vez más globalizado continua demandando cambios. La velocidad exponencial con que nacen, compiten y mueren nuestras ideas, nos lleva a plantearnos la necesidad de gestionar las organizaciones de forma muy distinta a como históricamente lo hacíamos hace muy poco tiempo. Consecuencia de lo anterior es que se reconoce la necesidad de lograr que el personal que conforma a las organizaciones, acepte invertir todo su talento en la organización, con un alto nivel de participación y requiriendo de la alta dirección correspondencia hacia ese esfuerzo. En esta línea han surgido una serie de modelos de gestión que reconocen el valor del conocimiento y pretenden promoverlo, estructurarlo y hacerlo operativo o valido para las organizaciones y la sociedad. [1]
Todas las metodologías y herramientas tienen un único fin producir software de gran calidad. [2]. Uno de los problemas que se afrontan actualmente en la esfera de la computación es la calidad del software. Desde la década del 70, este tema ha sido motivo de preocupación para especialistas, ingenieros, investigadores y comercializadores de software, los cuales han realizado gran cantidad de investigaciones al respecto con dos objetivos fundamentales:
1. ¿Cómo obtener un software con calidad?
2. ¿Cómo evaluar la calidad del software?
Ambas interrogantes conllevan amplias respuestas, pero están estrechamente ligadas con el concepto de la calidad del software, que es el resultado de la primera y la fuente de la segunda. [3]

2. CALIDAD
Es la aptitud de un producto o servicio para satisfacer las necesidades del usuario. Es la cualidad de todos los productos, no solamente de equipos sino también de programas.
En el desarrollo de software, la calidad de diseño acompaña a la calidad de los requisitos, especificaciones y diseño del sistema. La calidad de concordancia es un aspecto centrado principalmente en la implementación [4].

3. ¿QUE ES LA CALIDAD DE SOFTWARE?
Estas son algunas definiciones:
– “Concordancia con los requisitos funcionales y de rendimiento explícitamente establecidos con los estándares de desarrollo explícitamente documentados y con las características implícitas que se espera de todo software desarrollado profesionalmente” R.S. Pressman (1992).
– “El conjunto de características de una entidad que le confieren su aptitud para satisfacer las necesidades expresadas y las implícitas” ISO 8402 (UNE 66-001-92). [2]
La calidad del software es medible y varía de un sistema a otro o de un programa a otro. La calidad del software puede medirse después de elaborado el producto. Pero esto puede resultar muy costoso si se detectan problemas derivados de imperfecciones en el diseño, por lo que es imprescindible tener en cuenta tanto la obtención de la calidad como su control durante todas las etapas del ciclo de vida del software. [3]

4. FACTORES QUE DETERMINAN LA CALIDAD
Existen dos tipos de factores:
•Factores que pueden ser medidos directamente (errores/KLDC/unidad de tiempo).
•Factores que solo pueden ser medidos indirectamente (la facilidad de uso o de mantenimiento).
En ambos casos se puede medir la calidad, debemos comparar el software (documentos, programas, etc.) con alguna referencia y llegar a una indicación de calidad [5].

5. ¿COMO OBTENER UN SOFTWARE DE CALIDAD?
La obtención de un software con calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y prueba del software que permitan uniformar la filosofía de trabajo, en aras de lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor de desarrollo como para el control de la calidad del software. La política establecida debe estar sustentada sobre tres principios básicos:
El principio tecnológico define las técnicas a utilizar en el proceso de desarrollo del software.
El principio administrativo contempla las funciones de planificación y control del desarrollo del software, así como la organización del ambiente o centro de ingeniería de software.
El principio ergonómico define la interfaz entre el usuario y el ambiente automatizado.
La adopción de una buena política contribuye en gran medida a lograr la calidad del software, pero no la asegura [3].

6. LA GESTIÓN DE LA CALIDAD
Dentro de la gestión de la calidad se observa:
Gestión de la calidad de software (ISO 9000): Conjunto de actividades de la función general de la dirección que determina la calidad, los objetivos y las responsabilidades y se implanta por medios tales como la planificación de la calidad, el control de la calidad, el aseguramiento (garantía) de la calidad y la mejora de la calidad, en el marco del sistema de calidad
Política de calidad (ISO 9000): Directrices y objetivos generales de una organización, relativos a la calidad, tal como se expresan formalmente por la alta dirección.
La gestión de la calidad se aplica normalmente a nivel de empresa. También puede haber una gestión de calidad dentro de la gestión de cada proyecto [6].

7. EL ASEGURAMIENTO DE LA CALIDAD
Ante todo se debe conocer:
· Aseguramiento de la calidad: “Conjunto de acciones planificadas y sistemáticas necesarias para proporcionar la confianza adecuada de que un producto o servicio satisfará los requerimientos dados sobre calidad”.
· Aseguramiento de la calidad de software: Conjunto de actividades planificadas y sistemáticas necesarias para aportar la confianza en que el producto (software) satisfará los requisitos dados de calidad.
Hay quienes prefieren decir garantía de calidad en vez de aseguramiento [6].
El aseguramiento de calidad del software se diseña para cada aplicación antes de comenzar a desarrollarla y no después [2].
La garantía, puede confundir con garantía de productos, mientras que el aseguramiento pretende dar confianza en que el producto tiene calidad [6].
Aseguramiento de calidad se enfoca en identificar y evaluar los defectos que puedan afectar al software. Si los errores se pueden identificar de forma temprana en el proceso de software, las características del diseño de software se pueden especificar de modo que eliminarán o controlarán los peligros potenciales, al corregir los errores mucho antes en cada etapa es decir durante el proceso, ahorrando esfuerzos, tiempo y recursos [7].

8. EL CONTROL DE LA CALIDAD
Se debe conocer:
· Control de calidad: “Conjunto de técnicas y actividades de carácter operativo, utilizadas para verificar los requerimientos relativos a la calidad del producto o servicio”.
· Control de la calidad del software: Técnicas y actividades de carácter operativo, utilizadas para verificar los requisitos relativos a la calidad, centradas en mantener bajo control el proceso de desarrollo y eliminar las causas de los defectos en las diferentes fases del ciclo de vida.
El control de la calidad del software está centrado en dos objetivos fundamentales:
· Mantener bajo control un proceso.
· Eliminar las causas de los defectos en las diferentes fases del ciclo de vida [6].

9. ESTANDARES DE CALIDAD
• ISO/IEC JTC1-SC7
Ø Ingeniería de Software y de Sistemas.
• IEEE – CS
Ø ISO 9126 – Calidad del producto.
Ø ISO 14598 – Evaluación de productos de software.
Ø ISO 12119 – Requerimientos de Calidad y Testing de COTS.
Ø ISO 15939 – Proceso de medición de software [6].

10. CONCLUSIONES
Para lograr el éxito en la producción de software es hacerlo con calidad y demostrar su buena calidad. Esto es posible con la implantación de un Sistema para el Aseguramiento de la Calidad del Software que cumpla con todos los requisitos preestablecidos.
Las medidas de calidad requieren de identificar los requisitos del software. La falta de concordancia con los requisitos es una falta de calidad.
Los estándares definen un conjunto de criterios de desarrollo que guían la forma en que se aplica la ingeniería del software. Si no se sigue ninguna metodología siempre habrá falta de calidad.

Bibliografía o Referencias
[1] Extraído de:
http://www.buscarportal.com/articulos/iso_9001_2000_gestion_calidad.html
[2] Fuente:
Juan Manuel Cueva Lovelle
[3] Fuente:
Oscar M. Fernández Carrasco (Investigador Agregado. Centro de Desarrollo Informático. SOFTCAL, SIME), Delba García León (Especialista en Sistemas de Computación) y Alfa Beltrán Benavides (Aspirante a Investigador)
[4] Extraído de:
http://es.wikipedia.org/wiki/Calidad_de_software
[5] Fuente:
Universidad de Morón - Facultad de Informática, Ciencias De la Comunicación y Técnicas Especiales
Herramientas de Software
[6] Fuente:
Darcy Javier Noriega Quintana-informatico@sirenishotels.co.cu
[7] Extraído de:
http://www.qualitrain.com.mx/index.php/Procesos-de-software/Aseguramiento-de-la-calidad-de-software.html

lunes, 15 de junio de 2009

INGENIERIA WEB


INGENIERIA WEB

Ana María Mercedez Maigua Soliz
Facultad de Ciencias y Tecnología, Ingeniería Informatica,
Universidad Autónoma Juan Misael Saracho
Tarija-Bolivia
ana_airam_abr@hotmail.com

Resumen
Este artículo describe la investigación de la Ingeniería Web.
La sociedad está cada día más consciente de la influencia de la red Internet en el proceso del manejo de la información.
La ingeniería web, debe su desarrollo al crecimiento que está teniendo la Web, está ocasionando un impacto en la sociedad y el nuevo manejo que se le está dando a la información en las diferentes áreas en que se presenta.
La Ingeniería Web ofrece soluciones a las personas que han decidido realizar todas sus actividades a través de Internet.
Las aplicaciones desarrolladas para la Web tienen características especiales que hacen que los mecanismos de ingeniería empleados sean diferentes. El Internet se ha convertido de diversión a ser algo más serio. El aumento de publicaciones y el crecimiento de la información hizo que la Web se volviera en un desafío para los ingenieros de software
La Ingeniería Web incluye nuevos enfoques disciplinados, metodologías, herramientas, técnicas, guías y patrones donde tuvieran en cuenta aspectos científicos de este nuevo medio para cubrir los requisitos únicos de las aplicaciones web.
Este artículo pretende dar una visión general de la Ingeniería Web, que es la Ingeniería Web, cuáles son sus aplicaciones y porque es necesaria.

Palabras clave
Informática, ingeniería web, computador, aplicaciones web, estratos.

1. INTRODUCCION
Internet es un medio increíble en constante expansión. La World Wide Web y la Internet que la alimentan son, posiblemente los desarrollos más importantes en la historia de la computación. Estas tecnologías han integrado a todos a la Informática, convirtiéndose en una parte necesaria e integral de la sociedad.
Internet y la World-Wide Web están cambiando nuestras vidas. Cada día es más común que tareas tales como la lectura del periódico,… las realicemos conectados con nuestro ordenador a Internet. Es así que, durante la última década hemos asistido al crecimiento vertiginoso del desarrollo y uso de aplicaciones y sistemas Web cada vez más complejos y sofisticados. [1]
En la actualidad la web está sufriendo grandes cambios, que han obligado a expertos en el tema a utilizar herramientas y técnicas basadas en la ingeniería del software, para poder garantizar el buen funcionamiento y administración de los sitios web. [2]
Todas estas herramientas, técnicas para las aplicaciones no parece tener mecanismos adecuados que garanticen la calidad de estos sistemas.
En 1998, Roger Pressman [PRE98] moderó una mesa redonda virtual con representantes la ingeniería software tradicional y del desarrollo software basado exclusivamente en Internet. El debate principalmente se centró en discutir si valía la pena aplicar un proceso de ingeniería a las aplicaciones con base en internet, o qué características tenían éstas que justificaran el no utilizarlo. La conclusión general fue que aplicar un proceso de ingeniería nunca es una mala idea pero que éste debería adaptarse a los requerimientos de cambio continuo y rapidez siempre presentes en el proceso de desarrollo Web. De iniciativas como ésta y de otras como la organización de congresos y talleres especializados en el desarrollo para la Web, surge el nacimiento de una nueva disciplina denominada Ingeniería Web [MUR01]. [1]
De esta manera se establecieron principios que llevan al desarrollo disciplinado del Web. Al igual que los grandes sistemas, el Web necesita la aplicación de conceptos de ingeniería a fin de llevar al éxito el desarrollo de enormes sistemas Web que estarán al servicio de la sociedad y que no se pueden dar el lujo de fallar porque ocasionaría grandes pérdidas, la desconfianza de la gente.[3]

2. ¿QUE ES LA INGENIERIA WEB?
Murugesan et al., promotores iniciales del establecimiento I Jornadas de Ingeniería Web’ 01 de la Ingeniería Web como nueva disciplina, dan la siguiente definición:
“proceso utilizado para crear, implantar y mantener aplicaciones y sistemas Web de alta calidad.”
“La ingeniería Web está relacionada con el establecimiento y utilización de principios científicos, de ingeniería y gestión, y con enfoques sistemáticos y disciplinados del éxito y desarrollo, empleo y mantenimiento de sistemas y aplicaciones basados en el Web de alta calidad”. Es importante porque las aplicaciones web se integran cada vez más en las estrategias de negocios de las organizaciones grandes y pequeñas. Es necesario que estas aplicaciones sean prácticas, confiables y adaptables. [3]

3. EL PROCESO DE LA INGENIERIA WEB
Características como inmediatez y evolución y crecimiento continuos, nos llevan a un proceso incremental y evolutivo, que permite que el usuario se involucre activamente, facilitando el desarrollo de productos que se ajustan mucho lo que éste busca y necesita.
Según Pressman , las actividades que formarían parte del marco de trabajo incluirían las tareas abajo enumeradas. Dichas tareas serían aplicables a cualquier aplicación Web, independientemente del tamaño y complejidad de la misma. Las actividades que forman parte del proceso son: formulación, planificación análisis, modelización, generación de páginas, test y evaluación del cliente. La Formulación identifica objetivos y establece el alcance de la primera entrega. La Planificación genera la estimación del coste general del proyecto, la evaluación de riesgos y el calendario del desarrollo y fechas de entrega. El Análisis especifica los requerimientos e identifica el contenido. La Modelización se compone de dos secuencias paralelas de tareas. Una consiste en el diseño y producción del contenido que forma parte de la aplicación. La otra, en el diseño de la arquitectura, navegación e interfaz de usuario. Es importante destacar la importancia del diseño de la interfaz. [1]

4. APLICACIONES WEB
Son aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet mediante un navegador. [4]
Interfaz
Las interfaces web tienen ciertas limitaciones en las funcionalidades que se ofrecen al usuario. Hay funcionalidades comunes en las aplicaciones de escritorio como dibujar en la pantalla o arrastrar-y-soltar que no están soportadas por las tecnologías web estándar. Los desarrolladores web generalmente utilizan lenguajes interpretados o script en el lado del cliente para añadir más funcionalidades, especialmente para ofrecer una experiencia interactiva que no requiera recargar la página cada vez (lo que suele resultar molesto a los usuarios). [4]
Ejemplos de aplicaciones web
Se puede mencionar:
· eyeOS por Equipo eyeOS. Escritorio virtual
· Flickr por Ludicorp. Administrador de fotografías.
· Gmail por Google. Correo electrónico.
· SugarCRM CRM [4]

5. ESTRATOS DE LA INGENIERÍA WEB
El desarrollo de aplicaciones Web incorpora métodos de proceso especializados, métodos de ingeniería de software adaptados a características de desarrollo de las aplicaciones Web y un conjunto de importantes tecnologías que permitan un correcto desarrollo de las mismas. Los procesos, métodos y tecnologías (herramientas) proporcionan un enfoque en estratos de la IWeb que es conceptualmente idéntico a los estratos de la ingeniería de software.
5.1 Proceso
Los modelos de procesos Web adoptan la filosofía de desarrollo ágil. El desarrollo ágil enfatiza un enfoque de desarrollo riguroso que incorpora rápidos ciclos de desarrollo.
…Dichas actividades de marco de trabajo se deben definir dentro de un proceso que:
Adopte el cambio. Aliente la creatividad y la independencia del equipo de desarrollo y fortalezca la interacción con el usuario. Construya sistemas que utilicen pequeños equipos de desarrollo. Subraye el desarrollo evolutivo o incremental mediante el uso de cortos ciclos de desarrollo.
5.2 Métodos
Los métodos de la IWeb abarcan un conjunto de labores técnicas que permiten al ingeniero Web comprender, caracterizar y luego construir una aplicación Web de alta calidad. Los métodos de la IWeb se puedes categorizar de la siguiente manera:
Métodos de comunicación:
Métodos de comunicación: Definen el enfoque con que se facilita la comunicación entre:
Métodos de análisis de requisitos: Proporcionan una base para comprender el contenido que se entregará a las WebApps, la función que proporcionará al usuario final y los modos de interacción de cada clase de usuario requerirá mientras ocurra la navegación por medio de las WebApps
Métodos de diseño: Abarcan una serie de técnicas de diseño que abordan el contenido, la aplicación y la arquitectura de información.
Método de prueba: Incorporan revisiones técnicas formales tanto de contenido y el modelo de diseño como de una amplia variedad de técnicas de pruebas que abordan conflictos al nivel de componentes.

5.3 Herramientas y tecnologías
Las tecnologías abarcan un amplio conjunto de descripción de contenido y lenguaje de modelación por ejemplo: HTML, VRML, XML, etc. lenguajes de programación por ejemplo java, php, jsp, etc. recursos de desarrollo basados en componentes por ejemplo corba, com, activeX, .net, etc. navegadores, herramientas multimedia, herramientas de auditoría de sitio, herramientas de conectividad de base de datos, herramientas de seguridad, servidores y utilidades de servidor, y herramientas de administración y análisis de sitio.[5]

6. CONCLUSIONES
Utilizando las técnicas y principios de la Ingeniería Web podemos controlar el desarrollo de las aplicaciones Web, mejorando la calidad, mantenimiento y disminuyendo los riesgos.
Como las aplicaciones basadas en la Web están creciendo, se debe mejorar los medios de gestión, la metodología a usar.
La ingeniería Web establece y utiliza principios científicos, de ingeniería y gestión, y con enfoques sistemáticos y disciplinados del éxito y desarrollo, empleo y mantenimiento de sistemas y aplicaciones basados en el Web de alta calidad.

Bibliografía o Referencias
[1] Extraído de:
María A. Nieto-Santisteban Universidad de Extremadura. Departamento de Informática. Escuela Politécnica. Avda. de la Universidad s/n. Cáceres 10171 España.
manieto@unex.es
[2] Extraído de: http://es.wikipedia.org/wiki/Ingenier%C3%ADa_Web
[3] Extraído de:
Cruz Condor, Miguel Ángel
[4] Extraído de: http://es.wikipedia.org/wiki/Aplicaci%C3%B3n_web
[5] Extraído de: http://www.utpl.edu.ec/ecc/wiki/index.php/Sistemas_III

lunes, 18 de mayo de 2009

GRAFICO POR COMPUTADORA


GRAFICO POR COMPUTADORA

Ana Maria Mercedez Maigua Soliz
Facultad de Ciencias y Tecnología, Ingeniería Informatica,
Universidad Autonoma Juan Misael Saracho
Tarija-Bolivia
ana_airam_abr@hotmail.com


Resumen
Este artículo describe la investigación de la Informática grafica, enfocándose en los gráficos hechos por computador.
La informática esta en nuestras vidas, gran parte de la sociedad se ha desarrollado utilizando estas tecnologías y debe su éxito a esta. La computadora hace posible el diseño grafico, donde podemos fomentar nuestra creatividad y realizar experimentos, la computadora se convierte en una herramienta para los trabajos de ilustración y diseño grafico, convirtiendo que tareas laboriosas y complejas se conviertan en tareas muy simples y rápidas.
Las representaciones graficas se pueden utilizar en diferentes aplicaciones o situaciones como en las simulaciones, o en aéreas como la medicina.
El procesado de imágenes es una de las herramientas más potentes e importantes dentro de los gráficos por computadora. Sus técnicas se emplean en muchas aplicaciones, como detectar el borde de un objeto, realzar la imagen, difuminar una imagen, aumentar la nitidez o el brillo en películas o anuncios.
Este artículo describe el diseño de las graficas por computadora, conociendo las fases para crear imágenes 3D, para obtener imágenes de calidad, con aspecto natural, pudiendo llegar al realismo fotográfico.

Palabras clave

Informática grafica, diseño grafico, computador, gráficos, sombreado, texturizado, modelado.

1. INTRODUCCION

Quizás es la informática gráfica una de las ramas de la ciencia en la que los aspectos



científicos, los tecnológicos y los meramente comerciales están más mezclados, lo cual produce que no exista una identidad clara del “motor” del desarrollo: los centros de investigación, las empresas de fabricación de hardware, las de software, los usuarios que demandan aplicaciones, etc. En estos pocos años, ha habido una serie de “estándares” gráficos que han ido naciendo y muriendo a medida que eran sustituidos por otro... Son tantas las aplicaciones y tanta la demanda de interfaces gráficas que la velocidad de cambio es superior a la que las organizaciones de normas (ISO, ANSI) pueden asumir. El resultado es que algunos fabricantes intentan imponer un estándar “de facto” , en la esperanza de que se convierta en el estándar “de iure”. [1]
La informática grafica hoy tiene muchas aplicaciones, como en el Diseño asistido por computador (CAD), gráficos de presentación, creaciones de efectos artísticos, en las simulaciones y entretenimiento, en la visualización científica y medica, gráficos 3D en la web.[2]
La informática Grafica puede utilizarse en la medicina, ingeniería, en la física, química, matemáticas, o en la topografía y oceanía.


2. INFORMÁTICA GRÁFICA

La Informática Gráfica es la rama de la Informática que se encarga de la creación de representaciones gráficas con el ordenador. [3].
Entonces la Informática Grafica se ocupa de que se puedan realizar los cálculos pertinentes para obtener representaciones gráficas aplicables a todo tipo de situaciones: simulaciones, tratamiento de imagen en medicina, videojuegos y entretenimiento, publicidad, animación. [4]
3. EL DISEÑO GRÁFICO POR COMPUTADORA

Los gráficos realizados por ordenador (CG) es el campo de la informática visual, donde uno utilizan computadoras tanto para generar imágenes visuales sintéticamente como integrar o cambiar la información visual y espacial probada del mundo real. [5]
Las muchas posibilidades que nos ofrece el ordenador para el diseño gráfico fomentan la creatividad y la experimentación. Algunos aspectos básicos del estudio gráfico digital son: composición, color, manejo de textos, organización de imágenes... Los programas de gráficos complementan las técnicas clásicas. [6]

4. GRAFICOS 2D DE COMPUTADORA

“Hay dos acercamientos a la gráfica 2d: vector y gráficos raster. La gráfica de vector almacena datos geométricos precisos, topología y estilo como posiciones de coordenada de puntos, las uniones entre puntos (para formar líneas o trayectos) y el color, el grosor y posible relleno de las formas.
... En la mayor parte de casos una imagen de vectores tiene que ser convertida a una imagen de trama o raster para ser vista. Los gráficos de tramas o raster (llamados comúnmente Mapa de bits) es una rejilla bidimensional uniforme de pixeles. Cada pixel tiene un valor específico como por ejemplo brillo, transparencia en color o una combinación de tales valores. Una imagen de trama tiene una resolución finita de un número específico de filas y columnas.” [5]


5. GRAFICOS 3D DE COMPUTADORA

“El término gráficos 3D por computadora o por ordenador (en inglés 3D computer graphics) se refiere a trabajos de arte gráfico que fueron creados con ayuda de computadoras y programas especiales 3D. En general, el término puede referirse también al proceso de crear dichos gráficos, o el campo de estudio de técnicas y tecnología relacionadas con los gráficos 3D.
Un gráfico 3D difiere de uno 2D principalmente por la forma en que ha sido generado... En general, el arte de los gráficos 3D es similar a la escultura o la fotografía, mientras que el arte de los gráficos 2D es análogo a la pintura.” [6]
...Los gráficos 3D están basados en la gráfica de vectores. En vez de que la computadora almacene la información sobre puntos, líneas y curvas en un plano bidimensionales, la computadora almacena la posición de puntos, líneas y típicas caras (para construir un polígono) en un Espacio de tres dimensiones.
Los polígonos tridimensionales son la sangre de prácticamente todos los gráficos 3d realizados en computadora. Como consiguiente, la mayoría de los motores de gráficos de 3D están basados en el almacenaje de puntos (por medio de 3 simples coordenadas Dimensionales X,Y,Z), líneas que conectan aquellos grupos de puntos, las caras son definidas por las líneas, y luego una secuencia de caras crean los polígonos tridimensionales.
...La gráfica de hoy no son el producto de colecciones masivas de polígonos en formas reconocibles, ellos también resultan de técnicas en el empleo de Shading(Sombreadores), texturing(Texturizado o mapeado) y la rasterización (En referencia a mapas de bits). [5]

Modelado

El primer paso es la creación de objetos en 3D. [8] La etapa de modelado consiste en ir dando forma a objetos individuales que luego serán usados en la escena.[6]

Shading – Sombreado

Una vez situada una primitiva hay que sombrearla. La información del sombreado se calcula para cada vértice a partir del lugar y el color de la luz en la escena generada por ordenador. [8]
El proceso de sombreado o shading (en el contexto de los gráficos realizada por ordenador) implica la simulación de computadora (o más exactamente; el cálculo) como las caras de un polígono se comportarán cuando es iluminado por una fuente de la luz virtual. El cálculo exacto varía según no sólo que datos están disponibles sobre la cara sombreada, sino también la técnica de sombreado. Generalmente este afecta propiedades de la especularidad y valores de intensidad, reflexión y transparencia. [5]
Imagen basada en interpretado -Image Based Rendering (IBR)

“Los Gráficos por ordenador es acerca de la obtención imágenes 2D desde modelos tridimensionales. A fin de hacerse muy exacto y obtener imágenes fotorealistas, la entrada de los modelos 3D debería ser muy exacta en términos de geometría y colores. La simulación de verdaderas paisajes y escenas 3D usando gráficos de ordenador es difícil, porque la obtención de la geometría 3D exacta del mundo es difícil. En vez de obtener modelos 3D, Las Imágenes basadas en interpretado (IBR) usan imágenes tomadas de puntos de vista particulares y trata de obtener nuevas imágenes de otros puntos de vista.
...Un método popular es la vista de texturas mapeadas dependientes, una técnica IBR de la Universidad del Sur de California. La Universidad de Oxford usó conceptos de la "Máquina de Aprendizaje" para IBR. *generalmente a los materiales en todo sistema de simulación 3d se les conoce como shader (sombreador)” [5]

Texturing - Texturizado

La texturación es una forma de incrementar drásticamente el detalle y el realismo de las imágenes sintéticas sin necesidad de utilizar una representación muy complicada de los objetos. ... mediante el uso de texturas pueden obtenerse en tiempo real efectos visuales como reflexiones o sombras entre objetos, similares a las que se producen en el trazado de rayos.
[7]
Las superficies poligonales (secuencia de caras) pueden contener datos correspondientes de más de un color, pero en el software más avanzado, pueden ser una lona virtual para una imagen, u otra imagen rasterizada. Tal imagen es colocada en una cara, o la serie de caras y es llamada Textura. [5]

6. CONCLUSION
La Informática Gráfica es una disciplina de reciente aparición cuya evolución se encuentra muy relacionada con los avances en el hardware gráfico
La Informática Grafica hace posible la representación grafica en una computadora, aplicable a cualquier situación.
El procesado de imágenes utilizando un computador es uno de los procesos más complejos que cuenta la computadora, contado con la potencia necesaria para crear, manipular imágenes o deformarla a lo largo del tiempo.
El proceso de visualización consiste en la realización de un conjunto de operaciones (en 2D y en 3D) sobre un modelo informático de datos para obtener una representación gráfica del mismo en un dispositivo físico de representación
Los usos de los gráficos por computadora como el diseño, animación, videos juegos, visualización científica de imágenes como órganos internos, exigen que se apliquen dibujos en tres dimensiones. Mediante las técnicas de las imágenes para 3D se pueden obtener imágenes en mayores velocidades.


Bibliografía o Referencias

[1] Inestal García, Alejandro
- Íñigo Hernández, Ignacio
. Universidad de Salamanca.
[2] Profesor: Miguel Chover Ingeniería Técnica en Diseño Industrial (3er. Curso)
[3] http://www.infor.uva.es/~descuder/
docencia/pd/node111.html
[4] http://www.taringa.net/posts/apuntes-y-monografias/1236442/%C2%BFQue-es-la-informatica.html
[5] De Wikipedia: http://es.wikipedia.org/
wiki/Inform%C3%A1tica_gr%C3%A1fica
[6] http://www.elitedigital3d.com/-http://www.deseoaprender.com/PROYECTO/ArteCult/Anima3D.html
[7] Dpto. Informática-Universitat de Valencia
Ampliación de Informática Gráfica
[8] http://es.encarta.msn.com/
encyclopedia_761558022_2/Gr%C3%A1ficos_por_ordenador_o_computadora.html
[9] De Wapedia: http://wapedia.mobi/es/
Gr%C3%A1ficos_3D_por_computadora



viernes, 3 de abril de 2009

INFORMATICA INDUSTRIAL:
SISTEMAS DE TIEMPO REAL


Ana Maria Mercedez Maigua Soliz
Facultad de Ciencias y Tecnología, Ingeniería Informatica
Universidad Autónoma Juan Misael Saracho
Tarija-Bolivia
ana_airam_abr@hotmail.com



Resumen

Este artículo describe la investigación de los Sistemas de tiempo real, basada en sus aplicaciones en la industria.

Las aplicaciones de la informatica están presentes en todos los aspectos de la vida cotidiana desde la electrónica hasta el control de complejos procesos industriales. El auge de los Sistemas de Tiempo Real está en el constante aumento, ya que cada vez más máquinas se fabrican incluyendo un número mayor de sistemas controlados por computador.

Los sistemas de tiempo real empotrados suelen tener restricciones adicionales en cuanto al uso de recursos computacionales con respecto a otros tipos de sistemas informáticos. Además, suelen tener requisitos de seguridad y fiabilidad mas severos, ya que si el sistema falla puede ocasionar pérdidas económicas o humanas.

Las perspectivas de evolución de los sistemas empotrados y de tiempo real son fascinantes.

En este articulo se describe las distintas aplicaciones industriales de la informatica, los sistemas de tiempo real, describiendo sus características importantes, enfocándose principalmente a los sistema de tiempo real empotrados, se describe sus principales características y principales sistemas relacionados a estos sistemas.


Palabras clave

Informatica Industrial, sistema en tiempo real, control, sistema de tiempo real empotrado, aplicaciones.



1. INTRODUCCION

Si la informatica está cada vez mas presente en la mayoría de los aspectos de la vida cotidiana, en el mundo de la industria lo esta aun mas. Desde los procesos de gestión a los productivos pasando por los productos, la informatica facilita la organización, gestión y control de los procesos en la industria. La Informatica industrial supone la aplicación de métodos u técnicas de la ciencia informatica a los distintos ámbitos de la industria. Existen números ejemplos como: el control de procesos, sistemas robotizados, comunicaciones industriales, etc. (Alfons Crespo, Alejandro Alonso).

En general las aplicaciones informáticas industriales realizan las tareas de Automatización, Control y Supervisión, que deben ser llevadas a cabo con pequeños dispositivos programables.

Los sistemas que deben actuar teniendo en cuenta restricciones más o menos estrictas de tiempo, se llaman Sistemas de Tiempo Real. Ejemplos de tales sistemas podrían ser: información crítica del estado de dispositivos, sistemas de alarmas, control automático de maquinaria, etc. Existe también una amplia parcela de aplicaciones industriales que no tienen unas restricciones tan estrictas como las descritas, pero que igualmente pueden aprovechar la metodología de desarrollo aplicable a los Sistema de Tiempo Real.

Uno de los logros que persigue la Informática Industrial es que no parezca que existe realmente un sistema informático, a excepción de ciertos Sistemas de Interfaz Humana. Es decir la aplicación debe tener un comportamiento similar a un sistema puramente electrónico, mecánico o físico, en el que a cada acción o consigna corresponde una reacción o cambio de comportamiento, en el momento actual o en el futuro. [1]


2. SISTEMAS EN TIEMPO REAL (STR)

Existen muchas formas para definir un Sistema de Tiempo Real. Quizá la más aceptada sea la siguiente:

“Un sistema de tiempo real es aquel en el que su funcionamiento es correcto si no depende únicamente de un resultado computacionalmente correcto, sino que depende además del tiempo en el que se haya producido el resultado. Si no se cumplen las restricciones temporales del sistema, se dice que ha ocurrido un fallo en el sistema.” [1]

En estos sistemas las maquinas deben actuar en perfecta armonía, siendo crucial para su correcto funcionamiento la sincronización en conjunto. En ciertos sistemas de tiempo real se puede aceptar una cierta taza de fallos, por ejemplo una perdida en diez millones, pero hay otros sistemas en que el fallo de una de las especificaciones del sistema puede poner en peligro la vida humana, por ejemplo un fusible eléctrico.

Por tanto, un STR además de no tener fallos de diseño, desarrollo, implementación, etc., debe realizar algún tipo de labor dentro de una ventana temporal. Esta respuesta debe ser predecible e independiente de otras actividades que el sistema puede estar realizando. Una implicación es que si en el sistema intervienen programas en ejecución deben ser conocidos los tiempos de ejecución de los códigos en los peores casos. Los STR a menudo emplean dispositivos de hardware específicos con controladores de dispositivo especiales. [1]


3. SISTEMAS DE TIEMPO REAL
EMPOTRADOS (EMBEEDED)


Los sistemas informáticos que se incluyen en los ejemplos mencionados se caracterizan por estar empotrados en otros sistemas con los que se relacionan continuamente, intercambiando datos y señales de muy diversos tipos, realizando funciones de control en sentido amplio y proporcionando las funciones requeridas a los usuarios finales. En realidad, los sistemas empotrados están omnipresentes en nuestra vida cotidiana, aunque su presencia no sea evidente. Están integrados en teléfonos móviles, automóviles, aviones, reproductores de DVD, etc. Por otro lado, la interacción con el mundo físico y el tratamiento de información relacionado con el mismo impone en la mayoría de los sistemas empotrados requisitos de tiempo, lo que les convierte en sistemas de tiempo real. [2]

Para que el funcionamiento del sistema en tiempo real sea correcto no basta con que las acciones sean correctas, sino que tienen que ejecutarse dentro del intervalo de tiempo especificado, este tiempo es significativo…Por lo general son sistemas reactivos, y realizan funciones en respuesta a eventos (pe. el mando a distancia de una grúa hace que se eleve un garfio al accionar cierto botón). El sistema reacciona ante los agentes externos al mismo. [1]

Los sistemas empotrados de tiempo real tienen y tendrán requisitos muy exigentes siendo algunos de ellos los siguientes:

Seguridad y Robustez

Estas características se refieren a la necesidad de que el funcionamiento de los sistemas sea correcto en todo momento… La necesidad de desarrollar productos con mayor funcionalidad y la búsqueda de servicios nuevos esta motivada por el alto grado de competitividad de estos mercados. [2]

Sistemas altamente distribuidos y dinámicos

La expansión de las telecomunicaciones continúa y se refleja en los sistemas empotrados. Las aplicaciones del futuro tienden a ser altamente dinámicas y todos los dispositivos tienden a comunicarse entre si, para maximizar su utilidad. [2]

Realizar sistemas con estas características requiere gran esfuerzo por parte del investigador, algunos temas importantes en relación a los sistemas de tiempo real empotrados son los siguientes:


Sistemas operativos

Un sistema operativo de tiempo real es un sistema operativo que ha sido desarrollado para aplicaciones de tiempo real. Como tal, se le exige corrección en sus respuestas bajo ciertas restricciones de tiempo. Si no las respeta, se dirá que el sistema ha fallado. Para garantizar el comportamiento correcto en el tiempo requerido se necesita que el sistema sea predecible (determinista). [4]

La gestión avanzada de recursos y la coexistencia de aplicaciones críticas y acríticas son dos características relevantes para los sistemas operativos empotrados de tiempo real…la posibilidad de incluir en un solo procesador las funciones que antes realizaban varios, implica la necesidad de dar soporte a aplicaciones que pueden tener requisitos de ejecución muy diferentes. [2]

Sistemas en red

Una característica previsible de los sistemas empotrados del futuro será su capacidad para conectarse con otros dispositivos continuamente. El funcionamiento de los mismos se modificara teniendo en cuenta el contexto o ambiente en el que se encuentre el usuario. De esta forma, se podrá intercambiar información y aplicaciones o arrancar funciones nuevas dinámicamente… así, deberán permitir la adquisición, intercambio y procesamiento distribuida de información de contexto, reacción en un tiempo determinado ante sucesos significativos y la posibilidad de garantizar determinadas características de la comunicación a las aplicaciones, como ancho de banda o transmisión de información en un plazo de tiempo acotado. [2]

Diseño integrado de sistemas de control de tiempo real

Los sistemas de tiempo real se han diseñado sistemáticamente sin considerar la influencia que el sistema de ejecución (sistema operativo de tiempo real) introduce en la ejecución de las distintas actividades de control. Esta influencia es principalmente debida a los retardos introducidos por la planificación o las comunicaciones. Estos retardos pueden influir de forma significativa en las prestaciones de control. Planificar las tareas para reducir al máximo los retardos, ajustar los reguladores dinámicamente (parámetros, periodos, etc.) en función de los recursos disponibles, etc., son algunos de los temas de gran interés en este momento. Todo ello conduce a la necesidad de diseñar los sistemas de control conjugando la teoría de control y la influencia del sistema de ejecución desde las primeras fases del diseño. [2]


Conclusiones

El avance de la industria se debe en gran manera por el avance de la informatica, sus aplicaciones son usadas en múltiples campos, como el control industrial siendo de vital importancia.

Los sistemas de tiempo real deben tener la capacidad de responder en tiempos mínimos, estos están en constante desarrollo puesto que con el avance tecnológico se construyen maquinas que operan en tiempo real y que por consiguiente necesitan de sistemas controladores


Bibliografía o Referencias

[1] http://atc1.aut.uah.es/~infind/Archivos/II_2/O
ld/2001-2002/Tema_1.pdf

[2] http://www.revista-riai.org/CGI-BIN/articulos%
20revisados%202006/versiones%20impresas/vol3_num2/SobreEsteNumero_vol3_num2.pdf

[3] http://guelcomtudeyanguel.files.wordpress
.com/2008/03/infor.pdf

[4] http://es.wikipedia.org/wiki/Sistema_opera
tivo _de_tiempo_real


[5] http://www.monografias.com/trabajos37/
sistemas-tiempo-real/sistemas-tiempo-
real2.shtml