lunes, 15 de noviembre de 2021

Principales diagramas de UML

  Se dividen en 2, diagramas estructurales y diagramas de comportamiento.

Diagramas estructurales:

  • Diagrama de clases.
  • Diagrama de componentes.
  • Diagrama de despliegue.
  • Diagrama de objetos.
  • Diagrama de paquetes.
  • Diagrama de perfiles.
  • Diagrama de estructura compuesta.

Diagramas de comportamiento:

  • Diagrama de actividades.
  • Diagrama de casos de usos.
  • Diagrama de secuencia.
  • Diagrama de comunicación.
  • Diagrama de tiempos.
  • Diagrama global de interacciones.

Diagramas para la documentación de las vistas propuestas en el modelo 4+1

Modelo “4+1” vistas de Kruchten

El modelo “4+1” de Kruchten, es un modelo de vistas [1] diseñado por el profesor Philippe Kruchten y que encaja con el estándar “IEEE 1471-2000” (Recommended Practice for Architecture Description of Software-Intensive Systems ) que se utiliza para describir la arquitectura de un sistema software intensivo basado en el uso de múltiples puntos de vista.

Vale, si por ahora no te has enterado de nada y no estas en 3 o 4 de carrera de Ingeniería del Software (o derivados) no te preocupes es normal, y si estas en 3 o 4 de carrera y aun así no te has enterado de nada, ¡Ponte las pilas YA! Porque estas cosas te deberían (por lo menos) sonar.

Antes de entrar a explicar mas en detalle el modelo de kruchten vamos a explicar e intentar dejar claro algunos conceptos como por ejemplo qué es un sistema software, qué es una vista y qué es un punto de vista.

Lo primero es saber que es eso de “un sistema software”, el cual lo definimos con la siguiente “ecuación” (made in jarroba.com).

 Sistema software = Hardware + Software

Efectivamente, a grandes rasgos un sistema software es un software (mas o menos complejo) que “corre” en un determinado hardware (mas o menos complejo). Por ejemplo, todo el rollo de los “cajeros automáticos” es un sistema software ya que en un “hardware” que llamamos “cajero”, se ejecuta algún tipo de programa (software) el cual nos permite realizar determinadas gestiones.

Otra cosa de la que habla este modelo de Kruchten es sobre los conceptos de vista y puntos de vista, pues bien una vista no es mas que una representación de todo el sistema software desde una determinada perspectiva, y un punto de vista se define como un conjunto de reglas (o normas) para realizar y entender las vistas.

Bien, sino te ha quedado muy claro que es esto de las vistas y los puntos de vista, vamos a explicarlo con una sencilla analogía del mundo de la arquitectura (de la arquitectura de las casas, edificios y esas cosas):

Si un arquitecto nos muestra un plano de una casa (como la de la siguiente imagen), nos esta mostrando una vista de la casa y como no tenemos ni idea de arquitectura, cuando nos explique o nos de un documento en el que explique que un determinado símbolo del plano representa a una puerta u otro símbolo representa una mesa, nos estará dado un punto de vista para que podamos entender el plano de la casa. Si mas tarde nos mostrase otro plano (o maqueta) de la casa, nos estaría dando otra vista de la casa y nos tendrá que explicar el nuevo punto de vista, es decir, que nos tendrá que explicar que significa cada símbolo u objeto de esa nueva vista.

Bueno pues vistos los conceptos de lo que son las vistas y los puntos de vista, y habiendo explicado que es un sistema software, uno ya se puede hacer a la idea de que va el modelo “4+1” vistas de Kruchten para la descripción de arquitecturas de sistemas software ¿NO?.

Pues sí, lo que propone Kruchten es que un sistema software se ha de documentar y mostrar (tal y como se propone en el estándar IEEE 1471-2000) con 4 vistas bien diferenciadas y estas 4 vistas se han de relacionar entre sí con una vista más, que es la denominada vista “+1”. Estas 4 vista las denominó Kruchten como: vista lógica, vista de procesos, vista de despliegue y vista física y la vista “+1” que tiene la función de relacionar las 4 vistas citadas, la denominó vista de escenario.

Cada una de estas vistas ha de mostrar toda la arquitectura del sistema software que se esté documentando, pero cada una de ellas ha de documentarse de forma diferente y ha de mostrar aspectos diferentes del sistema software. A continuación, pasamos a explicar que información ha de haber en la documentación de cada una de estas vistas.

Vista Lógica: En esta vista se representa la funcionalidad que el sistema proporcionara a los usuarios finales. Es decir, se ha de representar lo que el sistema debe hacer, y las funciones y servicios que ofrece. Para completar la documentación de esta vista se pueden incluir los diagramas de clases, de comunicación o de secuencia de UML.

Vista de Despliegue: En esta vista se muestra el sistema desde la perspectiva de un programador y se ocupa de la gestión del software; o en otras palabras, se va a mostrar como esta dividido el sistema software en componentes y las dependencias que hay entre esos componentes. Para completar la documentación de esta vista se pueden incluir los diagramas de componentes y de paquetes de UML.

