viernes, 1 de mayo de 2020

CREACIÓN DE CLASES A PARTIR DE ANÁLISIS



En este programa de ejemplo propuesto, la descomposición en clases de la unidad anterior quedaría un poco frzada , ya que su nivel de complejidad no es tan elevado como para justificarla.

Para que se pudiera reutilizar la mayor cantidad posible de código en caso de que se creara otra versión del programa en un entorno gráfico u otro tipo de interfaz más adelante, se podría separar la parte visual de la parte lógica. 

Para ello, se puede crear una ListaPersonas que cargue datos, los guarde y permita el acceso a los mismos. 

jueves, 30 de abril de 2020

DECISIÓN DE TAREAS A PARTIR DEL ANÁLISIS

Después de analizar los requisitos que debe tener el programa, ahora se deben decidir las estructuras básicas que van a emplearse.
La fase de diseño podría reducirse a decidir qué estructuras de datos usar y en qué funciones descomponer el cuerpo del programa. 

  • Struct: lugar donde se almacena cada dato individual. 
Y las funciones podrían ser:
  • mostrarMenu: muestra la lista de opciones disponibles conforma al prototipo visual.
  • nuevaFicha: pide los datos de una nueva persona y los añade a la lista de contactos existentes.
  • verFichas: muestra la primera ficha. Al pulsar ciertas teclas, el usuario podrá elegir entre consultar la ficha anterior
  • modificar(n): pide los campos de la ficha que se indique como parámetro. Si se quiere cambiar un dato
  • intentarBorrar(n): solicita confirmación para borrar datos.
  • buscarTexto: pide al usuario el texto que desea buscar, cuenta cuántas fichas lo contienen y las muestra de una en una. 
  • buscarCumplesMes: muestra las fechas de nacimiento y los nombres y apellidos de las personas que cumplen años en un cierto mes. 
  • guardar: vuelca todos los datos a fichero. 
  • cargar: lee todos los datos del fichero. Se debe llamar automáticamente al principio del programa.

DIAGRAMAS DE CASOS DE USO



Debido a que muchos clientes no poseen conocimientos de programación informática y puede resultarle incomprensible un documento de especificación, se han creado unos diagramas, como el diagrama de casos de uso, que muestre de forma visual los principales requisitos del programa.
En los diagramas de casos de uso, el sistema se presenta como un rectángulo, las acciones dentro de elipses y los tipos de personas se muestran como figuras (llamadas actores) que pueden interactuar con el sistema para realizar acciones.

Por ejemplo, una versión mejorada del programa de la agenda de contactos podría incluir al usuario normal, que puede ver y manipular datos.

domingo, 26 de abril de 2020

UD 7. DECISIÓN DE TAREAS A PARTIR DEL ANÁLISIS

2.1 DECISIÓN DE TAREAS A PARTIR DEL ANÁLISIS

Una vez analizados los requisitos que debe cumplir el programa, debemos decidir la estructura que llevará el programa. El programa propuesto de agenda de contactos es un programa simple y la estructura podría ser:
 Cada dato se almacena en un struct para guardar todos los datos deseados, los struct individuales se almacenarán en un vector
Las funciones del programa serían:
mostrar  menú: muestra las opciones disponibles conforme al prototipo ya realizado.
nuevaFicha: pide los datos de una nueva persona  y los añade a la lista.
verFichas: muestra la primera ficha y con las teclas se podrá elegir entre ver la ficha posterior, la interior, modificar la actual o borrarla.
modificar: pide los campos de la ficha, en los parámetros que se desee cambiar se volverá a escribir texto, sino basta con pulsar intro.
intentarBorrar: solicita confirmación para borrar datos, si el usuario la acepta se borrará.
buscarTexto: pide el texto que se desea buscar y muestra las fichas que lo contienen. Al mostrar la ficha resumen da la opción de mostrarla desarrollada, continuar consultando otras o volver al menú.
buscarCumpleMes: muestra fechas, nombres y apellidos de las personas que cumplen años en un cierto mes
guardar: vuelca todos los datos a fichero, reemplazando el contenido anterior de dicho fichero. Se debe llamar antes de salir del programa, para que los datos queden almacenados e. También es posible guardar los datos tras cada modificación.

