SoftwareTarea 3, 4, ... |
DARK ZEPEDA'S PAGE |
|
Pagina Principal | Star Wars | Tareas ULSA | Tecnologia de Punta | Links | Personal | Musica |
1. Ingeniería de software, disciplina relacionada con el desarrollo de productos de soporte lógico o software. Un producto de software es el conjunto completo de programas informáticos, procedimientos, documentación y datos especificados para su suministro a un cliente; el desarrollo se ocupa de todas las actividades técnicas y de gestión necesarias para crear el producto, y realizar el desarrollo eficazmente significa cumplir las necesidades del cliente ajustándose a unos límites de tiempo, coste y calidad. El concepto de ingeniería de software surgió en unas reuniones de trabajo organizadas por la Organización del Tratado del Atlántico Norte (OTAN) en 1968 y 1969 para estudiar lo que entonces se describía como "la crisis del software". Había demasiados proyectos de desarrollo de soporte lógico que experimentaban fallos, los cuales se atribuían al rápido aumento en la escala y complejidad del software en cuestión. Se reconoció que era necesario un planteamiento más sistemático en el desarrollo de software, que debía basarse en principios de ingeniería ya establecidos. El software evoluciona a través de muchas versiones, a medida que se corrigen errores, se mejora el funcionamiento y se responde a las modificaciones que surgen en los requisitos. Cada nueva versión se crea a través de un proceso de desarrollo de software. Típicamente, el proceso se divide en cuatro fases principales: (1) el análisis y especificación de requisitos, donde se establece qué debe lograr el producto de software; (2) el diseño, que determina cómo cumplirá el software esos requisitos; (3) la puesta en práctica, que crea el producto de software que se ha diseñado (esto combina el desarrollo de nuevos componentes con la reutilización o modificación de componentes anteriores); (4) la prueba, que garantiza que el producto de software funciona como se pretende. Los productos intermedios, como las especificaciones de requisitos y los diseños de software, también se revisan en profundidad antes de pasar a la siguiente fase de desarrollo. El software no siempre se ha desarrollado de forma controlada, y en la actualidad hay algunos sistemas que presentan grandes dificultades para su mantenimiento. El organismo de normalización ISO (International Standards Organization) ha definido los requisitos de un sistema de gestión de calidad de carácter general que cubre el desarrollo de cualquier producto (ISO 9001) y ha publicado directrices específicas para aplicar esa norma al desarrollo de software (ISO 9000-3). Una organización que ponga en práctica un sistema de gestión de calidad según esa norma puede ser auditada y recibir una certificación formal de su proceso de desarrollo. Los ingenieros informáticos están implicados en un gran número de áreas de aplicación, que cada vez son más. Algunos ejemplos son la realización de transacciones rápidas de valores en el mercado bursátil, el almacenamiento, intercambio y presentación de información en Internet, los videojuegos, la mejora de imágenes obtenidas por telescopios y el control de marcapasos cardiacos. En todos los casos, los principios de la ingeniería de software ayudan a garantizar que los sistemas resultantes son fiables y funcionan del modo requerido.
2. Software, programas de computadoras. Son las instrucciones responsables de que el hardware (la máquina) realice su tarea. Como concepto general, el software puede dividirse en varias categorías basadas en el tipo de trabajo realizado. Las dos categorías primarias de software son los sistemas operativos (software del sistema), que controlan los trabajos del ordenador o computadora, y el software de aplicación, que dirige las distintas tareas para las que se utilizan las computadoras. Por lo tanto, el software del sistema procesa tareas tan esenciales, aunque a menudo invisibles, como el mantenimiento de los archivos del disco y la administración de la pantalla, mientras que el software de aplicación lleva a cabo tareas de tratamiento de textos, gestión de bases de datos y similares. Constituyen dos categorías separadas el software de red, que permite comunicarse a grupos de usuarios, y el software de lenguaje utilizado para escribir programas (véase Lenguaje de programación). Además de estas categorías basadas en tareas, varios tipos de software se describen basándose en su método de distribución. Entre estos se encuentran los así llamados programas enlatados, el software desarrollado por compañías y vendido principalmente por distribuidores, el freeware y software de dominio público, que se ofrece sin costo alguno, el shareware, que es similar al freeware, pero suele conllevar una pequeña tasa a pagar por los usuarios que lo utilicen profesionalmente y, por último, el infame vapourware, que es software que no llega a presentarse o que aparece mucho después de lo prometido.
3. Informática, término general que se aplica a la estructura de un sistema informático o de una parte del mismo. El término se aplica también al diseño del software de sistema, por ejemplo, el sistema operativo, y a la combinación de hardware y software básico que comunica los aparatos de una red informática. La arquitectura de ordenadores se refiere a toda una estructura y a los detalles necesarios para que sea funcional, es decir, cubre sistemas informáticos, microprocesadores, circuitos y programas del sistema. Por lo general, el término no suele referirse a los programas de aplicación, como hojas de cálculo o procesadores de textos, que son necesarios para realizar una tarea pero no para que el sistema funcione.
1. ELEMENTOS DE DISEÑO Al diseñar un sistema informático, se tienen en cuenta los cinco elementos fundamentales que componen el hardware: la unidad aritmético-lógica, la unidad de control, la memoria, la entrada y la salida. La unidad aritmético-lógica realiza operaciones aritméticas y compara valores numéricos. La unidad de control dirige el funcionamiento de la computadora recibiendo instrucciones del usuario y transformándolas en señales eléctricas que puedan ser comprendidas por los circuitos del ordenador. La combinación de la unidad aritmético-lógica y la unidad de control se denomina unidad central de procesamiento, o CPU (siglas en inglés). La memoria almacena instrucciones y datos. Las secciones de entrada y salida permiten respectivamente que la computadora reciba y envíe datos. Se necesitan arquitecturas diferentes de hardware debido a las necesidades especializadas de los distintos sistemas y usuarios. Por ejemplo, un usuario puede necesitar que su sistema muestre gráficos de forma extremadamente rápida, mientras que otro tal vez necesite buscar eficazmente en una base de datos o tener un consumo bajo de energía, como en el caso de ordenadores personales portátiles. Además del diseño del hardware, se debe considerar los sistemas operativos que harán funcionar el sistema. El software, como los lenguajes de programación y los sistemas operativos, hace que los detalles de la arquitectura del hardware resulten invisibles para el usuario. Por ejemplo, diferentes computadoras que empleen el lenguaje de programación C o el sistema operativo UNIX pueden parecer iguales desde el punto de vista del usuario aunque la arquitectura de hardware sea diferente.
2. ARQUITECTURA DE PROCESAMIENTO Una computadora ejecuta una instrucción en cinco pasos. En primer lugar, la unidad de control recupera la instrucción desde la memoria; por ejemplo, la instrucción de sumar dos números. En segundo lugar, la unidad de control descodifica la instrucción y la convierte en señales electrónicas que controlan la computadora. En tercer lugar, la unidad de control recupera los datos necesarios para ejecutar la instrucción (en este caso, los dos números). En cuarto lugar, la unidad aritmético-lógica ejecuta la operación (la adición de ambos números). En quinto lugar, la unidad de control almacena el resultado (en este caso, el número resultante de la suma). Las primeras computadoras sólo empleaban instrucciones sencillas, porque el coste de los dispositivos electrónicos capaces de ejecutar instrucciones complejas era muy elevado. A medida que este coste fue disminuyendo, a lo largo de la década de 1960, fueron posibles instrucciones más complicadas. Las instrucciones complejas (instrucciones únicas que especifican operaciones múltiples) pueden ahorrar tiempo al evitar que el ordenador tenga que recuperar instrucciones adicionales. Por ejemplo, si se combinan siete operaciones en una instrucción, se eliminan seis de los pasos de recuperación de instrucciones, y la computadora tarda menos tiempo en procesar la operación correspondiente. Los ordenadores que combinan varias operaciones en una sola instrucción se denominan ordenadores CISC. Sin embargo, la mayoría de los programas no utilizan instrucciones complejas, sino que constan esencialmente de instrucciones simples. Cuando estas instrucciones simples se ejecutan en una arquitectura CISC, el proceso es más lento, porque en un diseño CISC todas las instrucciones, simples o complejas, tardan más en ser descodificadas. Una estrategia alternativa es volver a diseños que utilizan sólo juegos de instrucciones sencillas y hacer que las operaciones más usadas se ejecuten más rápidamente para aumentar el rendimiento global. Las computadoras que emplean este diseño se llaman RISC. Los diseños RISC son especialmente rápidos para realizar los cómputos numéricos necesarios en aplicaciones científicas, de gráficos y de ingeniería. Los llamados procesadores de señales digitales son arquitecturas CISC especializadas para acelerar el procesado de señales digitalizadas de audio y vídeo.
3. ARQUITECTURAS ABIERTAS Y CERRADAS La CPU de un ordenador está conectada con la memoria y con el mundo exterior a través de una arquitectura que puede ser abierta o cerrada. Las arquitecturas abiertas pueden ampliarse después de la construcción del sistema, generalmente añadiendo circuitos adicionales, por ejemplo, conectando al sistema principal un chip con un nuevo microprocesador. Las especificaciones del sistema se hacen públicas, lo que permite que otras empresas puedan fabricar los productos de expansión. Las arquitecturas cerradas suelen utilizarse en computadoras especializadas que no necesitan ampliaciones, como los microprocesadores que controlan los hornos de microondas. Algunos fabricantes de ordenadores han empleado arquitecturas cerradas para que sus clientes obtengan los circuitos de ampliación únicamente a través de ellos. El fabricante cobra más, pero las opciones para el consumidor se reducen.
4. ARQUITECTURA DE REDES Las computadoras se comunican por medio de redes. La red más sencilla es una conexión directa entre dos computadoras. Sin embargo, también pueden conectarse a través de grandes redes que permiten a los usuarios intercambiar datos, comunicarse mediante correo electrónico y compartir recursos, por ejemplo, impresoras. Las computadoras pueden conectarse de distintas formas. En una configuración en anillo, los datos se transmiten a lo largo del anillo, y cada computadora examina los datos para determinar si van dirigidos a ella. Si no es así, los transmite a la siguiente computadora del anillo. Este proceso se repite hasta que los datos llegan a su destino. Una red en anillo permite la transmisión simultánea de múltiples mensajes, pero como varias computadoras comprueban cada mensaje, la transmisión de datos resulta más lenta. En una configuración de bus, los ordenadores están conectados a través de un único conjunto de cables denominado bus. Un ordenador envía datos a otro transmitiendo a través del bus la dirección del receptor y los datos. Todos los ordenadores de la red examinan la dirección simultáneamente, y el indicado como receptor acepta los datos. A diferencia de una red en anillo, una red de bus permite que un ordenador envíe directamente datos a otro. Sin embargo, en cada momento sólo puede transmitir datos una de las computadoras, y las demás tienen que esperar para enviar sus mensajes. En una configuración en estrella, los ordenadores están conectados con un elemento integrador llamado hub. Las computadoras de la red envían la dirección del receptor y los datos al hub, que conecta directamente los ordenadores emisor y receptor. Una red en estrella permite enviar simultáneamente múltiples mensajes, pero es más costosa porque emplea un dispositivo adicional -el hub- para dirigir los datos.
5. AVANCES RECIENTES Uno de los problemas en arquitectura de ordenadores es la diferencia entre la velocidad de la CPU y la velocidad con que la memoria proporciona instrucciones y datos. Las CPU modernas pueden procesar instrucciones en 3 nanosegundos (3.000 millonésimas de segundo). Un acceso a memoria típico, en cambio, requiere 70 nanosegundos, y cada juego de instrucciones puede suponer múltiples accesos. Para compensar esta disparidad se han diseñado nuevos chips que sitúan cerca de la CPU memorias muy rápidas llamadas caché. Debido a su proximidad a la CPU y a su rapidez, las memorias caché pueden suministrar instrucciones y datos más rápidamente que la memoria normal. La memoria caché almacena las instrucciones y datos empleados más frecuentemente, y mejora notablemente la eficacia de la computadora. Aunque una memoria caché más grande puede contener más datos, también resulta proporcionalmente más lenta. Por eso, los arquitectos de ordenadores emplean diseños con múltiples memorias caché. En estos diseños se coloca la memoria caché más pequeña y rápida más cerca de la CPU, y se sitúa más lejos de ésta una segunda memoria caché mayor y más lenta. Esta disposición permite que la CPU utilice a velocidad máxima las instrucciones y datos más usados, y que sólo opere más lentamente cuando accede a la memoria caché secundaria. El empleo de memorias caché diferentes para instrucciones y datos también permite a la CPU recuperar simultáneamente una instrucción y un dato. Otra estrategia para aumentar la velocidad y la eficacia es el uso de múltiples unidades aritmético-lógicas para efectuar operaciones simultáneas, la llamada ejecución superescalar. En este diseño, las instrucciones se recuperan en grupos. La unidad de control examina cada grupo para comprobar si contiene instrucciones que pueden ejecutarse a la vez. Algunos diseños llegan a ejecutar seis operaciones simultáneamente. Sin embargo, es raro que se ejecuten tantas instrucciones simultáneas, por lo que en promedio la CPU no llega a multiplicar por seis el rendimiento. A veces se combinan varias computadoras en sistemas únicos llamados procesadores paralelos. Cuando una máquina tiene más de 1.000 unidades aritmético-lógicas, se dice que es masivamente paralela. Estas máquinas se usan fundamentalmente para cálculos científicos o de ingeniería, que exigen gran cantidad de cómputos numéricos. Se han construido ordenadores paralelos que contienen hasta 16.000 procesadores. 4. Lenguaje de programación, en informática, cualquier lenguaje artificial que puede utilizarse para definir una secuencia de instrucciones para su procesamiento por un ordenador o computadora. Es complicado definir qué es y qué no es un lenguaje de programación. Se asume generalmente que la traducción de las instrucciones a un código que comprende la computadora debe ser completamente sistemática. Normalmente es la computadora la que realiza la traducción. 1. LENGUAJES DE BAJO NIVEL Vistos a muy bajo nivel, los microprocesadores procesan exclusivamente señales electrónicas binarias. Dar una instrucción a un microprocesador supone en realidad enviar series de unos y ceros espaciadas en el tiempo de una forma determinada. Esta secuencia de señales se denomina código máquina. El código representa normalmente datos y números e instrucciones para manipularlos. Un modo más fácil de comprender el código máquina es dando a cada instrucción un mnemónico, como por ejemplo STORE, ADD o JUMP. Esta abstracción da como resultado el ensamblador, un lenguaje de muy bajo nivel que es específico de cada microprocesador.
Los lenguajes de bajo nivel permiten crear programas muy rápidos, pero que son a menudo difíciles de aprender. Más importante es el hecho de que los programas escritos en un bajo nivel son prácticamente específicos para cada procesador. Si se quiere ejecutar el programa en otra máquina con otra tecnología, será necesario reescribir el programa desde el principio.
2. LENGUAJES DE ALTO NIVEL Por lo general se piensa que los ordenadores son máquinas que realizan tareas de cálculos o procesamiento de textos. La descripción anterior es sólo una forma muy esquemática de ver una computadora. Hay un alto nivel de abstracción entre lo que se pide a la computadora y lo que realmente comprende. Existe también una relación compleja entre los lenguajes de alto nivel y el código máquina.
Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés. En BASIC, el lenguaje de alto nivel más conocido, los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a 10. Por desgracia para muchas personas esta forma de trabajar es un poco frustrante, dado que a pesar de que las computadoras parecen comprender un lenguaje natural, lo hacen en realidad de una forma rígida y sistemática.
3. INTÉRPRETES Y COMPILADORES La traducción de una serie de instrucciones en lenguaje ensamblador (el código fuente) a un código máquina (o código objeto) no es un proceso muy complicado y se realiza normalmente por un programa especial llamado compilador. La traducción de un código fuente de alto nivel a un código máquina también se realiza con un compilador, en este caso más complejo, o mediante un intérprete. Un compilador crea una lista de instrucciones de código máquina, el código objeto, basándose en un código fuente. El código objeto resultante es un programa rápido y listo para funcionar, pero que puede hacer que falle el ordenador si no está bien diseñado. Los intérpretes, por otro lado, son más lentos que los compiladores ya que no producen un código objeto, sino que recorren el código fuente una línea cada vez. Cada línea se traduce a código máquina y se ejecuta. Cuando la línea se lee por segunda vez, como en el caso de los programas en que se reutilizan partes del código, debe compilarse de nuevo. Aunque este proceso es más lento, es menos susceptible de provocar fallos en la computadora. Código objeto, en informática, código generado por un compilador o un ensamblador, traducido a partir del código fuente de un programa. Casi siempre este término se refiere al código máquina que puede ejecutarse directamente en la unidad central de proceso (CPU) del sistema, pero también puede ser código fuente de lenguaje ensamblador o una variante de código máquina. Informática o Computación, conjunto de conocimientos científicos y de técnicas que hacen posible el tratamiento automático de la información por medio de computadoras. La informática combina los aspectos teóricos y prácticos de la ingeniería, electrónica, teoría de la información, matemáticas, lógica y comportamiento humano. Los aspectos de la informática cubren desde la programación y la arquitectura informática hasta la inteligencia artificial y la robótica.
JERARQUIA
DE OBJETOS DE JAVA SCRIPT Aun
cuando JavaScript no es un lenguaje basado en objetos como lo son otros
compiladores poderosos tal como el C++ o Java, sin el entendimiento de lo
que son los objetos, sus propiedades y métodos no es posible utilizar
todo el potencial de JavaScript. El
comprender cómo trabajan los objetos es de gran importancia en especial,
caundo el programador no ha tenido experiencia previa con lenguajes
orientados a objetos (OOL) y sólo ha utilizado lenguajes estructurados,
tales como el C y Pascal. JavaScript
no es un verdadero lenguaje de programación orientado a objetos, pues
aunque utiliza objetos e instancias, abandona algunos de los largos y
complejos mecanismos que permiten la creación de clases y herencia. JavaScript
ofrece un compacto conjunto de objetos que satisfacen en su mayor parte
las necesidades para el desarrollo de "scripts" tanto en el
cliente como en el servidor. Para el cliente, los objetos permiten la
manipulación del ambiente en el cual se desenvuelven las páginas Web, y
éstos se organizan de acuerdo a la jerarquía del objeto Navigator tal y
como se ve a continuación:
Los
eventos son señales generadas cuando ocurren acciones específicas.
JavaScript está al tanto de estas señales, y los guiones pueden
construirse para reaccionar a estos eventos. Los
eventos son el medio por el cual el usuario interactúa con la página
Web; la incorporación de rutinas activadas a través de eventos específicos
nos permite crear interfases usuario-browser mucho más ricas y elaboradas
que las simples hiperligas que todo desarrollador de páginas HTML conoce.
El
formato básico que se debe seguir para hacer ejecutar una acción o
rutina después de que haya ocurrido un evento es: < etiqueta atributos
= " valores " ManejadorEvento =" Rutina JavaScript "
> Donde
ManejadorEvento es la acción que desencadenará la rutina, y la Rutina
JavaScript puede ser desde una simple instrucción hasta un script
completo definido en el encabezado de la página Web. Para
efectuar un cierto número de instrucciones sin hacer uso de una llamada a
función, podría utilizar un punto y coma (;) para separar un comando de
otro; sin embargo, es mucho más recomendable el uso de funciones
para los manejadores de eventos dado que permite usar el mismo código en
varios elementos contenidos en un documento pero cuya naturaleza y
características son las mismas. Como
debe darse cuenta, no todos los eventos están disponibles para todas las
etiquetas de HTML, la siguiente lista muestra de forma compacta cómo se
distruibuyen los métodos, propiedades y manejadores de eventos (en inglés
se le conoce a esto como "eventHandler"):
Cada
evento es es reconocido por ciertos objetos, etiquetas HTML, como son:
A
partir de la versión 3.0 de Netscape, onBlur y onFocus se
aplican tambien a ventanas y framesets. El
nombre de un manejador de eventos es el nombre del evento,precedido por
"on.". Por ejemplo, el manejador de eventos para focus en
onFocus. La
relación entre eventos y nombres de manejadores, así como su descripción
, se puede observar en la tabla adjunta:
http://www.redestb.es/javaaula/leccion1/javaintr.htm#manejadores http://www.org.org.mx/manuales/javascript/ Gopher.-
Es un menú que permite buscar información por medio de una lista de
selección, estas selecciones pueden ser links a otros servidores,
directorios o archivos. Los archivos pueden ser textos, gráficos o hasta
música. Hay una herramienta muy importante para el su uso fácil, y se
llama Verónica. Verónica.- Es como una especie de buscador de páginas gopher, al que se escribe una o varias palabras y las busca en los títulos de las direcciones gopher que hay, y de todos ellos, ya buscas el que más te convenga., e rápido y no requiere de mucho trabajo. http://www.ncsa.uiuc.edu/Edu/ICG/pt1.ch7.search_tools/pt1.ch7.Veronica.html Bueno básicamente una P.C. nos permite simular algunas moléculas y por esta razón nos auxilia en el desarrollo de nuevas medicinas o fármacos, algunas otras cosas que nos puede ayudar la computadora es a calcular entalpías o energías de enlace, aunque todavía no se puedan calcular las longitudes de onda en los electrones del ultimo nivel, pero eso no es un obstáculo grande. En las grandes empresas utilizan computadoras para mantener controladas las reacciones, o por ejemplo en las dosis de llenado de frascos o capsulas. Para sugerencias, dudas, comentarios o algún donativo puedes contactarme a: Ojo algunas tareas fueron extraidas de la atencion que brindan las ajencias de computación, GDcomputers, Sumicomp, etc.
|
|