Vista de Procesos: En esta vista se muestran los procesos que hay en el sistema y la forma en la que se comunican estos procesos; es decir, se representa desde la perspectiva de un integrador de sistemas, el flujo de trabajo paso a paso de negocio y operacionales de los componentes que conforman el sistema. Para completar la documentación de esta vista se puede incluir el diagrama de actividad de UML.

Vista Física: En esta vista se muestra desde la perspectiva de un ingeniero de sistemas todos los componentes físicos del sistema así como las conexiones físicas entre esos componentes que conforman la solución (incluyendo los servicios). Para completar la documentación de esta vista se puede incluir el diagrama de despliegue de UML.

“+1” Vista de Escenarios: Esta vista va a ser representada por los casos de uso  software y va a tener la función de unir y relacionar las otras 4 vistas, esto quiere decir que desde un caso de uso podemos ver como se van ligando las otras 4 vistas, con lo que tendremos una trazabilidad de componentes, clases, equipos, paquetes, etc., para realizar cada caso de uso. Para completar la documentación de esta vista se pueden incluir el diagramas de casos de uso de UML.

Las técnicas y principios de modelado de software

 


domingo, 10 de octubre de 2021

Identificación de requisitos de software

 ¿De qué manera aporta la correcta identificación de requisitos, al adecuado desarrollo del software?


Hace un aporte total al adecuado desarrollo de software, porque es en este punto donde se tiene que llegar a conocer realmente qué quiere y qué necesita el cliente para su desarrollo. Es en esta fase, dónde a través de la ingeniería de requisitos, utilizando cualquiera de sus métodos, se le da respuesta a todos los problemas que necesita resolver el cliente.


Es la piedra angular de todo desarrollo de software, si no se obtiene una buena identificación de requisitos, el proyecto más adelante tiende a fracasar y lo que es más importante, si no se hace una buena identificación de requisitos, se generarán pérdidas muy grandes de tiempo y dinero para ambas partes.


Por los dos motivos ya expuestos en los párrafos anteriores, la identificación de requisitos se debe hacer entre personas altamente calificadas, serias, conocedoras de ambos sistemas y que tengan una excelente capacidad de comunicación.

martes, 7 de septiembre de 2021

principios presentados por el manifiesto ágil

 Principios Manifiesto Agil 

1. Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor.

2. Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos Ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.

3.Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al periodo de tiempo más corto posible.

4. Los responsables de negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.

5. Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo.

6.El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus miembros es la conversación cara a cara.

7. El software funcionando es la medida principal de progreso.

8. Los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida.

9.La atención continua a la excelencia técnica y al buen diseño mejora la Agilidad.

10.La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.

11. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.

12. A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia



Importancia del proceso de software, métodos, y herramientas en su ciclo de vida


 

Reconociendo lo aprendido sobre IoT - Mi portafolio unidad 1



INFOGRAFIA SOBRE INTERNET DE LAS COSAS


Infograma sobre la integración y relevancia de la IoT en la sociedad productiva actual, donde se integran elementos estadísticos relevantes al tema y respeto por la propiedad intelectual.

Realizar el portafolio es muy importante ya que gracias a el podemos darnos cuenta como nuestro aprendizaje cada vez más evoluciona y además de cuando se nos olvide algún tema poder volverlo a recordar.



 

domingo, 5 de septiembre de 2021

Características de los sistemas operativos

Características:


 Android:

  • Código abierto.
  • Núcleo basado en el Kernel de Linux.
  • Adaptable a muchas pantallas y resoluciones.
  • Utiliza SQLite para el almacenamiento de datos.
  • Ofrece diferentes formas de mensajería.
  • Navegador web basado en WebKit incluido.
  • Soporte de Java y muchos formatos multimedia.
  • Soporte de HTML, HTML5, Adobe Flash Player, etc.
  • Incluye un emulador de dispositivos, herramientas para depuración de memoria y análisis del rendimiento del software.
  • Catálogo de aplicaciones gratuitas o pagas en el que pueden ser descargadas e instaladas (Google Play).
  • Bluetooth.
  • Google Talk desde su versión HoneyComb, para realizar videollamadas.
  • Multitarea real de aplicaciones.


IOS:

  • Es un sistema operativo que no se puede modificar, es decir, es cerrado
  • Presenta monitoreo para el consumo de la batería.
  • Se puede realizar la instalación de otros teclados.
  • Presenta una interfaz de calidad para la realización de acciones de fotos, vídeos notas de voz, compartimientos, y más.
  • Es posible llevar a cabo la identificación de canciones.
  • Son muchas las actualizaciones que se presentan.
  • Presenta integrado de manera directa la red social Twitter.Es un sistema operativo que no se puede modificar, es decir, es cerrado
  • Presenta monitoreo para el consumo de la batería.
  • Se puede realizar la instalación de otros teclados.
  • Presenta una interfaz de calidad para la realización de acciones de fotos, vídeos notas de voz, compartimientos, y más.
  • Es posible llevar a cabo la identificación de canciones.
  • Son muchas las actualizaciones que se presentan.
  • Presenta integrado de manera directa la red social Twitter.