cargar: lee todos los datos del fichero. Se llama automáticamente al comenzar el programa.

sábado, 18 de abril de 2020

1.3 REFINAMIENTO
La figura del analista es un experto encargado de hablar con el cliente, observar la forma en la que este trabaja y formular las preguntas adecuadas para que el proceso de especificación sea lo más correcto posible.

En las empresas pequeñas es posible que no exista esta figura y es habitual que los programadores independientes no tengan tanta experiencia a la hora de identificar las necesidades del cliente. En este caso una segunda lectura pormenorizada de la especificación puede contribuir a afinar los detalles inicialmente ambiguos 

Es cada vez más habitual en la realización de un proyecto repetir la secuencia análisis-diseño-implementación-verificación, proceso que incluye reuniones con el cliente entre una secuencia y otra con el fin de que los errores y las cadencias se corrijan.


1.4 PROTOTIPOS VISUALES
Una herramienta que puede ser útil para contribuir a la detección de errores o malentendidos en la especificación de requisitos son los prototipos visuales. 

Los prototipos visuales permiten al usuario detectar si falta algún detalle o si el vocabulario es incorrecto. Ayudan a explicar como se va a relacionar el usuario con el programa.

Refinamiento

En las empresas de desarrollo de software, suele existir la figura del analista, experto encargado de hablar con el cliente, observar la forma en que este trabaja y formular las preguntas adecuadas para que el proceso de especificación sea lo más correcto posible.
En empresas pequeñas, es posible que no exista la figura del analista y es habitual que los programadores independientes no tengan tanta experiencia a la hora de identificar las necesidades del cliente. En estos casos, una segunda lectura pormenorizada de la especificación puede contribuir a afinar los detalles inicialmente ambiguos. Por ejemplo, para el programa del apartado anterior, se podrían detectar las siguientes carencias:

  • ¿No se podrán consultar los datos si no se hace una búsqueda?
  • ¿Qué datos de cada persona que se encuentre a través de las búsquedas de texto deben mostrarse?
  • ¿Qué datos de cada persona que cumpla años deben mostrarse?
  • ¿Los datos se guardarán automáticamente?
  • ¿Es necesario guardar los datos en fichero?
  • ¿No será necesario modificar ni borrar datos?
Así, en la realización de un proyecto real, es cada vez más habitual repetir varias veces la secuencia análisis-diseño-implementación-verificación, proceso que incluye reuniones con el cliente entre una secuencia y otra con el fin de que los errores y las carencias del programa puedan ser detectadas cuanto antes.

Análisis

1.1 Características del análisis de requisitos
Si se desea crear un programa en un tiempo limitado y con unos costes limitados, el primer paso consiste en pensar qué tareas debe realizar. En el caso de una aplicación creada por encargo, este se convierte en un paso de mucha relevancia.
Crear una lista con los requisitos que debe cumplir el programa favorece la orientación del trabajo, la determinación de qué tareas son más importantes y de cuáles no deben hacerse, así como el establecimiento del momento en el que el proyecto se podrá dar por terminado. Este último aspecto es muy importante en un proyecto a medida, pues permite evitar que el programa crezca indefinidamente por el hecho de que el cliente o usuario desee añadir nuevas características cada cierto tiempo.
Una vez que se ha estimado el tiempo necesario y se ha aprobado el presupuesto del proyecto, las características nuevas que el cliente desee deben anotarse para la realización de una versión posterior del proyecto, lo que conllevará volver a calcular el tiempo y los recursos necesarios para añadirlas.

1.2 Especificación

