Guia Multimedia

15
SENA - CENIGRAF Centro para la Industria de la Comunicación Grafica Diana Fernanda Avila Ibañez Producción Multimedia Johana Lizbeth Martinez Martinez 33591 4. CONSTRUCCIÓN DEL CONOCIMIENTO Actividad Individual Investigue los siguientes términos y conceptos. a. Bases de datos: Es un conjunto de datos almacenados en una memoria auxiliar que permite acceso directo al programa o sitio que manipula esos datos. Esta informacion o datos se encuentran organizados sistematicamente para su uso. Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rápida y es- tructurada. Las propiedades de estos SGBD, así como su utilización y administración, se estudian dentro del ámbito de la informática. Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas. También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental. Tipos de Bases de Datos Segun la Variabilidad de lod Datos Almacenados Bases de Datos Estaticas: Éstas son bases de datos de sólo lectura, utilizadas pri- mordialmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo, reali- zar proyecciones y tomar decisiones. Bases de datos dinámicas: Éstas son bases de datos donde la información alma- cenada se modifica con el tiempo, permitiendo operaciones como actualización, bo- rrado y adición de datos, además de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de información de una tienda de abarrotes, una farmacia, un videoclub. Según el contenido Bases de datos bibliográficas: Solo contienen un surrogante (representante) de la fuente primaria, que permite localizarla. Un registro típico de una base de datos bi- bliográfica contiene información sobre el autor, fecha de publicación, editorial, título, edición, de una determinada publicación, etc. Puede contener un resumen o extracto de la publicación original, pero nunca el texto completo, porque si no, estaríamos en presencia de una base de datos a texto completo. Bases de datos de texto completo: Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una colección de revistas cien- tíficas. Directorios: Un ejemplo son las guías telefónicas en formato electrónico.

description

Desarrollo Guia Multimedia

Transcript of Guia Multimedia

Page 1: Guia Multimedia

SENA - CENIGRAFCentro para la Industria de la Comunicación Grafica

Diana Fernanda Avila Ibañez Producción MultimediaJohana Lizbeth Martinez Martinez 33591

4. CONSTRUCCIÓN DEL CONOCIMIENTO

Actividad Individual

Investigue los siguientes términos y conceptos.

a. Bases de datos: Es un conjunto de datos almacenados en una memoria auxiliar que permite acceso directo al programa o sitio que manipula esos datos. Esta informacion o datos se encuentran organizados sistematicamente para su uso.

Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rápida y es-tructurada. Las propiedades de estos SGBD, así como su utilización y administración, se estudian dentro del ámbito de la informática.

Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas. También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental.

Tipos de Bases de Datos

Segun la Variabilidad de lod Datos Almacenados

• Bases de Datos Estaticas: Éstas son bases de datos de sólo lectura, utilizadas pri-mordialmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo, reali-zar proyecciones y tomar decisiones.

• Bases de datos dinámicas: Éstas son bases de datos donde la información alma-cenada se modifica con el tiempo, permitiendo operaciones como actualización, bo-rrado y adición de datos, además de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de información de una tienda de abarrotes, una farmacia, un videoclub.

Según el contenido

• Bases de datos bibliográficas: Solo contienen un surrogante (representante) de la fuente primaria, que permite localizarla. Un registro típico de una base de datos bi-bliográfica contiene información sobre el autor, fecha de publicación, editorial, título, edición, de una determinada publicación, etc. Puede contener un resumen o extracto de la publicación original, pero nunca el texto completo, porque si no, estaríamos en presencia de una base de datos a texto completo.

• Bases de datos de texto completo: Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una colección de revistas cien-tíficas.

• Directorios: Un ejemplo son las guías telefónicas en formato electrónico.

Page 2: Guia Multimedia

SENA - CENIGRAFCentro para la Industria de la Comunicación Grafica

Diana Fernanda Avila Ibañez Producción MultimediaJohana Lizbeth Martinez Martinez 33591

Modelos de bases de datos

Las bases de datos tambien las clasificamos por modelo de administracion lo cual con-siste en crear una “descripción” de algo conocido como contenedor de datos (algo en donde se guarda la información), así como de los métodos para almacenar y recuperar información de esos contenedores. Los modelos de datos no son cosas físicas: son abs-tracciones que permiten la implementación de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos matemáticos.

Algunos modelos con frecuencia utilizados en las bases de datos:

Bases de datos jerárquicas: Éstas son bases de datos que, como su nombre indica, almacenan su información en una estructura jerárquica. En este modelo los datos se or-ganizan en una forma similar a un árbol, en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.

Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento.

Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos.

Base de datos de red: Éste es un modelo ligeramente distinto del jerárquico; su dife-rencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres, posibilidad no permitida en el modelo jerárquico.

Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa administrar la información en una base de datos de red ha significado que sea un mo-delo utilizado en su mayoría por programadores más que por usuarios finales.

Bases de datos transaccionales: Son bases de datos cuyo único fin es el envío y re-cepción de datos a grandes velocidades, estas bases son muy poco comunes y están di-rigidas por lo general al entorno de análisis de calidad, datos de producción e industrial, es importante entender que su fin único es recolectar y recuperar los datos a la mayor velocidad posible, por lo tanto la redundancia y duplicación de información no es un problema como con las demás bases de datos, por lo general para poderlas aprovechar al máximo permiten algún tipo de conectividad a bases de datos relacionales.