Windows Phone

  • Se encuentra diseñado de manera muy similar a su versión en ordenadores, por lo tanto hace uso de aplicaciones importantes que son herramientas relevantes como por ejemplo el Office Mobile, Outlook Mobile y otros.
  • Permite la personalización de la pantalla de inicio, así como la de bloqueo, este puede llevarse a cabo haciendo uso de imágenes, informaciones, y más
  • Presenta integrado directamente Skype, así como otras aplicaciones de música, y de uso constante para la creación de comunicación entre usuarios.
  • La desventaja que se destaca es que no cuenta con muchas aplicaciones.


BlackBerry OS

  • Presenta un funcionamiento de multitareas, además que presenta diferentes métodos para llevar a cabo soporte de su funcionamiento.
  • Su uso es completamente profesional, contando con herramientas vitales para ello, como l oes el calendario, agenda, correo, y otros.
  • Posibilidad de generar la sincronización con otro tipo de herramientas y aplicaciones que se requieran emplear


Ventaja del sistema operativo

En la actualidad los teléfonos inteligentes nos ofrecen innumerables posibilidades para elegir entre una gran variedad de ofertas distintas que encontramos en el mercado. Aunque cada sistema operativo tiene sus ventajas como sus desventajas.

Código abierto: posibilita una gran variedad de ventajas más, como por ejemplo el hecho de que los errores puedan ser revisados y reparados con mayor rapidez

Mayor libertad: libertad total con la que trabajan los desarrolladores de Android para realizar todo tipo de aplicaciones sin límites y sin pedir ningún tipo de permiso.

Diversidad y versatilidad: Android es también el sistema operativo que cuenta con un mayor número de fabricantes y está presente en la mayoría de marcas comerciales, así como de usuarios, lo que lo convierte en el sistema más utilizado.

Presentacion dispositivos moviles

 Uno de los ámbitos multimedia con más crecimiento en los últimos años ha sido el de los dispositivos móviles. La llegada de los smartphones disparó en su momento la creación de aplicaciones móviles que aprovechan la capacidad multimedia de estos dispositivos. La aparición y el despegue poco después de las tabletas ha convertido el desarrollo de aplicaciones para dispositivos móviles en un pilar de la industria multimedia.


El multimedia siempre ha sido un entorno con mucha relación con la programación. Cuando un elemento se mueve en nuestras pantallas, cuando se interacciona con el usuario, cuando se reproduce un sonido tras un determinado evento, unas cuantas líneas de código se están ejecutando para generar esa situación. Si bien con Flash se pueden simular algunos movimientos y algunas interacciones sin programación, en los dispositivos móviles es difícil imaginarse una aplicación multimedia que no tenga un importante componente de programación detrás.


Pero la programación en cada sistema operativo es un pequeño mundo. Existen lenguajes o frameworks que nos permiten la creación de programas multidispositivo (se programa una vez y se ejecuta en cualquier dispositivo), pero para aplicaciones complejas que requieren un gran rendimiento, la programación suele hacerse en los lenguajes nativos de cada sistema operativo, con lo que debe reescribirse la aplicación para cada sistema operativo.


Hoy en día, podemos encontrar dispositivos móviles con, principalmente, los siguientes sistemas operativos :


Android.

IOS

BlackBerry

Symbian

Windows Phone

Entre Otros

Para cada uno de esos sistemas operativos hay uno o varios SDK (kit de desarrollo de software) con soporte para uno o más lenguajes de programación. Así, Android tiene un SDK para Java, iOS uno para Objective-C, Bada uno para C++, Symbian tiene SDK para dos lenguajes diferentes (C++ y Java) y BlackBerry ofrece SDK para C++ (aunque da soporte a múltiples lenguajes y plataformas).

miércoles, 25 de agosto de 2021

Seguridad informatica

 Amenazas por el medio utilizado 

  • Virus Informático
  • Ingeniería Social
  • Denegación del Servicio
  • Spoofing-Suplantación

Amenazas por el efecto 

  • Robo de información
  • Destrucción de información
  • Anulación del funcionamiento de los  sistemas o efectos que tiendan a ello
  • Suplantación de la identidad
  • Publicidad de datos personales o confidenciales
  • Cambio de información

Amenazas por el origen 

  • Internas: Entregar las claves de acceso de la compañia.
  • Externos: Permitir accesos de red WiFi abiertos.


CUESTIONARIO

características de los sistemas operativos

 Es el intermediario entre el usuario y el hardware.

Es necesario para el funcionamiento de todos los computadores, tabletas y teléfonos móviles.

Otorga seguridad y protege a los programas y archivos del ordenador.

Está diseñado para ser amigable con el usuario y fácil de usar.

Permite administrar de manera eficiente los recursos del ordenador.

La mayoría requiere del pago de una licencia para su uso.

Permite interactuar con varios dispositivos.

