domingo, 16 de junio de 2019

Unidad II- Introducción a los microprocesadores



ANALIZA LA ARQUITECTURA DE LOS MICROPROCESADORES Y MICROCONTROLADORES PARA REALIZAR PROGRAMACIONES
 Arquitectura de un microprocesador

Para entender de mejor forma la arquitectura de un microprocesador viajemos en el tiempo hacia atrás y recordemos que los primeros microprocesadores de 4 bits que fueron utilizados por los primeros videojuegos y sistemas de control solo estaban capacitados para efectuar una operación en cada ciclo del reloj porque solamente contaban con un conjunto de 45 instrucciones, posteriormente salió al mercado el microprocesador de 8 bits con un conjunto de 48 instrucciones y una mayor velocidad de procesamiento. En la actualidad los microprocesadores son capaces de procesar varias instrucciones al mismo tiempo debido al avance de la arquitectura utilizada. Esto se debe a que se incrementa el número de bloques que ejecutan las instrucciones, es el caso de las SSE y AVX que permiten acelerar cálculos asociados a programas matemáticos, financieros,científicos y de seguridad.

Con el incremento de bloques se aumenta la velocidad de ejecución pero también los desarrolladores de software necesitan hacer compatibles sus aplicaciones.

El avance en la arquitectura de diseño permite que cada vez se vayan integrando los elementos de la placa base y poco a poco pase aformar parte del microprocesador como por ejemplo el controlador de memoria o la tarjeta gráfica.

Esta tan grande el avance que se está teniendo a nivel tecnológico que ahora ya se comienza a manejar el concepto de APU en lugar de CPU y no estamos muy lejos de utilizar el término SOC (SYSTEM ON A CHIP) cuando ya no sean necesarios más elementos que un simple chip para el manejo de todos los dispositivos de la ordenador.

Concluyendo, la arquitectura es la que define el comportamiento de velocidad que una ordenador tendrá.

Procesador Circuito electrónico integrado programable para realizar una aplicación embebida Aplicación embebida Una solución a un problema de control monitoreo instrumentación que pueda ser implementada en un procesador Clases de aplicaciones indebidas Un teléfono celular Un modem Un GPS El control de un horno de microondas El control de una lavadora El control de una nevera Una contestadora automática Una grabadora digital Un reproductor mp3 Aplicaciones que requieran procesamiento de información y visualización programación memoria registro control monitoreo accionamiento son susceptibles a ser embebidas.

 Arquitectura de un microcontrolador
La arquitectura de un microcontrolador permite definir la estructura de su funcionamiento, las dos arquitecturas principales usadas en la fabricación de microcontroladores son: arquitectura de Von Neumann y arquitectura Harvard. Además, estas arquitecturas pueden tener procesadores de tipo CISC o de tipo RISC.
-Arquitectura de Von Neumann:

En esta arquitectura, los datos y las instrucciones circulan por el mismo bus ya que estos son guardados en la misma memoria, su principal ventaja es el ahorro de líneas de entrada-salida pero esto supone una disminución en la velocidad con la que se realizan los procesos.

Este tipo de arquitectura es hoy en día muy común en los computadores personales, y fué muy común en la construcción de microcontroladores hasta que se descubrieron las grandes ventajas de la arquitectura Harvard.

-Arquitectura Harvard:

A diferencia de la anterior, en la arquitectura Harvard existe una memoria específica para datos y una memoria específica para las instrucciones, de esta forma se usan dos buses bien diferenciados. Con esto se logra trabajar con las dos memorias simultáneamente y en consecuencia se obtiene mucha más velocidad en la ejecución de los programas.


Actualmente, la tendencia de los microcontroladores es usar este tipo de arquitectura.

Procesador de tipo CISC (Complex Instruction Set Computer)

Un procesador que permita manejar un amplio juego de instrucciones es llamada de tipo CISC que en español significa «Ordenador con Juego de Instrucciones Complejo», programar en este tipo de arquitectura requiere en algunos casos del dominio de hasta centenares de instrucciones.

Procesador de tipo RISC (Reduced Instruction Set Computer)

Cuando un procesador está diseñado para manejar pocas instrucciones pero sin afectar las prestaciones del ordenador es llamada de tipo RISC que en español significa «Ordenador con Juego de Instrucciones Reducido», esto permite programar con mucha más facilidad y, por si fuera poco, los circuitos de tipo RISC disponen de una estructura que busca como mínimo la instrucción próxima a ejecutar mientras realiza la instrucción actual. Esta estructura permite lograr no solo mayor velocidad de proceso sino también procesar cada instrucción con la misma velocidad.

 Microchip introdujo la arquitectura Harvard con procesador tipo RISC en sus microcontroladores cuando el mercado era dominado por microcontroladores con arquitectura de Von Neumann, desde entonces las ventajas que ofreció esta nueva tecnología permitieron a Microchip sobresalir como uno de los más grandes fabricantes de microcontroladores en el mundo.


Unidad IV Pagina Web

Unidad II Instalacion de Emulador y Editor

