Вы находитесь на странице: 1из 66

FUNDAMENTOS

DEL SOFTWARE

M. Sc. Ing. Jorge Butler B.

1
REDES
 Ladécada de los sesenta vio la aparición de los primeros
ordenadores comerciales. Eran grandes, caros y poco
potentes.

 Al poco de aparecer se sintió la necesidad de


interconectarlos para que se pudiesen comunicar entre sí.

 Desde que el ser humano tuvo necesidad de comunicarse ha


distancia, ha desarrollado mecanismos para tal fin.
REDES
 Todos con todos, era completamente inviable.

 Para solucionar este problema, aparecieron


compañías que ofrecían un servicio de
conmutación.

 Cada usuario puede comunicares con los demás,


así se incorpore uno nuevo.
 No tardó mucho en aparecer la necesidad de
comunicar los estaciones de trabajo con la unidad
central de proceso lejana, por ejemplo, desde la casa al
procesador central.

 Se comenzó a utilizar la red telefónica que, les


ahorraba generar infraestructuras nuevas.

 Emplear aparatos denominados módems para


establecer la comunicación.
COMUNICACIÓN ENTRE
COMPUTADORAS

 Cable coaxial.

 Línea Telefónica.

 Fibra óptica.

 Microondas.

 Satélite.
CABLE COAXIAL
FIBRA OPTICA
MICROONDAS
SATELITE
TIPOS DE REDES
Redes de área local (LAN)
Cuando empezó a ser habitual disponer de más de un
ordenador, apareció la necesidad de interconectarlos.
Una red de área local permite la interconexión de
computadores que están próximos físicamente.
Las redes de área local se circunscriben a una área
geográfica pequeña. Un edificio, una empresa, una
ciudad.
 Cuando la conexión de los computadores están muy
cercanos se pueden comunicar mediante cable.

 Sise requiere cruzar una calle, o una vía pública en


general, es preciso que una compañía de
telecomunicaciones establezca la comunicación.

 Paraconstruir una red local, se precisan básicamente


dos cosas: hardware (tarjetas, cables, conectores) y un
software.
TOPOLOGIA ESTRELLA
TOPOLOGIA BUS
TOPOLOGIA ANILLO
Redes de área ampliada (WAN)
Capaz de cubrir grandes distancias.

Provee servicio a un país o un continente.

Cualquier red en la cual no estén en un mismo


edificio todos sus miembros. Ejm Internet.

Son construidas por una organización o empresa


particular y son de uso privado.

Otras son construidas por proveedores.


INTERNET

 Conjunto descentralizado de redes interconectadas, que


utilizan protocolos TCP/IP.

 Redes físicas heterogéneas que funcionan como una red


lógica única, de alcance mundial.

 Orígenes se remontan a 1969. ARPANET.

 Mayor éxito ha tenido en Internet ha sido la World Wide Web


.
 Protocolo TCP/IP, sirve para comunicar computadoras
que utilizan diferentes sistemas operativos.

 Desarrollado y demostrado por primera vez en 1972


por el Departamento de Defensa de los Estados Unidos.

 En marzo de 1982, el Departamento de Defensa de los


Estados Unidos declaró al protocolo TCP/IP el estándar
para las comunicaciones entre redes militares
 En enero del 2013 Internet alcanzó los dos mil cien
millones de usuarios.

 Impactoprofundo en el mundo laboral, el ocio y el


conocimiento a nivel mundial.

 Se navegaba para algo muy concreto: búsquedas de


información.
SEGURIDAD EN INTERNET

 Muchas personas ven en Internet un modelo de cómo


tendrán lugar los negocios en el futuro.

 Tienen que sentirse seguros sobre el hecho de enviar


informaciones financieras a través de la red.

 ¿Cómo se hace esto?. Con una tecnología llamada


encriptación.

 El programa codifica los datos con un código secreto.


 Losriesgos que supone el realizar transacciones a través