Es progresivo, ya que existen constantemente nuevas versiones que se actualizan y adaptan a las necesidades del usuario. - Fuente: https://concepto.de/sistema-operativo/

viernes, 6 de agosto de 2021

Presentacion Auditoria de Sistemas

 La auditoría de sistemas es un proceso de comprobación para recoger y evaluar información de que un sistema cumple con los criterios de seguridad, calidad y funcionalidad.


Los objetivos de la auditoría de sistemas son:


Evaluar los sistemas y procesos implantados para organizar la información.

Determinar los riesgos que afectan a los activos de la organización e identificar los métodos para minimizar los riesgos.

Asegurar que los procesos de gestión de la información cumplen todas las normas, leyes, directivas y políticas que afecten la información.

Determinar las ineficiencias de los sistemas informáticos.


Presentacion Internet de las cosas

  El Internet de las cosas nos llevara en un futuro cercano a realizar mejoras en todas las ramas de las tecnologías digitales y electrónicas, con su gran facilidad  y adaptabilidad a los procesos que los seres humanos realizamos en nuestras vidas cotidianas en el trabajo, el estudio, los desplazamientos, construcciones... etc. tendremos una diversidad y retos para realizar con los dispositivos aquellas tareas simples y complejas que pueden ser hechas por estos dispositivos.



Presentación Ingenieria de Software I

 “La ingeniería del software es el establecimiento y uso de principios de ingeniería robustos, orientados a obtener económicamente software que sea fiable y funcione eficientemente sobre máquinas reales.”

Fritz Bauer


La ingeniería del software es, entonces, el proceso de desarrollo que seguimos para construir un sistema informático y posteriormente mantenerlo, ajustándonos siempre a diferentes factores: recursos, coste, duración, calidad, etc. y tiene, por tanto, como objetivo proporcionar métodos, herramientas, procedimientos y técnicas con el fin de reducir el coste de los proyectos y mejorar la calidad del software. En otras palabras, ayuda al ingeniero de software a desarrollar y mantener su sistema informático asegurando su calidad, su fiabilidad y su productividad, entre otras características.



Presentación seguridad informática

 La seguridad informática se encarga de proteger la integridad y la privacidad de la información almacenada en un sistema informático. Aunque ya hay métodos muy capaces de preservar esta información a salvo, no hay ninguna técnica que permita asegurar la inviolabilidad de un sistema. También  se enfoca en la protección de la infraestructura computacional y todo lo relacionado con esta y, especialmente, la información contenida o circulante. Para ello existen una serie de estándares, protocolos, métodos, reglas, herramientas y leyes concebidas para minimizar los posibles riesgos a la infraestructura o a la información. La seguridad informática comprende software (bases de datos, metadatos, archivos), hardware y todo lo que la organización valore (activo) y signifique un riesgo si esta información confidencial llega a manos de otras personas, convirtiéndose, por ejemplo, en información privilegiada.

La seguridad informática se encarga, entre otros, de proteger los activos informáticos, entre los que se encuentran los siguientes:


La infraestructura computacional

Los usuarios

La información




Presentación Programación de Dispositivos Móviles

 La programación de dispositivos móviles es la herramienta y técnica para desarrollar aplicaciones Android, esto significa que hay que diseñar, implementar y probar las aplicaciones, precisamente una de las fortalezas de la programación de dispositivos móviles es cubrir todo el ciclo de vida de las aplicaciones desde que se instala en el entorno de trabajo (Android Studio) hasta que se acaba publicando la aplicación  en la tienda (Google Play).

Además también intenta cubrir problemáticas especificas de la plataforma Android como puede ser la fragmentación en diferentes tipos y tamaños de dispositivos y diferentes versiones de la plataforma.



lunes, 7 de junio de 2021

MI RESPONSABILIDAD EN EL MANEJO DE INFORMACIÓN DE UNA BASE DE DATOS

 ¿Qué acciones emprendería ante un incidente como la manipulación de una Base de Datos?


Como lo fue en su momento el oro o los granos, y el dinero en la actualidad, lo que se considera un tesoro o una riqueza está sujeto a incidentes como la manipulación indebida de los Datos, que son la riqueza actual de muchas empresas e instituciones.

Lo primero que yo haría es mirar a fondo cómo se manipuló y hasta qué nivel llegó la manipulación indebida. Se podría decir: "¿Por qué no toma acciones inmediatas en vez de estudiar el problema a fondo?" La respuesta es que frente a estas situaciones, la precipitación por solucionar un problema puede convertirse en una mala decisión, pues al no estudiar el problema a fondo no se mitiga el error en su totalidad, dejando así una entrada abierta a futuras manipulaciones.

Lo segundo, sería revisar periódicamente las fugas o problemas de seguridad que pueda tener la Base de Datos. Dados los continuos peligros, lo mejor es revisar continuamente todos los sistemas y códigos de seguridad, de modo que se pueda estar evaluando la efectividad, inusualidad o innecesariedad de algunos esquemas.