Unidad V: Monitoreo de redes lan y wan

viernes, 14 de junio de 2019

UNIDAD V - ARQUITECTURA


Sistemas de Multiprocesamiento


Los sistemas de multiprocesamiento son aquellos que usan mas de un procesador, por lo que admiten la ejecución de varios procesos al mismo tiempo, aunque los sistemas de mono-procesamiento son mas comunes estos sistemas crecen en importancia ya que permiten incrementar la cantidad de procesos a ejecutar con respecto a los sistemas de Mono-procesamiento.

Las ventajas de ellos es que estos incrementan el rendimiento, por incrementarse el numero de procesadores, se incrementa la cantidad de trabajo en un tiempo menor, economía de escala, el costo de estos sistemas es menor que el de su equivalente sistemas monoprocesamiento, porque ellos pueden compartir periféricos, almacenamiento, suministro de energía, por ejemplo si varios programas operan sobre el mismo conjunto de datos, es mas barato almacenar estos datos en un disco y hacer que todos los procesadores los compartieran que tener muchas computadoras con discos locales y muchas copias de los datos.

Por otro lado tienen mayor fiabilidad, ya que las funciones pueden ser distribuidas al tener mas de un procesador pues al ocurrir un fallo en un procesador entonces el sistema no se detiene sino que lo hace mas lento.

Las desventajas:
- Poseen cortes de inicio, en una operación paralela compuesta por miles de procesos, el tiempo de inicio puede llegar a ser mucho mayor que el tiempo real de procesamiento, lo que influye negativamente en la ganancia de velocidad.
- La interferencia también es una desventaja, como los procesos que se ejecutan y acceden con frecuencia a los recursos humanos, puede sufrir un fuerte retardo como consecuencia de la interferencia de cada nuevo proceso en la competencia.

Sesgo, normalmente es difícil decir una tarea en partes iguales, entonces se dice que la forma de distribución de los tamaños es sesgada. Otra de las desventajas del procesamiento consiste en que un procesamiento puede trabajar mas que otro y alguno de ellos puede estar en reposo.

Ejemplos:
Algunos ejemplos de sistemas operativos de multiprocesamiento son: Ubuntu, Debian, Windows XP, Windows Vista, entre otros.

Los multiprocesadores originalmente sólo fueron utilizados por las empresas que necesitan sus equipos para llevar a cabo una serie de tareas al mismo tiempo. Aunque, como la popularidad de los ordenadores personales creció, los multiprocesadores se convirtieron en una necesidad incluso para los equipos de la casa. Hoy en día casi todos los ordenadores personales utiliza un procesador de doble núcleo, o multiprocesador, para que los usuarios mantengan su funcionalidad. Hay muchas ventajas de utilizar este tipo de procesador en lugar de un único procesador, incluso al utilizar el ordenador para uso personal.

Estos ademas mejoran la capacidad del equipo para procesar comandos rápidos y las páginas se cargan con mas facilidad. Un multiprocesador permite para el trabajo del equipo que se divide entre dos o más procesadores para el usuario a trabajar más rápido. Los resultados del procesamiento divididas en menos tiempo de espera como un procesador no tiene que manejar todas las tareas.

Algunos programas de software requieren una cierta velocidad de procesamiento, sin la cual no funcionarán correctamente. Un multiprocesador aumenta la velocidad y la memoria RAM del ordenador que se puede acceder, lo que permite a los usuarios utilizar el software que impone exigencias más altas en el equipo. Esto resulta en un usuario que tiene más opciones al seleccionar programas.

Las computadoras personales y de negocios con multiprocesadores también mejoran la capacidad del usuario para realizar múltiples tareas. La multitarea carga de páginas web, navegar por internet, consultar el correo electrónico y ejecutar otros programas en el fondo, todo al mismo tiempo. procesadores individuales no podían hacer esto y, cuando un usuario intentado, frenaría el equipo a paso de tortuga. Multiprocesadores permiten al usuario trabajar con muchos programas al mismo tiempo a un ritmo eficiente. El ordenador puede alternar entre las aplicaciones con mayor facilidad.

Aunque los ordenadores personales obtienen una gran cantidad de uso para el trabajo y de correo electrónico, sino que también son una pieza importante de la maquinaria para los jugadores. Juegos jugados hoy requieren no sólo un ordenador con un multiprocesador, sino también que los procesadores son de alta velocidad. Un único procesador no puede ejecutar estos juegos en absoluto, y procesadores lentos luchar para mantenerse al día, haciendo que el juego se convierta en picado y, a veces no se puede reproducir.


Referencias de la información:

https://prezi.com/_uvpeewyga35/ventajas-y-desventajas/

https://www.goconqr.com/mindmap/3150290/multiprocesamiento



UNIDAD IV - DESARROLLO


Procedimientos para la fabricación de un Micro-controlador

Éste posiblemente sea el invento mas revolucionaron de los últimos 50 años, está en los aparatos de televisión y sonido, en los aparatos electrónicos, autos y semáforos, este lleva nombre del chip de cilicio.

