lunes, 25 de mayo de 2020

BASES DE DATOS

Publicado Por BartenSoft A las mayo 25, 2020

QUE ES UNA BASE DE DATOS

quiero que sepas que Una base de datos es una colección de información organizada de forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite. Una base de datos es un sistema de archivos electrónico.
Las bases de datos tradicionales se organizan por campos, registros y archivos. Un campo es una pieza única de información; un registro es un sistema completo de campos; y un archivo es una colección de registros. Por ejemplo, una guía de teléfono es análoga a un archivo. Contiene una lista de registros, cada uno de los cuales consiste en tres campos: nombre, dirección, y número de teléfono. 



VENTAJAS DE LAS BASES DE DATOS 

- Permite controlar la duplicidad de datos (redundancia),Permite controlar la dupicidad, triplicidad, etc. de almacenamiento de espacio en disco
- Permite la sincronización de datos,Una misma base de datos sirve para diversos y varios sistemas que trabajen sobre esa DB,Esto, por otra parte
- permite la centralización de datos,Permite la unificación de datos,Seguridad e integridad de información mediante validación de usuarios,
- Creación de diferentes niveles de seguridad,Validación de condiciones de entrada de registros (lo que permite controlar errores humanos en el ingreso de datos),
- Flexibilidad y rapidez para obtener información, Aumenta la productividad (no se debe preocupar por la organización de los datos ni de la validación).
- Las bases de datos son independientes de los programas y/o aplicaciones (por lo que un cambio en la estructura de los programas o en su código no afecta la a la DB, y viceversa).
- Esto origina independencia de los datos,Las bases de datos no son instalables, sino que son portables. Basta con copiarlas, importarlas,
- Las bases de datos son modificables en su estructura, por lo que fácilmente podemos adicionar nueva información a un registro, nuevas tablas, etc.


DESVENTAJAS DE LAS BASES DE DATOS


- Tamaño, espacio. Una BD suele requerir mucho espacio en disco, suelen volverse pesadas.
- Son un producto complejo, por lo que no toda persona será capaz de manipularla y/o ponerse al cargo de su mantenimiento.
- Costo. Algunos gestores y productos de bases de datos suelen ser costosos. Tales como Oracle, DB2, Etc.
- Requieren de capacitación, asesoría y acompañamiento para enseñar su manejo.
- Se requiere de una persona para que esté al tanto del mantenimiento o de fallos.
- Cuando la BD crece mucho puede llegar a ponerse lenta, lo que afecta las busquedas y la recuperación de información.
- Un fallo en la BD afecta a todo el entorno, máxime si es una DB cenral y varias aplicaciones recuperan información desde la misma base de datos
- Si la BD se llega a corromper es complejo repararla y volverla a su anterior estado.


QUE ES UN SGBD 



Los Sistemas Gestores de Bases de Datos (SGBD, por sus siglas en inglés), también conocidos como sistemas manejadores de bases de datos o DBMS (DataBase Management System), son un conjunto de programas que se ocupan de la gestión de bbdd, administrando todo acceso a la base de datos, con el objetivo de servir de interfaz entre ésta, el usuario y las aplicaciones utilizadas.
Gracias a este sistema de software específico el usuario puede gestionar la base de datos (almacenar, modificar y acceder a la información contenida en ésta) mediante el uso de distintas herramientas para su análisis, con las que puede realizar consultas y generar informes.
Además de gestionar los datos y mantener su consistencia, la utilización de un sistema de gestión de bbdd supone numerosas ventajas. En especial a la hora de construir y definir la base de datos a diferentes niveles de abstracción para distintas aplicaciones, pues facilita los procesos y también su mantenimiento.
La ejecución de las operaciones sobre la base de datos para luego proporcionarlos al usuario en función de su requerimiento se realiza de un modo eficiente y seguro. Las características de un SGDB posibilitan el cumplimiento de una serie de funciones, que pueden agruparse de la siguiente manera:

Definición de los datos: el SGBD ha de poder definir todos los objetos de la base de datos partiendo de definiciones en versión fuente para convertirlas en la versión objeto.
Manipulación de los datos: el sistema de gestión de bbdd responde a las solicitudes del usuario para realizar operaciones de supresión, actualización y extracción, entre otras. La administración de los datos ha de realizarse de forma rápida, según las peticiones realizadas por los usuarios, y permitir la modificación del esquema de la base de datos gracias a su independencia.
Seguridad e integridad de los datos: además de registrar el uso de las bases de datos, ante cualquier petición, también aplicará las medidas de seguridad e integridad de los datos (adopta medidas garantizar su validez) previamente definidas. Un SGBD debe garantizar su seguridad frente a ataques o simplemente impedir su acceso a usuarios no autorizados por cualquier razón.
Recuperación y restauración de los datos: la recuperación y restauración de los datos ante un posible fallo es otra de las principales funciones de un SGBD. Su aplicación se realizará a través de un Plan de recuperación y restauración de los datos que sirva de respaldo


CINCO EJEMPLOS DE SGBD 

Oracle Database. Sistema de gestión de base de datos objeto-relacional desarrollado por Oracle Corporation. Se le considera uno de los sistemas de bases de datos más completo y hasta fechas recientes contaba con un gran dominio del mercado. 

Microsoft SQL Server. Sistema de manejo de bases de datos del modelo relacional desarrollado por Microsoft. Solo está disponible para el sistema operativo Windows.
PostgreSQL. Sistema de gestión de base de datos orientado a objetos. Es de código abierto y se publica bajo licencia BSD. Su desarrollo corre a cargo de una comunidad de desarrolladores denominada PGDG (PostgreSQL Global Development Group). 

MySQL. Sistema de gestión de bases de datos relacional, multihilo y multiusuario con más de 6 millones de descargas. Está desarrollado como software libre con licenciamiento dual, ya que las empresas que deseen usarlo en productos privativos deben adquirir una licencia específica.


QUE ES UNA TABLA EN BASES DE DATOS 

Una tabla es una herramienta de organización de información que se utiliza en bases de datos en la informática. En computación, una tabla hace referencia al modelado o recopilación de datos por parte de una aplicación de un programa que permite operar con los mismos organizándolos y poniéndolos en relación de diversas maneras.
Las tablas a menudo son incluidas en bases de datos u hojas de cálculo, pero también pueden incorporarse a documentos de texto y otros programas.
Una tabla típica está compuesta por filas horizontales y columnas verticales. El campo es el nombre de cada columna, debe ser único y con un tipo de dato asociado. El registro, por otro lado, es cada fila que compone la tabla y que incluye datos (o también puede ser nulo).
Tabla en las bases de datos, se refiere al tipo de modelado de datos donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de hoja de cálculo



Las tablas se componen de dos estructuras: 


Campo: Corresponde al nombre de la columna. Debe ser único y además de tener un tipo de dato asociado.
Registro: Corresponde a cada fila que compone la tabla. Allí se componen los datos y los registros. Eventualmente pueden ser nulos en su almacenamiento.

En la definición de cada campo, debe existir un nombre único, con su tipo de dato correspondiente. Esto es útil a la hora de manejar varios campos en la tabla, ya que cada nombre de campo debe ser distinto entre sí.
A los campos se les puede asignar, además, propiedades especiales que afectan a los registros insertados. El campo puede ser definido como índice o autoincrementable, lo cual permite que los datos de ese campo cambien solos o sean el principal indicar a la hora de ordenar los datos contenidos.
Cada tabla creada debe tener un nombre único en la cada base de datos, haciéndola accesible mediante su nombre o su seudónimo (alias) (dependiendo del tipo de base de datos elegida).
La estructura de las tablas viene dado por la forma de un archivo plano, los cuales en un inicio se componían de un modo similar. 


QUE ES UN REGISTRO EN UNA BASE DE DATOS 
En informática, o concretamente en el contexto de una base de datos relacional, un registro (también llamado fila o tupla) representa un objeto único de datos implícitamente estructurados en una tabla. En términos simples, una tabla de una base de datos puede imaginarse formada de filas y columnas o campos. Cada fila de una tabla representa un conjunto de datos relacionados, y todas las filas de la misma tabla tienen la misma estructura.

