23
GRUPO #4 ANDRÉS PARRA 20151057 SAMUEL PEÑA 20151059 JORGE SILVERIO 20150666 El software de aplicación

El Software de Aplicación

Embed Size (px)

DESCRIPTION

Mediante este traabajo podras obtener informacion a fin de determinar que es el software de aplicacion y demas.

Citation preview

Grupo #4Andrs parra 20151057Samuel pea 20151059Jorge Silverio 20150666El software de aplicacin

1

Ejemplos del software de aplicacin:Los Procesadores de texto como Word, Bloc de Notas.Editores de imgenes como Adobe Fireworks, o Adobe Photoshop.Sistemas Administradores de Bases de Datos (Oracle, SQL Server, Informix).Editores de Pginas Web, Adobe Dreamweaver.Editores de Lenguaje de programacin Visual Studio PHP Edit.Programas de Contabilidad como Contavisin.Programas de Administracin de Empresas como ASPEL o SAP.Programas de Gestin de relaciones con clientes como los CRMs.Programas de Gestin de proyectos como MS Project.Programas de Diseo asistido por computadora como Auto CAD.

Qu es el lenguaje de programacin?Un lenguaje de programacin es cualquier lenguaje artificial, el cual, se utiliza para definir adecuadamente una secuencia de instrucciones que puedan ser interpretadas y ejecutadas en una computadora. Pueden usarse para crear programas que controlen el comportamiento fsico y lgico de una mquina, para expresar algoritmos con precisin, o como modo de comunicacin humana.Unlenguaje de programacin" es un lenguaje diseado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar. Por lo tanto, un lenguaje de programacin es un modo prctico para que los seres humanos puedan dar instrucciones a un equipo. Por otro lado, el trmino "lenguaje natural" define un medio de comunicacin compartido por un grupo de personas (por ejemplo: ingls o francs). Los lenguajes que los equipos usan para comunicarse entre ellos no tienen nada que ver con los lenguajes de programacin; se los conoce comoprotocolos de comunicacin. Se trata de dos conceptos totalmente diferentes.

Est formado por un conjunto de smbolos y reglassintcticasysemnticasque definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe,se prueba,se depura,se compila(de ser necesario) y se mantiene elcdigo fuentede unprograma informticose le llamaprogramacin.Tambin la palabra programacin se define como el proceso de creacin de unprogramadecomputadora, mediante la aplicacin de procedimientos lgicos, a travs de los siguientes pasos:El desarrollo lgico del programa para resolver un problema en particular.Escritura de la lgica del programa empleando un lenguaje de programacin especfico (codificacin del programa).Ensamblaje o compilacin del programa hasta convertirlo en lenguaje de mquina.Prueba ydepuracin del programa.Desarrollo de la documentacin.

Generaciones de lenguajes de programacinLos lenguajes de programacin han pasado por 4 diferentes generaciones en las que han evolucionado notablemente. Las 2 primeras son llamadas de bajo nivel, porque Son dependientes de la mquina, estn diseados para ejecutarse en una determinada computadora; Y las 2 mas recientes, las de alto nivel Son independientes de la mquina y se pueden utilizar en una variedad de computadoras.

Primera Generacin: Lenguaje de MaquinaSegunda Generacin: Lenguajes SimblicosTercera Generacin: Lenguajes de Alto NivelCuarta Generacin: Programacin Orientada a ObjetosQuinta Generacin: Lenguajes de Inteligencia Artificial

Primera Generacin:Empieza en los aos 1940-1950. Consiste en un sistema de cdigos directamente interpretable por un circuito micro programable, compuesto por un conjunto de instrucciones que determinan acciones a ser tomadas por la mquina . Son sistemas digitales, lo que significa que trabajan con dos nicos niveles de tensin. Dichos niveles, por abstraccin, se simbolizan con el cero, 0, y el uno, 1, por eso el lenguaje de mquina slo utiliza dichos signos. Todas las instrucciones y mandatos se escriban valindose de cadenas de estos dgitos.