Finalmente, y como opinión personal que es contraria a lo que generalmente se hace en las empresas, es no revelar los esquemas o métodos de seguridad. Como muestra de su gestión, las empresas suelen contar al público cuáles han sido los nuevos montajes que se han hecho en temas de seguridad de la información. Aunque es una forma en la cual brindan seguridad a los usuarios, desafortunadamente se convierten en objeto de estudio por los manipuladores, buscando así las formas de burlar este montaje y así hacerlo obsoleto en poco tiempo.

Infografía sobre el futuro de las bases de datos


 

EJECUCIÓN EJEMPLOS BDD

En Cali se mantendrá el salario y la bonificación por horas extras de los empleados para el cálculo de la nómina; además allí se mantendrá la cantidad y el valor de cada medicamento para control de las existencias de todos los medicamentos.

En cada ciudad se desea mantener la información de los proyectos, las brigadas de salud, los medicamentos y de los empleados. La base de datos relacional es la siguiente:

 

PROYECTO(cod_proy, nom_proy, ciudad)

BRIGADA(cód_bri, nom_bri, cod_proy)

PARTICIPA(cod_bri, cédula, fecha)

EMPLEADO(cedula, nom_emp, telefono, salario, bonificacion)

BRI_MED(cod_bri, cod_med, canti_utilizada)

MEDICAMENTO(cod_med, nom_med, forma_uso, cantidad, valor)

 

Realice las particiones necesarias para una mejor autonomía local y construya la tabla de asignación de fragmentos en cada localidad.

Se procede a elaborar la base de datos en Sql, asi:

 

create database Farmacias

use  farmacias

create table Proyecto

(Cod_Proy int not null,

Nom_Proy varchar (50)not null,

Ciudad varchar(50)not null

primary key(Cod_Proy))

 

create table Brigada

(Cod_Bri int not null,

Nom_Bri varchar(50)not null,

Cod_Proy int,

Primary key (Cod_Bri),

Foreign key (Cod_Proy)references Proyecto(Cod_Proy)

on delete cascade on update cascade)

 

create table Participa

(Cod_Bri int not null,

Cedula int not null,

Fecha datetime not null,

foreign key (Cod_Bri)references Brigada(Cod_Bri)

on delete cascade on update cascade)

 

create table Empleado

(Cedula int not null,

Nom_Emp varchar (50) not null,

Telefono varchar(50) not null,

Salario decimal not null,

Bonificacion decimal not null)

 

Create table Medicamento

(Cod_Med int not null,

Nom_Med varchar(50) not null,

Forma_Uso varchar(50)not null,

Cantidad int not null,

Valor decimal not null,

primary key (Cod_med))

 

create table Bri_Med

(Cod_Bri int not null,

Cod_Med int not null,

Canti_Utilizada int not null,

foreign key (Cod_Bri)references Brigada(Cod_Bri)

on delete cascade on update cascade, foreign key

(Cod_Med)references Medicamento(Cod_Med)

on delete cascade on update cascade)

 

 

Con esto queda creada la base de datos, con las respectivas tablas. A continuación veremos el pantallazo de los cinco ejercicios propuestos:

 

Fragmentación horizontal proyecto

Aca, se crean tablas discriminadas para cada una de las ciudades, pues si vemos en la tabla proyecto, en la columna ciudad estarían todas revueltas.

Veremos al lado izquierdo de las imágenes las tablas de fragmentación ya creadas.

 

Cali

 

Select *

into ProyectoC

From PROYECTO

Where ciudad = 'Cali'

 

Para visualizar la tabla ProyectoC se da la sentencia: select*from proyectoC. No se veran datos, porque no hemos llenado las tabla, pero se vera su estructura. Si metieramos datos a la tabla proyecto, aca se veria la tabla proyectoC.



Bogota

 

Select *

into ProyectoB

From PROYECTO

Where ciudad = 'Bogotá'

 

Para visualizar la tabla ProyectoB se da la sentencia: select*from proyectoB. No se veran datos, porque no hemos llenado las tabla, pero se vera su estructura. Si metieramos datos a la tabla proyecto, aca se veria la tabla proyectoB.

 


Medellin

 

Select *

into ProyectoMe

From PROYECTO

Where ciudad = 'Medellín'

 

Para visualizar la tabla ProyectoM se da la sentencia: select*from proyectoM. No se veran datos, porque no hemos llenado las tabla, pero se vera su estructura. Si metieramos datos a la tabla proyecto, aca se veria la tabla proyectoM.

 


Manizales


Select *

into ProyectoMa

From PROYECTO

Where ciudad = 'Manizales'

 

Para visualizar la tabla ProyectoMa se da la sentencia: select*from proyectoMa. No se veran datos, porque no hemos llenado las tabla, pero se vera su estructura. Si metieramos datos a la tabla proyecto, aca se veria la tabla proyectoMa

 


Fragmentación horizontal derivada brigada

 

Esto lo que hace es crear una nueva tabla BrigadaC con todos los registros de la tabla Brigada, donde Cod_Proy de ProyectoC y Brigada, coincidan.

 

Cali

 

Select Brigada.*

into BrigadaC