Las laminas de silicio son creadas en Texas, USA, el las fabricas de MEMC, este es la base de todos los microchips modernos, el silicio tiene propiedades importantes, porque es lo que llamamos un semi-conductor, depende de como sea tratado el silicio puede conducir o bloquear la corriente eléctrica, es esto lo que lo hace necesario para la gran cantidad de transistores necesarios para hacer un microprocesador moderno.

Para su creación se calentaba el silicio a 1450°C en un horno con gas de argón. Luego de eso se corta, con una cortadora de silicio con un grosor de 2/3 de mm.


En esa lámina de silicio se depositan millones de transistores, por lo que una partícula de polvo puede causar el descarrilamiento electrónico. Para ello, usan una habitación 1.000 veces más limpia que un quirófano. Mediante la fotolitografía, se cubre la lamina con productos químicos fotosensibles que se endurecen al exponerlos a la luz ultravioleta y en habitaciones oscuras se hace pasar la luz con una imagen del diseño y luego a través de una lente para minimizarla y finalmente sobre la lamina. Hay que hacerlo capa a capa, algunas capas se calientan a alta temperatura, otras se someten a ráfagas de plasma ionizado, otras se bañan en, metales. Cada tipo de tratamiento cambia las propiedades del silicio.




El sustrato, la pastilla y el disipador de calor se colocan juntos para formar un procesador completo. El sustrato verde forma la interface eléctrica y mecánica para que el procesador interactúe con el resto del sistema de la computadora. El disipador de calor plateado es una interface térmica en la que se colocará una solución de enfriamiento. Eso dejará el procesador frío durante la operación.

Las laminas terminadas de silicio llevan hasta 1000 microchips diferentes, y mas de cuatro billones de componentes de circuitos. Lo que antes era un montón de productos químicos sin valor luego del proceso se convierte en una de las piezas mas costas de electrónica.

Luego de ello se prepara el chip para su instalación en la tarjeta. Todo comienza con un cuadrado de cerámica llamado sustrato, sobre el esta ubicado el microchip. Una maquina aplica sobre el sustrato una capa de fundente, un componente químico que lo deja completamente pegajoso y que sujetara el microchip hasta que este soldado.

En las instalaciones de MEMC reciben los microchips ya hechos, es decir, con todos los circuitos en su sitio. Se coloca un microchip en cada lamina de sustrato, lo que hace una maquina especial con una luz infrarroja guiar perfectamente la colocación de los microchips. Se toma una muestra de la cadena de montaje para verificar la posición con un microscopio.

Luego de los pasos anteriores se realiza la soldadura, se colocan en un horno a 365°C, el calor funde las gotas de estaño del chip uniéndolo al sustrato para luego fundir una capa de aluminio sobre cada microchip. Esta tapa tiene dos funciones, proteger el microchip y controlar el calor que este genere.

Un brazo robotico toma cuatro tapas de una vez y las coloca sobre los microchips, luego de ello se colocan en un horno de soldadura. Mientras eso sucede, se crean las conexiones eléctricas que conectan el procesador con la tarjeta electrónica del ordenador.

Se comienza con unas pequeñas piezas de estaño llamadas columnas, una maquina extiende una pasta adhesiva para después pegar las columnas desde abajo, se coloca el chip donde lleva el sustrato sobre las columnas empastadas. El resultado es un microchip con 1000 conexiones, ademas, para conseguir mas conexiones se utilizan bolas de estaño en vez de columnas, porque las bolas son mas fiables, ellas también pasan por un sedado de succiona solo que en vez de ser pegadas con pasta, son pegadas con fundente.

El microchip una vez terminado pasa por un proceso de agua y disolventes para eliminar cualquier rastro de fundente o contaminantes que hayan sobrado.

Por ultimo se realiza un control de calidad, los microprocesadores pasan 12 horas en un horno a 140°C, de ahí el procesador pasa a otra fabrica donde lo sueldan a una tarjeta electrónica.

Configuracion de red lan y wan


Cómo configurar una Red LAN
Lo primero que se necesita es un switch, el que elegí es estándar, por lo tanto no requiere de configuración por el momento

Luego añadimos las computadoras, en este caso colocamos 3

Para conectarlas se necesita un cable utp de conexión normal

Lo verde indica que se encuentra activa de forma correcta
-Luego configuramos las computadoras

Utilizaremos una dirección IP de clase c ya que no tenemos servidor

Con las otras 2 computadoras es el mismo procedimiento, sólo que variando la dirección IP


Ya de aquí pasamos al modelo de simulación

Aquí podemos ver la simulación, todo un éxito



Para Configurar una red wan abrir el siguiente enlace Guia de Red Wan

miércoles, 12 de junio de 2019

Unidad IV: Aplicaciones web para la solución de casos específicos


En los principios de la informática, las relaciones entre los usuarios y los programas eran muy diferentes a las que tenemos ahora. Antiguamente cuando una empresa quería que todos sus ordenadores tuvieran el programa de facturación de la empresa, este se instalaba ordenador a ordenador. Ahora, gracias a los desarrolladores que se dedican al desarrollo de aplicaciones web, esto ha cambiado.

