lunes, 8 de agosto de 2011

formularios (css)..continuara....


1) Formulario de Uni - un intento de estandarizar la forma de marcado (XHTML) y CSS, "modularizar" que, para tener buen aspecto, bien estructurado, altamente personalizable, formas semánticas, accesible y utilizable.

2) Sólo en CSS, menos las formas de mesa - Un gran ejemplo de una forma bien diseñada utilizando las modernas técnicas de css. Se trabaja en Win/IE6, Firefox v1.0 +, Win / Opera 8.0, tiene pequeñas diferencias de diseño en Mac / Safari 1.0.3 y Mac / Safari v1.2, y es útil, pero bastante enculada en Mac/IE5. 2.
3) Formas de Tableless - tiene un ejemplo de inicio de sesión muy buena forma, con un gráfico en el campo de entrada.
4) Una forma con estilo - Cómo dejar de estilo y formas de la tela de mirar feo.
5) Niceforms 1,0 - es una escritura que reemplazará los elementos forma más usual con la costumbre de los diseñados. Una de estas mejoras sería la posibilidad de seleccionar un aparato de radio o casilla de verificación haciendo clic en su etiqueta al lado, también destaca las etiquetas de las cajas seleccionadas para hacer las selecciones más clara y más ...
6) ¿Quieres Form - Formulario de lujo es un script casilla reemplazo de gran alcance para proporcionar la máxima flexibilidad en el cambio de la apariencia y función de los elementos de formulario HTML. Es fácil de usar y se degrada con gracia sobre todos los mayores, no apoyo a los navegadores.
7) los controles de formulario con estilo CSS, revisada - 224 imágenes que muestran los efectos de varias reglas CSS se aplica a los controles de formulario. Aunque las capturas son tomadas de 8 navegadores de 4 sistemas operativos, para un total de 14 combinaciones de navegador + OS.
8) Mostrando Buena Forma - Demo de complejo acceso, la red de estilo (es decir, la tabla-como) forma con marcado semántico (fieldset, leyendas, etc etiqueta ...) y CSS.
10) Más bonita forma que resulte accesible - Nick Rigby echa un vistazo a cómo hacer que las formas más accesibles y el uso de CSS en lugar de las tablas de la vieja escuela.
11) Check it, no lo seleccione - Si se intenta utilizar varias casillas de verificación en una lista desplegable - mejor que usar ctrl-click en un estado normal de selección múltiple listbox
12) las formas sensibles - Usabilidad Web - Roger Hudson ofrece un tutorial increíblemente claras sobre cómo una forma que está bien diseñado, con buen diseño visual se beneficiarán todos los usuarios con visión
13) Forma AJAX Contacto - Excelente ejemplo de AJAX accesible. Utiliza Javascriptdiscreto. Por Dustin Díaz.

14) AutoSuggest: Un auto-completar AJAX campo de texto - en la que añade un menú popdown de valores sugeridos para un campo de texto. El usuario puede hacer clic directamente en una sugerencia para entrar en el campo, o navegar por la lista utilizando las teclas de flecha hacia arriba y hacia abajo, la selección de un valor con la tecla de tabulación.

jueves, 21 de julio de 2011

xampp

QUE ES XAMPP?
Es un servidor independiente de plataforma, basado en Apache (diseño de páginas web) que utiliza MySQL, PHP y Perl como lenguajes, sirve para crear páginas web, diseñarlas, añadir personalizaciones; para poner videos, imágenes, etc...y hace mucho más sencillo la creación de páginas web y sin  necesidad de conectarse a internet.
HERRAMIENTAS: Apache, MySQL, PHP y Perl