From BRIGADA inner join ProyectoC

On BRIGADA.cod_proy= ProyectoC.cod_proy

 


 

MI APRENDIZAJE SOBRE DIAGRAMA DE CLASES

Completar los demás supuestos semánticos que hacen falta para construir el modelo orientado a objetos o el diagrama de clases, ubicando las clases, subclases, objetos, herencia simple y herencia múltiple si la hay. 

Una empresa dedicada a comercializar cocinas desea aumentar su control sobre aquellos elementos que le afectan. Del resultado del análisis que realiza obtiene la siguiente información. 

Hay una serie de fabricantes de muebles de cocina; de cada fabricante se dispone de su cédula, nombre, teléfono, nivel de calidad y su experiencia. 

Un mueble tiene una determinada línea, color, dimensiones (ancho, largo y alto) y una categoría. Cada fabricante puede trabajar con varios distribuidores y cada distribuidor trabaja al menos con un fabricante; de un distribuidor se conoce la cédula, nombre, teléfono, calificación de vendedor y fecha de ingreso. 

Una cocina la compone una serie de muebles de distinto tipo, cada mueble solo podrá formar parte de una única cocina. De una cocina nos interesa conocer el número de muebles que la componen y su código que la diferencia de las demás. 

La cocina la puede vender un único distribuidor en una determinada fecha aunque un distribuidor puede vender varias cocinas. Cada cocina la debe instalar al menos un instalador y el mismo instalador puede instalar varias cocinas. 

De un instalador nos interesa conocer la cédula, nombre, teléfono y número de cocinas instalado. Cada cocina puede comprarla un solo cliente y el mismo cliente puede comprar varias cocinas. Del cliente nos interesa conocer la cédula, nombre, dirección, fecha de ingreso y teléfono.


SOLUCIÓN DEL EJERCICIO


Del ejercicio deducimos que la clase principal es persona, con los atributos: Cédula, nombre y teléfono. Como fabricante, distribuidor, cliente e instalador son personas; estos heredan sus atributos, ademas, cada uno cuenta con otros tantos que los hace un objeto particular.

El fabricante y el distribuidor están ligados mediante la clase trabaja, que contiene la cédula de  quien lo contrata. 

Instalación es la clase que hace el empalme entre el venta y el instalador, esta clase tiene la fecha de instalación, el código de venta y la cédula del instalador, ademas maneja el método instalación.

Para cocina, tenemos que tiene relación con muebles, porque esta compuesta de muebles y con venta, ya que las cocinas son vendidas, esta relación se da por medio de cod_cocina. Los métodos que se usan están escritos en el diagrama.




Tarea Consulta nuevas tendencias de las BD




 

Análisis BDOO y BDD

 Diseño de una Base de Datos Distribuida


Base de datos distribuida:

Es una base que está repartida o almacenada en diferentes partes de la red, con esto se utiliza el acceso de datos en distintas posiciones geográficas.



Base de datos orientada a objetos:

En esta base se definen una serie de operación para su manipulación, y se integra con un lenguaje de programación orientado a objetos. Ejemplo C#

Se almacenan sus componentes como objetos y no como datos.



En qué casos recomienda el uso de una BDOO y en qué casos el uso de una BDD?

R/  para una BDOO es mejor usarla cuando se van a manejar datos complejos y relaciones entre datos directamente, los objetos tienen relaciones mucho a muchos, y se accede mediante punteros.

R/ y con una BDD si queremos tener una base más confiable, con mayor tiempo de respuesta y aparte menor costo de comunicación esta es la base perfecta para esas características.


sábado, 5 de junio de 2021

Mi Responsabilidad Administrando Bases de datos

 Ley de Hábeas Data

Ley 1266 de 2008

El Habeas Data

El Habeas Data es el derecho fundamental que tiene toda persona para conocer, actualizar y rectificar toda aquella información que se relacione con ella y que se recopile o almacene en bancos de datos. (Artículo 15 de la Constitución Política de Colombia, Desarrollado por la Ley 1266 de 2008.)


Ámbito de aplicación

Esta Ley se aplica a todos los datos de información personal registrados en un banco de datos, sean estos administrados por entidades de naturaleza pública o privada. (Artículo 2 de la Ley 1266 de 2008)


Derechos de los titulares de la información

Los derechos específicos de los titulares de la información, de conformidad con el artículo 6 de la Ley 1266 de 2008 son:

1. Frente a los operadores de los bancos de datos:

1.1 Ejercer el derecho fundamental al hábeas data en los términos de la presente ley, mediante la utilización de los procedimientos de consultas o reclamos, sin perjuicio de los demás mecanismos constitucionales y legales.

1.2 Solicitar el respeto y la protección de los demás derechos constitucionales o legales, así como de las demás disposiciones de la presente ley, mediante la utilización del procedimiento de reclamos y peticiones.

1.3 Solicitar prueba de la certificación de la existencia de la autorización expedida por la fuente o por el usuario. 

1.4 Solicitar información acerca de los usuarios autorizados para obtener información.