Y es que hay mucha gente que se dedica al desarrollo de aplicaciones web, por lo que no solo existen los desarrolladores de aplicaciones Android o iOS.

¿Qué es una aplicación web?
Una aplicación web es una aplicación como otra cualquiera, con la ventaja de que está almacenada en la red y que puede ser ejecutada por cualquier navegador.

En el ejemplo de la empresa anterior, solamente tendríamos que instalar la aplicación una vez y cualquier usuario de la empresa podrá trabajar con esta aplicación sin ningún tipo de problema.

Esto es realmente útil para las grandes empresas con diferentes sucursales, estudiantes, empresarios y para muchos usuarios que necesitan programas específicos, pero no quieren llenar su ordenador de aplicaciones.

Además, estas aplicaciones web tienen muchas ventajas. Las más importantes son:

-Mantenimiento rápido y sencillo. En el caso de las grandes empresas sólo tendríamos que solucionar un problema una sola vez y no una por cada ordenador.
No hay problemas de compatibilidad, todos los sistemas operativos tienen un navegador incorporado, por lo que podríamos ejecutar esa aplicación en todos los sistemas operativos de sobremesa, smartphones y tablets independientemente de su sistema operativo.
-No ocupan espacio en el disco duro. Esto es algo muy importante en los tiempos que corren ya que están muy de moda los ultrabooks, ordenadores muy potentes, muy delgados, pero sin apenas almacenamiento interno, por lo que una herramienta en internet puede resultar determinante en el ahorro de memoria.
-Muchas de estas aplicaciones necesitan de internet para poder acceder a ellas, por lo que tener una conexión a internet es fundamental. Pero por lo demás son perfectas y muchas podrían sustituir a las aplicaciones de escritorio sin problemas. Existen diferentes modos de desarrollo de aplicaciones web, pero algunos ejemplos son:
Google Docs
El set de ofimática de Google es una de las aplicaciones web mejor hechas del mundo. Gracias a Google Docs podremos crear documentos, guardarlos en nuestro ordenador o en nuestra cuenta de Google Drive, guardarlos en formato PDF, imprimirlos, compartir con nuestros compañeros de trabajo e incluso trabajar al mismo tiempo en el mismo documento.
Además, lo bueno que tiene Google Docs, es que podremos trabajar con esta herramienta sin conexión a internet y cuando el ordenador tuviera conexión a internet de nuevo todo lo que hayamos hecho se guardará automáticamente en Google Drive sin necesidad de hacer nada nosotros.

Pixlr.com
Pixlr es una de las mejores aplicaciones web para la edición de fotografías. Esta aplicación está inspirada en el famoso programa de edición de fotos Adobe Photoshop, esto lo podemos notar en el diseño y en la estructura que tiene el programa. Para aquellos que seamos usuarios de Adobe Photoshop nos resultará muy familiar esta aplicación. Pero no sólo se parece en el diseño, ya que esta aplicación web trabaja con el sistema de capas, por lo que podremos crear nuestras composiciones tal y como lo haríamos en Photoshop. Cierto es que no podemos esperar grandes cosas de esta aplicación, pero para un momento puntual o una necesidad, es una herramienta perfecta y que seguro que utilizaréis en algún momento.

Codepen.io
Ésta es la herramienta perfecta para los que se están iniciando en el mundo del desarrollo de aplicaciones web. Digamos que es un pequeño entorno de desarrollo de código HTML en nuestro navegador. Una herramienta realmente útil para poder probar nuestros códigos HTML, CSS y JavaScript en tiempo real. Además de poder probar y editar el documento HTML creado, también podremos guardarlo en la nube y compartirlo con la comunidad de Codepen. Seguro que si investigamos por la comunidad podremos encontrar código que nos servirá para nuestras futuras páginas web.

Evernote y Trello
Es muy probable encontrar a más de uno que todavía utiliza los típicos post-it y los pega en las neveras de sus casas y en los escritorios de sus oficinas. Pues bien, como todo, se han modernizado y ahora pasan a estar en internet.

Estamos hablando de las herramientas web Evernote y Trello, dos aplicaciones web diferentes, pero con las que podremos organizarnos de una forma muy similar a cuando utilizamos esos post-it. Eso sí, con muchos más añadidos que seguro que te harán cambiar a las estas aplicaciones digitales.

Evernote y Trello tienen un mismo objetivo, que no se te olvide nada. Ambas trabajan con tarjetas con diferentes tareas que irás introduciendo y que estas propias aplicaciones serán las encargadas de recordarte qué es lo que te queda por hacer o qué es lo que deberías hacer mañana.
Hay que decir que Evernote está un poco más centrada al uso particular mientras que Trello es una herramienta web indispensable para más de una empresa por su facilidad a la hora de compartir las tareas y de comunicarse con el resto del equipo mediante estas.