Un registro es un conjunto de campos que contienen los datos que pertenecen a una misma repetición de entidad. Se le asigna automáticamente un número consecutivo (número de registro) que en ocasiones es usado como índice aunque lo normal y práctico es asignarle a cada registro un campo clave para su búsqueda.




QUE ES UN CAMPO EN UNA BASE DE DATOS 

MENCIONA 10 TIPOS DE CAMPOS EN BASES DE DATOS 

CREAR UNA BASE DE DATOS CON 3 TABLAS PARA UNA VETERINARIA


AGREGAMOS INFORMACIÓN A LAS TABLAS


TIPOS DE RELACIONES DE BASE DE DATOS




Informes en Base de Datos



FORMULARIOS



BASE DE DATOS DE FIFA






 



EVALUACION DE ACCESS







ADMINISTRACION MODERNA Y SISTEMAS DE INFORMACION

Publicado Por BartenSoft A las mayo 25, 2020

TEORIA ADMINISTRATIVA MODERNA 


TEORIA Z

Sugiere que los individuos no desligan su condición de seres humanos a la de empleados y que la humanización de las condiciones de trabajo aumenta la productividad de la empresa y a la vez la autoestima de los empleados.

viernes, 22 de mayo de 2020

POO

Publicado Por BartenSoft A las mayo 22, 2020

QUE ES POO EN SOFTWARE 


Los objetos manipulan los datos de entrada para la obtención de datos de salida permiten al usuario la creación de sus propias bibliotecas.

Está basada en varias técnicas: herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento.

Su uso se popularizó a principios de la década de 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientacion

específicos, donde cada objeto ofrece una funcionalidad especial.

Muchos de los objetos prediseñados de los lenguajes de programación actuales permiten la agrupación en bibliotecas o librerías, sin embargo, muchos de estos lenguajes 


QUE ES UN OBJETO EN POO

https://www.draw.io/ untitled driagram – draw.io diseño





Los objetos son ejemplares de una clase cualquiera. Cuando creamos un ejemplar tenemos que especificar la clase a partir de la cual se creará. Esta acción de crear un objeto a partir de una clase se llama instanciar Para crear un objeto se tiene que escribir una instrucción especial que puede ser distinta dependiendo el lenguaje de programación que se emplee, pero será algo parecido a esto.

Estados en objetos,Mensajes en objetos


QUE ES UNA CLASE EN POO

Clases en POO

Las clases son declaraciones de objetos, también se podrían definir como abstracciones de objetos. Esto quiere decir que la definición de un objeto es la clase. Cuando programamos un objeto y definimos sus características y funcionalidades en realidad lo que estamos haciendo es programar una clase. En los ejemplos anteriores en realidad hablábamos de las clases coche o fracción porque sólo estuvimos definiendo, aunque por encima, sus formas.

Propiedades en clases

Las propiedades o atributos son las características de los objetos. Cuando definimos una propiedad normalmente especificamos su nombre y su tipo. Nos podemos hacer a la idea de que las propiedades son algo así como variables donde almacenamos datos relacionados con los objetos.

Métodos en las clases

Son las funcionalidades asociadas a los objetos. Cuando estamos programando las clases las llamamos métodos. Los métodos son como funciones que están asociadas a un objeto.


CUALES SON LOS 4 PILARES FUNDAMENTALES DE POO


Herencia: Heredar características de una clase a otra
Pólimorfismo: cambiar atributos de un objeto
Encapsulamiento: Datos públicos,datos privados, datos protegidos
Abstraccion: Identificar las características y comportamientos de un objeto para construir la clase.

Abstracción

De acuerdo a la RAE, una de las acepciones de abstraer es:

“Hacer caso omiso de algo, o dejarlo a un lado.” Y ofrece como ejemplo: “Centremos la atención en lo esencial abstrayendo DE consideraciones marginales.”
El ejemplo dado captura la esencia del concepto de abstraer. Cuando hacemos una abstracción, queremos omitir detalles que no son necesarios para nosotros, y queremos solamente mostrar lo que sí es relevante.