2. Frente a las fuentes de la información:

2.1 Ejercer los derechos fundamentales al hábeas data y de petición, cuyo cumplimiento se podrá realizar a través de los operadores, conforme lo previsto en los procedimientos de consultas y reclamos de esta ley, sin perjuicio de los demás mecanismos constitucionales o legales.

2.2 Solicitar información o pedir la actualización o rectificación de los datos contenidos en la base de datos, lo cual realizará el operador, con base en la información aportada por la fuente, conforme se establece en el procedimiento para consultas, reclamos y peticiones.

2.3 Solicitar prueba de la autorización, cuando dicha autorización sea requerida conforme lo previsto en la presente ley. 

3. Frente a los usuarios:

3.1 Solicitar información sobre la utilización que el usuario le está dando a la información, cuando dicha información no hubiere sido suministrada por el operador.

3.2 Solicitar prueba de la autorización, cuando ella sea requerida conforme lo previsto en la presente ley.


Deberes de las fuentes de información


  • Garantizar que la información que se suministre a los operadores de los bancos de datos o a los usuarios sea veraz, completa, exacta, actualizada y comprobable.
  • Reportar, de forma periódica y oportuna al operador, todas las novedades respecto de los datos que previamente le haya suministrado y adoptar las demás medidas necesarias para que la información suministrada a este se mantenga actualizada.
  • Rectificar la información cuando sea incorrecta e informar lo pertinente a los operadores.
  • Diseñar e implementar mecanismos eficaces para reportar oportunamente la información al operador.
  • Solicitar, cuando sea del caso, y conservar copia o evidencia de la respectiva autorización otorgada por los titulares de la información.
  • Certificar, semestralmente al operador, que la información suministrada cuenta con la autorización.
  • Resolver los reclamos y peticiones del titular.
  • Informar al operador que determinada información se encuentra en discusión por parte de su titular, cuando se haya presentado la solicitud de rectificación o actualización de la misma.
  • Deber de comunicar al titular de la información previamente al reporte.


Bancos de Datos

Los bancos de datos o centrales de información son sociedades o agremiaciones de carácter privado en las cuales se registra el comportamiento crediticio, financiero y comercial de las personas que celebran operaciones con entidades financieras, cooperativas y empresas del sector real. Las centrales de información no están sujetas a la inspección y vigilancia de la Superintendencia Financiera de Colombia.

Cuando se trata de operaciones activas de crédito celebradas con instituciones financieras, estas entidades tienen el deber de actualizar y rectificar permanentemente la información reportada a efectos de que siempre sea verdadera y completa.


Acerca de los reportes negativos:

¿A partir de cuándo puede la información negativa ser reportada a una central de información?

Las fuentes de información podrán efectuar el reporte de la información transcurridos veinte(20) días calendario siguientes, desde que la entidad le envíe una comunicación a la última dirección que se encuentre registrada en los archivos de la fuente de la información.

¿Por cuánto tiempo quedará el histórico de la información negativa en los bancos de datos desde que la persona se encuentre al día en los pagos?

La información de carácter positivo permanecerá de manera indefinida en los bancos de datos de los operadores de información. El término de permanencia de la información negativa no podrá exceder el doble de la mora reportada, cuando la misma sea inferior a dos (2) años; en el caso en que la mora reportada sea igual o superior a dos (2) años, el dato negativo permanecerá por cuatro (4) años más, contados a partir de la fecha en que se extinga la obligación por cualquier modo. (Artículo 13 de la Ley 1266 de 2008).


¿Cuál es la finalidad para que los usuarios puedan acceder a la información?


La información contenida en bancos de datos de información financiera, crediticia, comercial, de servicios y la proveniente de terceros países podrá ser accedida por los usuarios únicamente con las siguientes finalidades:

  • Como elemento de análisis para establecer y mantener una relación contractual, cualquiera que sea su naturaleza.
  • Para la evaluación de los riesgos derivados de una relación contractual vigente.
  • Como elemento de análisis para hacer estudios de mercado o investigaciones comerciales o estadísticas.
  • Para el adelantamiento de cualquier trámite ante una autoridad pública o una persona privada, respecto del cual dicha información resulte pertinente.
  • Para cualquier otra finalidad, diferente de las anteriores, respecto de la cual y en forma general o para cada caso particular se haya obtenido autorización por parte del titular de la información.


¿Cuáles son los procedimientos para la atención de peticiones, consultas y reclamos?

Los titulares de la información o sus causahabientes podrán consultar la información personal del titular, que repose en cualquier banco de datos, sea este del sector público o privado. La petición, consulta de información se formulará verbalmente, por escrito, o por cualquier canal de comunicación, siempre y cuando se mantenga evidencia de la consulta por medios técnicos. La petición o consulta se deberá atender de fondo, suministrando integralmente toda la información solicitada. Los titulares de la información o sus causahabientes que consideren que la información contenida en su registro individual en un banco de datos debe ser objeto de corrección o actualización podrán presentar un reclamo ante el operador. La petición o reclamo se formulará mediante escrito dirigido al operador del banco de datos, con la identificación del titular, la descripción de los hechos que dan lugar al reclamo, la dirección, y si fuere el caso, acompañando los documentos de soporte que se quieran hacer valer.

