AdSense_BarHorizontal

martes, 14 de abril de 2015

Glosario

En esta nueva entrada de DatoByte les quiero exponer diversos conceptos relacionados con programación que a diario como programador nos topamos y aun así los utilizamos e ignoramos el  verdadero significado, si consideras algún concepto relevante y que no se encuentre en este Glosario, te sugiero lo adiciones en los comentarios.

CONCEPTOS RELACIONADOS CON EL COMPUTADOR

Bit: Un bit es un dígito del sistema de numeración binario. Las unidades de almacenamiento tienen por símbolo bit.
Mientras que en el sistema de numeración decimal se usan diez dígitos, en el binario se usan solo dos dígitos, el 0 y el 1. Un bit o dígito binario puede representar uno de esos dos valores: 0 o 1

Byte: Un byte es la unidad fundamental de datos en los ordenadores personales, un byte son ocho bits contiguos. El byte es también la unidad de medida básica para memoria, almacenando el equivalente a un carácter, en otras palabras un byte puede ser considerado un Dato




ASCII: Código Estándar Americano para el Intercambio de Información, Asigna valores numéricos a las letras, números, signos de puntuación y otros símbolos con los que el computador trabaja.

CONCEPTOS BÁSICOS DE PROGRAMACIÓN

Lenguaje Maquina: Son aquellos cuyas instrucciones son directamente entendibles por la computadora y no necesitan traducción posterior para que la CPU pueda comprender y ejecutar el programa. Las instrucciones en lenguaje maquina se expresan en términos de la unidad de memoria más pequeña el bit (dígito binario 0 ó 1).

Lenguaje Ensamblador o de Bajo Nivel: En este lenguaje las instrucciones se escriben en códigos alfabéticos conocidos como mnemotécnicos para las operaciones y direcciones simbólicas.

Lenguaje de Alto Nivel: Los lenguajes de programación de alto nivel (BASIC, pascal, cobol, fortran, etc.) son aquellos en los que las instrucciones o sentencias a la computadora son escritas con palabras similares a los lenguajes humanos (en general en ingles), lo que facilita la escritura y comprensión del programa.

Algoritmo: La solución a cualquier problema de cómputo involucra la ejecución de una serie de acciones en orden especifico. Un procedimiento para resolver un problema en términos de: a) Las acciones a ejecutarse y b) el orden en el cual estas acciones deben ejecutarse se llama algoritmo.

Pseudocódigo: Mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. En esencial, el pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos.
Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. El pseudocódigo utiliza palabras que indican el proceso a realizar.

WebServices:  Es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como Internet. La interoperabilidad se consigue mediante la adopción de estándares abiertos.

XML: Es un lenguaje de marcas desarrollado por el World Wide Web Consortium (W3C) utilizado para almacenar datos en forma legible. Permite definir la gramática de lenguajes específicos (de la misma manera que HTML) para estructurar documentos grandes. A diferencia de otros lenguajes, XML da soporte a bases de datos, siendo útil cuando varias aplicaciones deben comunicarse entre sí o integrar información.

WSDL: Son las siglas de Web Services Description Language, un formato XML que se utiliza para describir servicios Web, WSDL describe la interfaz pública a los servicios Web. Está basado en XML y describe la forma de comunicación, es decir, los requisitos del protocolo y los formatos de los mensajes necesarios para interactuar con los servicios listados en su catálogo. Las operaciones y mensajes que soporta se describen en abstracto y se ligan después al protocolo concreto de red y al formato del mensaje.

SOAP: (siglas de Simple Object Access Protocol) Es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML, tambien considerado como un estandar para manipular determinados WebServices.

REST: (Representational State Transfer) o REST es una técnica de arquitectura software para sistemas hipermedia distribuidos como la World Wide Web. en la actualidad se usa en el sentido más amplio para describir cualquier interfaz web simple que utiliza XML y HTTP

UDDI: Son las siglas del catálogo de negocios de Internet denominado Universal Description, Discovery and Integration. El registro en el catálogo se hace en XML.