Segunda Generacin:El Lenguaje Simblico, constituye la representacin ms directa del cdigo mquina especfico para cada arquitectura de computadoras legible por un programador. Fue usado principalmente en los inicios del desarrollo de software, cuando an no se contaba con los potentes lenguajes de alto nivel. Un programa escrito en lenguaje Simblico consiste en una serie de instrucciones que corresponden al flujo de rdenes ejecutables que pueden ser cargadas en la memoria de un sistema basado en microprocesador. Salen al mercado a fines de los aos 50

Tercera Generacin:Estos lenguajes, Estos son mas fciles de aprender y usar que los lenguajes maquina y ellenguaje Simblico, pues su similitud con lacomunicaciny comprensin humana cotidiana es mayor. Se crean enunciados tales como, Print, Total sales, Read normal Pay etc. Aunque son mas fciles de programar, no son tan eficientes en trminos de rapidez operacional ymemoria. Entre ellos se encuentran C, Fortran, Smalltalk, Ada, C++, C#, Cobol, Delphi, Java, etc.

Cuarta Generacin:Su caracterstica distintiva es el nfasis en especificarques lo que se debe hacer, en vez de cmo ejecutar una tarea. Las especificaciones de los programas se desarrollan a un ms alto nivel que en los lenguajes de la generacin anterior. La caracterstica distintiva es ajena a los procedimientos, el programador no tiene que especificar cada paso para terminar una tarea o procesamiento. Son lenguajes que se relacionan menos conprocedimientosy que son aun mas parecidos al ingles.

Lenguaje de maquinasEllenguaje de mquinaocdigo mquinaes el sistema de cdigos directamente interpretable por un circuito microprogramable, como elmicroprocesadorde unacomputadorao elmicrocontroladorde un autmata. Este lenguaje est compuesto por unconjunto de instruccionesque determinan acciones al ser tomadas por la mquina. Unprogramaconsiste en una cadena de estas instrucciones ms un conjunto de datos sobre el cual se trabaja. Estas instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios de flujo causados por el propio programa o eventos externos. El lenguaje de mquina es especfico de laarquitectura de la mquina, aunque el conjunto de instrucciones disponibles pueda ser similar entre arquitecturas distintas.Los circuitos microprogramables sonsistemas digitales, lo que significa que trabajan con dos nicos niveles de tensin. Dichos niveles, por abstraccin, se simbolizan con los nmeros 0 y 1, por eso el lenguaje de mquina slo utiliza dichos signos. Esto permite el empleo de las teoras dellgebra booleanay delsistema binarioen el diseo de este tipo de circuitos y en su programacin.

El Lenguaje original de la computadora es el lenguaje de maquinas, un programa debe estar escrito enel lenguajede la mquina parapoder ser ejecutado. Este es generado porsoftware y no por el programador. El programador escribe en un lenguaje de programacin, el cual es traducido al lenguaje de mquina mediante intrpretes y compiladores. A base de estos nacen las definiciones siguientes:LENGUAJES DE PROGRAMACIN:Los lenguajes de programacin son lenguajes especiales que ayudan al usuario a comunicarse con la computadora. LENGUAJE DE MQUINA:El lenguaje de mquina est orientado hacia la mquina que est constituida por varios arreglos de "bits".Este lenguaje es fcil de entender por la computadora, pero difcil para el usuario.LENGUAJE DE BAJO NIVEL:Es un lenguaje de programacin bien cercano al lenguaje de mquina.LENGUAJE DE ALTO NIVEL:Es un lenguaje que se asemeja ms al lenguaje humano que a un lenguaje de mquina oensamblador. Es ms fcil escribir programas en este lenguaje, pero luego deben ser traducidos por compiladores o intrpretes para que la computadora los entienda.INTERPRETE:Es un programa que traduce un lenguaje de alto nivel al lenguaje de mquina de una computadora. El programa siempre permanece en su forma original (programa fuente) y traduce cuando est en la fase de ejecucin instruccin por instruccin.CDIGO FUENTE:Es un conjunto de instrucciones del programa que estn escritas en unlenguaje de programacin.

Lenguaje Ensamblador

