SERVICIO NACIONAL DE APRENDIZAJE (SENA) CENTRO NACIONAL COLOMBO ALEMÁN (BARRANQUILLA)
PROGRAMA ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACION
ACTIVIDAD WIKI CON EL GLOSARIO TÉCNICO EN INGLÉS Y ESPAÑOL
PRESENTADO PRESENTADO POR: YEISON GONZALO LEAL GONZALEZ
PRESENTADO A: AURORA RAQUEL HERRERA POL
BOGOTÁ, COLOMBIA SEPTIEMBRE DE 2017
Wiki con el glosario técnico Realice una labor de investigación y realice su propio diccionario tanto en inglés como en español, con el objetivo de enriquecer y ampliar el vocabulario que será empleado durante su proceso de formación. Los términos seleccionados y desarrollados para la actividad son: Technical Glossary in English
Programming language: A programming language is a formal constructed
language designed to communicate instructions to a machine, particularly a computer . Programming languages can be used to create programs to control the behavior of a machine or to express algorithms.
Algorithms: In mathematics and computer science, an algorithm is a self-contained
step-by-step set of operations to be performed. Algorithms exist that perform calculation, data processing, and automated reasoning.
Machine Code/Machine Language : Machine code or machine language is a set of
instructions executed directly by a computer 's central processing unit (CPU). Each instruction performs a very specific task, such as a load, a jump, or an ALU operation on a unit of data in a CPU register or memory. Every program directly executed by a CPU is made up of a series of such instructions.
Low-level Programming Language: In computer science, a low-level programming language is a programming language that provides little or no abstraction from a
computer's instruction set architecture —commands or functions in the language map closely to processor instructions. Generally this refers to either machine
code or assembly language. The word "low" refers to the small or nonexistent amount of abstraction between the language and machine language; because of this, low-level languages are sometimes described as being "close to the hardware."
High-level Programming Language: In computer science, a high-level programming language is a programming language with strong abstraction from the details of
the computer . In comparison to low-level programming languages, it may use natural language elements, be easier to use, or may automate (or even hide entirely) significant areas of computing systems (e.g. memory management), making the process of developing a program simpler and more understandable relative to a lowerlevel language. The amount of abstraction provided defines how "high-level" a programming language is.
Qualitative Algorithms : They are those that uses numeric calculations to define the steps of
the process. They describe or solve problems of the quotidian life but always framing in three fundamental structures: Sequences of actions Decision of action Cycles of action
Quantitative Algorithms: They’re those uses numeric calculations to define the steps
of the process. Similarly these kind of algorithms describe three essential parts: input, process, and output.
Algorithmic Graphic Language : They are the graphic representation of the operations
that an algorithm performs (Flowchart). The flowchart is characterized for the detailed way how it represents in graphic way the steps to follow to find the solution for the proposed problem.
No Graphic Language: Represents in descriptive way the operations that an algorithm
must to perform (pseudocode).
Pseudocode: Pseudocode is an informal high-level description of the operating
principle of a computer program or other algorithm. It uses the structural conventions of a programming language, but is intended for human reading rather than machine reading. Pseudocode typically omits details that are essential for machine understanding of the algorithm, such as variable declarations, system-specific code and some subroutines. The programming language is augmented with natural language description details, where convenient, or with compact mathematical notation. The purpose of using pseudocode is that it is easier for people to understand than conventional programming language code, and that it is an efficient and environment-independent description of the key principles of an algorithm. It is commonly used in textbooks and scientific publications that are documenting various algorithms, and also in planning of computer program development, for sketching out the structure of the program before the actual coding takes place.
Problem definition: This phase is gave by the problem statement, which requires a
definition clear and accurate. It is important know to want that the computer to perfo rm; while It does not know totally, it does not have much case to continue with next stage.
Problem analysis: Once you have understood what you want on the computer,
you need to define: Input data What is the information to be produced (output) The methods and formulas that are needed to process the data.
A very practical recommendation is to put us in the place of the computer and analyze what we need to order us and in what sequence to produce the expected results.
Algorithm design: Algorithm design is a specific method to create a mathematical
process in solving problems. Applied algorithm design is algorithm engineering. Algorithm design is identified and incorporated into many solution theories of operation research, such as dynamic programming and divide-and-conquer. Techniques for designing and implementing algorithm designs are algorithm design patterns, such as template method pattern and decorator pattern, and uses of data structures, and name and sort lists. Some current day uses of algorithm design can be found in internet retrieval processes of web crawling, packet routing and caching.
Codification: In computing, a character encoding is used to represent a repertoire
of characters by some kind of an encoding system.[1] Depending on the abstraction level and context, corresponding code points and the resulting code space may be
regarded as bit patterns, octets, natural numbers, electrical pulses, etc. A character encoding is used in computation, data storage, and transmission of textual data.
Compilation and execution: In computer programming, the translation of source
code into object code by a compiler. Execution in computer and software engineering is the process by which a computer or a virtual machine performs the instructions of a computer program. The instructions in the program trigger sequences of simple actions on the executing machine. Those actions produce effects according to the semantics of the instructions in the program.
Testing and debugging: Testing means verifying correct behavior. Testing can be
done at all stages of module development: requirements analysis, interface design,
algorithm design, implementation, and integration with other modules. In the following, attention will be directed at implementation testing. Implementation testing is not restricted to execution testing. An implementation can also be tested using correctness proofs, code tracing, and peer reviews, as described below. Debugging is a cyclic activity involving execution testing and code correction. The
testing that is done during debugging has a different aim than final module testing. Final module testing aims to demonstrate correctness, whereas testing during debugging is primarily aimed at locating errors. This difference has a significant effect on the choice of testing strategies.
Documentation: It is the guide or written communication in its varied ways, It can be in
statements, procedures, drawings or diagrams.
Maintenance: Software maintenance in software engineering is the modification of a
software product after delivery to correct faults, to improve performance or other attributes. A common perception of maintenance is that it merely involves fixing defects.
Data type: In computer science and computer programming, a data type or
simply type is a classification identifying one of various types of data, such as real, integer or Boolean, that determines the possible values for that type; the operations that can be done on values of that type; the meaning of the data; and the way values of that type can be stored.
Expressions: In mathematics, an expression (or mathematical expression) is a
finite combination of symbols that is well-formed according to rules that depend on the context. Mathematical symbols can designate numbers
(constants), variables, operations, functions, punctuation, grouping, and other aspects of logical syntax.
Operators and Operands: Programming languages typically support a set
of operators: constructs which behave generally like functions, but which differ syntactically or semantically from usual functions. Common simple examples include arithmetic (addition with +, comparison with >) and logical operations (such as AND or &&). More involved examples include assignment (usually = or :=), field access in a record or object (usually.), and the scope resolution operator (often :: ). Languages usually define a set of built-in operators, and in some cases allow user-defined operators. In mathematics, an operand is the object of a mathematical operation, a quantity on which an operation is performed.
Identifiers (variables and constants): In computer science, identifiers (IDs) are
lexical tokens that name entities. Identifiers are used extensively in virtually all information processing systems. Identifying entities makes it possible to refer to them, which is essential for any kind of symbolic processing. In computer languages, identifiers are tokens (also called symbols) which name language entities. Some of the kinds of entities an identifier might denote include variables, types, labels, subroutines, and packages.
Design techniques/Top-Down and Bottom-Up Design: Top-down and bottom-up are
both strategies of information processing and knowledge ordering, used in a variety of fields including software, humanistic and scientific theories (see systemics), and management and organization. In practice, they can be seen as a style of thinking and teaching. A top-down approach (also known as stepwise design and in some
cases used as a synonym of decomposition) is essentially the breaking down of a system to gain insight into its compositional sub-systems. In a top-down approach an overview of the system is formulated, specifying but not detailing any first-level subsystems. Each subsystem is then refined in yet greater detail, sometimes in many additional subsystem levels, until the entire specification is reduced to base elements. A top-down model is often specified with the assistance of "black boxes", these make it easier to manipulate. However, black boxes may fail to elucidate elementary mechanisms or be detailed enough to realistically validate the model. Top down approach starts with the big picture. It breaks down from there into smaller segments. A bottom-up approach is the piecing together of systems to give rise to more complex
systems, thus making the original systems sub-systems of the emergent system. Bottom-up processing is a type of information processing based on incoming data from the environment to form a perception. From a Cognitive Psychology perspective, information enters the eyes in one direction (sensory input, or the "bottom"), and is then turned into an image by the brain that can be interpreted and recognized as a perception (output that is "built up" from processing to final cognition). In a bottom-up approach the individual base elements of the system are first specified in great detail. These elements are then linked together to form larger subsystems, which then in turn are linked, sometimes in many levels, until a complete top-level system is formed. This strategy often resembles a "seed" model, whereby the beginnings are small but eventually grow in complexity and completeness. However, "organic strategies" may result in a tangle of elements and subsystems, developed in isolation and subject to local optimization as opposed to meeting a global purpose.
Input devices: In computing, an input device is a peripheral (piece of computer
hardware equipment) used to provide data and control signals to an information processing system such as a computer or other information appliance.
Output devices: An output device is any piece of computer hardware equipment used
to communicate the results of data processing carried out by an information processing system (such as a computer ) which converts the electronically generated information into human-readable form.
Central Processing Unit: A central processing unit (CPU) is the electronic circuitry
within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logical, control and input/output (I/O) operations specified by the instructions. The term has been used in the computer industry at least since the early 1960s.[1] Traditionally, the term "CPU" refers to a processor, more specifically to its processing unit and control unit (CU), distinguishing these core
elements of a computer from external components such as main memory and I/O circuitry.
Control Unit: The control unit (CU) is a component of a computer's central processing
unit (CPU) that directs operation of the processor. It tells the computer's memory, arithmetic/logic unit and input and output devices how to respond to a program's instructions.
Arithmetic Logic Unit: An arithmetic logic unit (ALU) is a digital electronic circuit that
performs arithmetic and bitwise logical operations on integer binary numbers. It is a fundamental building block of the central processing unit (CPU) found in many computers
Main memory: Pr imary s torag e (also known as main memory or internal memory ),
often referred to simply as memory , is the only one directly accessible to the CPU. The CPU continuously reads instructions stored there and executes them as required. Any data actively operated on is also stored there in uniform manner. Main memory is directly or indirectly connected to the central processing unit via a memory bus.
Random Access Memory (RAM memory): Random-access memory (RAM) is a
form of computer data storage. A random-access memory device allows data items to be read and written in approximately the same amount of time, regardless of the order in which data items are accessed.
Read Only Memory (ROM Memory): Read-only memory (ROM) is a class
of storage medium used in computers and other electronic devices. Data stored in ROM can only be modified slowly, with difficulty, or not at all, so it is mainly used to distribute firmware (software that is very closely tied to specific hardware, and unlikely to need frequent updates).
Auxiliary Storage/ Auxiliary Memory/Secondary Storage: Secondary storage (also
known as external memory or auxiliary storage), differs from primary storage in that it is not directly accessible by the CPU. The computer usually uses its input/output channels to access secondary storage and transfers the desired data using intermediate area in primary storage. Secondary storage does not lose the data when the device is powered down—it is non-volatile. Per unit, it is typically also two orders of magnitude less expensive than primary storage. Modern computer systems typically have two orders of magnitude more secondary storage than primary storage and data are kept for a longer time there.
Glosario Técnico de la Actividad en Español 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. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana. 1
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. Al proceso por el cual se escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación. Algoritmos: Es un conjunto prescrito 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. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución.
Lenguaje de máquina: s el sistema de códigos directamente interpretable por un
circuito micro programable, como el microprocesador de una computadora o el microcontrolador de un autómata. Este lenguaje está compuesto por un conjunto de instrucciones que determinan acciones al ser tomadas por la máquina. Lenguaje de bajo nivel (ensamblador): Un lenguaje de programación de
características bajo nivel es aquel en el que sus instrucciones ejercen un control directo sobre el hardware y están condicionados por la estructura física de la computadora que lo soporta. El uso de la palabra bajo en su denominación no implica que el lenguaje sea
inferior a un lenguaje de alto nivel, si no que se refiere a la reducida abstracción entre el lenguaje y el hardware. Lenguaje de alto nivel: Un lenguaje de programación de alto nivel se caracteriza por
expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de la capacidad ejecutora de las máquinas. Algoritmos cualitativos: Los algoritmos cuantitativos son aquellos en los que se
utilizan cálculos numéricos para definir los pasos del proceso. Son aquellos en los que se describen o se resuelven problemas de la vida cotidiana pero siempre enmarcada en tres estructuras fundamentales que son: Secuencias de acciones
Decisión de acción Ciclos de acciones Algoritmos cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para
definir los pasos del proceso. De igual forma estos tipos de algoritmos describen tres partes esenciales: ENTRADA - PROCESO - SALIDA Lenguajes algorítmicos gráficos: GRÁFICOS: son la representación gráfica de las
operaciones que realiza un algoritmo (diagrama de flujo). El diagrama de flujo se caracteriza por la forma detallada como representa de forma gráfica los pasos a seguir para encontrar la solución del problema propuesto. Lenguaje no gráfico: representan en forma descriptiva las operaciones que
debe realizar un algoritmo (seudocódigo). Pseudocódigo: El seudocódigo es un lenguaje intermedio entre nuestro lenguaje y el
lenguaje de programación, su característica principal es el de representar la solución de
forma más detallada y lo más parecida al lenguaje, para que posteriormente se pueda codificar. Otras características son:
Se puede ejecutar en un ordenador.
Facilita el paso del programa al lenguaje de programación.
Es independiente del lenguaje de programación que se vaya a utilizar.
Método que facilita la programación y solución al algoritmo del programa. Definición del problema: Esta fase está dada por el enunciado del problema, el cual
requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa. Análisis del problema: Una vez que se ha comprendido lo que se desea de la
computadora, es necesario definir: Los datos de entrada. Cuál es la información que se desea producir (salida) Los métodos y fórmulas que se necesitan para procesar los datos. Una recomendación muy práctica es el que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados. Diseño del algoritmo: es un método específico para poder crear un modelo
matemático ajustado a un problema específico para resolverlo. El diseño de algoritmos es una teoría de la Investigación de operaciones. Las características de un buen algoritmo son: Debe tener un punto particular de inicio.
Debe ser definido, no debe permitir dobles interpretaciones. Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema. Debe ser finito en tamaño y tiempo de ejecución. Codificación: Con el algoritmo ya diseñado, se procede a su reescritura en un
lenguaje de programación establecido (programación) en la etapa anterior, es decir, en códigos que la máquina pueda interpretar y ejecutar. Compilación y ejecución: es una técnica para mejorar el rendimiento de sistemas de
programación que compilan a bytecode, consistente en traducir el bytecode a código máquina nativo en tiempo de ejecución. La compilación en tiempo de ejecución se construye a partir de dos ideas anteriores relacionadas con los entornos de ejecución: la compilación a bytecode y la compilación dinámica. Prueba y depuración: La prueba consiste en la captura de datos hasta que el programa no presente
errores (los más comunes son los sintácticos y lógicos). La depuración es el proceso de encontrar los errores del programa y corregir o
eliminar dichos errores. Documentación: Es la guía o comunicación escrita es sus variadas formas, ya sea en
enunciados, procedimientos, dibujos o diagramas. A menudo un programa escrito por una persona, es usado por otra. Por ello la documentación sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento).
Mantenimiento: Se lleva acabo después de terminado el programa, cuando se detecta
que es necesario hacer algún cambio, ajuste o complementación al programa para que siga trabajando de manera correcta. Para poder realizar este trabajo se requiere que el programa este correctamente documentado. Tipos de datos: es un atributo de una parte de los datos que indica al ordenador (y/o al programador) algo sobre la clase de datos sobre los que se va a procesar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar. Tipos de datos comunes son: enteros, números de coma
flotante (decimales), cadenas alfanuméricas, fechas, horas, colores, etc. Expresiones: es una combinación de constantes, variables o funciones, que es
interpretada de acuerdo a las normas particulares de precedencia y asociación para un lenguaje de programación en particular. Operadores: Son elementos que relacionan de forma diferente, los valores de una o más variables y/o constantes. Es decir, los operadores nos permiten manipular valores. Operandos: Elemento al que se aplica una operación: Identificadores (variables y constantes) Los identificadores son elementos textuales (también llamados símbolos) que
nombran entidades del lenguaje. Algunas de las de entidades que un identificador puede denotar son las variables, las constantes, los tipos de dato, las etiquetas, las subrutinas (procedimientos y funciones) y los paquetes. Una constante es un dato cuyo valor no puede cambiar durante la ejecución del
programa. Recibe un valor en el momento de la compilación y este permanece inalterado durante todo el programa.
Una variable es un nombre asociado a un elemento de datos que está situado
en posiciones contiguas de la memoria principal, y su valor puede cambiar durante la ejecución de un programa. Técnicas de diseño top down y bottom up Top-down (‘de arriba a abajo’) En el
modelo top-down se formula un resumen del sistema, sin especificar detalles. Cada parte del sistema se refina diseñando con mayor detalle. Cada parte nueva es entonces redefinida, cada vez con mayor detalle, hasta que la especificación completa es lo suficientemente detallada para validar el modelo. El modelo top-down se diseña con frecuencia con la ayuda de "cajas negras" que hacen más fácil cumplir requisitos aunque estas cajas negras no expliquen en detalle los componentes individuales.
bottom-up (‘de abajo a arriba’) las partes individuales se diseñan con detalle y luego
se enlazan para formar componentes más grandes, que a su vez se enlazan hasta que se forma el sistema completo. Las estrategias basadas en el flujo de información "bottom-up" se antojan potencialmente necesarias y suficientes porque se basan en el conocimiento de todas las variables que pueden afectar los elementos del sistema. Dispositivos de entrada: son aquellos equipos y componentes que permiten ingresar
información a la unidad de procesamiento; algunos ejemplos conocidos por todos son el teclado, el mouse (también llamado ratón), el escáner , la cámara web (webcam), el lápiz óptico y el micrófono Dispositivos de salida: por lo tanto, es aquél que emite una señal con información .
En este sentido podemos mencionar la impresora (que recibe información de una computadora y produce una salida impresa en papel), el monitor (exhibe los
datos en la pantalla), los auriculares (emite sonidos para que sean escuchados por una persona) y el altavoz (reproduce sonidos al ambiente). Unidad central de procesamiento (c.p.u): es el hardware dentro de un computador
u otros dispositivos programables, que interpreta las instrucciones de un programa de ordenador mediante la realización de las operaciones básicas aritméticas, lógicas y de entrada/salida del sistema Unidad de control: es uno de los tres bloques funcionales principales en los que se
divide una unidad central de procesamiento (CPU). Los otros dos bloques son la unidad de procesos y el bus de entrada/salida. Unidad aritmético – lógica: es un circuito digital que calcula operaciones
aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (si, y, o, no), entre dos números. Memoria central (interna) : es la memoria de la computadora donde se almacenan
temporalmente tanto los datos como los programas que la unidad central de procesamiento (CPU) está procesando o va a procesar en un determinado momento. Por su función, la MP debe ser inseparable del microprocesador o CPU, con quien se comunica a través del bus de datos y el bus de direcciones. Memoria RAM: un tipo de memoria de ordenador a la que se puede acceder
aleatoriamente; es decir, se puede acceder a cualquier byte de memoria sin acceder a los bytes precedentes. La memoria RAM es el tipo de memoria más común en ordenadores y otros dispositivos como impresoras. Memoria ROM: (read-only memory) o memoria de sólo lectura, es la memoria que se
utiliza para almacenar los programas que ponen en marcha el ordenador y realizan los
diagnósticos. La mayoría de los ordenadores tienen una cantidad pequeña de memoria ROM (algunos miles de bytes). Memoria auxiliar (externa): conjunto de dispositivos y soportes de almacenamiento de
datos que conforman el subsistema de memoria de la computadora, junto con la memoria primaria o principal