Imagen tomada de http://arquivo.devmedia.com.br/


METODOLOGIAS, ESTÁNDARES Y OTROS CONCEPTOS RELACIONADOS CON UN ÁREA DE DESARROLLO DE SOFTWARE


BI - Bussines Inteligence: Es la habilidad para transformar los datos en información, y la información en conocimiento,  Abarca la comprensión del funcionamiento actual de la empresa, bien como la anticipación de acontecimientos futuros, con el objetivo de ofrecer conocimientos para respaldar las decisiones empresariales
Imagen tomada de http://www.nekosphera.com/

BPM: Es una metodología corporativa y disciplina de gestión, cuyo objetivo es mejorar el desempeño (eficiencia y eficacia) y la optimización de los procesos de negocio de una organización, a través de la gestión de los procesos que se deben diseñar, modelar, organizar, documentar y optimizar de forma continua. Por lo tanto, puede ser descrito como un proceso de optimización de procesos.

SOA: Arquitectura Orientada a Servicios, es un paradigma de arquitectura para diseñar y desarrollar sistemas distribuidos. Permite la creación de sistemas de información altamente escalables que reflejan el negocio de la organización, a su vez brinda una forma bien definida de exposición e invocación de servicios (comúnmente pero no exclusivamente servicios web), lo cual facilita la interacción entre diferentes sistemas propios o de terceros.

SaaS: Software como Servicio, es un modelo de distribución de software donde el soporte lógico y los datos que maneja se alojan en servidores de una compañía de tecnologías de información y comunicación (TIC), a los que se accede via Internet desde un cliente. La empresa proveedora TIC se ocupa del servicio de mantenimiento, de la operación diaria y del soporte del software usado por el cliente.

SCRUM: Es un modelo de referencia que define un conjunto de prácticas y roles, y que puede tomarse como punto de partida para definir el proceso de desarrollo que se ejecutará durante un proyecto, dividiendo el proyecto en pequeñas momentos del tiempo denominados Sprint.


RUP: El Proceso Racional Unificado es un proceso de desarrollo de software , constituye la metodología estándar más utilizada para el análisis, diseño, implementación y documentación de sistemas orientados a objetos.
El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización.

CMMI: Es una guía que ayuda en la mejora de procesos, pero como en cualquier receta cada quién le puede poner de su propio sazón. El enfoque del modelo permite evolucionar desde un proceso en crisis  a un proceso controlado, estandarizado, medido y optimizado que sienta las bases de la mejora continua y permite a la organización adoptar nuevas prácticas sobre un proceso estable y controlado que está institucionalizado.

PMBOK: La Guía de los fundamentos de la dirección de proyectos (más conocida como PMBOK®) es el estándar más ampliamente reconocido para manejar y administrar proyectos. Resulta curioso que este texto tenga la fama de ser un manual para dirigir proyectos, o bien que se trata de un texto rigorista y dogmático. En realidad, se trata de una obra realizada por personas con un agudo sentido práctico, y que tiene incorporada la concepción de que un proyecto exitoso va a ser resultado de la colaboración (y los conflictos) de todo el personal.

COBIT: Es una guía de mejores prácticas presentado como framework, dirigida al control y supervisión de tecnología de la información (TI). Tiene una serie de recursos que pueden servir de modelo de referencia para la gestión de TI, incluyendo un resumen ejecutivo, un framework, objetivos de control, mapas de auditoría, herramientas para su implementación y principalmente, una guía de técnicas de gestión.

ITIL: Es un conjunto de conceptos y buenas prácticas para la gestión de servicios de tecnologías de la información, el desarrollo de tecnologías de la información y las operaciones relacionadas con la misma en general. ITIL da descripciones detalladas de un extenso conjunto de procedimientos de gestión ideados para ayudar a las organizaciones a lograr calidad y eficiencia en las operaciones de TI. Estos procedimientos son independientes del proveedor y han sido desarrollados para servir como guía que abarque toda infraestructura, desarrollo y operaciones de TI.