Es habitual elaborar un documento en el que se recopilen los requisitos que debe cumplir el programa. En una primera aproximación, estos requisitos podrían reflejarse, sencillamente, en una "lista de cosas que el programa debe hacer". Sin embargo para una aplicación real, es habitual distinguir al menos entre los requisitos funcionales y los requisitos técnicos.

  • El programa será una agenda de contactos que permitirá guardar datos de personas para poder consultarlos más adelante.
  • Deberá almacenar, para cada persona, el nombre, los apellidos, la fecha de nacimiento, el domicilio y el correo electrónico. El único dato obligatorio será el nombre.
  • Permitirá guardar una cantidad elevada de datos.
  • Los datos deberán guardarse en fichero para que se pueda disponer de ellos cada vez que se acceda al programa.
  • Permitirá buscar datos a partir de cualquier palabra introducida en la búsqueda.
  • Buscará personas que cumplan años en los próximos 30 días.
  • El programa deberá haberse creado en C++ y permitirá trabajar en modo texto

lunes, 10 de febrero de 2020

TEMA 5 PROGRAMACION ESTRUCTURADA

T.5 PROGRAMACION ESTRUCTURADA 

1.LENGUAJES COMPILADORES E INTERPRETES

1.1 LENGUAJES DE ALTO Y BAJO NIVEL  

UN PROGRAMA; SECUENCIA DE INSTRUCIONES.
UN LENGUAJE DE PROGRAMACION; SE CONOCE COMO ALGORITMO O SECUENCIA DE PASOS PARA RESOLVER UN PROBLEMA 

 EXISTEN 2 TIPOS DE LENGUAJE

ALTO NIVEL: PARECIDO AL CODIGO MAQUINA (CEROS Y UNOS) , DIFICIL DE ENTENDER 

BAJO NIVEL: PARECIDO AL DE LOS HUMANOS , FACIL DE ENTENDER 

1.2 COMPILADORES E INTERPRETES

COMPILADORES; SON LAS HERRAMEINTAS ENCARGADAS DE CONVERTIR NUESTRO PROGRAMA ESCRITO EN LENGUAJE DE ALTO NIVEL 8PROGRAMA DE FUENTE) A CODIGO MAQUINA A TRAVES DEL CUAL SE OBTIENE UN RPGRAMA EJECUTABLE 

INTERPRETE: ES OTRO TIPO DE TRADUCTOR , PERO ESTOS NO CREAN NINGUN PROGRAMA EJECUTABLE CAPAZ DE FUNCIONAR POR SI MISMO 


POR LO TANTO , UN RPGRAMA INTERPRETADO COMENZARA A FUNCIONAR ANTES QUE UN RPGRAMA COMPILADO (PUES NO ES NECESERIO TRADUCIR TODO EL PRGRAMA PARA EMPEZAR) PUES SERA MAS LENTO EN LOS PRGRAMAS DE CALCULO INTENSIVO (PORQUE CADA ORDEN SE TIENE QUE TRADUCIR TANTAS VECES COMO SE EJECUTE.

1.3 PSEUCODIGO

A PESAR DE LOS LENGUAJES DE ALTO NIVEL SE ASEMEJAN AL LENGUAJE NATURAL QUE LOS SERES HUMANOS EMPLEAMOS PARA HABLAR , ES HABITUAL NO UTILIZAR NINGUN LENGUAJE DE PROGRAMACION CONCRETO CUANDO QUEREMOS PLANTEAR INICIALMENTE PARA RESOLVER UN PRGRAMA SINO EMPLEAR UN LENGUAJE DE PROGRAMACION FICTICIO , NO TAN ESCRITO Y A VECES ESCRITO EN LENGUA CASTELLANA , ESTE LENGUAJE RECIBE EL CODIGO DE PSEUCODIGO  

EJ: 
PEDIR NUMERO 1 
PEDIR NUMERO 2 
SI NUMERO <> 0 
     ESCRIBIR " SU DIVISION ES  " NUMERO1/NUMERO2 
SI NO ESCRIBIR "NO SE PUEDE DIVIDIR ENTRE 0" 

domingo, 2 de febrero de 2020

SEGURIDAD EN LAS COMUNICACIONES INALAMBRICAS


  • REDES INALAMBRICAS; COMPARTEN INFORMACION SIN CABLE. LOS MAS UTILIZADOS SON WIFI Y BLUETOOTH 
  •  SEGURIDAD EN BLUETOOH
  •            1) ES LA ESPAECIFICACION QUE DEFINE UN ESTANDAR GLOBAL DE COMUNICACIONES INALAMBRICAS QUE PERMITEN LA TRNSMICION DE VOZ Y DATOS  
  •            2) ALCANCE 10 M 
  •            3) ATAQUES QUE SE REALIZAN A TRAVES DE BLUETOOH: BLUEJACKING ENVIO DE SPAM AL USUARIO -BLUESNARFIN: APROVECHA LAS VULNEBARILIDADES DEL PROTOCOLO PATRA OBTENER INFORMACION DEL DISPOSITIVO BLUEBUGGING: UTILIZA TECNICAS PARA QUE LA VICTIMA ACEPTE Y CONTROLAR EL DISPOSITIVO CON UN MALWARE DE CONTROL 