Definiciones Importantes que consagra la Ley de Hábeas Data  (Artículo 3 de la Ley 1266 de 2008).

Titular de la información: Es la persona natural o jurídica a quien se refiere la información que reposa en un banco de datos y sujeto del derecho de hábeas data y demás derechos y garantías a que se refiere la ley.

Fuente de información: Es la persona, entidad u organización que recibe o conoce datos personales de los titulares de la información, en virtud de una relación comercial o de servicio o de cualquier otra índole y que, en razón de autorización legal o del titular, suministra esos datos a un operador de información, el que a su vez los entregará al usuario final.

Operador de información: Se denomina operador de información a la persona, entidad u organización que recibe de la fuente datos personales sobre varios titulares de la información, los administra y los pone en conocimiento de los usuarios bajo los parámetros de la presente ley. Por tanto el operador, en cuanto tiene acceso a información personal de terceros, se sujeta al cumplimiento de los deberes y responsabilidades previstos para garantizar la protección de los derechos del titular de los datos.

Usuario: El usuario es la persona natural o jurídica que, en los términos y circunstancias previstos en la ley de hábeas data, puede acceder a información personal de uno o varios titulares de la información suministrada por el operador o por la fuente, o directamente por el titular de la información. El usuario, en cuanto tiene acceso a información personal de terceros, se sujeta al cumplimiento de los deberes y responsabilidades previstos para garantizar la protección de los derechos del titular de los datos.

Dato personal: Es cualquier pieza de información vinculada a una o varias personas determinadas o determinables o que puedan asociarse con una persona natural o jurídica. Los datos impersonales no se sujetan al régimen de protección de datos de la presente ley. Cuando en la presente ley se haga referencia a un dato, se presume que se trata de uso personal.

Los datos personales pueden ser públicos, semiprivados o privados.

Dato público: Es el dato calificado como tal según los mandatos de la ley o de la Constitución Política y todos aquellos que no sean semiprivados o privados, de conformidad con la presente ley. Son públicos, entre otros, los datos contenidos en documentos públicos, sentencias judiciales debidamente ejecutoriadas que no estén sometidos a reserva y los relativos al estado civil de las personas.

Dato semiprivado: Es semiprivado el dato que no tiene naturaleza íntima, reservada, ni pública y cuyo conocimiento o divulgación puede interesar no sólo a su titular sino a cierto sector o grupo de personas o a la sociedad en general, como el dato financiero y crediticio de actividad comercial o de servicios a que se refiere el dato.

Dato privado: Es el dato que por su naturaleza íntima o reservada sólo es relevante para el titular.

Como administrador de bases de datos debo actuar en procura del cumplimiento de la ley de Hábeas Data y promover en todo momento el respeto de la misma, así el cuidado de los datos suministrados en mi labor.

Además, teniendo en cuenta que en mi rol, es necesario el manejo de gran cantidad de datos, muchos de los cuales pueden resultar ser altamente sensibles, mi comportamiento en dicho manejo debe ser ético, velando por la seguridad de toda la información que me ha sido entregada.

“Mi aprendizaje sobre programación SQL





Mis ejemplos propuestos BD Brigadas

 Mis ejemplos propuestos BD Brigadas:

Trigger

Aumentar el salario del empleado en 10% si participa en una nueva brigada)


CREATE TRIGGER tr_aumento_salario_nuevo

on participa

after insert

as

if exists (select cedula from inserted)

begin

update empleado

set salario = salario + salario * 0.1

from empleado inner join inserted on empleado.cedula = inserted.cedula

end


insert into participa (cod_bri, cedula, fecha) values (301,104,2019-11-05)

select * from empleado

select * from brigada


Vistas
CREATE VIEW v_datos_empleados
as
select top 10 empleado.cedula, nom_emp, telefono, participa.cod_bri
from empleado inner join participa on empleado.cedula = participa.cedula
order by cedula
GO

select * from v_datos_empleados




Procedimiento almacenado

--ejemplo procedimiento almacenado (servira para agregar medicamentos)

CREATE PROCEDURE insertar_medicamento
    (@cod_med int,
     @nom_med varchar (50),
     @forma_uso varchar(20),
     @cantidad int,
     @valor int)
as
begin
insert into medicamento (cod_med, nom_med, forma_uso, cantidad, valor)
      values(@cod_med, @nom_med, @forma_uso, @cantidad, @valor)
end
go

exec insertar_medicamento 10,'ibuprofeno', 'pastillas', 30, 10000
select * from medicamento



Funciones
--ejemplo de funcion (funcion para mostrar forma de medicamento)
CREATE FUNCTION fun_forma_medicamento(@forma_uso varchar(20))
returns table as
return (select * from medicamento where forma_uso like '%' + @forma_uso + '%')
go

select * from fun_forma_medicamento ('pastilla')