Netflix
Por último, pero no menos importante, la plataforma de vídeo en streaming más importante que existe en la actualidad. Para aquéllos que no sepan qué es una plataforma de vídeo en streaming, digamos que es como un videoclub en internet, donde podemos elegir qué es lo que queremos ver, cuándo lo vemos, si queremos pausar y verlo más adelante.
Gracias a Netflix los usuarios pueden seguir sus series y películas cuando ellos quieran, ya que no tendremos una limitación de tiempo ni horarios en los que disfrutar de estos servicios. No importará dónde nos encontremos en el momento de querer ver contenido, ya que es un servicio multiplataforma y compatible con todos los sistemas operativos.

Su funcionamiento es muy sencillo. Solamente tendremos que acceder a la aplicación o a la página web e introducir nuestras credenciales de usuario. Una vez dentro de la plataforma con nuestra cuenta de usuario, únicamente tendremos que buscar el título de la película o serie que queramos ver en ese momento, ponernos cómodos y disfrutar.

Como podéis ver, también existen muchos ejemplos de desarrollo de aplicaciones web que son realmente útiles en el día a día de muchos usuarios. Por lo que no todo son las aplicaciones para los móviles, también se pueden desarrollar grandes aplicaciones para internet.

Unidad III: Conocimientos del lenguaje para el desarrollo de aplicaciones web


Lenguaje PHP
Es un lenguaje de programación utilizado para la creación de sitio web. PHP es un acrónimo recursivo que significa “PHP Hypertext Pre-processor”, (inicialmente se llamó Personal Home Page). Surgió en 1995, desarrollado por PHP Group.

PHP es un lenguaje de script interpretado en el lado del servidor utilizado para la generación de páginas web dinámicas, embebidas en páginas HTML y ejecutadas en el servidor. PHP no necesita ser compilado para ejecutarse. Para su funcionamiento necesita tener instalado Apache o IIS con las librerías de PHP. La mayor parte de su sintaxis ha sido tomada de C, Java y Perl con algunas características específicas. Los archivos cuentan con la extensión (php).

Sintaxis:
La sintaxis utilizada para incorporar código PHP es la siguiente:
<?
$mensaje = “Hola”;
echo $mensaje;
?>
También puede usarse:

<?php
$mensaje = “Hola”;
echo $mensaje;
?>
Ventajas:
-Muy fácil de aprender.
-Se caracteriza por ser un lenguaje muy rápido.
-Soporta en cierta medida la orientación a objeto. Clases y herencia.
-Es un lenguaje multiplataforma: Linux, Windows, entre otros.
-Capacidad de conexión con la mayoría de los manejadores de base de datos: MysSQL, PostgreSQL, Oracle, MS SQL Server, entre otras.
-Capacidad de expandir su potencial utilizando módulos.
-Posee documentación en su página oficial la cual incluye descripción y ejemplos de cada una de sus funciones.
-Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
-Incluye gran cantidad de funciones.
-No requiere definición de tipos de variables ni manejo detallado del bajo nivel.

Desventajas:
-Se necesita instalar un servidor web.
-Todo el trabajo lo realiza el servidor y no delega al cliente. Por tanto puede ser más -ineficiente a medida que las solicitudes aumenten de número.
-La legibilidad del código puede verse afectada al mezclar sentencias HTML y PHP.
-La programación orientada a objetos es aún muy deficiente para aplicaciones grandes.
-Dificulta la modularización.
-Dificulta la organización por capas de la aplicación.

Seguridad:
PHP es un poderoso lenguaje e intérprete, ya sea incluido como parte de un servidor web en forma de módulo o ejecutado como un binario CGI separado, es capaz de acceder a archivos, ejecutar comandos y abrir conexiones de red en el servidor. Estas propiedades hacen que cualquier cosa que sea ejecutada en un servidor web sea insegura por naturaleza.

PHP está diseñado específicamente para ser un lenguaje más seguro para escribir programas CGI que Perl o C, y con la selección correcta de opciones de configuración en tiempos de compilación y ejecución, y siguiendo algunas prácticas correctas de programación.


Unidad II: Elementos del lenguaje para su desarrollo y aplicaciones en la vida cotidiana