2.- SEGURIDAD EN REDEES SOCIALES: 

LAS REDESWIFI UTILIZAN UNA TECNOLOGIA INALAMBRICA QUE REALIZA LA CONEXION ENTRE DISPOSITIVOS SITUADOS EN UNA AREA RELATIVAMENTE PEQUEÑA COMO UNA HABITACION , OFICINA ETC.. , TIENE UNA SEGURIDAD DE 100 M ALGUNAS DE LAS MEDIDA DE SGURIDAD SON LAS SIGUIENTES ; 
  • PERSONALIZAR LA CONTRASEÑA DE ACCESO; 
  • CAMBIAR EL SSID; 
  • REVISAR EL CIFRADO;
  • DESACTIVAR EL ACCESO DE WPS ;
  • ACTUALIZAR EL FIRMEWARE :
  • COMPROBAR EL HISTORIAL DE ACTIVIDAD ;
  • UTILIZAR SOFTWARE DE AUDITORIA;  

FORMA ELECTRONICA Y CERTIFICADO DIGITAL

FIRMA ELECTRONICA:
   
   -DEFINICION
  
SE DEFINE  COMO UN CONJUNTO DE DATOS ASOCIADOS A UN DOCUMENTO ELECTRONICO QUE PERMITE: 

-IDENTIFICAR AL FIRMANTE DE MANRTA EQUIVOCA , REQUIERE UNA CLAVE PRIVADA

-ASEGURAR LA INTEGRIDAD

-NO REPUDIO.CERTFICAQUE LOS DATOS INTRODUCIDOS POR EL FIRMANTE SON UNICOS.

FIRMA DOCUMENTOS ELECTRONICOS

EL FIRMANTE GENERA MEDIANTE UNA FUNCION HASH , UN RESUMEN QUE ES UTILIZABLE COMO HUELLA DIGITAL DEL MENSAJE. PARA COMPROBAR QUE EL DOCUEMNTO NO HA SIDO MODIFICADO DESDE SU CREACION SE CREA LA FUNCION CASH AL DOCUMENTO ORIGINAL POR MEEIO DE LA COMPROBACION DEL RESULTADO OBTENIDO CON EL RESUMEN CIFRADO QUE SE HA RECIBIDO.



miércoles, 22 de enero de 2020

  CODIGO CIFFRADO DE DESPLAZAMIENETO


DPGUHV   HUHV  OXB  WRPWR



UNA PEQUEÑA AYUDA DESPLAZAMIENTO X3 DEL ABECEDARIO