Desde el punto de vista del desarrollo de software, podemos ver que con una clase podemos realizar una abstracción de una entidad del mundo real. Tomemos por ejemplo la clase carro que hicimos, esta tiene la posibilidad de guardar datos relacionados a la marca y al año de salida al mercado del carro, pero, ¿Por qué solamente estas dos informaciones? Un carro del mundo real tiene más propiedades, como el color y el modelo. Sin embargo, debemos preguntarnos, ¿Son estas informaciones relevantes para nuestro software?
Nuestra clase abstrae todo lo que representa un carro, tomando solamente lo que nos interesa, descartando todo lo demás.

Encapsulamiento 

Ya sabes que puedes utilizar clases para modelar entidades las cuales son relevantes para tu aplicación, sabes además que puedes guardar datos dentro de objetos, y también ejecutar funcionalidad. La pregunta que debemos hacernos es, ¿Debe cualquiera poder modificar de manera directa estos datos? ¿Debe cualquiera ejecutar cualquier funcionalidad de nuestros objetos en cualquier momento? Normalmente esto no es algo que queremos, nosotros queremos poder controlar la manera en que se asignen los datos, queremos poder controlar quién ve la data interna de nuestros objetos, e incluso quizás queramos controlar la ejecución de funcionalidad de nuestros objetos. Para esto tenemos el concepto de encapsulamiento.

El encapsulamiento nos permite controlar quien puede ver y utilizar los distintos módulos internos de nuestro sistema. En términos de clases, con el encapsulamiento definimos el acceso a los miembros de la clase.

En C# podemos utilizar modificadores de acceso para definir el control de agentes externos a distintas partes de nuestro sistema, como clases, miembros de las clases, interfaces, entre otros. Supongamos que tenemos una variable, llamada velocidad, la cual queremos colocar en nuestra clase Carro, para indicar la velocidad en la cual se desplaza un vehículo en particular. Sin embargo, queremos que solamente dentro de la clase podamos ver y modificar el valor de dicha variable. Esto lo podemos hacer o con un campo o con una propiedad. Hagámoslo con una propiedad:


public class Carro

{
public string Marca;
public int AñoSalidaAlMercado { get; set; }
private int Velocidad { get; set; }
public void Acelerar()
{
Velocidad += 10;
}
}

Cuando hagamos una instancia de la clase Carro, no podremos acceder al valor de la propiedad Velocidad, ni tampoco podemos alterarlo desde afuera. Lo que sí podemos hacer es utilizar la función acelerar para aumentar el valor de la velocidad en 10 unidades. Esta es una de las ventajas del encapsulamiento: Nos permite controlar la manera en que se va a alterar la data interna de nuestro objeto.

Si quisiéramos que agentes externos puedan ver el valor la propiedad Velocidad, pero que no puedan alterar libremente dicho valor, podemos utilizar la siguiente sintaxis:

public int Velocidad { get; private set; }

Herencia 

Compartir código es una importante y crucial característica de cualquier proyecto de software. Compartir código permite ahorrar trabajo cuando queremos hacer un cambio en nuestro sistema; permite que un solo algoritmo pueda procesar distintas clases de entidades; entre otras cosas.

Hay varias maneras de compartir código, una de ellas es utilizando herencia. La herencia es una relación especial entre dos clases, la clase base y la clase derivada, en donde la clase derivada obtiene la habilidad de utilizar ciertas propiedades y funcionalidades de la clase base, incluso pudiendo sustituir funcionalidad de la clase base. La idea es que la clase derivada “hereda” algunas de las características de la clase base.

Podemos ver un ejemplo de la clase Carro. Un carro es un tipo de vehículo, además, queremos procesar otro tipo de vehículos, cada uno con su entidad, como camión. Un carro y un camión comparten el concepto de velocidad, además, ambos tienen la capacidad de acelerar, y ambos tienen la capacidad de ir de reversa, sin embargo, cuando un camión va de reversa, este debe emitir un sonido. Finalmente, un carro debe poder encender la radio. Vamos entonces a modelar esto:

public class Vehículo
{
public string Marca;
public int AñoSalidaAlMercado { get; set; }
public int Velocidad { get; private set; }
public void Acelerar()
{
Velocidad += 10;
}
public virtual void Reversa()
{
Console.WriteLine("Voy de reversa!");
}
}
public class Carro: Vehículo
{
public void EncenderRadio()
{
Console.WriteLine("Encendiendo la radio");
}
}
public class Camión: Vehículo
{
public override void Reversa()
{
base.Reversa();
Console.WriteLine("BEEP BEEP BEEP!");
}
}