Sintaxis Básica:
La sintaxis de un lenguaje define los elementos de dicho lenguaje y cómo se combinan para formar un programa. Los elementos típicos de cualquier lenguaje son los siguientes:
* Identificadores
* Tipos de datos
* Palabras reservadas
* Sentencias
* Bloques de código
* Comentarios
* Expresiones
* Operadores
“La sintaxis de un lenguaje de programación se define como el conjunto de reglas que deben seguirse al escribir el código fuente de los programas para considerarse como correctos para ese lenguaje de programación.” (López, 2016)
La sintaxis de JavaScript es muy similar a la de otros lenguajes de programación como Java y C.
Un programa debe tener el siguiente formato general:
main () { Lista_de_sentencias }
Esta regla nos dice que para que el compilador reconozca nuestro programa debemos escribir al menos todas las palabras y signos que no están en letra cursiva. Las partes cursivas se reconocen utilizando otras reglas sintácticas.
Variables:
“Las variables son una de las características fundamentales de los lenguajes de programación, permiten acceder a la memoria para almacenar y recuperar los datos con los que nuestros programas van a trabajar.” (Gomes, A. 2013)
Ejemplo:
edad = 5; edad = edad + 1;
Así mismo son espacios reservados en la memoria que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa. Una variable corresponde a un área reservada en la memoria principal del ordenador, para que nuestro código sea más entendible y claro, el identificador de la variable debe ser nemotécnico, es decir que debe reflejar el uso dentro del programa de la misma.
Ejemplos
Variables en Python
Variables en Tortugarte
Constantes:
Es un valor que no puede ser alterado/modificado durante la ejecución de un programa, únicamente puede ser leído.” (García, 2011)
Una constante corresponde a una longitud fija de un área reservada en la memoria principal del ordenador, donde el programa almacena valores fijos. Las constantes se declaran con el modificador const.
Por ejemplo:
El valor de PI = 3.1416
Por conveniencia, el nombre de las constantes suele escribirse en mayúsculas en la mayoría de lenguajes.
Las constantes se pueden marcar como public, private, protected, internal o protected internal. Estos modificadores de acceso definen cómo los usuarios de la clase pueden acceder a la constante.
A las constantes se accede como si fueran campos estáticos porque el valor de la constante es el mismo para todas las instancias del tipo. No use la palabra clave static para declararlas. Las expresiones que no están en la clase que define la constante deben usar el nombre de la clase, un punto y el nombre de la constante para acceder a ella.
Por ejemplo:
int birthstones = Calendar.months;
Tipos de datos:

“Son propiedades de un valor que determina su dominio (qué valores puede tomar), qué operaciones se le pueden aplicar y cómo es representado internamente por el computador.” (Apunte, C. 2017)

Además, es un atributo de una de los datos que indica el ordenador (y/o al programador) algo sobre la clase de datos sobre los que se va a procesar.

Todos los valores que aparecen en un programa tienen un tipo de dato.

A continuación, los tipos de datos elementales de Python. Además de éstos, existen muchos otros.

Números enteros: El tipo int (del inglés integer, que significa «entero») permite representar números enteros.

Los valores que puede tomar un int son todos los números enteros: … -3, -2, -1, 0, 1, 2, 3, …

Los números enteros literales se escriben con un signo opcional seguido por una secuencia de dígitos:

1570
+4591
-12

Operadores:
“Son elementos de programación que se aplica a uno o varios operando en una expresión o instrucción. Los operadores que toman un operando, como el operador de incremento (++) o new, se conocen como operadores unarios. Los operadores que toman dos operandos, como los operadores aritméticos (+,-,*,/) se conocen como operadores binarios .” (Perlis, 1967)

Un operando puede ser una expresión válida que se compone de código de una longitud indeterminada y puede incluir un número cualquiera de subexpresiones. En una expresión que contiene varios operadores, el orden de aplicación de estos viene determinado por la prioridad de operador, la asociatividad y los paréntesis.

Cada operador tiene una prioridad definida. En una expresión que contiene varios operadores con distintos niveles de prioridad, la prioridad de los operadores determina el orden en que estos se evalúan.

Estructura de control:
“Las estructuras de control en los lenguajes de programación, son las que nos permiten alterar el flujo de ejecución del programa.” (Nygaard, 2001)

Entre los tipos de estructuras de control existen las condicionales, iterativas, e incondicionales. Las condicionales como su nombre lo implica, bifurcan el código dependiendo de si se cumple, o no, una o más condiciones. Mientras que las iterativas repiten una parte del código hasta que se cumpla una condición de salida de este ciclo.

Los lenguajes de programación modernos tienen estructuras de control similares. Básicamente lo que varía entre las estructuras de control de los diferentes lenguajes es su sintaxis; cada lenguaje tiene una sintaxis propia para expresar la estructura.

Otros lenguajes ofrecen estructuras diferentes, como por ejemplo los comandos guardados.

Arreglos:        
“Es una colección de datos del mismo tipo. Sirve para manejar un número “n” de elementos en común, ya sea de tipos definidos por el Lenguaje, (“int”,”float”,”String”,etc.) así como aquellos definidos por el programador.” (Vardi, 2005)

Se declara un arreglo de nombre con N elementos de tipo, (N es una constante).

Los arreglos almacenan los elementos en posiciones contiguas de memoria.

Un arreglo unidimensional es un tipo de datos estructurado que está formado de una colección finita y ordenada de datos del mismo tipo. Es la estructura natural para modelar listas de elementos iguales. El tipo de acceso a los arreglos unidimensionales es el acceso directo, es decir, podemos acceder a cualquier elemento del arreglo sin tener que consultar a elementos anteriores o posteriores, esto mediante el uso de un índice para cada elemento del arreglo que nos da su posición relativa.

Un arreglo unidimensional tiene una sola dimensión, También reciben el nombre de vectores en álgebra.

Un arreglo se caracteriza por:

1. Almacenar los elementos del arreglo en posiciones de memoria continúa.

