Está en la página 1de 63

Propedéutico

Ingeniería en Sistemas
Computacionales
Parte I

Profesor: Jesús Ricardo Salazar Acevedo


Conceptos Básicos
Que es un Sistema

•Sistema es un todo organizado y


complejo; un conjunto o combinación de
cosas o partes que forman un todo
complejo o unitario. Es un conjunto de
objetos unidos por alguna forma de
interacción o interdependencia.
Un sistema, según Ludwig Von Bertalanffy, fundador
de la Teoría General de Sistemas es:

“un conjunto de elementos


interdependientes, es decir ligados entre si
por relaciones tales que si una es
modificada, las otras también lo son y que
en consecuencia todo el conjunto es
modificado.”
Tipos de sistemas

En cuanto a su constitución, pueden ser físicos o


abstractos:
Sistemas físicos o concretos: compuestos por
equipos, maquinaria, objetos y cosas reales. El
hardware.
Sistemas abstractos: compuestos por conceptos,
planes, hipótesis e ideas. Muchas veces solo
existen en el pensamiento de las personas. Es el
software.
Tipos de sistemas
En cuanto a su naturaleza, pueden cerrados o abiertos:
Sistemas cerrados: no presentan intercambio con el medio
ambiente que los rodea, son herméticos a cualquier influencia
ambiental. No reciben ningún recursos externo y nada
producen que sea enviado hacia fuera.
En rigor, no existen sistemas cerrados. Se da el nombre de
sistema cerrado a aquellos sistemas cuyo comportamiento es
determinístico y programado y que opera con muy pequeño
intercambio de energía y materia con el ambiente. Se aplica el
término a los sistemas completamente estructurados, donde
los elementos y relaciones se combinan de una manera
peculiar y rígida produciendo una salida invariable, como las
máquinas.
Tipos de sistemas

Sistemas abiertos: presentan intercambio con el


ambiente, a través de entradas y salidas.
Intercambian energía y materia con el ambiente.
Son adaptativos para sobrevivir. Su estructura es
óptima cuando el conjunto de elementos del
sistema se organiza, aproximándose a una
operación adaptativa. La adaptabilidad es un
continuo proceso de aprendizaje y de auto-
organización.
SISTEMA DE PROCESAMIENTO DE
INFORMACIÓN

Un sistema de procesamiento de información es un


conjunto de elementos directamente orientado a la
adquisición, tratamiento, almacenamiento y
procesamiento de datos para convertirlos en información
fidedigna, útil, actual, valida e importante con un objetivo
definido, de tal forma que sirva para resolver uno o varios
problemas o simplemente para cubrir una necesidad
SISTEMAS DE PROCESAMIENTO DE
INFORMACION
Computadora: Maquina o aparato
electrónico capaz de ejecutar
operaciones repetitivas a muy alta
velocidad.

ELEMENTOS DE UN SISTEMA DE PROCESAMIENTO DE


INFORMACION

Entrada = Datos PROCESADOR Salida = Información

Representación de algún Datos procesados y organizados.


hecho, concepto o entidad real
(los datos pueden tomar
diferentes formas; por ejemplo
palabras escritas o habladas,
Retroalimentación.
números y dibujos).
SISTEMAS DE PROCESAMIENTO DE
INFORMACION
HARDWARE: Conjunto de SOFTWARE: Conjunto de
componentes físicos de la programas que controlan el
computadora (equipo físico) funcionamiento de una
computadora (equipo lógico).

Dispositivos Almacenamiento
de Memoria secundario
entrada/salida central (memoria
E/s auxiliar)
(Periféricos)

Unidad central
de
procesamiento
• Un ordenador es un sistema para procesar
información
Entrada = Procesador Salida =
Datos Resultados

Algoritmo

Un sistema de información es un conjunto de componentes interrelacionados


para recolectar manipular diseminar datos e información y pada disponer de
un mecanismo de retroalimentación útil en el cumplimiento de un objetivo.
TIPOS DE SISTEMAS DE INFORMACION
PRINCIPALES

NIVEL: ESTRATEGICO
S.S.G.
SISTEMA DE SOPORTE GERENCIAL

NIVEL : ADMINISTRACION
S.I.A.
SISTEMA DE INF. PARA LA ADM.
S.S.D.
SISTEMA PARA EL SOPORTE A DECISIONES

NIVEL: DE CONOCIMIENTO
S.T.C.
SISTEMA DE TRABAJO DEL CONOCIMIENTO
S.A.O.
SISTEMA DE AUTOMATIZACION
EN LA OFICINA.

NIVEL: OPERATIVO
S.P.O.
SISTEMA DE PROCESAMIENTO MANUFACTURA CONTABILIDAD
VENTAS Y RECURSOS
DE OPERACIONES FINANZAS HUMANOS
MERCADOTECNIA
El modelo de von Neumann
• Antes: programar era conectar cables…14
• Hacer programas era mas una cuestión de ingeniería
electrónica
• Cada vez que había que calcular algo distinto había
que reconectar todo.
John Von Neumann
• 1903 – 1957
• Matemático
• Publicó y publicitó la idea
de programa almacenado
en memoria
• 1945: “Primer Borrador de
un Reporte sobre la
EDVAC”
• EDVAC = Electronic
Discrete Variable
Computer
Diagrama de la arquitectura von
Neumann

Diagrama de bloques funcionales de la


arquitectura propuesta por John von Neumann.
John Von Neumann
• Los datos y programas se almacenan en una misma
memoria de lectura-escritura
• Los contenidos de esta memoria se direccionan
indicando su posición sin importar su tipo
• Ejecución en secuencia (salvo que se indique lo
contrario)
• Representación Binaria
Características principales
• 3 componentes principales:
– CPU:
• Unidad de Control, Unidad aritmético lógica (ALU),
Registros
– Memoria principal:
• Almacena programas y datos
– Sistema de Entrada/Salida
• Procesamiento secuencial de instrucciones
• Datos binarios
• Un sistema de interconexión
– Conecta la memoria y unidad de control
– Fuerza la alternación entre ciclos de lectura y ejecución.
El modelo de arquitectura de computadores que propuso
hacía posible la ejecución de distintos programas que
previamente se podían almacenar en la memoria de la
computadora. Este enfoque en aquella época fue muy
innovador y sorteaba las limitaciones de los
computadores que ya se habían construido, como el
ENIAC o el Colossus, y que exigían una programación
muy compleja y laboriosa mediante interruptores y
cables de conexión.
Arquitectura Harvard. Es una arquitectura de computadora con pistas
de almacenamiento y de señal físicamente separadas para las
instrucciones y para los datos. El término proviene de la computadora
Harvard Mark I basada en relés, que almacenaba las instrucciones
sobre cintas perforadas (de 24 bits de ancho) y los datos en
interruptores electromecánicos. Estas primeras máquinas tenían
almacenamiento de datos totalmente contenido dentro la unidad central
de proceso, y no proporcionaban acceso al almacenamiento de
instrucciones como datos. Los programas necesitaban ser cargados por
un operador; el procesador no podría arrancar por sí mismo.
El PIC16FXXX cuenta con un bus de datos de 14-bits para acceder a
la memoria de programas y un bus independiente de 8-bits para
acceder a la memoria de datos. Esto mejora el ancho de banda en
relación a la arquitectura tradicional de Von-Neumann, en la cual en la
cual memoria de programa y la memoria de datos son accedidas a
través del mismo bus.
Esta arquitectura ofrece la posibilidad de poder acceder a una sola
instrucción en un ciclo de reloj. Mientras la memoria de programa es
accedida la memoria de datos está en un bus independiente y puede
ser leída y escrita. Esta separación de buses permite que una
instrucción sea ejecutada mientras la siguiente es extraída.
¿Qué es un algoritmo?
Breve historia de los algoritmos

Su origen viene de los matemáticos hindúes y árabes, que


desarrollaron las primeras técnicas de cálculo escrito. En particular
el árabe Mohamed ben Musa, conocido como Al’Khwarizmi,
escribió un libro de aritmética que fue traducido al latín como
Algoritmi de numero Indorum (s. XIV), donde introduce el sistema
numérico hindú (conocido únicamente por los árabes 50 años
antes), y los métodos para calcular con él. De esta versión latina
aparece la palabra algoritmo.

Valls & Camacho 2004


Algoritmo
(del árabe al-Khowârizmî)

1. Conjunto ordenado y finito de operaciones que permite hallar


la solución de un problema.

2. Método y notación en las distintas formas del cálculo.

En Informática:
– Un algoritmo es una secuencia de pasos a seguir para
resolver un problema usando un computador u ordenador.
– La algoritmia o ciencia de los algoritmos, es uno de los
pilares de la informática.
Algoritmo

Un algoritmo es la descripción de un método preciso para resolver


automáticamente un problema.

Desde el punto de vista de la computación, un algoritmo consta de


una representación de los datos que se manejan, y de una secuencia
ordenada de instrucciones u ordenes que resuelven el problema
planteado.

Valls & Camacho 2004


¿En dónde aplicamos los algoritmos?
¿En dónde aplicamos los algoritmos?

• En la vida diaria. Nuestro cerebro siempre


planea la manera de resolver problemas, cuando
pensamos como hacerlo, estamos diseñando un
algoritmo de solución.
• En la programación de computadoras. Todas
las aplicaciones existentes se desarrollaron a
través de algoritmos de solución.
Diferencia entre Algoritmo y
Programa
• El algoritmo incorpora las características
estructurales básicas de la computación,
independientemente de los detalles de su
implementación; mientras que un programa
tiene un conjunto específico de detalles para
resolver un problema.
CARACTERISTICAS DE UN ALGORITMO

 Preciso: Debe indicar el orden de la realización de


cada paso.
 Definido: Sistemático (determinista)
Si se sigue dos veces, se obtiene el mismo resultado
cada vez.
 Finito: Principio y fin.
(Tener un numero finito de pasos).
REPRESENTACION DE UN ALGORITMO

 LENGUAJE NATURAL.
 PSEUDOCODIGO.
 GRAFICO

 DIAGRAMA DE FLUJO
 DIAGRAMA DE N-S
(Nassi-Schneiderman).
Tipos de algoritmos.

 Diagramas de flujo u organigramas.


 Diagramas N-S (Nassi-Schneiderman).
 Lenguajes específicos para la descripción de
algoritmos (pseudocódigo).
 Lenguaje natural.
Tipos de algoritmos.
 Diagramas de flujo u organigramas.
Es una representación grafica de un algoritmo sin reglas
sintácticas o gramaticales.
Es independiente de cualquier lenguaje de programación
puesto que refleja únicamente el funcionamiento lógico.
Describe de forma grafica el flujo y orden de las acciones
que deben ser ejecutadas.
Se diseñan mediante un conjunto de símbolos
estandarizados y normalizados.
Reglas para la elaboración de
Diagramas de Flujo
1.- Se debe de escribir de arriba hacia abajo y de
izquierda a derecha
2.- Los símbolos se unen con líneas
3.- Se usan flechas para indicar el flujo de
información
4.- Los círculos de decisión pueden y deben
tener más de una línea de flujo
5.- Todos los símbolos pueden tener más de una
línea de entrada
Tipos de algoritmos.
 Pseudocódigo.
Lenguaje que permite la descripción o especificación de
algoritmos (parecido al lenguaje natural).
La conversión a un lenguaje de programación es más
simple.
Permite expresar sin ambigüedades y de manera clara las
instrucciones que debe realizar el algoritmo.
No es un lenguaje de programación.
Representación algorítmica
Diagrama de flujo
Pseudocódigo Inicio

Entorno SUMA <- 2


suma, num NUM <- 4
Inicio SUMA <- SUMA +
// Iniciar variables NUM
suma<- 2
num <- 4 SI NUM <- NUM + 2
// Suma de los números
repetir
suma <- suma + num NUM <= 100
num <- num +2
NO
mientras (num <= 100)
escribir
// Escribir resultado
SUMA
escribir (suma)
Fin Fin

37
Tipos de algoritmos.
 Diagramas N-S (Nassi-Schneiderman)
Son una representación grafica de los algoritmos,
parecidos a los DF con la diferencia de que las flechas de
unión se omiten en éste y se representan por cajas
sucesivas.
Tipos de algoritmos.
 Lenguaje natural.
Cualquier algoritmo se puede representar utilizando el
lenguaje hablado de cualquier persona, con la limitante de
que éste suele tener inconvenientes que dificultan su
traducción a un lenguaje de programación, por ejemplo, la
ambigüedad.
Metodología para resolver
problemas a través de la
computadora
Análisis de problemas
Fases en la solución de problemas
Al solucionar un problema, es conveniente seguir
una serie de fases para resolverlo.

Cuando se sigue una metodología existe un alto


porcentaje de probabilidades de culminar con éxito
la tarea asignada.

Se deben de considera todos los pasos necesarios y


seguir un orden estricto en la ejecución de los
mismos.
Fases en la solución de problemas
Codificación

Definición del
problema

Compilación Depuración
Análisis del
problema
Documentación
Diseño de la
solución
Ejecución
Prueba de
escritorio
Mantenimiento
Fases en la solución de problemas
 Definición del problema
Presenta el problema en un lenguaje natural y de una
manera clara y precisa. Es el enunciado del problema.
Debe dar a conocer lo que se desea que realice la persona
o la computadora. Se centra en el qué.
Fases en la solución de problemas
 Análisis del problema
Se identifican los datos requeridos para la solución
(entrada), las herramientas necesarias (métodos, cálculos,
formulas, etc.) y los resultados esperados (salidas).
Fases en la solución de problemas
 Diseño de la solución
Se diseña un algoritmo para encontrar la solución
conceptual al problema analizado. Se puede utilizar
cualquier tipo de algoritmo pero dependiendo el caso. Y
respetando las reglas para el diseño de los mismos.
Fases en la solución de problemas
 Prueba de escritorio
Se construyen casos de pruebas específicos que tomen en
cuenta todas las consideraciones posibles. Es un
seguimiento manual y lógico de los pasos del algoritmo
para comprobar si se obtiene el resultado esperado.
Permite corregir errores detectados al momento de hacer
la prueba.
Fases en la solución de problemas
 Codificación
Consiste en transcribir o traducir el algoritmo (solución
del problema) en un lenguaje de programación de
computadora, creando así un programa de computadora
(código fuente).
Fases en la solución de problemas
 Compilación
Verifica si todas las instrucciones del programa están
escritas correctamente (sintaxis y gramática) de acuerdo al
lenguaje utilizado. Es realizada por un software especifico
para este fin (compilador).
Fases en la solución de problemas
 Depuración
Identifica y corrige aquellos errores de sintaxis y los
lógicos identificados en el programa. El programa entra en
un ciclo de compilación-depuración, hasta que el
programa este correctamente escrito de acuerdo con el
lenguaje.
Fases en la solución de problemas
 Documentación
Se elaboran los documentos necesarios para la
comprensión en el uso del programa y para facilitar el
futuro mantenimiento del mismo. Existen dos tipos de
documentación:
 Interna. Formada por los documentos o mensajes que
se realizan en el código fuente.
 Externa. Se divide en:

 Manual técnico.

 Manual del usuario.


Fases en la solución de problemas
 Ejecución
Se instala el programa para su uso a los usuarios finales,
si es necesario, se implementa una capacitación.
Fases en la solución de problemas
 Mantenimiento
Realiza actualizaciones, cambios, modificaciones,
adecuaciones, nuevos requerimientos al programa o
algoritmo.
Metodología de diseño
• Para un problema existen muchos algoritmos
• Para elegir el más adecuado se debe considerar:
– Legibilidad Eficiencia
– Portabilidad Modularidad
– Modificalidad Estructuración
• Programación estructurada
– Conjunto de técnicas que aumentan la productividad
– Utiliza un número limitado de estructuras de control
que minimiza la complejidad de los problemas
– Teorema de Bohm-Jacopini: Cualquier programa puede
escribirse utilizando sólo 3 estructuras de control
(Secuencial, selectiva, repetitiva)
Metodología de diseño

Secuencial

Actividad 1

Actividad 2

Actividad n
Metodología de diseño
Selección
Simple:
Doble:

Condición
sí no
condición
actividad
no Actividad 1 Actividad 2

Múltiple:

sinoCondición Condición
sino
Condición

sí sí sí
Actividad 1 Actividad 2 Actividad n-1 Actividad n
Metodología de diseño
Repetición

Test false
condition

true
activity
Metodología de diseño

• Top Down:
– Establece una serie de niveles de mayor a
menor complejidad que den solución al
problema
– El diseño consiste en una serie de
descomposiciones sucesivas del problema
inicial, que recibe el refinamiento progresivo
del repertorio de instrucciones
– A través de
• simplificar el problema y los subproblemas de cada
descomposición
• las diferentes partes se programan por separado
• el programa final queda estructurado en forma de
bloque o módulos lo que hace más fácil su lectura y
mantención
Metodología de diseño

Diseño Top Down

Nivel 0

Jerarquía de
subprogramas
Nivel 1 Nivel 1

Nivel 2 Nivel 2 Nivel 2 Nivel 2

Nivel 3
Metodología de diseño
Diseño Top Down
Área Circulo
INICIO

LEER Radio

Área = 3.1416 *Radio ^ 2

IMPRIMIR
Área

FIN
Metodología de diseño

Diseño Top Down

Pruebas de escritorio:
Radio =2 cm
Área = 3.1416 * 2 ^ 2 =12.57 cm2
Metodología de diseño

• Bottom up
– Este diseño se aplica cuando necesitamos
resolver un problema que ha aparecido de
inmediato
– Es difícil a través de este método llegar a
integrar los subsistemas al grado tal de que el
empeño global sea fluido
– Generalmente resultan más costosos y a veces
introducen al sistema datos carentes de valor
GRACIAS

También podría gustarte