El lenguaje ensamblador es el lenguaje deprogramacinutilizado para escribirprogramas informticosde bajo nivel, y constituye la representacin ms directa delCdigo mquina especfico para cada arquitectura de computadoras legible por un programador. Aun hoy se utiliza en la programacin de handler o manipuladores de dispositivos de hardware.Importancia dellenguajeensamblador:La importancia del lenguajeensambladorradica principalmente que se trabaja directamente con elmicroprocesador; por lo cual se debe de conocer el funcionamiento interno de este, tiene la ventaja de que en el se puede realizar cualquier tipo deprogramasque en los lenguajes de alto nivel no lo pueden realizar. Otro punto sera que los programas en ensamblador ocupan menos espacio enmemoria.

Registros de la CPUA CPU x86 tiene 14 registros internos y bsicos. Algunos son realmente de 32 bits pero por ahora se utilizar el modo real que es compatible con el procesador 8086 (igualmente accesibles a la parte alta de estos registros, inclusive en el modo real). Los registros son los siguientes (estos registros son de 16 bits nombrados de la siguiente manera, a excepcin del registro de banderas).Registros de uso generalAX: Acumulador (AL: AH)BX: Registro base (BL: BH)CX: Registro contador (CL: CH)DX: Registro de datos (DL: DH)Registros de segmento (Solo se pueden usar para los usos mencionados a excepcin de ES)DS: Registro del segmento de datos

ES: Registro del segmento extraSS: Registro del segmento de pilaCS: Registro del segmento de cdigoRegistros punteros (Tambin pueden tener uso general)BP: Registro de apuntadores baseSI: Registro ndice fuenteDI: Registro ndice destinoRegistros especiales (Solo se pueden usar para los usos mencionados)SP: Registro apuntador de la pilaIP: Registro apuntador de la siguiente instruccinF: Registro de banderas (8 bits)La parte baja del registro AX se llama AL y la parte alta AH. La parte baja del registro BX se llama BL y la parte alta BH, y tambin ocurre lo mismo con el registro CX y DX.

Bits del registro de banderasOverflowNV (Apagado): No hay desbordamientoOV (Encendido): Si lo hayDirectionUP: Hacia adelanteDN: Hacia atrasInterruptsDI: DesactivadasEI: ActivadasSignPL: PositivoNG: NegativoZeroNZ: No es ceroZR: Si lo es

Ventajas y desventajas del Lenguaje Ensamblador

Ventajas1..- Como trabaja directamente con el microprocesador al ejecutar unprograma, pues como este lenguaje es el ms cercano a la mquinala computadoralo procesa ms rpido.

2.Eficiencia de tamao.- Un programa en ensamblador no ocupa mucho espacio en memoria porque no tiene que cargan libreras y dems como son los lenguajes de alto nivel.

3.Flexibilidad.- Es flexible porque todo lo que puede hacerse con una mquina, puede hacerse enel lenguajeensamblador de esta mquina; los lenguajes de alto nivel tienen en una u otra forma limitante para explotar al mximo losrecursosde la mquina. O sea que en lenguaje ensamblador se pueden hacer tareas especficas que en un lenguaje de alto nivel no se pueden llevar acabo porque tienen ciertas limitantes que no se lo permite.

Desventajas1. Tiempo de programacin.- Como es un lenguaje de bajo nivel requiere ms instrucciones para realizar el mismoproceso, en comparacin con un lenguaje de alto nivel. Por otro lado, requiere de ms cuidado por parte del programador, pues es propenso a que los errores delgicase reflejen ms fuertemente en la ejecucin.