Vemos que tenemos 3 clases: Vehículo, Carro y Camión. Carro y Camión heredan de la clase Vehículo. La relación de herencia se representa de esta manera:

class Carro: Vehículo

Con esta sintaxis decimos que Carro es una clase derivada de Vehículo.

Vemos además que la función Acelerar está definida en la clase Vehículo, esto hace que todas las clases derivadas pueden hacer uso de dicha función. Lo mismo sucede con los campos y propiedades.
Ciertamente las clases Carro y Camión pueden definir sus propios miembros que no se relacionan con la clase Vehículo. Por ejemplo, la clase Carro tiene el método EncenderRadio el cual solo esta lo tiene.

Podemos también modificar funcionalidad de la clase base. Para esto, en la clase base, el método debe estar marcado como virtual. Y cuando se quiera sobrescribir, es decir, cambiar o agregar funcionalidad, esto lo podemos hacer haciendo un override, tal cual vemos en la clase Camión. Dentro del método Reversa de la clase Camión, tenemos el código base.Reversa(); el cual sirve para invocar el método reversa de la clase base.

Podemos utilizar el código anterior de la siguiente manera:

Carro miCarro = new Carro();
miCarro.AñoSalidaAlMercado = 2018;
miCarro.Acelerar();
Console.WriteLine(miCarro.Velocidad);
miCarro.Reversa();
Console.WriteLine("-------");
Camión miCamion = new Camión();
miCamion.Acelerar();
miCamion.AñoSalidaAlMercado = 2012;
miCamion.Reversa();


Clases Abstractas

¿Qué tal si quisiéramos que la clase Vehículo no pudiera ser instanciada? Podemos marcarla como una clase abstracta. Una clase abstracta es aquella que no puede ser instanciada. Es útil en situaciones de herencia donde no queremos que los usuarios instancien la clase base, sino que queremos que instancien solamente las clases derivadas. Para marcar la clase Vehículo como abstracta utilizamos abstract:

public abstract class Vehículo

¿Qué tal si quisiéramos obligar a las clases derivadas a implementar una función específica, sin que la clase base dé una implementación por defecto? Para esto podemos marcar el método como abstract. Ejemplo:

public abstract void MetodoObligatorio();

Interfaces 

Las interfaces nos ayudan a realizar otro tipo de herencia. Mientras que una clase base nos ofrece implementación por defecto de algunos métodos, como el método reversa de la clase Vehículo, las interfaces nos ofrecen un conjunto de miembros que las clases que implementan la interfaz deben implementar. Las interfaces no pueden ser instanciadas, igual que las clases abstractas.

Históricamente, una diferencia fundamental entre interfaces y clases abstractas es que las clases abstractas nos permiten crear implementaciones por defecto de métodos y las interfaces no. Sin embargo, es posible que en C# 8 eso cambie con la introducción de implementaciones por defecto en interfaces.

Nota: Aunque las interfaces son un tipo de herencia, es normal referirse a herencia solamente al caso en el que tenemos una clase base.

Polimorfismo 

Cuando empezamos a hablar de herencia, dijimos que la herencia “permite que un solo algoritmo pueda procesar distintas clases de entidades”. La idea es que podemos tener una función la cual reciba un parámetro, como una clase base, y podemos pasarle a ese método objetos que sean instancias de las clases derivadas de dicha clase base. Lo mismo ocurre si el método recibe como parámetro una interfaz. Podemos pasarle a dicho método cualquier clase que implemente dicha interfaz.

Polimorfismo significa de muchas formas. En nuestro caso llamamos polimorfismo cuando un método recibe un parámetro que abarca varios tipos.
Veamos un ejemplo de polimorfismo donde pasamos a un método la clase base Vehículo:

static void Reparar(Vehículo vehículo)
{
Console.WriteLine("Iniciando reparación");
Console.WriteLine("Probando acelerador");
Console.WriteLine($"Velocidad inicial {vehículo.Velocidad}");
vehículo.Acelerar();
Console.WriteLine($"Velocidad final {vehículo.Velocidad}");
Console.WriteLine("Probando reversa");
vehículo.Reversa();
Console.WriteLine("Listo!");
}

Este método invoca los métodos Acelerar y Reversa del vehículo que se le envíe como parámetro. La ventaja que esto ofrece es que podemos generalizar algoritmos para que funcionen con distintos tipos. En este caso, este método va a funciona con cualquier clase que herede de Vehículo, en tal sentido, incluso si en el futuro agregamos la clase Motocicleta, la cual hereda de Vehículo, podemos utilizar esta nueva clase con el método Reparar, y va a funcionar perfectamente. De esta manera se da el polimorfismo, pues el método reparar puede trabajar con varios tipos distintos.

En el método reparar no podemos hacer uso del método EncenderRadio de la clase Carro, pues la clase Vehículo no implementa dicho método. Lo que podríamos hacer es utilizar el operador is para castear a Carro en caso de que el Vehículo sea un carro:


if (vehículo is Carro miCarro)
{
miCarro.EncenderRadio();
}