QUE ES UNIX?
UNIX designa el núcleo de un sistema operativo multiusuario y multitarea. En un sentido más amplio, comprende el núcleo del sistema operativo más un conjunto de programas que permiten compilar lenguajes de programación, editar texto, interpretar comandos, manejar archivos y discos, acceder a otras máquinas, establecer comunicaciones telefónicas, enviar y recibir correo electrónico, manejar las colas de impresión y un sinfín de tareas más
KERNEL
Es el núcleo de un sistema operativo el cual permite que el software facilite a diversos programas acceder con seguridad al hardware del sistema; es decir, a sus aplicaciones.
Opera como un  designio de recursos para cualquier proceso que necesite hacer uso de las facilidades de cómputo. Es el componente central de Unix y tiene las siguientes funciones: 
Ø  Creación de procesos, asignación de tiempos de atención y sincronización.
Ø  Asignación de la atención del procesador a los procesos que lo requieren.
Ø  Administración de espacio en el sistema de archivos, que incluye: acceso, protección y administración de usuarios; comunicación entre usuarios v entre procesos, y manipulación de E/S y administración de periféricos.
Ø  Supervisión de la transmisión de datos entre la memoria principal y los dispositivos periféricos.

viernes, 24 de junio de 2011

atributos css

Nombre del atributoPosibles valoresEjemplos
FUENTES - FONT
colorvalor RGB o nombre de colorcolor: #009900;
color: red;
Sirve para indicar el color del texto. Lo admiten casi todas las etiqetas de HTML. No todos los nombres de colores son admitidos en el estandar, es aconsejable entonces utilizar el valor RGB.
font-sizexx-small | x-small | small | medium | large | x-large | xx-large
Unidades de CSS
font-size:12pt;
font-size: x-large;
Sirve para indicar el tamaño de las fuentes de manera más rígida y con mayor exactitud.
font-familyserif | sans-serif | cursive | fantasy | monospace
Todas las fuentes habituales
font-family:arial,helvetica;
font-family: fantasy;
Con este atributo indicamos la familia de tipografia del texto. Los primeros valores son genéricos, es decir, los exploradores las comprenden y utilizan las fuentes que el usuario tenga en su sistema.
También se pueden definir con tipografías normales, como ocurría en html. Si el nombre de una fuente tiene espacios se utilizan comillas para que se entienda bien.
font-weightnormal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900font-weight:bold;
font-weight: 200;
Sirve para definir la anchura de los caracteres, o dicho de otra manera, para poner negrillas con total libertad.
Normal y 400 son el mismo valor, así como bold y 700.
font-stylenormal | italic | obliquefont-style:normal;
font-style: italic;
Es el estilo de la fuente, que puede ser normal, itálica u oblícua. El estilo oblique es similar al italic.
PÁRRAFOS - TEXT
line-heightnormal y unidades CSSline-height: 12px;
line-height: normal;
El alto de una línea,y por tanto, el espaciado entre líneas. Es una de esas características que no se podian mofificar utilizando HTML.
text-decorationnone | [ underline || overline || line-through ]text-decoration: none;
text-decoration: underline;
Para establecer la decoración de un texto, es decir, si está subrayado, sobrerayado o tachado.
text-alignleft | right | center | justifytext-align: right;
text-align: center;
Sirve para indicar la alineación del texto. Es interesante destacar que las hojas de estilo permiten el justificado de texto, aunque recuerda que no tiene por que funcionar en todos los sistemas.
text-indentUnidades CSStext-indent: 10px;
text-indent: 2in;
Un atributo que sirve para hacer sangrado o márgenes en las páginas. Muy útil y novedosa.
text-transformcapitalize | uppercase | lowercase | nonetext-transform: none;
text-transform: capitalize;
Nos permite transformar el texto, haciendo que tenga la primera letra en mayúsculas de todas las palabrs, todo en mayúsculas o minúsculas.
FONDO - BACKGROUND
Background-colorUn color, con su nombre o su valor RGBbackground-color: green;
background-color: #000055;
Sirve para indicar el color de fondo de un elemento de la página.
Background-imageEl nombre de la imagen con su camino relativo o absolutobackground-image: url(mármol.gif) ;
background-image: url(http://www.x.com/fondo.gif)
Colocamos con este atributo una imagen de fondo en cualquier elemento de la página, se puede ver unapágina de ejemplo
BOX - CAJA
Margin-leftUnidades CSSmargin-left: 1cm;
margin-left: 0,5in;
Indicamos con este atributo el tamaño del margen a la izquierda
Margin-rightUnidades CSSmargin-right: 5%;
margin-right: 1in;
Se utiliza para definir el tamaño del margen a la derecha
Margin-topUnidades CSSmargin-top: 0px;
margin-top: 10px;
Indicamos con este atributo el tamaño del margen arriba de la página
Margin-bottomUnidades CSSmargin-bottom: 0pt;
margin-top: 1px;
Con el se indica el tamaño del margen en la parte de abajo de la página
Padding-leftUnidades CSSpadding-left: 0.5in;
padding-left: 1px;
Indica el espacio insertado, por la izquierda, entre el borde del elemento-continente y el contenido de este. Es parecido a el atributo cellpadding de las tablas.
El espacio insertado tiene el mismo fondo que el fondo del elemento-continente.
Padding-rightUnidades CSSpadding-right: 0.5cm;
padding-right: 1pt;
Indica el espacio insertado, en este caso por la derecha, entre el borde del elemento-continente y el contenido de este. Es parecido a el atributo cellpadding de las tablas.
El espacio insertado tiene el mismo fondo que el fondo del elemento-continente.
Padding-topUnidades CSSpadding-top: 10pt;
padding-top: 5px;
Indica el espacio insertado, por arriba, entre el borde del elemento-continente y el contenido de este.
Padding-bottomUnidades CSSpadding-right: 0.5cm;
padding-right: 1pt;
Indica el espacio insertado, en este caso por abajo, entre el borde del elemento-continente y el contenido de este.
Border-colorcolor RGB y nombre de colorborder-color: red;
border-color: #ffccff;
Para indicar el color del borde del elemento de la página al que se lo aplicamos. Se puede poner colores por separado con los atributos border-top-color, border-right-color, border-bottom-color, border-left-color.
Border-stylenone | dotted | solid | double | groove | ridge | inset | outsetborder-style: solid;
border-style: double;
El estilo del borde, los valores significan: none=ningun borde, dotted=punteado (no parece funcionar), solid=solido, double=doble borde, y desde groove hasta outset son bordes con varios efectos 3D.
border-widthUnidades CSSborder-width: 10px;
border-width: 0.5in;
El tamaño del borde del elemento al que lo aplicamos.
Para ver otros ejemlos de Box pulsar aquí
floatnone | left | rightfloat: right;
Sirve para alinear un elemento a la izquierda o la derecha haciendo que el texto se agrupe alrededor de dicho elemento. Igual que el atributo align en imagenes en sus valores right y left.
clearnone | right | leftclear: right;
Si este elemento tiene a su altura imagenes u otros elementos alineados a la derecha o la izquierda, con el atributo clear hacemos que se coloque en un lugar donde ya no tenga esos elementos a el lado que indiquemos. 

miércoles, 15 de junio de 2011

MYSQL



SQL: El lenguaje de consulta estructurado o SQL (por sus siglas en inglés structured query language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en éstas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo efectuar consultas con el fin de recuperar -de una forma sencilla- información de interés de una base de datos, así como también hacer cambios sobre ella.
COMANDOS
Existen dos tipos de comandos SQL:
Los de DLL que permiten crear y definir nuevas bases de datos, campos e índices
Los DML que permiten generan consultas para ordenar, filtrar y extraer datos de la base de datos
DDL: Es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de definición de las estructuras que almacenarán los datos así como de los procedimientos o funciones que permitan consultarlos. Un Data Definition Language o Lenguaje de descripción de datos ( DDL ) es un lenguaje de programación para definir estructuras de datos .
COMANDOS
CREATE: utilizado npara crear nuevas tablas, campos e índices
DROP: empleado para eliminar tablas e índices
ALTER: utilizado para modificar las tablas agregando campos o cambiando la definición de los campos
DML: Es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado
COMANDOS
SELECT: utilizado para consultar registro de base de datos que satisfagan un criterio determinado
INSERT: utilizado para cargar lotes de datos en la base de datos en una única
UPDATE: utilizado para modificar los valores de los campos y registros especificados
DELETE: utilizado para eliminar registros de una tabla de una base de datos

CLAUSULAS: Son condiciones de modificación utilizadas para definir los datos que desean seleccionar o manipular
FROM: utilizada para especificar la taba en la cual se va seleccionar los registros.
WHERE: utilizada para especificar las condiciones que debe reunir los registros que se van a seleccionar
GROUP BY: utilizada para separar los registros seleccionados en grupos específicos
HAVING: utilizada para expresar la condición que debe satisfacer cada grupo
ORDER BY: utilizada para ordenar los registros seleccionados de acuerdo con un orden especifico

martes, 10 de mayo de 2011

Ruby on Rails

Definicion de Conceptos Sobre Ruby on Rails

lunes, 28 de marzo de 2011

metodos de ordenamiento y busqueda binaria

ALGORITMO DE BÚSQUEDA
Un algoritmo de búsqueda es aquel que está diseñado para localizar un elemento con ciertas propiedades dentro de una estructura de datos; por ejemplo, ubicar el registro correspondiente a cierta persona en una base de datos, o la mejor movida en una partida de ajedrez.
La variante más simple del problema es la búsqueda de un número en un vector.
Búsqueda secuencial
Se utiliza cuando el vector no está ordenado o no puede ser ordenado previamente. Consiste en buscar el elemento comparándolo secuencialmente (de ahí su nombre) con cada elemento del array hasta encontrarlo, o hasta que se llegue al final. La existencia se puede asegurar cuando el elemento es localizado, pero no podemos asegurar la no existencia hasta no haber analizado todos los elementos del array. A continuación se muestra el pseudocódigo del algoritmo:[cita requerida]
Datos de entrada:
  vec: vector en el que se desea buscar el dato
  tam: tamaño del vector. Los subíndices válidos van desde 0 hasta tam-1 inclusive.
  dato: elemento que se quiere buscar.
Variables
  pos: posición actual en el array

pos = 0
Mientras pos < tam:
 Si vec[pos] == dato devolver verdadero y/o pos, de lo contrario:
 pos = pos + 1
Fin (Mientras)

DEVOLVER FALSO,BÚSQUEDA DICOTÓMICA (BINARIA)
Se utiliza cuando el vector en el que queremos determinar la existencia de un elemento está previamente ordenado. Este algoritmo reduce el tiempo de búsqueda considerablemente, ya que disminuye exponencialmente el número de iteraciones necesarias.
Está altamente recomendado para buscar en arrays de gran tamaño. Por ejemplo, en uno conteniendo 50.000.000 elementos, realiza como máximo 26 comparaciones (en el peor de los casos).
Para implementar este algoritmo se compara el elemento a buscar con un elemento cualquiera del array (normalmente el elemento central): si el valor de éste es mayor que el del elemento buscado se repite el procedimiento en la parte del array que va desde el inicio de éste hasta el elemento tomado, en caso contrario se toma la parte del array que va desde el elemento tomado hasta el final. De esta manera obtenemos intervalos cada vez más pequeños, hasta que se obtenga un intervalo indivisible. Si el elemento no se encuentra dentro de este último entonces se deduce que el elemento buscado no se encuentra en todo el array.
A continuación se presenta el pseudocódigo del algoritmo, tomando como elemento inicial el elemento central del array.[cita requerida]
Datos de entrada:
  vec: vector en el que se desea buscar el dato
  tam: tamaño del vector. Los subíndices válidos van desde 0 hasta tam-1 inclusive.
  dato: elemento que se quiere buscar.

Variables
  centro: subíndice central del intervalo
  inf: límite inferior del intervalo
  sup: límite superior del intervalo

inf = 0
sup = tam-1

Mientras inf <= sup:
  centro = ((sup - inf) / 2) + inf // División entera: se trunca la fracción
  Si vec[centro] == dato devolver verdadero y/o pos, de lo contrario:
   Si dato < vec[centro] entonces:
    sup = centro - 1
   En caso contrario:
    inf = centro + 1
Fin (Mientras)
Devolver Falso
Implementación recursiva en C++[cita requerida]
#include <iostream>
#include <vector>
bool busqueda_dicotomica(vector<int> v, int principio, int fin, int x){
    bool res;
    if(principio < fin){
        int m = (principio + fin)/2;
        if(x < v[m]) res = busqueda_dicotomica(v, principio, m, x);
        else if(x > v[m]) res = busqueda_dicotomica(v, m+1, fin, x);
        else res = true;
    }else res = false;
    return res;
}
/*{Post: Si se encuentra devuelve true, sino false}*/







Algoritmo de ordenamiento
En computación y matemáticas un algoritmo de ordenamiento recursivo es un algoritmo que pone elementos de una lista o un vector en una secuencia dada por una relación de orden, es decir, el resultado de salida ha de ser una permutación —o reordenamiento— de la entrada que satisfaga la relación de orden dada. Las relaciones de orden más usadas son el orden numérico y el orden lexicográfico. Ordenamientos eficientes son importantes para optimizar el uso de otros algoritmos (como los de búsqueda y fusión) que requieren listas ordenadas para una ejecución rápida. También es útil para poner datos en forma canónica y para generar resultados legibles por humanos.
Desde los comienzos de la computación, el problema del ordenamiento ha atraído gran cantidad de investigación, tal vez debido a la complejidad de resolverlo eficientemente a pesar de su planteamiento simple y familiar. Por ejemplo, BubbleSort fue analizado desde 1956.1 Aunque muchos puedan considerarlo un problema resuelto, nuevos y útiles algoritmos de ordenamiento se siguen inventado hasta el día de hoy (por ejemplo, el ordenamiento de biblioteca se publicó por primera vez en el 2004). Los algoritmos de ordenamiento son comunes en las clases introductorias a la computación, donde la abundancia de algoritmos para el problema proporciona una gentil introducción a la variedad de conceptos núcleo de los algoritmos, como notación de O mayúscula, algoritmos divide y vencerás, estructuras de datos, análisis de los casos peor, mejor, y promedio, y límites inferiores.
 Clasificación
Los algoritmos de ordenamiento se pueden clasificar de las siguientes maneras:
La más común es clasificar según el lugar donde se realice la ordenación
Algoritmos de ordenamiento interno: en la memoria del ordenador.
Algoritmos de ordenamiento externo: en un lugar externo como un disco duro.
Por el tiempo que tardan en realizar la ordenación, dadas entradas ya ordenadas o inversamente ordenadas:
Algoritmos de ordenación natural: Tarda lo mínimo posible cuando la entrada está ordenada.
Algoritmos de ordenación no natural: Tarda lo mínimo posible cuando la entrada está inversamente ordenada.
Por estabilidad: un ordenamiento estable mantiene el orden relativo que tenían originalmente los elementos con claves iguales. Por ejemplo, si una lista ordenada por fecha se reordena en orden alfabético con un algoritmo estable, todos los elementos cuya clave alfabética sea la misma quedarán en orden de fecha. Otro caso sería cuando no interesan las mayúsculas y minúsculas, pero se quiere que si una clave aBC estaba antes que AbC, en el resultado ambas claves aparezcan juntas y en el orden original: aBC, AbC. Cuando los elementos son indistinguibles (porque cada elemento se ordena por la clave completa) la estabilidad no interesa. Los algoritmos de ordenamiento que no son estables se pueden implementar para que sí lo sean. Una manera de hacer esto es modificar artificialmente la clave de ordenamiento de modo que la posición original en la lista participe del ordenamiento en caso de coincidencia.
Los algoritmos se distinguen por las siguientes características:
Complejidad computacional (peor caso, caso promedio y mejor caso) en términos de n, el tamaño de la lista o arreglo. Para esto se usa el concepto de orden de una función y se usa la notación O(n). El mejor comportamiento para ordenar (si no se aprovecha la estructura de las claves) es O(n log n). Los algoritmos más simples son cuadráticos, es decir O(n²). Los algoritmos que aprovechan la estructura de las claves de ordenamiento (p. ej. bucket sort) pueden ordenar en O(kn) donde k es el tamaño del espacio de claves. Como dicho tamaño es conocido a priori, se puede decir que estos algoritmos tienen un desempeño lineal, es decir O(n).
Uso de memoria y otros recursos computacionales. También se usa la notación O(n).
Estabilidad
Los algoritmos de ordenamiento estable mantienen un relativo preorden total. Esto significa que un algoritmo es estable solo cuando hay dos registros R y S con la misma clave y con R apareciendo antes que S en la lista original.
Cuando elementos iguales (indistinguibles entre sí), como números enteros, o más generalmente, cualquier tipo de dato en donde el elemento entero es la clave, la estabilidad no es un problema. De todas formas, se asume que los siguientes pares de números están por ser ordenados por su primer componente:
(4, 1)  (3, 7)  (3, 1)  (5, 6)
En este caso, dos resultados diferentes son posibles, uno de los cuales mantiene un orden relativo de registros con claves iguales, y una en la que no:
(3, 7)  (3, 1)  (4, 1)  (5, 6)   (orden mantenido)
(3, 1)  (3, 7)  (4, 1)  (5, 6)   (orden cambiado)
Los algoritmos de ordenamiento inestable pueden cambiar el orden relativo de registros con claves iguales, pero los algoritmos estables nunca lo hacen. Los algoritmos inestables pueden ser implementados especialmente para ser estables. Una forma de hacerlo es extender artificialmente el cotejamiento de claves, para que las comparaciones entre dos objetos con claves iguales sean decididas usando el orden de las entradas original. Recordar este orden entre dos objetos con claves iguales es una solución poco práctica, ya que generalmente acarrea tener almacenamiento adicional.
Ordenar según una clave primaria, secundaria, terciara, etc., puede ser realizado utilizando cualquier método de ordenamiento, tomando todas las claves en consideración (en otras palabras, usando una sola clave compuesta). Si un método de ordenamiento es estable, es posible ordenar múltiples ítems, cada vez con una clave distinta. En este caso, las claves necesitan estar aplicadas en orden de aumentar la prioridad.
Ejemplo: ordenar pares de números, usando ambos valores
(4, 1)  (3, 7)  (3, 1)  (4, 6) (original)
(4, 1)  (3, 1)  (4, 6)  (3, 7) (después de ser ordenado por el segundo valor)
(3, 1)  (3, 7)  (4, 1)  (4, 6) (después de ser ordenado por el primer valor)
Por otro lado:
(3, 7)  (3, 1)  (4, 1)  (4, 6) (después de ser ordenado por el primer valor)
(3, 1)  (4, 1)  (4, 6)  (3, 7) (después de ser ordenando por el segundo valor,
                                 el orden por el primer valor es perturbado)
Lista de algoritmos de ordenamiento
Algunos algoritmos de ordenamiento agrupados según estabilidad tomando en cuenta la complejidad computacional.

Estables
Nombre traducido          Nombre original              Complejidad      Memoria             Método
Ordenamiento de burbuja         Bubblesort         O(n²)     O(1)       Intercambio
Ordenamiento de burbuja bidireccional              Cocktail sort       O(n²)     O(1)       Intercambio
Ordenamiento por inserción     Insertion sort    O(n²)     O(1)       Inserción
Ordenamiento por casilleros     Bucket sort        O(n)      O(n)      No comparativo
Ordenamiento por cuentas        Counting sort    O(n+k) O(n+k) No comparativo
Ordenamiento por mezcla          Merge sort         O(n log n)           O(n)      Mezcla
Ordenamiento con árbol binario              Binary tree sort                O(n log n)           O(n)      Inserción
Pigeonhole sort               O(n+k) O(k)      
Ordenamiento Radix     Radix sort           O(nk)    O(n)      No comparativo
Distribution sort              O(n³) versión recursiva O(n²)    
Gnome sort       O(n²)     
              
Inestables
Nombre traducido          Nombre original              Complejidad      Memoria             Método
Ordenamiento Shell      Shell sort             O(n1.25)              O(1)       Inserción
Comb sort          O(n log n)           O(1)       Intercambio
Ordenamiento por selección     Selection sort    O(n²)     O(1)       Selección
Ordenamiento por montículos Heapsort             O(n log n)           O(1)       Selección
Smoothsort       O(n log n)           O(1)       Selección
Ordenamiento rápido   Quicksort            Promedio: O(n log n),
peor caso: O(n²)              O(log n)               Partición
Several Unique Sort       Promedio: O(n u),
peor caso: O(n²);
u=n; u = número único de registros                      
Cuestionables, imprácticos
Nombre traducido          Nombre original              Complejidad      Memoria             Método
Bogosort             O(n × n!), peor: no termina                      
Pancake sorting               O(n), excepto en
máquinas de Von Neumann                     
Randomsort                                     

martes, 22 de marzo de 2011

simbologia UML

PAQUETES: Permiten dividir un modelo, reagrupar y encapsular los elementos de modelado y se representa con una carpeta con nombre.

 CASO DE USO: es representado por una elipse y es una descripción de la secuencia de interacciones que se producen entre un actor y el sistema, cuando el actor usa el sistema para llevar a cabo una tarea específica.

ACTOR: es una entidad externa al sistema que realiza algún tipo de interacción con el mismo. Se representa mediante una figura humana dibujada con palotes. Esta representación sirve tanto para actores que son personas como para otro tipo de actores (otros sistemas, sensores, etc.).

RELACIONES Las relaciones pueden tener lugar entre actores y casos de uso o entre casos de uso. La relación entre un actor y un caso de uso es una relación de comunicación, que indica que un actor interviene en el caso de uso. Normalmente, el actor aporta información para la realización de un caso de uso o recibe información como resultado de la realización del mismo, por ello, esta relación puede ser unidireccional o bidireccional, aunque generalmentese muestracomo bidireccional, ya que no es necesario especificar en detalle estas relaciones. La relación entre casos de uso es una relación unidireccional. Esta relación puede presentar uno de los dos siguientes tipos: “usa” y “extiende”.
A.LA RELACIÓN “INCLUDE” (INCLUYE).Una instancia del Caso de uso origen incluye también el comportamiento descrito por el Caso de Uso destino. «include» reemplazó al denominado «uses», por ejemplo: si un actor realiza una interacción con un caso de uso A, automáticamente lo hará con el caso de uso B.

B.LA RELACIÓN “EXTEND” (EXTIENDE). Se utiliza cuando se quiere reflejar un comportamiento opcional de un caso de uso. Por ejemplo, se tiene el caso de uso A que representa un comportamiento habitual del sistema.Sin embargo, dependiendo de algún factor, este caso de uso puede presentar un comportamiento adicional o ligeramente diferente, que se podría reflejar en un caso de uso B. En este caso, habrá una relación “extiende” del caso de uso B al A.