TOGAF: Es un esquema (o marco de trabajo) de Arquitectura Empresarial que proporciona un enfoque para el diseño, planificación, implementación y gobierno de una arquitectura empresarial de información. Esta arquitectura está modelada, por lo general, en cuatro niveles o dimensiones: Negocios, Tecnología (TI), Datos y Aplicaciones. Cuenta con un conjunto de arquitecturas base que buscan facilitarle al equipo de arquitectos cómo definir el estado actual y futuro de la arquitectura.



OTROS CONCEPTOS

GUI: Interfaz Gráfica de usuario, se llama GUI a el conjunto de componentes visibles al usuario que usa cualquier programa, estos permiten la interacción con el sistema, Puede denominarse como componentes de entrada y salida de información.

Cluster: En informática un Cluster se aplica a los conjuntos o conglomerados de computadoras unidos entre sí normalmente por una red de alta velocidad y que se comportan como si fuesen una única computadora.
En el mundo laboral un Cluster es  Una agrupación de empresas e instituciones relacionadas entre sí, pertenecientes a un mismo sector o segmento de mercado, que se encuentran próximas geográficamente y que colaboran para ser más competitivos

UML: Lenguaje Unificado de Modelado es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad.
Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio, funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y compuestos reciclados.
Caso de Uso: Es una descripción de los pasos o las actividades que deberán realizarse para llevar a cabo algún proceso. Los personajes o entidades que participarán en un caso de uso se denominan actores. En el contexto de ingeniería del software, un caso de uso es una secuencia de interacciones que se desarrollarán entre un sistema y sus actores en respuesta a un evento que inicia un actor principal sobre el propio sistema. Los diagramas de casos de uso sirven para especificar la comunicación y el comportamiento de un sistema mediante su interacción con los usuarios y/u otros sistemas. O lo que es igual, un diagrama que muestra la relación entre los actores y los casos de uso en un sistema. Una relación es una conexión entre los elementos del modelo, por ejemplo la especialización y la generalización son relaciones. Los diagramas de casos de uso se utilizan para ilustrar los requerimientos del sistema al mostrar cómo reacciona a eventos que se producen en su ámbito o en él mismo.

Requisito Funcional: Define una función del sistema de software o sus componentes. Una función es descrita como un conjunto de entradas, comportamientos y salidas. Los requerimientos funcionales pueden ser: cálculos, detalles técnicos, manipulación de datos y otras funcionalidades específicas que se supone, un sistema debe cumplir. Los requerimientos de comportamiento para cada requerimiento funcional se muestran en los casos de uso. Son complementados por los requisitos no funcionales, que se enfocan en cambio en el diseño o la implementación.
Como se define en la ingeniería de requisitos, los requisitos funcionales establecen los comportamientos del sistema.

Requisito No funcional: es, en la ingeniería de sistemas y la ingeniería de software, un requisito que especifica criterios que pueden usarse para juzgar la operación de un sistema en lugar de sus comportamientos específicos, ya que éstos corresponden a los requisitos funcionales. Por tanto, se refieren a todos los requisitos que no describen información a guardar, ni funciones a realizar.
Algunos ejemplos de requisitos no funcionales típicos son los siguientes:


Rendimiento, disponibilidad, seguridad, accesibilidad, usabilidad, estabilidad, portabilidad,
costo, operatividad, interoperabilidad, escalabilidad, concurrencia, mantenibilidad, interfaz



Bueno eso es todo en este glosario, espero les sea de muchísima ayuda, en especial en momentos que quieras pegar un repaso a los conceptos que rodean el mundo de la programación.




NOTA:
Existen muchos mas conceptos, por el momento he adicionado aquellos mas comunes en el mundo del desarrollo de software, si consideras algún concepto relevante y que no se encuentre en este Glosario, te sugiero lo adiciones en los comentarios.

Bibliografia:
Mucha de la información anterior fue Obtenida en la biblioteca de Wikipedia seleccionando la información mas relevante, si deseas ampliar tus conocimientos, te recomiendo busques cada concepto y hagas comparaciones con otros nuevos conceptos.





No hay comentarios:

Publicar un comentario