CIFRADO DE LA INFORMACION 
   

 ORIGENES: SE REMONTA AL USO DEL LENGUAJE HACIA EL SIGLO v A.c LOS GRIEGOS PARA LEER UN MENSAJE UTILIZABAN UN CILINDRO DE CUERON PARA ENROOLLAR EL MENSAJE. DURANTE LA SEGUNDA GUERRA MUNDIAl  LOS ALEMANES UTILIZABAN LA MAQUIINA ENIGMA PARA CIFRAR Y DESCIFRAR MENSAJES. NO ABSTANTE LA ERA DE LA MODERNA CAPTOGRAFIA EMPIEZA CON SHANOM


  2.- CRIPTOGRAFIA: 

ES LA DISCIPLINA CIENTIFICA DEDICADA AL ESTUDIO DE LA ESCRITA SECRETA ESTA COMPUESTA POR DOS TECNICAS ANTAGONISTAS:CRIPTOGRAFIA Y CRIPTOANALISIS ESTE ESTUDIA EL ANAALISIS DE LOS SISTEMAS CRIPTOGRAFICOS PARA ENCONTRAR DEBILIDADES Y QUEBRANTAR LA SEGURIDAD


CLAVE SIMETRICA , ENPLEA LA MISMA CLAVE PARA CIFRAR Y DESCIFRAR MENSAJES ES UAN TECNICA MUY RAPIDA PERO INSEGFURA YA QUE EL REMITENTE TIENE QUE ENVIAR TANTO EL MENSAJE CIFRADO COMO LA CLAVE POR LO QUE SI UNTACANTE CONSIGUE HACERSE CON AMBOS PODRA DESCIFRAR EL MENSAJE,.



CRIPTOGRAFIA DE CLAVE ASIMETRICA; LA CRIPTOGRAFIA UTILIZA DOS CLAVES , UNA PUBLICA Y OTRA PRIVADA UAN ES CONOCIDA POR TODOS LOS USUARIOS Y OTRA UNICA QUE SOLO LA CONOCE EL RPOPIETARIO CUANDO SE CIFRA UN MENSAJE CON LA CLAVE PUBLICA PUBLICA SOLO PUEDE CIFRASE UTILIZANDO LA CLAVE PRIVADA DE DICHA PERSONA

CRIPTOGRAFIA DE CLAVE PUBLICA NO ES COMPLETAMENTE SEGURA Y LA ASIMETRICA POR SUI PARTE RALENTIZA ESE PROCESO DE CIFRADO , PARA SOOLVERTAR ESTOS INCONVENIENTES , EL PROCESO HABITUAL PASA POR UTILIZAR UN CIFRADO DE CLAVE PUBLICA QUE COMBINE AMBOS CRIPTOGRAFIAS CON EL OBJETIVO DE OBTENER UNA GARANTIA PLENA DE CONFIDELIDAD


algunas imagenes relacionadas;


viernes, 17 de enero de 2020

ATAQUES A LOS SISTEMAS INFORMATICOS 

TIPOS:

 Interrupcion; ataque contra la disponibilidad de un sistema , el resultado de este ataque es un recurso destruido. 
Interceptacion;  ataque contra la confidelidad , consigue acceder a recursos para los que no tienen autorizacion.
 modificacion; ataque contra una identidad que ademas de acceder se manipula
 Suplantacion; ataque contra la autenticidad mediante el cual un atacante inserta objetos falsificados en el sistema 

INGENIERIA SOCIAL
ES UNA TECNICA UTILIZADA QUE NO EXPLOTA LA VULNEBABIRILADES SINO CIERTOS COMPORTAMIENTOS Y CONDUCTAS DE LOS SERES HUMANOS.  

ATAQUES REMOTOS 
 INYECCION DE CODIGO añade o borra informacion en sitios remotos 

 ESCANEO DE PUERTO  avrigua que puertos se encuentran abiertos para lanzar ataques 

 DENEGACION DE SERVICIO  satura los recursospara que deje de responder o lo haga con lentitud para que se considere no disponible y despues lanzar ataques
 ESCUCHAS DE RED 
 SPOOFING 
 FUERZA BRUTA 
 ELEVACION DE PRIVILEGIOS 

miércoles, 15 de enero de 2020