2. Tener un único nombre de variable que representa a todos los elementos, y éstos a su vez se diferencian por un índice o subíndice.

3. Acceso directo o aleatorio a los elementos individuales del arreglo.

veamos cómo se agruparían estos 3 elementos en un solo arreglo:

private int []x = new int[3];

private int[]x = {1,2,3};

En la primera línea, hemos creado un arreglo vacío de 3 elementos; mientras que, en la segunda, creamos un arreglo de 3 elementos inicializados.

UNIDAD IV IDENTIFICACIÓN DE REQUISITOS Y LIMITACIONES TÉCNICAS


Análisis de redes
  El análisis de redes se enfoca en los requerimientos de los usuarios, de sus aplicaciones y dispositivos. también se enfoca en entender el comportamiento de la red bajo diferentes escenarios. El análisis de redes también define, determina y describe las relaciones existen entre el conjunto de usuarios de la red, las aplicaciones y dispositivos de red. Durante el proceso de análisis encontraremos el camino para tomar las correctas decisiones cuando nos encontremos en las etapas de arquitectura, diseño e implementación de la red.

   El proceso del análisis de redes tiene dos propósitos en primer lugar escuchar a los usuarios y entender sus necesidades, y segundo entender el sistema.

   En el análisis de redes examinamos también el estado de la red existente, incluyendo los problemas que podría tener, creamos una descripción de las tareas de que deberán atenderse, desarrollamos los requerimientos y flujos de tráfico, así como también el mapeo de usuarios, aplicaciones y dispositivos, de esta manera recopilamos información para las etapas de arquitectura y diseño.

Análisis de los requerimientos de usuario
 La especificación de requerimientos de cualquier servicio o producto no es una ciencia exacta. pero un análisis formal del proceso incrementará las probabilidades de acierto en las siguientes etapas de diseño e implementación. Los requerimientos de usuario pueden ser expresado en terminado de servicios requeridos en la red, el volumen de tráfico de red que será manejado, capacidad de almacenamiento requerido, niveles de servicio requerido. No es suficiente preguntar al cliente que es lo que quiere ya que podrían estar dudosos de lo que su red en el futuro requerirá y podrían tener solo una vaga idea de lo que puede o no lograrse desde un punto de vista tecnológico. Conversar con el personal de todos los niveles en la organización ayudara a ver todo el panorama completo y asegurar que los requerimientos sean especificados.
  Los servicios requeridos de seguro incluirán una red básica de servicios tal como compartir archivos, autenticación para el uso de impresoras en red. correo electrónico y acceso a Internet son los primeros en la lista y tendrán implicaciones en el tráfico y seguridad de la red. Otro servicio podría ser requeridos, como aplicaciones de trabajo en red, vídeo conferencias. Estos requerimientos inevitablemente tienen gran impacto en los requerimientos de ancho de banda.

 Una vez que la lista de servicios requeridos ha sido creada, será necesario determinar cuántos usuarios normalmente usaran estos servicios en cualquier momento dado y que tanta será la demanda, Esta información puede ser obtenida con una estimación del tráfico que fluye en diferentes partes de la red a diferentes horas del día. el número y tipos de transacciones de negocio que son realizadas cada día por ejemplo que tan seguido los datos existentes son modificados o leídos.

 El rendimiento de la red es usualmente especificado en base al promedio de velocidad que un servicio de red responde a una petición de usuario y el nivel general de disponibilidad de la red, es decir, cuando tiempo la red funciona de modo normal - ideal 100% -

  Finalmente decir que el rendimiento puede tener un significado diferente para cada persona en particular. Los usuarios tienen expectativas de acerca de los resultados finales y el tipo de tecnología cualquiera que sea ésta puede afectar las expectativas sobre todo en momentos de gran demanda donde podrían darse circunstancias adversas que son inevitables y vienen de tiempo en tiempo. es una buena política educar a los usuarios que tengan una expectativa razonable y realista en vez de hacer promesas que no podamos mantener o llevar a cabo sin el equipo y capacidad necesaria.

Especificación de los requerimientos: La especificación de requerimientos es un documento con los requerimientos de la red, pero con alto detalle, incluyendo todos los servicios y los niveles mínimos de rendimiento que debe cumplir. La especificación de requerimientos no especifica exactamente cómo será implementada la funcionalidad requerida, sino simplemente provee un conjunto de criterios que la red propuesta debe cumplir describiendo las limitaciones de costo y restricciones de tiempo, este documento es la salida de la etapa de análisis de requerimientos y representa un hito significativo en el proyecto. la especificación de requisitos debe incluir las siguientes secciones.
-Estimaciones sobre los servicios y tráfico de red
-Despliegue de equipos y software de usuarios finales.
-Aplicaciones de red.
-Capacidad de almacenamiento de datos en la red.
-Seguridad de la red.
-Procedimientos de recuperación y respaldo de datos.
-Apoyo de soporte y mantenimiento.
-Programación para entrenamiento de usuarios.
-Limitaciones de presupuesto.

 El formato exacto de la especificación de requerimientos variará de una organización a otra, pero la información debe ser siempre clara sin posibles ambigüedades. El concepto de SLA - Acuerdo del Nivel de Servicio - es muy popular en muchas organizaciones. Este es un acuerdo escrito de manera formal entre el departamento de IT y sus usuarios que establece los niveles esperados de rendimiento para los servicios de red, especifica los métodos que se utilizarán para el seguimiento y reporte sobre el rendimiento de la red, define el procedimiento a seguir en caso suceda algún problema y también las responsabilidades que incumben a los usuarios.

  El documento de SLA también sirve para desmentir niveles esperados de rendimiento poco realistas de los usuarios. La Información estadística recopilada de la red a través de los dispositivos de monitoreo es usado para verificar si los acuerdos de niveles de rendimiento son cumplidos.