Esta sintaxis es una manera resumida de decir:
if (vehículo is Carro)
{

Carro miCarro = vehículo as Carro;
miCarro.EncenderRadio();


QUE ES UML 


Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; está respaldado por el Object Management Group (OMG).

Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos, funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y compuestos reciclados.
Es importante remarcar que UML es un "lenguaje de modelado" para especificar o para describir métodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo.
Se puede aplicar en el desarrollo de software gran variedad de formas para dar soporte a una metodología de desarrollo de software (tal como el Proceso Unificado Racional, Rational Unified Process o RUP), pero no especifica en sí mismo qué metodología o proceso usar.


QUE SON DIAGRAMAS UML




Los diagramas de UML está compuesto por diversos elementos gráficos que se combinan para conformar diagramas. Debido a que el UML es un lenguaje, cuenta con reglas para combinar tales elementos. La finalidad de los diagramas es presentar diversas perspectivas de un sistema, a las cuales se les conoce como modelo. Recordemos que un modelo es una representación simplificada de la realidad; el modelo UML describe lo que supuestamente hará un sistema, pero no dice cómo implementar dicho sistema.


ENUNCIAR 8 TIPOS DE MDIAGRAMAS UL

Diagramas estructurales

Los diagramas estructurales muestran la estructura estática del sistema y sus partes en diferentes niveles de abstracción. Existen un total de siete tipos de diagramas de estructura:
Diagrama de clases

Muestra la estructura del sistema, subsistema o componente utilizando clases con sus características, restricciones y relaciones: asociaciones, generalizaciones, dependencias, etc.
Diagrama de componentes

Muestra componentes y dependencias entre ellos. Este tipo de diagramas se utiliza para el desarrollo basado en componentes (CDB), para describir sistemas con arquitectura orientada a servicios (SOA).
Diagrama de despliegue

Muestra la arquitectura del sistema como despliegue (distribución) de artefactos de software.
Diagrama de objetos

Un gráfico de instancias, incluyendo objetos y valores de datos. Un diagrama de objeto estático es una instancia de un diagrama de clase; muestra una instantánea del estado detallado de un sistema en un punto en el tiempo.
Diagrama de paquetes

Muestra los paquetes y las relaciones entre los paquetes.
Diagrama de perfiles

Diagrama UML auxiliar que permite definir estereotipos personalizados, valores etiquetados y restricciones como un mecanismo de extensión ligero al estándar UML. Los perfiles permiten adaptar el metamodelo UML para diferentes plataformas o dominios.
Diagrama de estructura compuesta

Muestra la estructura interna (incluidas las partes y los conectores) de un clasificador estructurado. 

Diagramas de comportamiento


A diferencia de los diagramas estructurales, muestran como se comporta un sistema de información de forma dinámica. Es decir, describe los cambios que sufre un sistema a través del tiempo cuando está en ejecución. Hay un total de siete diagramas de comportamiento, clasificados de la siguiente forma:
Diagrama de actividades

Muestra la secuencia y las condiciones para coordinar los comportamientos de nivel inferior, en lugar de los clasificadores que poseen esos comportamientos. Estos son comúnmente llamados modelos de flujo de control y flujo de objetos.
Diagrama de casos de uso

Describe un conjunto de acciones (casos de uso) que algunos sistemas o sistemas (sujetos) deben o pueden realizar en colaboración con uno o más usuarios externos del sistema (actores) para proporcionar algunos resultados observables y valiosos a los actores u otros interesados ​​del sistema(s).
Diagrama de máquina de estados

Se utiliza para modelar el comportamiento discreto a través de transiciones de estados finitos. Además de expresar el comportamiento de una parte del sistema, las máquinas de estado también se pueden usar para expresar el protocolo de uso de parte de un sistema.
Diagramas de interacción

Es un subconjunto de los diagramas de comportamiento. Comprende los siguientes diagramas:
Diagrama de secuencia

Es el tipo más común de diagramas de interacción y se centra en el intercambio de mensajes entre líneas de vida (objetos).
Diagrama de comunicación

Se enfoca en la interacción entre líneas de vida donde la arquitectura de la estructura interna y cómo esto se corresponde con el paso del mensaje es fundamental. La secuencia de mensajes se da a través de una numeración.
Diagrama de tiempos

Se centran en las condiciones que cambian dentro y entre las líneas de vida a lo largo de un eje de tiempo lineal.
Diagrama global de interacciones

Los diagramas global de interacciones brindan una descripción general del flujo de control donde los nodos del flujo son interacciones o usos de interacción.
¿Qué versiones existen de UML?

La versión actual de UML es la 2.5.1 y fue publicada en Junio de 2015. UML es gestionada y actualizada por la OMG (Object Manabement Group).

Los creadores originales de UML son 3: Jim Rumbaugh, Grady Booch e Ivar Jacobson.
Esta es la lista de versiones que han sido publicadas:

1.1 – Noviembre de 1997
1.3 – Marzo de 2000
1.4 – Septiembre de 2001
1.5 – Marzo de 2003
1.4.2 – Enero de 2005
2.0 – Octubre de 2005
2.1 – Abril de 2006
2.1.1 – Febrero de 2007
2.1.2 – Noviembre de 2007
2.2 – Febrero de 2009
2.3 – Mayo de 2010
2.4.1 – Agosto de 2011
2.5 – Junio de 2015
2.5.1 – Diciembre de 2017 (Última versión)

https://caprendizaje.sena.edu.co/sgva/SGVA_Diseno/pag/login.aspx 

DIAGRAMA DE CASOS DE USO

Un caso de uso es la descripción de una acción o actividad. Un diagrama de caso de uso es una descripción de las actividades que deberá realizar alguien o algo para llevar a cabo algún proceso. Los personajes o entidades que participarán en un diagrama de caso de uso se denominan actores. En el contexto de ingeniería del software, un diagrama de caso de uso representa a un sistema o subsistema como un conjunto de interacciones que se desarrollarán entre casos de uso y entre estos y sus actores en respuesta a un evento que inicia un actor principal. Los diagramas de casos de uso sirven para especificar la comunicación y el comportamiento de un sistema mediante su interacción con los usuarios y/u otros sistemas. O lo que es igual, un diagrama que muestra la relación entre los actores y los casos de uso en un sistema. Una relación es una conexión entre los elementos del modelo, por ejemplo la especialización y la generalización son relaciones. Los diagramas de casos de uso se utilizan para ilustrar los requisitos del sistema al mostrar cómo reacciona a eventos que se producen en su ámbito o en él mismo.


EJERCICIO PROPUESTO POR COMPAÑEROS



DIAGRAMA DE SECUENCIA

Un diagrama de secuencia muestra la interacción de un conjunto de objetos en una aplicación a través del tiempo y se modela para cada caso de uso. A menudo es útil para complementar a un diagrama de clases, pues el diagrama de secuencia se podría describir de manera informal como "el diagrama de clases en movimiento", por lo que ambos deben estar relacionados entre sí (mismas clases, métodos, atributos...). Mientras que el diagrama de casos de uso permite el modelado de una vista business del escenario, el diagrama de secuencia contiene detalles de implementación del escenario, incluyendo los objetos y clases que se usan para implementar el escenario y mensajes intercambiados entre los objetos;

Típicamente se examina la descripción de un caso de uso para determinar qué objetos son necesarios para la implementación del escenario. Si se dispone de la descripción de cada caso de uso como una secuencia de varios pasos, entonces se puede "caminar sobre" esos pasos para descubrir qué objetos son necesarios para que se puedan seguir los pasos. Un diagrama de secuencia muestra los objetos que intervienen en el escenario con líneas discontinuas verticales, y los mensajes pasados entre los objetos como flechas horizontales. 



EJEMPLO DE CLASE 



EJERCICIO PROPUESTO



DIAGRAMA DE ESTADOS

Diagrama de Estado: Este muestra la secuencia de estados por los que pasa bien un caso de uso, un objeto a lo largo de su vida, o bien todo el sistema. Es una forma de representación gráfica más intuitiva de los autómatas finitos basadas en dígrafos con arcos acotados llamados transiciones en los cuales se ponen los símbolos de tránsito entre un vértice (estado) y otro y se identifican los estados de partida y los de aceptación del resto. Los diagramas de estados finitos son también representaciones más cómodas para su elaboración, legibilidad y comprensión de distintos tipos de abstracciones computacionales de reconocimiento como los autómatas de pila y las máquinas de Turing.



EJERCICIO DE CLASE PROPUESTO
 



DIAGRAMAS DE ACTIVIDADES

El Diagrama de Actividad es un diagrama de flujo del proceso multi-propósito que se usa para modelar el comportamiento del sistema. Los diagramas de actividad se pueden usar para modelar un Caso de Uso, o una clase, o un método complicado.

Un diagrama de actividad es parecido a un diagrama de flujo; la diferencia clave es que los diagramas de actividad pueden mostrar procesado paralelo (parallel processing). Esto es importante cuando se usan diagramas de actividad para modelar procesos 'bussiness' algunos de los cuales pueden actuar en paralelo, y para modelar varios hilos en los programas concurrentes. 
 


ACTIVIDAD 

Explorar paso a paso como instalar a un pc de escritorio


DIAGRAMA DE CLASES

En ingeniería de software, un diagrama de clases en Lenguaje Unificado de Modelado (UML) es un tipo de diagrama de estructura estática que describe la estructura de un sistema mostrando las clases del sistema, sus atributos, operaciones (o métodos), y las relaciones entre los objetos.


EJERCICIO DE CLASE

Crear un diagrama de clases que tenga el nombre del cliente,nacionalidad,Boleto,numero de boleto,vuelo,elid del vuelo,fecha de salida,destino,motor del avión,marca del avión,año de fabricación del avión,avión,numero de placa y modelo del avión, decir si es avión de carga ponerle la capacidad de carga, si es avión de pasajeros poner la cantidad de asientos


DIAGRAMAS DE COMPONENTES


Un diagrama de componentes representa cómo un sistema de software es dividido en componentes y muestra las dependencias entre estos componentes. Los componentes físicos incluyen archivos, cabeceras, bibliotecas compartidas, módulos, ejecutables, o paquetes. Los diagramas de Componentes prevalecen en el campo de la arquitectura de software pero pueden ser usados para modelar y documentar cualquier arquitectura de sistema.

Debido a que los diagramas de componentes son más parecidos a los diagramas de casos de usos, éstos son utilizados para modelar la vista estática y dinámica de un sistema. Muestra la organización y las dependencias entre un conjunto de componentes. No es necesario que un diagrama incluya todos los componentes del sistema, normalmente se realizan por partes. Cada diagrama describe un apartado del sistema. En él se situarán librerías, tablas, archivos, ejecutables y documentos que formen parte del sistema. Uno de los usos principales es que puede servir para ver qué componentes pueden compartirse entre sistemas o entre diferentes partes de un sistema.



EJERCICIOS 
EJERCICIO DE CLASE DIAGRAMA DE CASOS DE USO SOFTWARE 



EJERCICIO DE SOFWARE DE ESTADO CIVIL DIAGRAMA DE ESTADOS 


Software para vender boletas diagrama de secuencias