Tipos de malware 

virus:programa informatico creado para producuir daños en un equipo se puede reproducir y actua transparentamente y en el podemos encontrar virus boot
gusano: programa que tiene como objetivo multiplicarse de forma independiente infectando suele infectar por mensajeria  instantanea  como el correo electronico

troyano: se oculta en un archivo inofensivo y util para el usuario. Al  igual que los gusanos no infectan archivos , aunque a diferencia de estos requieren la interveccion de sus victimas para propagarse. 

spyware programa espia que almacena contenido personal sin consentimiento

adware programas maliciiosas que se instalan gracias al consentimiento del usuario al descargar otras aplicaciones.

rogue programa maliciosa que simula ser antimalware pero ocasionan el efecto contrario muestra falsas infecciones para engañar al usuario y que pague por la desinfeccion

rootkit software de administracion que se oculta en herramientas para proporcionar acceso al atacante

phising tecnica para obtener informacion de un usuario de fotrma fradulente el atacante se hace pasar por una persona o empresa mediante un correo electronico o mensaje instantaneo

pharming tecnica que aprovecha la debilidad de los servidoress para redireccioonar la informacion a otro lugar.

spam mensaje de correo electronico no deseado o mandando masivamente con fines publicitarios o maliciosos

hoax mensaje de correo mandando masivamente cuyo objetivo es realizar engaños masivos como por ejemploo alertas de virus o mensaje de mala suerte si no se envian

viernes, 10 de enero de 2020

TIPOS DE AMANENAZAS 

HUMANAS  ataques pasivos    usuarios con conocimientos basicos o hackers
                      ataques activos   antiguos empleados de una organizacion /                                                   crackers y otros atacantes


LOGICAS  software malicioso
                   vulnerabilidades del software



FISICAS    fallos en los dispositivos
                   accidentes
                   catastrofes naturales

jueves, 9 de enero de 2020

RESUMEN ESTANDARES

 ESTANDARES DE PUBLICACION Y EDITORES                                WEB 

Conjunto de reglas y recomendaciones que se deben seguir al utilizar los distintos lenguajes de creacion de contenido .dichos estandares etsan regulados por una serie de consorcios y prganizaciones (html csss , svg , javiescrit )

2.1 LENGUAJES PARA LA CREACION DE PAGINAS WEB 

Las paginas web se almacenan en ordenadores en internet denominados servidores web. los usuarios al introducir una direcccion URL en el navegador se conectan a dichos servidores que procesan  el codigo de la pagina web solicitada  


1. la seguridad de la información 


Empezamos definiendo 3 conceptos:

-Seguridad: ausencia de daño peligro o riesgo

-Informacion: conjunto organizado de datos que constituyre un mensaje

-Seguridad de la informacion: se define como el conjunto de medidad de prevenccion  , deteccion , y correccion orientadas a proteger la confidelidad , integrida y disponibilidad de la informacion del sistema

1.1 Principios de la seguridad informatica 

Un sistema seguro es aquel conjunto de componentes de hw y sw que mantiene el nivl de proteccion del usuario y la informacion del mismo.

PRINCIPIOS DE LA SEGURIDAD INFORMATICA

   -CONFIDENCIALIDAD DE LA INFORMACION: necesidad de que la informacion solo sea conocida por las personas autorizadas

   -INTEGRIDAD DE LA INFORMACION: posibilita que el contenido permanezca inalterado al menos que sea modificado por usuarios autorizados

    -DISPONIBILIDAD DE LA INFORMACION: Capacidad de permanecer accsible en el lugar , en el punto , en el momento y en la forma en que los usuarios autorizados lo requieran.


En conclusion , la seguridad informatica se define como el conjunto de procedimientos , estrategias y herramientas que permiten garantizar la confidelidalidad , la integridad y disponibilidad de la informacion

Define los siguientes conceptos; 

Autentificacion: 

Autorizacion:

No repudio:

Vulnevaribilidad Informatica: