Programacion de Software
martes, 12 de febrero de 2013
Que Es Software
Se conoce como software1 al equipamiento lógico o soporte lógico de un sistema informático, el que comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos que son llamados hardware.
Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas; tales como el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el llamado software de sistema, tal como el sistema operativo, que básicamente permite al resto de los programas funcionar adecuadamente, facilitando también la interacción entre los componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz con el usuario.
ALGORITMOS
Definición de Algoritmo.
“Un algoritmo se define como un método que se realiza paso a paso para solucionar un problema que termina en
un número finito de pasos”.
Las características fundamentales que debe cumplir todo 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 cada vez.
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.
Diseñar un algoritmo para cambiar una llanta a un coche.
EJEMPLO:
USO:
Tiempo secuencial. Un algoritmo funciona en tiempo discretizado –paso a paso–, definiendo así una secuencia de estados "computacionales" por cada entrada válida (la entrada son los datos que se le suministran al algoritmo antes de comenzar). Estado abstracto. Cada estado computacional puede ser descrito formalmente utilizando una estructura de primer orden y cada algoritmo es independiente de su implementación (los algoritmos son objetos abstractos) de manera que en un algoritmo las estructuras de primer orden son invariantes bajo isomorfismo. Exploración acotada. La transición de un estado al siguiente queda completamente determinada por una descripción fija y finita; es decir, entre cada estado y el siguiente solamente se puede tomar en cuenta una cantidad fija y limitada de términos del estado actual.
“Un algoritmo se define como un método que se realiza paso a paso para solucionar un problema que termina en
un número finito de pasos”.
Las características fundamentales que debe cumplir todo 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 cada vez.
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.
Diseñar un algoritmo para cambiar una llanta a un coche.
EJEMPLO:
USO:
DIAGRAMA DE FLUJO DE DATOS
Un diagrama de flujo de datos ( DFD por sus siglas en español e inglés) es una representación gráfica para la maceta del "flujo" de datos a través de un sistema de información. Un diagrama de flujo de datos también se puede utilizar para la visualización de procesamiento de datos (diseño estructurado). Es una práctica común para un diseñador dibujar un contexto a nivel de DFD que primero muestra la interacción entre el sistema y las entidades externas. Este contexto a nivel de DFD se "explotó" para mostrar más detalles del sistema que se está modelando.
Los diagramas de flujo de datos fueron inventados por Larry Constantine , el desarrollador original del diseño estructurado, basado en el modelo de computación de Martin y Estrin: "flujo gráfico de datos" . Los diagramas de flujo de datos (DFD) son una de las tres perspectivas esenciales de Análisis de Sistemas Estructurados y Diseño por Método SSADM. El patrocinador de un proyecto y los usuarios finales tendrán que ser informados y consultados en todas las etapas de una evolución del sistema. Con un diagrama de flujo de datos, los usuarios van a poder visualizar la forma en que el sistema funcione, lo que el sistema va a lograr, y cómo el sistema se pondrá en práctica. El antiguo sistema de diagramas de flujo de datos puede ser elaborado y se comparó con el nuevo sistema de diagramas de flujo para establecer diferencias y mejoras a aplicar para desarrollar un sistema más eficiente. Los diagramas de flujo de datos pueden ser usados para proporcionar al usuario final una idea física de cómo resultarán los datos a última instancia, y cómo tienen un efecto sobre la estructura de todo el sistema. La manera en que cualquier sistema es desarrollado, puede determinarse a través de un diagrama de flujo de datos. modelo de datos.
niveles, los cuales son:
- Nivel 0: Diagrama de contexto.
- Nivel 1: Diagrama de nivel superior.
- Nivel 2: Diagrama de detalle o expansión.
SÍMBOLOS:
EJEMPLO:
uso:
Los diagramas de flujos de datos son una técnica de análisis estructurado que van de lo general a lo específico muestran las posibles entradas, procesos y salidas del sistema. Los diagramas son usados cuando los analistas tratan de comprender los requerimientos de información de los usuarios de una manera gráfica utilizando solo cuatro símbolos combinados entre sí.
El uso de los diagramas de flujo de datos da ciertas ventajas como pueden ser las siguientes:
a) Libertad para realizar en forma temprana la implementación técnica de un sistema.
b) Mejor comprensión entre las interrelaciones de los sistemas y los subsistemas.
c) Comunicación del conocimiento del sistema actual a los usuarios por medio de diagramas de flujos de datos.
d) Análisis de un sistema propuesto para determinar si han sido definidos los datos y los procesos necesarios.
PSEUDOCODIGO
En ciencias de la computación, y análisis numérico el pseudocódigo (o falso lenguaje) es una descripción informal1 de alto nivel de un algoritmo informático de programación, compacto e informal, que utiliza las convenciones estructurales de un lenguaje de programación verdadero2 , pero que está diseñado para la lectura humana en lugar de la lectura mediante máquina, y con independencia de cualquier otro lenguaje de programación. Normalmente, el pseudocódigo omite detalles que no son esenciales para la comprensión humana del algoritmo, tales como declaraciones de variables, código específico del sistema y algunas subrutinas. El lenguaje de programación se complementa, donde sea conveniente, con descripciones detalladas en lenguaje natural, o con notación matemática compacta. Se utiliza pseudocódigo pues este es más fácil de entender para las personas que el código de lenguaje de programación convencional, ya que es una descripción eficiente y con un entorno independiente de los principios fundamentales de un algoritmo. Se utiliza comúnmente en los libros de texto y publicaciones científicas que se documentan varios algoritmos, y también en la planificación del desarrollo de programas informáticos, para esbozar la estructura del programa antes de realizar la efectiva codificación. No existe una sintaxis estándar para el pseudocódigo, aunque los cincos IDE's que manejan pseudocódigo tengan su sintaxis propia. Aunque sea parecido, el pseudocódigo no debe confundirse con los programas esqueleto que incluyen código ficticio, que pueden ser compilados sin errores. Los diagramas de flujo y UML pueden ser considerados como una alternativa gráfica al pseudocódigo, aunque sean más amplios en papel.
EJEMPLO:
Programa; área
EJEMPLO:
Ejemplo: Realizar el pseudocódigo de un programa que permita calcular el área de un rectángulo. Se debe introducir la base y la altura para poder realizar el cálculo..
Entorno: BASE, ALTURA, AREA son número enteros
Algoritmo:
escribir “Introduzca la base y la altura”
leer BASE, ALTURA
calcular AREA = BASE * ALTURA
escribir “El área del rectángulo es “AREA
Finprograma
CODIGO FUENTE
El código fuente de un programa informático (o software) es un conjunto de líneas de texto que son las instrucciones que debe seguir la computadora para ejecutar dicho programa. Por tanto, en el código fuente de un programa está descrito por completo su funcionamiento.
El código fuente de un programa está escrito por un programador en algún lenguaje de programación, pero en este primer estado no es directamente ejecutable por la computadora, sino que debe ser traducido a otro lenguaje (el lenguaje máquina o código objeto) que sí pueda ser ejecutado por el hardware de la computadora. Para esta traducción se usan los llamados compiladores, ensambladores, intérpretes y otros sistemas de traducción.
El término código fuente también se usa para hacer referencia al código fuente de otros elementos del software, como por ejemplo el código fuente de una página web que está escrito en el lenguaje de marcado HTML o en Javascript u otros lenguajes de programación web y que es posteriormente ejecutado por el navegador web para visualizar dicha página cuando es visitada.
El área de la informática que se dedica a la creación de programas y, por tanto a la creación de su código fuente, es la programación.
EJEMPLOS
INSTRUCCION
Se denomina instrucción en informática al conjunto de datos insertados en una secuencia estructurada o específica que el procesador interpreta y ejecuta.
Los tipos de instrucción permitidos están definidos y determinados dentro de cada plataforma en el conjunto de instrucciones (en inglés ISA, instruction set architecture), que también determina los registros de origen y destino de la CPU, y en ocasiones un dato inmediato (aquellos que son especificados explícitamente en la instrucción).
Estas instrucciones del computador son las que determinan el funcionamiento de la CPU que las ejecuta. La CPU puede realizar una diversidad de funciones, que son el reflejo de la variedad de las instrucciones definidas para dicha CPU. El programador tiene un repertorio de instrucciones como medio para controlar la CPU.
Campos:
Normalmente una instrucción se divide en dos campos:
- Código de operación: Designa la operación que va a ser realizada. En lenguaje ensamblador, se asigna a su valor numérico un mnemónico. Por ejemplo, en el MIPS tenemos una instrucción con el código de operación 0224x en lenguaje ensamblador es la operación
add
. - Datos de la operación: Dependiendo del tipo de instrucción, este campo puede estar dividido en otros o ser único, incluso no existir. En el se suelen indicar los registros y datos con los que trabajar.
El tamaño (longitud en bits) de la instrucción depende de cada arquitectura, pudiendo variar de 4 hasta 128 bits.
La instrucción debe almacenarse temporalmente (en el registro de instrucción, RI) para que la CPU analice su contenido y extraiga los datos que la forman. A este paso se le llama decodificación.
Tipos:
- Instrucciones de transferencia de datos: en este tipo de instrucciones, se transfieren datos desde una localización a otra. Los pasos que se siguen para realizarlo son:
- Determinación de las direcciones de origen y destino de memoria.
- Realización de la transformación de memoria virtual a memoria real.
- Comprobación de la caché.
- Inicio del proceso de lectura/escritura en la memoria.
- Instrucciones aritméticas: pueden implicar transferencia de datos antes y/o después. Realizan operaciones aritméticas de las que se encarga la ALU. Se pueden clasificar en de 1 operando (valor absoluto, negación) y 2 operandos (suma, resta).
- Instrucciones lógicas: al igual que las aritméticas, la ALU se encarga de realizar estas operaciones, que en este caso son de tipo lógico.
- Instrucciones de conversión: similares a las aritméticas y lógicas. Pueden implicar lógica especial para realizar la conversión.
- Instrucciones de transferencia de control: actualizan el contador de programa (PC). Administran las llamadas/retornos a las subrutinas, el paso de parámetros y elenlazado.
- Instrucciones de E/S (entrada/salida): administran los comandos de entrada/salida. Si hay un mapa de memoria de entrada/salida, determina la dirección de este mapa.
Suscribirse a:
Entradas (Atom)