de la red no son, sin embargo, mayores a los que nos
enfrentamos en cualquier otro campo en el que realicemos
negocios.

 Haymuchas compañías trabajando continuamente para el


desarrollo y mejora de la tecnología.
ARCHIVOS
 Losarchivos son una agrupación de información en forma
de bytes y que se almacenan en un medio de
almacenamiento electrónico. Ejemplo:
 Un texto (documento)
 Un gráfico (foto)
 Un audio (música)
 Un video (película)
 Un programa (Office)
 Qué es un texto plano ?

27
ARCHIVOS
 Todo archivo debe tener un nombre
único que lo identifique.
 En algunos sistemas operativos se
requiere de una extensión, que indica
que tipo de archivo es o con que
programa se ha creado. Por ejemplo en
Windows tenemos:
 Libro.doc (doc indica que es un archivo
creado con Microsoft Word).
 Linux.ppt (ppt indica que es un archivo
creado con Microsoft Power Point).

28
ARCHIVOS
 En el caso del Sistema Operativo Linux no se hace uso de la
extensión.
 Linux es capaz de acceder a las cabeceras del archivo y
determinar su tipo, sin confiar demasiado en la extensión
que presente su nombre.

29
PROGRAMAS
 Los programas son un conjunto de órdenes
(instrucciones) que el computador debe ejecutar
para realizar una determinada acción prevista por
el ser humano.

 Realmente el elemento que entiende este conjunto


de ordenes es el procesador.

30
PROGRAMAS

 Esta almacenado en un archivo, que es copiado por


el Sistema Operativo desde una dispositivo de
almacenamiento (disco duro, memoria USB, etc), a
la memoria RAM (Random Access Memory) para
ser ejecutado por el procesador.

31
PROGRAMAS
 Solo los archivos compuestos por instrucciones
que el procesador entiende, pueden ser ejecutados
por el procesador. A estos se les denomina archivos
ejecutables.

 En el caso del sistema operativo Windows estos


archivos tiene extensión *.EXE o *.COM

32
PROGRAMACIÓN

 Toda computadora requiere ser programada para


que realice una determinada función o tarea.

 Para ello existen personas llamadas


programadores, los cuales desarrollan estos
programas.

33
PROGRAMACIÓN
 La programación es el proceso de diseñar, codificar,
depurar y mantener el código fuente de programas
computacionales. El código fuente es escrito en un lenguaje
de programación.

 La programación es el soporte fundamental a la ingeniería.

 Las matemáticas son la base para la programación.

34
CONSTRUYENDO PROGRAMAS
 Losprogramadores empiezan razonando como
solucionar un determinado problema :

P
i
ens
o

35
ALGORITMOS
 Luego plasman la solución elaborando un
algoritmo.

 Un algoritmo es un conjunto de instrucciones o


reglas bien definidas, ordenadas y finitas que
permite realizar una actividad mediante pasos
sucesivos que no generen dudas a quien deba
realizar dicha actividad.

36
ALGORITMOS
 Un algoritmo se define
como un método que se
realiza paso a paso para
solucionar un problema
que tiene un inicio y un
final.

37
ALGORITMOS
 Resolución de un problema desde el punto de vista
algorítmico :
 Análisis preliminar o evaluación del problema : Estudiar el
problema en general. El objetivo de ésta fase es comprender el
problema.

 Definición o análisis del problema : Ver que es lo que ingresa


y que es lo que se obtiene, las posibles condiciones o
restricciones.

 Diseño del algoritmo : Una vez comprendido el problema se


trata de determinar que pasos o acciones tenemos que realizar
para resolverlo.
38
ALGORITMOS
 Las características de un algoritmo son:
 Debe ser preciso. e indicar el orden de realización de cada
paso.

 Debe ser definido. Si se sigue un algoritmo dos veces, se debe


obtener el mismo resultado.

 Debe ser finito. Si se sigue un algoritmo, se debe terminar en


algún momento; o sea debe tener un número finito de pasos.

 La definición de un algoritmo debe describir tres partes :


Entrada, Proceso y Salida.

39
ALGORITMOS: EJEMPLO
Deseo calcular
la suma de los diez
primeros
números Suma = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10

Se inicializa la variable suma :


Suma = 0
Se inicializa la variable contador :
Contador = 1
Suma = Suma + Contador
Incrementa Contador
Es Contador menor a 11 entonces vuelve a sumar
Fin
ALGORITMOS: DOCUMENTANDO

 Para documentar un algoritmo se puede emplear el lenguaje


natural, sin embargo este es ambiguo y extenso. Por ellos es
que se utiliza un "lenguaje" más estructurado. Tenemos dos
opciones:

 Pseudocódigo
 Diagramas de flujo de Datos

41
Diagrama de Flujo DFD

 Los diagramas de flujo de datos o DFD, son descripciones


gráficas de los algoritmos; usan símbolos conectados con
flechas para indicar la secuencia de instrucciones.
 Un diagrama de flujo se puede documentar mediante
diversos programas como:
 Microsoft Word y Power Point, con la opción Insertar -
Formas.
 Microsoft Visio.
 Editores de DFD.

42
ALGORITMOS: DFD
 Otra opción es trabajar con
un software que no
solamente permita
documentar el DFD, sino
que también permita
“ejecutarlo”.
 Uno de estos programas de
denomina FlowCode.

43
PROGRAMA

 Luego el algoritmo se convierte en un programa.

 Un programa es un conjunto de instrucciones (ordenes) que


debe ejecutar el procesador.

 Un programa esta “construido” utilizando un Lenguaje de


Programación.

44
TIPOS DE PROGRAMAS
Programa fuente.-
 Aquel que es construido a partir de un pseudocódigo.
 Se obtiene utilizando un lenguaje de programación. Usa
comandos en ingles.
 Puede ser entendido por el usuario.
 El computador no lo entiende.

Programa objeto.-
 Es aquel que se obtiene a partir del programa fuente.
 Se obtiene luego del proceso de compilación.
 Es entendido por el computador

45
 No puede ser entendido por el usuario.
 Se encuentra en lenguaje maquina.

Proceso de compilación.-
 Es el que permite convertir el programa fuente en objeto.
 Es realizado por el programa compilador.
 Por lo general, por cada lenguaje de programación existe
un programa compilador.
 Convierte las instrucciones construidas en un lenguaje de
programación en instrucciones en lenguaje maquina.
 También verifica la sintaxis de cada instrucción.

46
PROGRAMA
 Todo programa debe tener por lo menos una entrada y una
salida. Su funcionamiento es:

 El programa lee un dato de entrada (por ejemplo: lee el


teclado), y lo almacena en una variable.
 Calcula un nuevo valor para la salida en función a los datos de
entrada y el algoritmo implementado. En función a lo
complejo que puede ser la información de la salida, esta se
puede almacenar en una variable.
 Finalmente el programa envía el nuevo valor a la salida del
computador (por ejemplo: la pantalla de video).

47
48
LENGUAJE DE PROGRAMACIÓN

 Es un lenguaje formal diseñado para expresar procesos que


pueden ser llevados a cabo por máquinas como las
computadoras.

 Se emplean para crear programas que controlen el


comportamiento físico y lógico de una máquina.

 Paraexpresar algoritmos con precisión, o como modo de


comunicación humana (redes de datos).

49
LENGUAJE DE PROGRAMACIÓN
 Está formado por un conjunto de símbolos y reglas
sintácticas y semánticas que definen su estructura, y el
significado de sus elementos y expresiones. Estos lenguajes
se clasifican en dos categorías:

50
LENGUAJES DE BAJO NIVEL
 Lenguaje de Máquina: Es el lenguaje "natural" del
procesador. Esta basado en "1´s" y "0´s". Es también
denominado Lenguaje Binario, en donde las instrucciones
del procesador están codificadas mediante una secuencia de
"1´s" y "0´s". Estos códigos se denominan byte code.

51
LENGUAJES DE BAJO NIVEL
 Lenguaje Ensamblador: En este lenguaje las instrucciones
(secuencia de “1” y “0”) se representan mediante nombres
denominados nemónicos. Por ejemplo: ADD, SUB, MUL,
DIV, MOV, LD, etc. El lenguaje ensamblador es una forma
más comprensible que el lenguaje de máquina.

52
LENGUAJES DE BAJO NIVEL
 A continuaciónmostramos a modo de ejemplo un pequeño
programa en ensamblador:

 Existen programas especiales que convierten los nemónicos


(código fuente) en lenguaje de máquina (código
ejecutable). Dichos programas se llama Ensambladores.

53
LENGUAJES DE ALTO NIVEL

 Los lenguajes de programación de alto nivel se caracterizan


por expresar los algoritmos de una manera adecuada al
entendimiento humano (capacidad cognitiva humana), en
lugar de la capacidad ejecutora de las máquinas (lenguaje
ensamblador o lenguaje de máquina).

 Existeuna gran variedad de lenguajes de alto nivel, como:


C, C++, Visual Basic, Java, Python, etc.

54
LENGUAJES DE ALTO NIVEL
 Sepuede distinguir dos tipos de lenguajes, según se realice
su ejecución:
 Interpretado, en donde cada instrucción que contiene el
programa se va convirtiendo a código máquina antes de
ejecutarla, lo que hace que sean más lentos.
 Compilado, en donde se convierte todo el programa en bloque
a código máquina y después se ejecuta.

55
LENGUAJES DE ALTO NIVEL
Compilar Interpretar
Genera un ejecutable. No genera un ejecutable.
El proceso de traducción se realiza una sola vez. El proceso de traducción se realiza en cada ejecución.

La ejecución es rápida debido a que el programa ya La ejecución es más lenta, ya que para cada línea del
ha sido traducido a código máquina. programa es necesario realizar la traducción

El ejecutable va dirigido a una plataforma concreta No hay ejecutable, así que si existe un intérprete para otra
(procesador, sistema operativo), siendo imposible plataforma, el programa se podrá ejecutar en ambas. Los
portarlo a otra plataforma. programas interpretados son más portables que los
compilados.
Una vez compilado el programa, el código fuente no El código fuente es necesario en cada ejecución (menor
es necesario para ejecutarlo. seguridad).
Los errores sintácticos se detectan durante la Los errores sintácticos se detectan durante la ejecución.
compilación. Si hay errores, el compilador no Dichos errores pueden quedar “ocultos”, si no es necesario
producirá un ejecutable. traducir la línea que lo contiene.

Un programa compilado puede, por error, afectar la Un programa interpretado con un comportamiento torpe
estabilidad de la plataforma. Puede hacer “colgar” la normalmente puede ser interrumpido sin dificultad, ya que
computadora. su ejecución está bajo el control del intérprete.

56
TIPOS DE LENGUAJES
PROGRAMACIÓN
Según la forma de las instrucciones, se pueden distinguir dos tipos
de lenguajes de programación:

Lenguajes de Programación textuales: Se debe escribir el


programa, esto significa conocer los comandos del lenguaje de
programación que se está usando y tener cuidado de no cometer
errores de sintaxis. Ejemplos:

 Ensamblador
 C, C++
 Pascal
 Fortran
 Java
 Etc.

57
TIPOS DE LENGUAJES
 Lenguajes
PROGRAMACIÓN
de Programación Iconográficos: Cada vez más
profesionales incursionen en la programación sin que hayan
estudiado programación. Es por ello que se crearon los
lenguajes de programación iconográficos, cuyas
características son:
 "Aíslan" la complejidad de los comandos o sentencias que
tiene cada lenguaje de programación y los representan como
íconos.
 Minimizan la actividad de escribir los programas,
simplemente los tiene que "dibujar", arrastrando iconos al
"área de programación".

58
TIPOS DE LENGUAJES
 Ejemplo:
PROGRAMACIÓN
 Lenguaje Ladder (escalera) para programar equipos
denominados PLC (Programmable Logic Controller). Esta
dirigido fuertemente a los ingenieros electricistas.

59
TIPOS DE LENGUAJES DE PROG.
 Ejemplos:
 Lenguaje G empleado con el software LabView, para la
automatización y control de equipos electrónicos.

60
LENGUAJES DE PROGRAMACIÓN
 Los programas son escritos utilizando Lenguajes de
Programación como: Assembler, C, C++, Java, Visual
Basic, etc.
 Una vez escritos son convertidos (compilados) a un
formato ejecutable (EXE o COM) para que puedan ser
ejecutados por el procesador.

61
LENGUAJES DE PROGRAMACIÓN
PROG1.CPP PROG1.CPP
void main( ) void main( )
{ Lenguaje de Alto Nivel {
printf(“Hola”); printf(“Hola”);
} (Programa Fuente) }

Compilador
PROG1.EXE PROG1.EXE
55 1A 34 13 FB 45 55 1A 34 13 FB 45
33 25 C5 A3 00 F1 33 25 C5 A3 00 F1
34 78 B1 C2 19 00
Programa Ejecutable 34 78 B1 C2 19 00
28 13 45 67 CC FF 28 13 45 67 CC FF

Lenguaje de Máquina

34: Suma 75: Suma


75: Resta 34: Resta
62
ELEMENTOS DE UN LENGUAJE DE
PROG.
Todo lenguaje de programación debe tener los siguientes
elementos:

 Variables o contenedores de datos: Una variable sirve para


almacenar temporalmente datos en un programa.
 Las variables almacenan información en la memoria RAM del
computador.
 Dependiendo del tipo de datos que quiero almacenar en una
variable, esta puede ser de 1 bit, 8 bits (byte), 16 bits (word), etc.

63
ELEMENTOS DE UN LENGUAJE DE
PROG.
Tipo de Datos: Son los diversos "tamaños" de datos que puede
trabajar el lenguaje de programación. Existen básicamente dos
tipos de datos:

 Datos simples:
 Datos Numéricos: enteros, real, byte, etc.
 Datos Lógicos o Booleanos.
 Datos Alfanuméricos: carácter y cadena.
 Etc.

 Estructurade datos:
 Arreglos (Array)
 Etc.

64
ELEMENTOS DE UN LENGUAJE DE
PROG.
 Operadores: Símbolos que representan operaciones.
 Operadores Relacionales o Condicionales: >, <, =, etc.
 Operadores Aritméticos: +, -, *. /, etc.
 Operadores Lógicos o Booleanos: and, or, not, etc.
 Operadores Alfanuméricos.

 Funciones de Entrada y Salida: Permiten comunicarse con


diversos dispositivos.
Brinda independencia al programador sobre el hardware que
tiene su computador.
Es posible que el programador elabore funciones para un mejor
entendimiento o ejecución de su programa.

65
ELEMENTOS DE UN LENGUAJE DE
PROG.
Juego de Instrucciones o sentencias: Permiten leer información
de entrada, procesar información y finalmente enviar
información a la salida.
Los nombres de las instrucciones son palabras reservadas y no
pueden emplearse como nombre de una constante o variables.
 Estructuras de control: Secuenciales, condicionales y repetitivas.
 Funciones: Son pequeños programas que elabora el programador y
que le sirve para un mejor entendimiento o ejecución del programa
principal. Normalmente se almacenan en archivos denominados
librerías.
 Subprogramas
 Etc.

66

Вам также может понравиться