Bases de datos relacionales: Éste es el modelo utilizado en la actualidad para mode-lar problemas reales y administrar datos dinámicamente. Su idea fundamental es el uso de “relaciones”. Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados “tuplas”. La mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla).

En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia

Page 3: Guia Multimedia

SENA - CENIGRAFCentro para la Industria de la Comunicación Grafica

Diana Fernanda Avila Ibañez Producción MultimediaJohana Lizbeth Martinez Martinez 33591

(a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la base de datos. La información puede ser recuperada o almacenada mediante “consul-tas” que ofrecen una amplia flexibilidad y poder para administrar la información.Bases de datos multidimensionales: Son bases de datos ideadas para desarrollar aplicaciones muy concretas. Básicamente no se diferencian demasiado de las bases de datos relacionales,una tabla en una base de datos relacional podría serlo también en una base de datos multidimensional, la diferencia está más bien a nivel conceptual; en las bases de datos multidimensionales los campos o atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o bien representan métricas que se desean estudiar.

Bases de datos documentales: Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más potentes. Tesaurus es un sistema de índices optimi-zado para este tipo de bases de datos.

Bases de datos deductivas: Un sistema de base de datos deductiva, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a través de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. Las bases de datos deductivas son también llamadas bases de datos lógicas, a raíz de que se basa en lógica matemática.

Gestión de bases de datos distribuida:La base de datos está almacenada en varias computadoras conectadas en red. Surgen debido a la existencia física de organismos descentralizados. Esto les da la capacidad de unir las bases de datos de cada localidad y acceder así a distintas universidades, sucursales de tiendas, etcétera.

b. Lenguajes de programación: Son sistemas de comunicacion, que le permite a las personas interactuar con las maquinas por medio de un lenguajes com-puesto por simbolos, caracteres y reglas de uso. Se pueden encontrar infinidad de le-guajes de programascion aunque hay muchos que se crean para aplicaciones especiales mientras que otros son mas estandarizados los cuales se pueden utilizar en diferentes aplicaciones. los lenguajes de program,acin estan compuestos por una serie de instruc-ciones de entrada/salida, cálculo/manipulación de textos, lógica/comparación y alma-cenamiento/recuperación.

Programación Orientada a Objetos: La programación orientada a objetos no es un concepto nuevo, sus inicios y técnicas de programación se iniciaron a principios de los 70. Se puede definir programación orientada a objetos (OOPS) como una técnica de programación que utiliza objetos como bloque esencial de construcción. La OOPS, es un tipo de programación más cercana al razonamiento humano. La OOPS surge como una solución a la programación de grandes programas, y para solventar el mantenimiento de dichas aplicaciones, ya que en la programación estructura el más mínimo cambio supone la modificación de muchas funciones relacionadas, en cambio con la OOPS solo es cuestión de añadir o modificar métodos de una clase o mejor, crear una nueva clase a partir de otra (Herencia).

Page 4: Guia Multimedia

SENA - CENIGRAFCentro para la Industria de la Comunicación Grafica

Diana Fernanda Avila Ibañez Producción MultimediaJohana Lizbeth Martinez Martinez 33591

Concepto de Objeto: Desde un punto de vista general un Objeto es una estructura de datos de mayor o menor complejidad con las funciones que procesan estos datos.Dicho de otra forma, sería Datos más un Código que procesa estos datos. A los datos se les denomina miembros dato y a la función miembro o miembro funciones. Los datos están ocultos y sólo se puede acceder a ellos mediante la función miembro.

Clases: Las Clases son como plantillas o modelos que describen como se construyen ciertos tipos de Objeto. Cada vez que se construye un Objeto de una Clase, se crea una instancia de esa Clase. Una Clase es una colección de Objetos similares y un Objeto es una instancia de una Clase. Se puede definir una Clase como un modelo que se utiliza para describir uno o más Objetos del mismo tipo.

Herencia: Una característica muy importante de los Objetos y las Clases es la Herencia, una propiedad que permite construir nuevos Objetos a partir de unos ya existentes. Esto permite crear “sub.-Clases” denominadas Clases Derivadas que comparten las propie-dades de la Clase de la cual derivan (Clase base). Las Clases derivadas heredan código y datos de la clase base, asimismo incorporan su propio código y datos especiales. Se puede decir que la herencia permite definir nuevas Clases a partir de las Clases ya exis-tentes.

Java

Es un lenguaje que se diseño para que su funcionamiento se ejecute sin ningun pro-blemas en redes heterogeneas de computacion, con la facultad de tener un pleno fun-cionamiento en cualquier plataforma ya se MAC o PC. Al momento de realizar Java se penso en las siguientes caracteristicas:

• Enfocarlos en el contexto de lenguajes orientados a onjetos• Conserva una sintaxis familiar a la de la programacion C y C++• Es un sistema que tiene pleno manejo de la memoria de la computadora, esta ac-

cion la realiza d eun modo automatico no hay que darle ning8un tipo de instruccion previa.

• Evita la codificacion de virus en este lenguaje, para ello maneja una serie derectri-ciones que limita lo que se puede y no hacer

• El codigo de Java puede ser interpretado por cualquier computadora, simplemente requiere de tener el interprete de Java

Con la programación avanzada en Java, se pueden realizar distintos aplicativos, como son applets, que son aplicaciones especiales, que se ejecutan dentro de un navegador al ser cargada una pagina HTML en un servidor WEB, Por lo general los applets son pro-gramas pequeños y de propositos especificos.

Otra de las utilidades de la programación avanzada en Java es el desarrollo de aplica-ciones, que son programas que se ejecutan en forma independiente, es decir con la programación Java, se pueden realizar aplicaciones como un procesador de palabras, una hoja que sirva para calculos, una aplicacion grafica, etc. en resumen cualquier tipo de aplicacion se puede realizar con ella.

Page 5: Guia Multimedia

SENA - CENIGRAFCentro para la Industria de la Comunicación Grafica

Diana Fernanda Avila Ibañez Producción MultimediaJohana Lizbeth Martinez Martinez 33591

La programación avanzada en Java, permite el desarrollo de aplicaciones bajo el es-quema de Cliente Servidor, como de aplicaciones distribuidas, lo que lo hace capaz de conectar dos o más computadoras u ordenadores, ejecutando tareas simultaneamente, y de esta forma logra distribuir el trabajo a realizar.

La sintaxis de Java se deriva en gran medida de C++. Pero a diferencia de éste, que combina la sintaxis para programación genérica, estructurada y orientada a objetos,

Java fue construido desde el principio para ser completamente orientado a objetos. Todo en Java es un objeto, salvo algunas excepciones, y todo en Java reside en alguna clase.

PROGRAMACION EN C

Este es un programa que nos hace mas facil manejar las lineas de codigo, ya que este crea fragmentos de codigo para realizar tareas concretas. Este nos da la opcion de crear un programa ejecutable para ello se debe comenzar la funcion con “main ()“ .

Una de las facultades del programa es la de implementar aplicaciones las cuales se de-nominan como un conjuntos de funciones estas se pueden llamar desde un programa principal y a las vez estas funciones pueden llamar a otras cuando sea necesario.

La libreria estandar en el lenguaje de programación C, no es más que que librerias rea-lizadas en codigo objeto y puede haber sido realizada en otro lenguaje diferente que el C. Estas librerias se deben colocar en un programa de lenguaje programación en C , en la instruccion conocida como INCLUDE.

El programa compilador en el lenguaje de programación en C, es el que tiene como fun-cion traducir las instrucciones del programa fuente en C a el lenguaje conocido por las computadoras u ordenadores, el llamado lenguaje maquina. El programa compilador, depura y detecta los posibles errores en el lenguaje fuente, y es capaz de notificar el error ocurrido al programador, mediante un mensaje de texto.

En el lenguaje de programación en C, el preprocesador es un componente perteneciente propiamente al lenguaje C, el cual transforma el programa fuente traduciendo cada ins-truccion del programa fuente, de la siguiente forma: Elimina los comentarios colocados por el programador, incluye en el programa fuente el contenido de los archivos que se encuentran declarados en el INCLUDE, a estos archivos se le suele llamar cabeceras, y por ultimo , sustituye los valores de las constantes declaradas en el define.

PASCAL

Pascal es un lenguaje de programación de alto nivel de propósito general; esto es, se puede utilizar para escribir programas para fines científicos y comerciales.

Es idoneo en el estudio y definicion de las estrucuras de datos, su facil definicion lo hace manejable para un programador novato.

Con la programación en Pascal, se pueden realizar desde programas formales, rutinas, utilitarios, hasta cualquier clase de video juegos.

Page 6: Guia Multimedia

SENA - CENIGRAFCentro para la Industria de la Comunicación Grafica

Diana Fernanda Avila Ibañez Producción MultimediaJohana Lizbeth Martinez Martinez 33591

Programación en Pascal es un lenguaje de sintaxis sencilla, muy estructurado y que comprueba exhaustivamente todo tipo de datos.

El mejor de los propósitos de programación en Pascal es que enseña buenas formas de programación, con lo cual se utiliza mucho en la enseñanza, por todos los motivos nominados anteriormente, por su sencillez, su estructuración y su facilidad de lectura y entendimiento.

Es Pascal encontramos un conjunto de instrucciones o sentencias, escritas según cier-tas reglas, para realizar operaciones sobre entidades de datos conocidas como constan-tes, variables y resultados de funciones.

-La constante es una entidad cuyo valor no puede ser modificado durante la ejecución.

-La variable es una entidad cuyo valor puede modificarse durante la ejecución.

-Una función es un conjunto de operaciones asociadas a un nombre y que devuelve un valor.

Un TIPO de datos está representado por un identificador y determina el rango de valo-res que un elemento de datos puede tomar, así como las operaciones a que puede ser sometido. Además, el TIPO determina el espacio en memoria necesario para almacenar cualquiera de los valores posibles que puede tomar esa entidad.

El compilador de PASCAL proporciona identificadores para algunos tipos que están pre-definidos : números enteros y reales, valores lógicos, caracteres alfanuméricos, regis-tros, tablas, cadenas de caracteres, conjuntos, ficheros y punteros a estructu

PHP

PHP usa una mezcla entre interpretación y compilacion para intentar ofrecer a los pro-gramadores la mejor mezcla entre rendimiento y flexibilidad. PHP compila para tu co-digo una serie de instrucciones (llamadas opcodes) siempre que estas son accedidas. Estas instrucciones son entonces ejecutadas una por una hasta que el script termina. Esto es diferente a la manera convencional de compilacion de lenguajes como C++ donde el código es compilado a código ejecutable que es despues ejecutado. Php es recompilado cada vez que se solicita un script. Una ventaja importante de interpretar el código es que toda la memoria usada por tu código es manejada por PHP, y el lenguaje automáticamente vacía esta memoria cuando el script finaliza. Esto significa que tú no tienes que preocuparte de las conexiones a la base de datos, porque PHP lo hará por ti.

Algoritmo

En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien lo ejecute.Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.

Page 7: Guia Multimedia

SENA - CENIGRAFCentro para la Industria de la Comunicación Grafica

Diana Fernanda Avila Ibañez Producción MultimediaJohana Lizbeth Martinez Martinez 33591

En la vida cotidiana se emplean algoritmos en multitud de ocasiones para resolver pro-blemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Al-gunos ejemplos en matemáticas son el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema lineal de ecuaciones.

Pero, además, el PASCAL permite al usuario crear sus propios tipos definiendo identifi-cadores de su elección para representar rangos de valores. Estos también llevan asocia-dos un conjunto de operadores admisibles y unas necesidades determinadas de espacio en memoria.

QBASIC

Qbasic es un lenguaje de alto nivel, el cual consiste en instrucciones que los humanos pueden relacionar y entender. El compilador de Qbasic se encarga de traducir el mismo a lenguaje de máquina.

Un programa es una secuencia de instrucciones. El proceso de ejecutar esas instruc-ciones se llama correr el programa. Los programas contienen las funciones de entrada, procesamiento y salida. La persona que resuelve problemas mediante escribir progra-mas en la computadora se conoce como programador. Después de analizar el problema y desarrollar un plan para solucionarlo, escribe y prueba el programa que instruye a la computadora como llevar a cabo el plan. El procedimiento que realiza el programador se define como “problem solving”. Pero es necesario especificar que un programador y un usuario no son lo mismo. Un usuario es cualquier persona que use el programa.

c. Lenguaje de Unificado de Modelado UML: Es un lenguaje de modelado de sistemas de software, con el cual se divide cada proyecto en diagramas querepresentan las diferentes vistas del proyecto, lo cual genera que tengamos una re-presentación grafica de como seria el funcionamiento del sistema, por medio de lo cual podemos ver o saber que errores o problemas esta presentando el sistema, al igual que el estado de cada una de las instancias.

UML entre sus facultades cuenta con la de solucionar problemas de código el cual suele generarse con los desarrolladores,ya que estos suelen utilizar un lenguaje de modelado común, para darle una solución a esto se crea una serie de documentos también comunes en su lenguaje para los desa-rrolladores con conocimientos en UML.

UML es un lenguaje estándar ya que es el único creado para el diseño orientado a obje-tos. El UML es independiente de los lenguajes de programación y de las características de proyecto ya que este a sido creado para diseñar cualquier tipo de proyecto sin im-portar si es informático, arquitectónico etc.

Trabaja con estereotipos y restricciones; Los estereotipos consisten en indicar espe-cificaciones del lenguaje al que se refiere el diagrama de UML. Las restricciones son aquellas que me indican un comportamiento forzado de una clase o relación, lo que nos

Page 8: Guia Multimedia

SENA - CENIGRAFCentro para la Industria de la Comunicación Grafica

Diana Fernanda Avila Ibañez Producción MultimediaJohana Lizbeth Martinez Martinez 33591

quiere decir que estamos forzando el comportamiento que debe tener el objeto al que se le aplica.

Vistazo general: Son los diagramas que se utilizan ya que estos son la esencia del UML, en cada uno de los diagramas encontramos una serie de anotaciones pertinentes y la suma de todos estos diagramas de dan como resultado las diferentes vistas del proyec-to. Los tipos revistas que se encuentran son:

• Vista casos de uso: Se forma con los diagramas de casos de uso, colaboración, estados y actividades.• Vista de diseño: Se forma con los diagramas de clases, objetos, colaboración, estados y actividades.• Vista de procesos: Se forma con los diagramas de la vista de diseño. Recalcando las clases y objetos referentes a procesos.• Vista de implementación: Se forma con los diagramas de componentes, colaboración, estados y actividades.• Vista de despliegue: Se forma con los diagramas de despliegue, interacción, estados y actividades.

Se Dispone de dos tipos diferentes de diagramas los que dan una vista estática del sis-tema y los que dan na visión dinámica.

Los diagramas estáticos son:

• Diagrama de clases: muestra las clases, interfaces, colaboraciones y sus relaciones. Son los más comunes y dan una vista estática del proyecto.

• Diagrama de objetos: Es un diagrama de instancias de las clases mostradas en el diagrama de clases.Muestra las instancias y como se relacionan entre ellas. Se da una visión de casos rea-les.

• Diagrama de componentes: Muestran la organización de los componentes del sistema. Un componente se corresponde con una o varias clases, interfaces o colaboraciones.

• Diagrama de despliegue: Muestra los nodos y sus relaciones. Un nodo es un conjunto de componentes.Se utiliza para reducir la complejidad de los diagramas de clases y componentes de un gran sistema. Sirvecomo resumen e índice.

• Diagrama de casos de uso: Muestran los casos de uso, actores y sus relaciones. Mues-tra quien puede hacer que y relaciones existen entre acciones(casos de uso). Son muy importantes para modelar y organizar elcomportamiento del sistema.

Lo diagramas dinámicos son:

• Diagrama de secuencia, Diagrama de colaboración: Muestran a los diferentes objetos y las relaciones que pueden tener entre ellos, los mensajes que se envían entre ellos.

Page 9: Guia Multimedia

SENA - CENIGRAFCentro para la Industria de la Comunicación Grafica

Diana Fernanda Avila Ibañez Producción MultimediaJohana Lizbeth Martinez Martinez 33591

Son dos diagramas diferentes, que se puede pasar de uno a otro sin perdida de infor-mación, pero que nos dan puntos de vista diferentes del sistema.En resumen, cualquiera de los dos es un Diagrama de Interacción.

• Diagrama de estados: muestra los estados, eventos, transiciones y actividades de los diferentes objetos.Son útiles en sistemas que reaccionen a eventos.

• Diagrama de actividades: Es un caso especial del diagrama de estados. Muestra el flujo entre los objetos.Se utilizan para modelar el funcionamiento del sistema y el flujo de control entre obje-tos.

d. Software libre: El software libre es una cuestión de la libertad de los usuarios de ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. Más precisamen-te, significa que los usuarios de programas tienen las cuatro libertades esenciales.

• La libertad de ejecutar el programa, para cualquier propósito.• La libertad de estudiar cómo trabaja el programa, y cambiarlo para que haga lo que

usted quiera. El acceso al código fuente es una condición necesaria para ello.• La libertad de redistribuir copias para que pueda ayudar al prójimo.• La libertad de distribuir copias de sus versiones modificadas a terceros. Si lo hace,

puede dar a toda la comunidad una oportunidad de beneficiarse de sus cambios. El acceso al código fuente es una condición necesaria para ello.

La libertad de ejecutar el programa significa la libertad para cualquier tipo de persona u organización de usarlo en cualquier tipo de sistema de computación, para cualquier tipo de trabajo y propósito, sin estar obligado a comunicarlo a su programador, o alguna otra entidad específica. En esta libertad, el propósito de los usuarios es el que importa, no el propósito de los programadores. Como usuario es libre de ejecutar un programa para sus propósitos; y si lo distribuye a otra persona, también es libre para ejecutarlo para sus propósitos, pero usted no tiene derecho a imponerle sus propios propósitos.

La libertad de redistribuir copias debe incluir las formas binarias o ejecutables del pro-grama, así como el código fuente; tanto para las versiones modificadas como para las no lo están. (Distribuir programas en forma de ejecutables es necesario para que los sistemas operativos libres se puedan instalar fácilmente). Resulta aceptable si no exis-te un modo de producir una formato binario o ejecutable para un programa específico, dado que algunos lenguajes no incorporan esa característica, pero debe tener la libertad de redistribuir dichos formatos si encontrara o programara una forma de hacerlo.

“Software libre” no significa ‘no comercial’. Un programa libre debe estar disponible para uso comercial, desarrollo comercial y distribución comercial. El desarrollo comercial del software libre ha dejado de ser inusual; el software comercial libre es muy importante.

Cuando se habla de software libre, es mejor evitar términos como: `regalar’ o `gratis’, porque esos téminos implican que lo importante es el precio, y no la libertad.

Page 10: Guia Multimedia

SENA - CENIGRAFCentro para la Industria de la Comunicación Grafica

Diana Fernanda Avila Ibañez Producción MultimediaJohana Lizbeth Martinez Martinez 33591

e. Software Licenciado: Es un producto de software que es comercializado con ciertas condiciones o términos de uso, establecidas por el fabricante. Estas condicio-nes generalmente limitan el número de equipos en los que el producto puede ser insta-lado y son conocidas como “licencias”, juegan un papel variable sobre el precio final del producto, pués entre mas equipos pueda instalar, más costoso resultará el producto. La ventaja de este tipo de comercialización es que se paga a la medida de las necesidades de la compañía que adquiere el software y queda abierta la posibilidad de extender el número de licencias pagando un valor adicional por por cada licencia extra.

Por esta razón, la Entidad hace un estudio antes de adquirir un software licenciado, cal-culando cuantos son los equipos en los que se requiere instalar y así poder calcular el número de licencias que debe adquirir.

¿ Puede un software licenciado ser instalado en más equipos de los que dice la licencia ?Técnicamente el software podría ser instalado en diferentes máquinas usando una única licencia, sin embargo, hacer esto violaría los términos de uso establecidos por el fabri-cante y lo por tanto el software sería considerado ilegal, lo cual tendría repercusiones legales y penales establecidas en las leyes colombianas.

La Ley 44 de 1993, establece que: “Se considera delito el uso o reproducción de un pro-grama de computador de manera diferente a como está estipulado en la licencia. Los programas que no tengan licencia son ilegales. Es necesaria una licencia por cada copia instalada”.

¿ Puedo instalar un software licenciado adquirido por la Entidad en el computador asig-nado para mi trabajo?

La Entidad tiene establecido que las únicas personas autorizadas para instalar software en los computadores de la UAEAC son los funcionarios de la Línea 3000. Si usted desea que sea instalado un software en particular en su computador de trabajo, debe comu-nicarse con la Línea 3000 donde le informaran si el software requerido es licenciado y debe solicitar una autorización. Si se trata de un software que puede ser instalado en su computador sin restricciones de licenciamiento, Soporte Informático atenderá su so-licitud.

¿ Puedo instalar un software licenciado adquirido por la Entidad en el computador de mi casa?

La respuesta es NO . Aunque la Entidad cuente con licencias disponibles, el propietario del software es la UAEAC y la instalación debe darse a lugar estrictamente en los com-putadores de la Entidad. Cualquier instalación de software no autorizada explícitamente por su propietario se considera software ilegal, lo cual genera repercusiones legales y penales establecidas por las leyes colombianas.

Page 11: Guia Multimedia

SENA - CENIGRAFCentro para la Industria de la Comunicación Grafica

Diana Fernanda Avila Ibañez Producción MultimediaJohana Lizbeth Martinez Martinez 33591

g. Joomla, Wordpress, Drupal:

Joomla: Es un sistema de gestión de contenidos, y entre sus principales virtudes está la de permitir editar el contenido de un sitio web de manera sencilla. Es una aplicación de código abierto programada mayoritariamente en PHP bajo una licencia GPL. Este ad-ministrador de contenidos puede trabajar en Internet o intranets y requiere de una base de datos MySQL, así como, preferiblemente, de un servidor HTTP Apache. En Joomla! se incluyen características como: mejorar el rendimiento web, versiones imprimibles de páginas, flash con noticias, blogs, foros, polls (encuestas), calendarios, búsqueda en el sitio web e internacionalización del lenguaje. Su nombre es una pronunciación fonética para anglófonos de la palabra swahili jumla, que significa “todos juntos” o “como un todo”. Se escogió como una reflexión del compromiso del grupo de desarrolladores y la comunidad del proyecto.

Wordpress: Es un sistema de gestión de contenido enfocado a la creación de blogs (si-tios web periódicamente actualizados). Desarrollado en PHP y MySQL, bajo licencia GPL, tiene como fundador a Matt Mullenweg. WordPress fue creado a partir del desaparecido b2/cafelog y se ha convertido junto a Movable Type en el CMS más popular de la blo-gosfera. Las causas de su enorme crecimiento son, entre otras, su licencia, su facilidad de uso y sus características como gestor de contenidos. Otro motivo a considerar sobre su éxito y extensión, es la enorme comunidad de desarrolladores y diseñadores, que se encargan de desarrollarlo en general o crear plugins y temas para la comunidad, siendo usado en septiembre de 2009 por 202 millones de usuarios. WordPress nació del deseo de construir un sistema de publicación personal, elegante y con una buena arquitectura (“Code is poetry”). Basado en PHP, MySQL y licenciado bajo GPL, Wordpress pone espe-cial atención a la estética, estándares web, y usabilidad.2 En principio, está configurado para usar una bitácora o weblog por sitio o instalación, pero también es posible, sin “hacks” o añadidos, tener varios blogs -varias instalaciones en realidad- con varias o una única base de datos.3 Además, existen versiones similares, paralelas o “hackeadas” de Wordpress que permiten esta funcionalidad, una de las más conocidas, extendida y de más soporte es Wordpress MU: Debido a que Wordpress no permitía esta funcio-nalidad, hay disponible una versión adaptada y similar de los mismos desarrolladores llamada WordPress MU (μ), que permite la instalación de múltiples blogs. Estructura

• Wordpress, en principio, es un sistema de publicación web basado en entradas or-denadas por fecha, entre otras muchas posibilidades además de páginas estáticas.

• La estructura y diseño visual del sitio depende del sistema de plantillas. • La filosofía de Wordpress apuesta decididamente por la elegancia, la sencillez y las

recomendaciones del W3C pero depende siempre de la plantilla a usar. “Classic”, por ejemplo es una plantilla que viene “de serie” y que es válido como (X)HTML Transi-cional y CSS.

• Separa el contenido y el diseño en XHTML y CSS, aunque, como se ha dicho, depen-de de la plantilla que se esté usando. No obstante, el código que se intenta generar en las entradas (“posts”) apuesta por esta característica forzando -si así se elige- un marcado correcto.

• La gestión y ejecución corre a cargo del sistema de administración con los plugins y los widgets que usan las plantillas. Funcionalidades

• Fácil instalación, actualización y personalización. • Posibilidad de actualización automática del sistema implementada en la versión 2.7.

Múltiples autores o usuarios, junto con sus roles o perfiles que establecen distintos.7

Page 12: Guia Multimedia

SENA - CENIGRAFCentro para la Industria de la Comunicación Grafica

Diana Fernanda Avila Ibañez Producción MultimediaJohana Lizbeth Martinez Martinez 33591

Multiblogging

WordPress soporta un blog por instalación, aunque se pueden utilizar múltiples copias en directorios distintos si se utilizan tablas de bases de datos separadas. WordPress MU (también conocido como WordPress MU o WPMU) es una derivación de WordPress creada para permitir la existencia de varios blogs en una sola instalación. WordPress MU hace posible para cualquier con un sitio web que desee alojar su propia comunidad de blogs, controlar y moderar todos los blogs desde un solo entorno de administración.

Es utilizado en el servicio de alojamiento de blogs gratuito WordPress.com, además de otras organizaciones como el diario Le Monde, la Universidad de Harvard y Edublogs. Ly-ceum es otra versión empresarial de WordPress. A diferencia de WordPress MU, Lyceum almacena toda la información en un conjunto de tablas de base de datos. Algunas co-munidades destacadas que usan Lyceum son TeachFor.Us5 (Teach for America teacher’s blogs), BodyBlogs y Hopkins Blogs. En 2008 Andy Peating se unió a Automattic para continuar su trabajo en BuddyPress, una extensión de WPMU que añadirá características de comunidad a WordPress.6 Plantillas Las plantillas (themes) de Wordpress son planti-llas de diseño que sirven para establecer la apariencia y estructura de tu blog. Hay una gran comunidad oficial, tanto profesional como de usuarios, dedicada al diseño de estas plantillas que se suelen listar en el sitio de Wordpress una vez han sido comprobadas y aprobadas oficialmente -ver lista de Enlaces externos-. Aunque la filosofía de Wordpress apuesta por un marcado válido según las directrices del W3C, las posibilidades de éste sistema, tanto a nivel de diseño, estructura o gestión, y la flexibilidad del sistema de plantilla y widgets en concreto, son enormes y prácticamente permiten tener desde un simple blog hasta un CMS personalizado.7 8 Widgets Wordpress incorpora un sistema de Widgets para sus plantillas desde la versión 2.2 que ofrece numerosas posibilidades y flexibilidad para el diseño y estructura de sus blogs. Si bien son sumamente útiles, no todos las plantillas lo soportan.

Plugins Hay una ingente cantidad de plugins que potencian el uso de Wordpress más allá de una simple bitácora y que lo hacen un sistema realmente flexible y prácticamen-te de propósito general. Los plugins de Wordpress se incorporaron en la versión 1.6.9

h. Framework: Los frameworks facilitar el desarrollo de software, ademas de evitar los detalles de bajo nivel, permitiendo concentrar más esfuerzo y tiempo en iden-tificar los requerimientos de software. Podemos encontrar frameworks para el desarrollo de aplicaciones médicas, de visión por computador, para el desarrollo de juegos, y para cualquier ámbito que pueda ocurrírsenos.

En general, con el término framework, nos estamos refiriendo a una estructura de soft-ware compuesta de componentes personalizables e intercambiables para el desarrollo de una aplicación. En otras palabras, un framework se puede considerar comouna aplicación genérica incompleta y configurable a la que podemos añadirle las últimas piezas para construir una aplicación concreta.

Los objetivos principales que persigue un framework son: acelerar el proceso de desa-rrollo, reutilizar código ya existente y promover buenas prácticas de desarrollo como el uso de patrones.

Page 13: Guia Multimedia

SENA - CENIGRAFCentro para la Industria de la Comunicación Grafica

Diana Fernanda Avila Ibañez Producción MultimediaJohana Lizbeth Martinez Martinez 33591

Un framework Web, por tanto, podemos definirlo como un conjunto de componetes (por ejemplo clases en java y descriptores y archivos de configuración en XML) que compo-nen un diseño reutilizable que facilita y agiliza el desarrollo de sistemas Web.

PATRÓN MVC Y MODEL 2.

El patrón Modelo-Vista-Controlador es una guía para el diseño de arquitecturas de apli-caciones que ofrezcan una fuerte interactividad con usuarios. Este patrón organiza la aplicación en tres modelos separados, el primero es un modelo que representa los datos de la aplicación y sus reglas de negocio, el segundo es un conjunto de vistas que repre-senta los formularios de entrada y salida de información, el tercero es un conjunto de controladores que procesa las peticiones de los usuarios y controla el flujo de ejecución del sistema.

La mayoría, por no decir todos, de los framewroks para Web implementan este patrón. Una aplicación de este patrón en entornos Java para programación Web es lo que se conoce con el nombre de arquitectura model 2

Tipos de framework Web.

Existen varios tipos de frameworks Web: orientados a la interfaz de usuario, como Java Server Faces, otros a aplicaciones de publicación de documentos, como Coocon, orientados a la parte de control de eventos, como Struts y algunos que incluyen varios elementos como Tapestry.

La mayoría de frameworks Web ofrecen una capa de controladores de acuerdo con el patrón MVC o con el modelo 2 de Servlets y JSP, ofreciendo mecanismos que facilitan la integración con otras herramientas para la implementación de las capas de negocio y presentación.

Modelo en cascada: o Clásico (modelo tradicional). Basicamente ordena de manera rigurosa las etapas del ciclo de vida, o sea, para iniciar una etapa, debe haber culmi-nado en su totalidad la etapa anterior Para éste caso la detección de un error, implica rediseñar y empezar una nueva programación del código, generalmente esto implica el aumento de los costos de la producción Como todo, este metodo presenta ventajas y desventajas.

Las ventajas encontradas en este se caracterizan por el orden ademas de garantizar que no va a haber algún tipo de revuelto entre fases del proceso, entorpeciendolo o desor-ganizando la producción como tal.

Este tipo de Metodos se utiliza para estructuras rigidas Las desventajas que se encuen-tran en este, son la manera lineal y rigida, que se emplea en la programación, haciendo, que en caso de un error en la fase de prueba, obliga a reestructurar toda la producción-desde el diseño, retrasando la producción ademas de aumentar los costos.

Modelo espiral: Es un modelo de ciclo de trabajo que divide un proyecto software en mini-proyectos.Después de controlar todos los riesgos más importantes, el modelo en espiral finaliza del mismo modo que el ciclo de vida en cascada.

Page 14: Guia Multimedia

SENA - CENIGRAFCentro para la Industria de la Comunicación Grafica

Diana Fernanda Avila Ibañez Producción MultimediaJohana Lizbeth Martinez Martinez 33591

Funcionamiento: Se parte de una escala pequeña en medio de la espiral, se localizan los riesgos, se genera un plan para m anejar los riesgos, y a continuación se establece una aproximación a la siguiente interacción.

Cada iteración supone que el proyecto pasa a una escala superior. Se avanza un nivel en el Espiral, se comprueba que se tiene lo que se desea, y después se comienza a

trabajar en el siguiente nivel: Con cada iteración a través del espiral se construye sucesivas versiones de software cada vez más completas.

En cada bucle alrededor del espiral, la culminación del análisis de riesgo resulta una decisión de “seguir” o “no seguir”.

Cada interacción en el método espiral lleva consigo los seis pasos que a continuación se nombran: Determinar objetivos, alternativas y límites, Identificar y resolver riesgos, Evaluar alternativas, Generar las entregas de esa iteración, y comprobar que son co-rrectas.

En el modelo en espiral, las primeras iteraciones son las menos costosas. Supone me-nos gasto desarrollar el concepto de operación que realizar el desarrollo de los requeri-mientos, y también es menos costoso desarrollar los requerimientos que llevar a cabo el desarrollo del diseño, la implementación del producto y la prueba del mismo.En cada Cuadrante del Método espiral se realiza las siguientes actividades Los Objeti-vos: Que necesidad debe cubrir el producto.

• Alternativas: Las diferentes formas de conseguir los objetivos de forma exitosa, desde diferentes puntos de vista como pueden ser:

• Características: experiencia del personal, requisitos a cumplir, etc.

• Formas de gestión del sistema.

• Riesgo asumido con cada alternativa.

Planificación: Determinación de objetivos, alternativas, restricciones, y elaboración del plan de desarrollo para el ciclo actual.

Análisis de Riesgos: Evaluación de las alternativas, identificación y resolución de ries-gos. Se decide si se sigue o no con el proyecto.

Ingeniería: Desarrollo del producto siguiendo un modelo: del ciclo de vida o cascada, prototipo, etc. Evaluación por el cliente, Valoración de resultados.

Si el resultado no es el adecuado o se necesita implementar mejoras o funcionalidades, se planificaran los siguientes pasos y se comienza un nuevo ciclo de la espiral.

La espiral tiene una forma de caracola y se dice que mantiene dos dimensiones, la radial y la angular:

• Angular: Indica el avance del proyecto software dentro de un ciclo.

Page 15: Guia Multimedia

SENA - CENIGRAFCentro para la Industria de la Comunicación Grafica

Diana Fernanda Avila Ibañez Producción MultimediaJohana Lizbeth Martinez Martinez 33591

• Radial: Indica el aumento del coste del proyecto, ya que con cada nueva iteración se pasa más tiempo desarrollando.

Este sistema es muy utilizado en proyectos grandes y complejos como puede ser, por ejemplo, la creación de un Sistema Operativo.

i. WorkFlow: El módulo de flujo de trabajo permite la creación y asignación de flujos de trabajo arbitraria a los tipos de nodos de Drupal. Los flujos de trabajo están constitui-dos por los estados de flujo de trabajo. Por ejemplo, un flujo de trabajo con los estados Proyecto, revisión y publicación podría ser asignado al tipo de nodo Story.

Las transiciones entre los estados de flujo de trabajo puede haber acciones que se les asignen. En nuestro ejemplo, podríamos asignar una acción para que cuando la historia se mueve desde el estado de borrador a la revisión del estado se envía un correo elec-trónico a cabo. Otra acción podría ser asignada a la transición de la revisión a la publi-cación para que el estado del nodo se establece de publicación (y se hace visible en su sitio web).