Fases de diseño de redes:  Los profesionales en redes tienen la habilidad de crear redes que pueden llegar a ser tan complejas que si se llega a presentar un problema no puede ser resuelto usan el mismo patrón con el que se creó la red. Este hecho nos lleva a solucionar el problema de una manera también compleja, como resultado tendremos una red que será difícil de entender y mantener.

  Esta situación nos lleva a pensar en realizar el diseño de una red mediante un proceso estructurado analizando el ciclo de vida que tiene el diseño de una red para identificar sus fases.

  Son estás razones las que nos lleva al diseño de redes descendente (top-down). Esta es una disciplina que ha crecido de éxito que ha tenido la programación de software estructurado y el análisis estructurado de sistemas. el objetivo principal de esta metodología es tratar de representar con mayor precisión las necesidades del usuario que desafortunadamente suelen ser ignorados. otro objetivo es mantener el proyecto manejable viviéndolo en módulos que puede ser mantenidos y modificados fácilmente.

El diseño de red puede ser dividió en 4 fases principales.

Análisis de Requerimiento: En esta fase el analista de red entrevista a los usuarios y personal tenido para obtener un mayor entendimiento de los objetivos técnicos y de negocio para el nuevo sistema o actualización. La tarea de representar la red existente, incluyendo la topología física y lógica como también el rendimiento de la red. Los últimos pasos de esta phase es analizar el tráfico de red actual y futuro, como también los comportamientos de protocolo y la calidad de servicio requerido (SLA.


Desarrollo de un diseño lógico: En esta se representa la topología de red de la nueva red o actualización, direccionamiento de capas de red, protocolos de nombre, intercambio y enrutado. El diseño lógico también incluye el planeamiento de seguridad, la administración de la red y la investigación inicial para que los proveedores de servicio puedan cumplir con el acceso remoto y a la WAN.


Desarrollo de un diseño físico: Durante la fase del diseño físico se especifica las tecnologías y productos para llevar a cabo los diseños lógicos seleccionados. En esta fase también debe completada las investigaciones de proveedores de servicio que se inició en la fase anterior.
Prueba, optimización y documentación del diseño

 El paso final consiste en redactar e implementar el plan de prueba y construir un prototipo o piloto, optimizar el diseño de red y documentar el trabajo con el diseño de red propuesto.

Diseño de redes descendente (Top-Down)
-Fase 1:* Analizar Requerimientos
*Analizar metas de negocio y restricciones
*Analizar metas técnicas, ventajas y desventajas.
*Caracterizar la red existente
*Caracterizar el tráfico de la red
-Fase 2:* Diseño Lógico de la Red
*Diseñar una topología de la red.
*Diseñar modelos de direccionamiento y nombres.
*Seleccionar protocolos de conmutación (switching) y enrutamiento (routing).
*Desarrollar estrategias de seguridad para la red.
*Desarrollar estrategias para el mantenimiento de la red.
-Fase 3: *Diseño Físico de la Red.
*Seleccionar tecnologías y dispositivos para las redes de cada sector.
*Seleccionar tecnologías y dispositivos para la red corporativa (de la empresa u organización).
-Fase 4: *Probar, Optimizar y Documentar el diseño de la red.
*Probar el diseño de la red.
*Optimizar el diseño de la red.
*Documentar el diseño de la red.

Diseño de Redes PDIOO
-Fase 1: *Planificación (Plan).
*Identificación de requisitos.
*Aplicaciones y protocolos
*Conexión a Internet.
*Direccionamiento (public/privado/IPv4/v6)
*Redundancia.
*Wireless.
*QoS.
 - 2: *Estudio del Estado actual de la red *Cableado.
*Equipamiento que debe ser soportado.
*Procedimientos de administración.
*Topología.
*Utilización.
-Fase 2:* Diseño.
*Diseño de acuerdo con los requisitos y el estado de la red.
*Consultando al propietario.
-Fase 3: *Implementación.
*Creación de acuerdo con el diseño.
*Posible prototipo o red piloto (prueba de concepto).
-Fase 4: *Operación.
*Operación y monitorización de la red.
*Comprobación final del diseño.
-Fase 5: *Optimización.
*Detección y corrección de problemas.
*Puede requerir un rediseño.