2. Programas fuente grandes.- Por las mismas razones que aumenta eltiempo, crecen los programasfuentes; simplemente requerimos ms instrucciones primitivas para describirprocesosequivalentes. Esto es una desventaja porque dificulta elmantenimientode los programas, y nuevamente reduce laproductividadde los programadores. 3. Peligro de afectar recursos inesperadamente.- Que todo error que podamos cometer, o todoriesgoque podamos tener, podemos afectar los recursos de la mquina, programar en este lenguaje lo ms comn que pueda pasar es que la mquina se bloquee o se reinicialice. Porque con este lenguaje es perfectamente posible (y sencillo) realizar secuencias de instrucciones invlidas, que normalmente no aparecen al usar un lenguaje de alto nivel.4. Falta de portabilidad.-Porque para cada mquina existe un lenguaje ensamblador; por ello, evidentemente no es unaseleccinapropiada de lenguaje cuando deseamos codificar en una mquina y luego llevar los programas a otrossistemasoperativos omodelosdecomputadoras.

Qu es un lenguaje de alto nivel? Unlenguaje de alto nivelpermite alprogramadorescribir las instrucciones de unprograma utilizando palabras o expresiones sintcticas muy similares al ingls. Por ejemplo, en C++ se pueden usar palabras tales como:case,if,for,while, etc. para construir con ellas instrucciones como: Qu es un lenguaje de alto nivel?Un lenguaje de alto nivel permite al programador escribir las instrucciones de un programa utilizando palabras o expresiones sintcticas muy similares al ingls. Por ejemplo, en C se pueden usar palabras tales como: case, if, for, while, etc. para construir con ellas instrucciones como:if( numero > 0 ) printf( "El nmero es positivo" )Que traducido al castellano viene a decir que: si nmero es mayor que cero, entonces, escribir por pantalla el mensaje: "El nmero es positivo".sta es la razn por la que a estos lenguajes se les considera de alto nivel, porque se pueden utilizar palabras de muy fcil comprensin para el programador. En contraposicin, los lenguajes de bajo nivel son aquellos que estn ms cerca del "entendimiento" de la mquina. Otros lenguajes de alto nivel son: Ada, BASIC, COBOL, FORTRAN, Pascal, etc

Otra caracterstica importante de los lenguajes de alto nivel es que, para la mayora de las instrucciones de estos lenguajes, se necesitaran varias instrucciones en un lenguaje ensamblador para indicar lo mismo. De igual forma que, la mayora de las instrucciones de un lenguaje ensamblador, tambin agrupa a varias instrucciones de unlenguaje mquina.

Lenguaje de 4ta Generacin

Loslenguajes de cuarta generacinson ciertas herramientas prefabricadas, que aparentemente dan lugar a unlenguaje de programacinde alto nivel que se parece ms alidioma inglsque a unlenguaje de tercera generacin, porque se aleja ms del concepto de "procedimiento". Pueden acceder a bases de datos. Un lenguaje de alto nivel de programacin y un entorno de desarrollo o 'Workbench Analyst' diseado con un sistema central de diccionario de datos.- Ventajas y desventajas de loslenguajes de cuarta generacin:Ventajas:1. Permiten elaborar programas en menor tiempo, lo que conlleva a un aumento de la productividad.2. El personal que elabora software sufre menos agotamiento, ya que generalmente requiere escribir menos.3. El nivel de concentracin que se requiere es menor, ya que algunas instrucciones, que le son dadas a las herramientas, a su vez, engloban secuencias de instrucciones a otro nivel dentro de la herramienta.4. Cuando hay que dar mantenimiento a los programas previamente elaborados, es menos complicado por requerir menor nivel de concentracin.

Desventajas:1. Las herramientas prefabricadas generalmente son menos flexibles que ellenguaje de alto nivel.2. Se crea dependencia de uno o varios proveedores externos, lo que se traduce en prdida de autonoma. A menudo las herramientas prefabricadas contienen libreras de otros proveedores, que conlleva a instalar opciones adicionales que son consideradas opcionales. Los programas que se elaboran generalmente se ejecutan slo con la herramienta que lo cre (a menos que existan acuerdos con otros proveedores).3. A menudo no cumplen con estndares internacionalesISOANSI. Por este motivo invertir tiempo y dinero es un riesgo a futuro, porque no se sabe a ciencia cierta cuanto tiempo permanecer la herramienta y su fabricante en el mercado.Ejemplos: Visual C++,Visual Basic, Power Builder,Delphi, Forte y muchos otros.

Muchas gracias