miércoles, 2 de diciembre de 2015

CONFERENCIA SI YO PUEDO TU PUEDES

Gabriel Najera

Gabriel Najera es un conferencista profesional e internacional de alta inspiración y motivación con un gran sentido del humor hacia la vida y con una capacidad institiva para capturar y levantar el ánimo de la gente, dándoles la capacidad para crear nuevos propçositos y poder llegar a sus mas altas metas y sueños que antes pensaban que fueran imposible de alcanzar.

Gabriel cuenta con una amplia experencia en hablar en público, televisión, radio y como entrenador de vida de motivación, es un autor convincente.

Su amor es la gente y su pasión son los retos de la vida. La versatilidad de Gabriel genera invitaciones de una amplia variedad de organizaciones, a nivel nacional e internaiconal. Se personaliza con eficacia su mensaje de vida en beneficio a cualquier tipo de público, lo cual los deja inspirados y motivados.

Gabriel abraza la esperanza y el coraje con una gozosa determinación de aprovechar cada día para bien y poder abrir un camino triunfal que será seguida por otros.

esta conferencia se torno muy interesante ya que este hombre el cual no contaba con sus extremidades ha logrado ser una persona muy exitosa y millonaria y me dejo una enseñanza muy grande ya que si el puede yo también.


jueves, 29 de octubre de 2015

Diagrama de Casos de Uso 

En el Lenguaje de Modelado Unificado, un diagrama de casos de uso es una forma de diagrama de comportamiento UML mejorado. El Lenguaje de Modelado Unificado (UML), define una notación gráfica para representar casos de uso llamada modelo de casos de uso. UML no define estándares para que el formato escrito describa los casos de uso, y así mucha gente no entiende que esta notación gráfica define la naturaleza de un caso de uso; sin embargo una notación gráfica puede solo dar una vista general simple de un caso de uso o un conjunto de casos de uso. Los diagramas de casos de uso son a menudo confundidos con los casos de uso. Mientras los dos conceptos están relacionados, los casos de uso son mucho más detallados que los diagramas de casos de uso. En los conceptos se debe detallar más de un caso de uso para poder identificar qué es lo que hace un caso de uso.

  • La posición o contexto del caso de uso entre otros casos de uso. Dado que es un mecanismo de organización, un conjunto de casos de uso coherentes y consistentes promueven una imagen fácil de comprender del comportamiento del sistema, un entendimiento común entre el cliente/propietario/usuario y el equipo de desarrollo.
En esta práctica es común crear especificaciones suplementarias para capturar detalles de requisitos que caen fuera del ámbito de las descripciones de los casos de uso. Ejemplos de esos temas incluyen restricciones de diseño como: rendimiento, temas de escalabilidad/gestión, o cumplimiento de estándares.
Casos de uso UML para un modelo simple de restaurante.
El diagrama de la derecha describe la funcionalidad de un Sistema Restaurante muy simple. Los casos de uso están representados por elipses y los actores están, por ejemplo, los casos de uso se muestran como parte del sistema que está siendo modelado, los actores no.
La interacción entre actores no se ve en el diagrama de casos de uso. Si esta interacción es esencial para una descripción coherente del comportamiento deseado, quizás los límites del sistema o del caso de uso deban de ser re-examinados. Alternativamente, la interacción entre actores puede ser parte de suposiciones usadas en el caso de uso. Sin embargo, los actores son una especie de rol, un usuario humano u otra entidad externa puede jugar varios papeles o roles. Así el Chef y el Cajero podrían ser realmente la misma persona.

Análisis y modelado de desarrollo de software con UML


EL LENGUAJE UNIFICADO DE MODELADO (UML)
En todas las disciplinas de la Ingeniería se hace evidente la importancia de los modelos ya que describen el aspecto y la conducta de "algo". Ese "algo" puede existir, estar en un estado de desarrollo o estar, todavía, en un estado de planeación. Es en este momento cuando los diseñadores del modelo deben investigar los requerimientos del producto terminado y dichos requerimientos pueden incluir áreas tales como funcionalidad, performance y confiabilidad. Además, a menudo, el modelo es dividido en un número de vistas, cada una de las cuales describe un aspecto específico del producto o sistema en construcción.
El modelado sirve no solamente para los grandes sistemas, aun en aplicaciones de pequeño tamaño se obtienen beneficios de modelado, sin embargo es un hecho que entre más grande y más complejo es el sistema, más importante es el papel de que juega el modelado por una simple razón: "El hombre hace modelos de sistemas complejos porque no puede entenderlos en su totalidad".
UML es una técnica para la especificación sistemas en todas sus fases. Nació en 1994 cubriendo los aspectos principales de todos los métodos de diseño antecesores y, precisamente, los padres de UML son Grady Booch, autor del método Booch; James Rumbaugh, autor del método OMT e Ivar Jacobson, autor de los métodos OOSE y Objectory. La versión 1.0 de UML fue liberada en Enero de 1997 y ha sido utilizado con éxito en sistemas construidos para toda clase de industrias alrededor del mundo: hospitales, bancos, comunicaciones, aeronáutica, finanzas, etc.
Los principales beneficios de UML son:
  • Mejores tiempos totales de desarrollo (de 50 % o más).
  • Modelar sistemas (y no sólo de software) utilizando conceptos orientados a objetos.
  • Establecer conceptos y artefactos ejecutables.
  • Encaminar el desarrollo del escalamiento en sistemas complejos de misión crítica.
  • Crear un lenguaje de modelado utilizado tanto por humanos como por máquinas.
  • Mejor soporte a la planeación y al control de proyectos.
  • Alta reutilización y minimización de costos.
UML, ¿Método o Lenguaje de Modelado?
UML es un lenguaje para hacer modelos y es independiente de los métodos de análisis y diseño. Existen diferencias importantes entre un método y un lenguaje de modelado. Un método es una manera explícita de estructurar el pensamiento y las acciones de cada individuo. Además, el método le dice al usuario qué hacer, cómo hacerlo, cuándo hacerlo y por qué hacerlo; mientras que el lenguaje de modelado carece de estas instrucciones. Los métodos contienen modelos y esos modelos son utilizados para describir algo y comunicar los resultados del uso del método.
Un modelo es expresado en un lenguaje de modelado. Un lenguaje de modelado consiste de vistas, diagramas, elementos de modelo ¾ los símbolos utilizados en los modelos ¾ y un conjunto de mecanismos generales o reglas que indican cómo utilizar los elementos. Las reglas son sintácticas, semánticas y pragmáticas (figura 1).







martes, 29 de septiembre de 2015

Estudio de Factibilidad.
      Sirve para recopilar datos relevantes sobre el desarrollo de un proyecto y en base a ello tomar la mejor decisión, si procede su estudio, desarrollo o implementación.
   
Objetivo de un Estudio de Factibilidad.
      1.- Auxiliar a una organización a lograr sus objetivos.
    2.- Cubrir la metas con los recursos actuales en las siguientes areas.

a). Factibilidad Técnica.
      - Mejora del sistema actual.
    - Disponibilidad de tecnología que satisfaga las necesidades.


b).- Factibilidad Económica.
      - Tiempo del analista.
    - Costo de estudio.
    - Costo del tiempo del personal.
    - Costo del tiempo.
    - Costo del desarrollo / adquisición.
   
c).- Factibilidad Operativa.
      - Operación garantizada.
    - Uso garantizado.

Estudios de factibilidad de un proyecto:

Factibilidad se refiere a la disponibilidad de los recursos necesarios para llevar a cabo los objetivos o metas señalados, la factibilidad se apoya en 3 aspectos básicos:
a) Operativo.
b) Técnico.
c) Económico.

 
El éxito de un proyecto está determinado por el grado de factibilidad que se presente en cada una de los tres aspectos anteriores.
Un estudio de factibilidad sirve para recopilar datos relevantes sobre el desarrollo de un proyecto y en base a ello tomar la mejor decisión, si procede su estudio, desarrollo o implementación.

Objetivo de un Estudio de Factibilidad:

1.- Auxiliar a una organización a lograr sus objetivos.
2.- Cubrir las metas con los recursos actuales en las siguientes áreas
a). Factibilidad Técnica.
- Mejora del sistema actual.
- Disponibilidad de tecnología que satisfaga las necesidades.
b).- Factibilidad Económica.
- Tiempo del analista.
- Costo de estudio.
- Costo del tiempo del personal.
- Costo del tiempo.
- Costo del desarrollo / adquisición.
c).- Factibilidad Operativa.
- Operación garantizada.
- Uso garantizado.




Referencias:
http://www.ejemplode.com/9-negocios/1489-ejemplo_de_estudios_de_factibilidad.html


libro: https://books.google.com.mx/books?id=bqEqAAAAYAAJ&pg=PA62&dq=estudio+de+factibilidad&hl=es-419&sa=X&ved=0CBsQ6AEwAGoVChMIo-zNjaicyAIVwbgeCh1OZAyG#v=onepage&q&f=false

Metodología de desarrollo de software

Metodología de desarrollo de software en ingeniería de software es un marco de trabajo usado para estructurar, planificar y controlar el proceso de desarrollo en sistemas de información.

Introducción

Una metodología de desarrollo de software se refiere a un framework que es usado para estructurar, planear y controlar el proceso de desarrollo en sistemas de información.
A lo largo del tiempo, una gran cantidad de métodos han sido desarrollados diferenciándose por su fortaleza y debilidad.
El framework para metodología de desarrollo de software consiste en:
  • Una filosofía de desarrollo de programas de computacion con el enfoque del proceso de desarrollo de software
  • Herramientas, modelos y métodos para asistir al proceso de desarrollo de software
Estos frameworks son a menudo vinculados a algún tipo de organización, que además desarrolla, apoya el uso y promueve la metodología. La metodología es a menudo documentada en algún tipo de documentación formal.

Entre las metodologías ágiles identificadas son:

  • Extreme Programming
  • Scrum
  • Familia de Metodologías Crystal
  • Feature Driven Development
  • Proceso Unificado Rational, una configuración ágil
  • Dynamic Systems Development Method
  • Adaptive Software Development
  • Open Source Software Development


SEGUIDAMENTE DETALLAREMOS LAS SIGUIENTES METODOLOGÍAS PARA DESARROLLO DE SOFTWARE: 

  • Rational Unified Process (RUP)
  • Extreme Programming (XP)
  • SCRUM

referencias:

martes, 18 de agosto de 2015

Conferencia de liderazgo efectivo:
El liderazgo es el conjunto de habilidades gerenciales o directivas que un individuo tiene para influir en la forma de ser de las personas o en un grupo de personas determinado, haciendo que este equipo trabaje con entusiasmo, en el logro de metas y objetivos.
También se entiende como la capacidad de tomar la iniciativa, gestionar, convocar, promover, incentivar, motivar y evaluar un proyecto, de forma eficaz y eficiente, sea éste personal, gerencial o institucional (dentro del proceso administrativo de la organización).
El liderazgo extraña una distribución desigual del poder. Los miembros del grupo no carecen de poder; dan forma a las actividades del grupo de distintas maneras. Aunque, por regla general, el líder tendrá la última palabra.
Otro de los conceptos que está ganando terreno en los últimos años es el de neuroliderazgo, el cual hace referencia a una disciplina derivada de la neuroeconomía que se apoya en conocimientos derivados de la psicología y la neurociencia para formar mejores líderes y lograr una mejor gestión empresarial.
En opinión de expertos en Desarrollo Organizacional, existen muchos tipos de liderazgo.1 En opinión de otros, no es que existan varios tipos de liderazgo: el liderazgo es uno y, como los líderes son personas (individuos con características personales definidas), las clasificaciones corresponden a la forma como ejercen o han adquirido la facultad de dirigir, circunstancia que no necesariamente implica que sea un líder.
Según Max Weber hay tres tipos puros de liderazgo:
·         Líder carismático: es el que tiene la capacidad de generar entusiasmo. Es elegido como líder por su manera de dar entusiasmo a sus seguidores. Tienden a creer más en sí mismos que en sus equipos y esto genera problemas, de manera que un proyecto o la organización entera podrían colapsar el día que el líder abandone su equipo.
·         Líder tradicional: es aquél que hereda el poder por costumbre o por un cargo importante, o que pertenece a un grupo familiar de élite que ha tenido el poder desde hace generaciones. Ejemplos: un reinado.
·         Líder legítimo: Podríamos pensar en "líder legítimo" y "líder ilegítimo". El primero es aquella persona que adquiere el poder mediante procedimientos autorizados en las normas legales, mientras que el líder ilegítimo es el que adquiere su autoridad a través del uso de la ilegalidad. Al líder ilegítimo ni siquiera se le puede considerar líder, puesto que una de las características del liderazgo es precisamente la capacidad de convocar y convencer, así que un "liderazgo por medio de la fuerza" no es otra cosa que carencia del mismo. Es una contradicción, por si lo único que puede distinguir a un líder es que tenga seguidoressin seguidores no hay líder.2
La palabra "liderazgo" en sí misma puede significar un grupo colectivo de líderes, o puede significar características especiales de una figura célebre (como un héroe). También existen otros usos para esta palabra, en los que el líder no dirige, sino que se trata de una figura de respeto (como una autoridad científica, gracias a su labor, a sus descubrimientos, a sus contribuciones a la comunidad).
Junto con el rol de prestigio que se asocia a líderes inspiradores, un uso más superficial de la palabra "liderazgo" puede designar a entidades innovadoras, aquellas que durante un período toman la delantera en algún ámbito, como alguna corporación o producto que toma la primera posición en algún mercado.
Arieu define al líder como "la persona capaz de inspirar y asociar a otros con un sueño". Por eso es tan importante que las organizaciones tengan una misión con alto contenido trascendente, ya que es una manera muy poderosa de reforzar el liderazgo de sus directivos.
Existe una regla fundamental en el liderazgo que es la base para que un buen líder, cualquiera que éste sea, lleve a cabo un liderazgo efectivo. La mayoría de los autores la nombran la regla de oro en las relaciones personales, y es fácil, sencilla y muy efectiva: "No pongas a las personas en tu lugar: ponte tú en el lugar de las personas". En pocas palabras, así como trates a la personas, así ellas te tratarán.


lunes, 17 de agosto de 2015



AUDITORIA INFORMÁTICA




La auditoria informática es un proceso llevado a cabo por profesionales especialmente capacitados para el efecto, y que consiste en recoger, agrupar y evaluar evidencias para determinar si un sistema de información salvaguarda el activo empresarial, mantiene la integridad de los datos, lleva a cabo eficazmente los fines de la organización, utiliza eficientemente los recursos, y cumple con las leyes y regulaciones establecidas. Permiten detectar de forma sistemática el uso de los recursos y los flujos de información dentro de una organización y determinar qué información es crítica para el cumplimiento de su misión y objetivos, identificando necesidades, duplicidades, costes, valor y barreras, que obstaculizan flujos de información eficientes. En si la auditoria informática tiene 2 tipos las cuales son:

AUDITORIA INTERNA: es aquella que se hace adentro de la empresa; sin contratar a personas de afuera.
AUDITORIA EXTERNA: como su nombre lo dice es aquella en la cual la empresa contrata a personas de afuera para que haga la auditoria en su empresa. Auditar consiste principalmente en estudiar los mecanismos de control que están implantados en una empresa u organización, determinando si los mismos son adecuados y cumplen unos determinados objetivos o estrategias, estableciendo los cambios que se deberían realizar para la consecución de los mismos. Los mecanismos de control pueden ser directivos, preventivos, de detección, correctivos o de recuperación ante una contingencia.

Alcance de la Auditoria Informática:El alcance ha de definir con precisión el entorno y los límites en que va a desarrollarse la auditoria informática, se complementa con los objetivos de ésta. El alcance ha de figurar expresamente en el Informe Final, de modo que quede perfectamente determinado no solamente hasta que puntos se ha llegado, sino cuales materias fronterizas han sido omitidas. Ejemplo: ¿Se someterán los registros grabados a un control de integridad exhaustivo*? ¿Se comprobará que los controles de validación de errores son adecuados y suficientes*? La in definición de los alcances de la auditoria compromete el éxito de la misma.*Control de integridad de registros:Hay Aplicaciones que comparten registros, son registros comunes. Si una Aplicación no tiene integrado un registro común, cuando lo necesite utilizar no lo va encontrar y, por lo tanto, la aplicación no funcionaría como debería.*Control de validación de errores:Se corrobora que el sistema que se aplica para detectar y corregir errores sea eficiente.


fuentes: http://www.monografias.com/trabajos/auditoinfo/auditoinfo.shtml#ixzz3j5nOhpZc

videos: www.youtube.com/watch?v=fEuX5FaIfgk

domingo, 28 de junio de 2015

¿Qué es una Marca Registrada?
Es una marca registrada la que ha sido concedida en favor de una persona física o jurídica, argentina o extranjera, por la Dirección Nacional de Marcas del Instituto Nacional de la Propiedad Industrial ( I.N.P.I. )
El registro de una marca concede a su titular, la exclusividad de uso por 10 años.
El título de propiedad puede ser renovado cada diez años contados desde la fecha de la concesión.
Para iniciar el proceso es aconsejable realizar primero, una búsqueda de respaldo en la Sección de Información del I.N.P.I., para confirmar que la misma marca u otra similar no haya sido concedida o solicitada para su registro. Una vez realizada la referida investigación, se debe completar una Solicitud de Registro de Marca, y abonarse el arancel correspondiente. (variando según el tamaño del logo en las marcas figurativas y mixtas)
Las solicitudes son minuciosamente examinadas para asegurar que cumplen con los términos de la Ley 22.362, y con el Decreto Reglamentario 558/81, modificado por el 1141/03.
Una vez que este proceso ha sido completado y la solicitud cumple con todos los requisitos de la legislación vigente, la solicitud es concedida y el titular puede obtener el Título a la Marca Registrada expedido por el I.N.P.I.
El registro puede ser solicitado por cualquier persona, física o jurídica, con un interés legítimo, con domicilio legal en la Capital Federal.
Si lo estimare necesario, el solicitante puede designar un representante para llevar adelante los procedimientos, o contratar los servicios de un Agente de la Propiedad Industrial.
La marca comercial registrada garantiza la identidad de su negocio en el mercado.

Derecho de autor

© UNESCO
La protección por los derechos de autor y los derechos conexos es esencial para favorecer la creatividad individual, el desarrollo de las industrias culturales y la promoción de la diversidad cultural. La piratería desenfrenada y la insuficiente aplicación de las leyes sobre los derechos de autor destruyen las herramientas de promoción de la creación y la distribución de los productos culturales locales en todos los países del mundo, haciendo patente la necesidad de desplegar esfuerzos concertados con vistas a fomentar la creatividad y favorecer el desarrollo sostenible.

Comprometida desde sus primeros días a promover la protección mediante los derechos de autor (La Convención Universal sobre los Derechos de Autor se adoptó bajo los auspicios de la UNESCO en 1952), la UNESCO se preocupa desde entonces del respeto general de los derechos de autor en todos los ámbitos de la creación y las industrias culturales. La UNESCO realiza, en el marco de la Alianza Global para la Diversidad Cultural, proyectos de sensibilización y refuerzo de capacidades, además de la información, la formación y la investigación en materia de derechos de autor. Se implica particularmente en el desarrollo de nuevas iniciativas para luchar contra la piratería.

La revolución digital no ha dejado intacta la protección mediante los derechos de autor. La UNESCO intenta aportar su contribución al debate internacional sobre este tema, tomando en consideración las perspectivas de desarrollo y prestando una atención particular a la necesidad de mantener un justo equilibrio entre los intereses de los autores y el interés del público en acceder al conocimiento y a la información.

martes, 2 de junio de 2015

Tecnología de la información

Tecnología de la información (TI, o más conocida como IT por su significado en inglés: information technology) es la aplicación de ordenadores y equipos de telecomunicación para almacenar, recuperar, transmitir y manipular datos, con frecuencia utilizado en el contexto de los negocios u otras empresas. El término es comúnmente utilizado como sinónimo para los computadores, y las redes de computadoras, pero también abarca otras tecnologías de distribución de información, tales como la televisión y los teléfonos. Múltiples industrias están asociadas con las tecnologías de la información, incluyendo hardware y software de computador, electrónicasemiconductoresinternet, equipos de telecomunicación, e-commerce y servicios computacionales.
Frecuentemente los términos TI y TIC suelen ser confundidos en su uso. Es importante señalar la diferencia entre ambos: TI hace referencia a Tecnologías de la Información, mientras que TIC implica las Tecnologías de la Información y la Comunicación. Ambas sostienen una amplia relación, sin embargo, señalan áreas diferentes. El término TI es un término más amplio y abarca a las TIC, siendo éste un término que indica una subcategoría de aquel. "Las TI abarcan el dominio completo de la información, que incluye al hardware, al software, a los periféricos y a las redes. Un elemento cae dentro de la categoría de las TI cuando se usa con el propósito de almacenar, proteger, recuperar y procesar datos electrónicamente". 1
Los humanos han estado almacenando, recuperando, manipulando y comunicando información desde que los sumerios en Mesopotamia desarrollaran la escritura cerca del 3000 a. C., pero el términotecnología de la información en su significado moderno hizo su primera aparición en 1958 en un artículo publicado en la revista Harvard Business Review; sus autores Harold J. Leavitt y Thomas L. Whisler comentaron que “la nueva tecnología no tiene aún un nombre establecido. Deberíamos llamarla tecnología de la información (TI)”. Su definición consistía en tres categorías: técnicas de procesamiento, la aplicación de métodos estadísticos y matemáticos para la toma de decisión, y la simulación del pensamiento de orden superior a través de programas computacionales.2
Basándose en la tecnología de almacenamiento y procesamiento empleada, es posible distinguir cuatro eras del desarrollo de TI: pre-mecánica (3000 a. C.-1450 d. C.), mecánica (1450-1840), electromecánica (1840-1940) y electrónica (1940-al presente). 

bases de datos:

Se le llama base de datos a los bancos de información que contienen datos relativos a diversas temáticas y categorizados de distinta manera, pero que comparten entre sí algún tipo de vínculo o relación que busca ordenarlos y clasificarlos en conjunto.
Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido; una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnológico de campos como la informática y laelectrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, y por ende se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
Existen programas denominados sistemas gestores de bases de datos, abreviado DBMS, que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos DBMS, así como su utilización y administración, se estudian dentro del ámbito de la informática.
Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas; También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental.
Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran protegidos por las leyes de varios países. Por ejemplo en España, los datos personales se encuentran protegidos por la Ley Orgánica de Protección de Datos de Carácter Personal (LOPD), en México por la Ley Federal de Transparencia y Acceso a la Información Pública Gubernamental y en Argentina la Ley de Protección de Datos Personales.1
Una base de datos proporciona a los usuarios el acceso a datos, que pueden visualizar, ingresar o actualizar, en concordancia con los derechos de acceso que se les hayan otorgado. Se convierte más útil a medida que la cantidad de datos almacenados crece.
Una base de datos puede ser local, es decir que puede utilizarla sólo un usuario en un equipo, o puede ser distribuida, es decir que la información se almacena en equipos remotos y se puede acceder a ella a través de una red.
La principal ventaja de utilizar bases de datos es que múltiples usuarios pueden acceder a ellas al mismo tiempo.

Administración de bases de datos

Rápidamente surgió la necesidad de contar con un sistema de administración para controlar tanto los datos como los usuarios. La administración de bases de datos se realiza con un sistema llamado DBMS (Database management system [Sistema de administración de bases de datos]). El DBMS es un conjunto de servicios (aplicaciones de software) para administrar bases de datos, que permite:
  • un fácil acceso a los datos
  • el acceso a la información por parte de múltiples usuarios
  • la manipulación de los datos encontrados en la base de datos (insertar, eliminar, editar)
El DBMS puede dividirse en tres subsistemas:
  • El sistema de administración de archivos: 
    para almacenar información en un medio físico
  • El DBMS interno: 
    para ubicar la información en orden
  • El DBMS externo: 
    representa la interfaz del usuario

jueves, 16 de abril de 2015


Programación orientada a objetos


La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objeto.

Introducción

Los objetos son entidades que tienen un determinado estado, comportamiento (método) e identidad:
·         El estado está compuesto de datos o informaciones; serán uno o varios atributos a los que se habrán asignado unos valores concretos (datos).
·         El comportamiento está definido por los métodos o mensajes a los que sabe responder dicho objeto, es decir, qué operaciones se pueden realizar con él.
·         La identidad es una propiedad de un objeto que lo diferencia del resto; dicho con otras palabras, es su identificador (concepto análogo al de identificador de una variable o una constante).
Un objeto contiene toda la información que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder tener valores bien diferenciados en sus atributos. A su vez, los objetos disponen de mecanismos de interacción llamados métodos, que favorecen la comunicación entre ellos. Esta comunicación favorece a su vez el cambio de estado en los propios objetos. Esta característica lleva a tratarlos como unidades indivisibles, en las que no se separa el estado y el comportamiento.
Los métodos (comportamiento) y atributos (estado) están estrechamente relacionados por la propiedad de conjunto. Esta propiedad destaca que una clase requiere de métodos para poder tratar los atributos con los que cuenta. El programador debe pensar indistintamente en ambos conceptos, sin separar ni darle mayor importancia a alguno de ellos. Hacerlo podría producir el hábito erróneo de crear clases contenedoras de información por un lado y clases con métodos que manejen a las primeras por el otro. De esta manera se estaría realizando una programación estructurada camuflada en un lenguaje de programación orientado a objetos.
La POO difiere de la programación estructurada tradicional, en la que los datos y los procedimientos están separados y sin relación, ya que lo único que se busca es el procesamiento de unos datos de entrada para obtener otros de salida. La programación estructurada anima al programador a pensar sobre todo en términos de procedimientos o funciones, y en segundo lugar en las estructuras de datos que esos procedimientos manejan. En la programación estructurada solo se escriben funciones que procesan datos. Los programadores que emplean programación orientada a objetos, en cambio, primero definen objetos para luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismos.

Origen

Los conceptos de la programación orientada a objetos tienen origen en Simula 67, un lenguaje diseñado para hacer simulaciones, creado por Ole-Johan Dahl y Kristen Nygaard, del Centro de Cómputo Noruego en Oslo. En este centro se trabajaba en simulaciones de naves, que fueron confundidas por la explosión combinatoria de cómo las diversas cualidades de diferentes naves podían afectar unas a las otras. La idea surgió al agrupar los diversos tipos de naves en diversas clases de objetos, siendo responsable cada clase de objetos de definir sus propios datos y comportamientos. Fueron refinados más tarde en Smalltalk, desarrollado en Simula en Xerox PARC (cuya primera versión fue escrita sobre Basic) pero diseñado para ser un sistema completamente dinámico en el cual los objetos se podrían crear y modificar "sobre la marcha" (en tiempo de ejecución) en lugar de tener un sistema basado en programas estáticos.
La programación orientada a objetos se fue convirtiendo en el estilo de programación dominante a mediados de los años ochenta, en gran parte debido a la influencia de C++, una extensión del lenguaje de programación C. Su dominación fue consolidada gracias al auge de las Interfaces gráficas de usuario, para las cuales la programación orientada a objetos está particularmente bien adaptada. En este caso, se habla también de programación dirigida por eventos.
Las características de orientación a objetos fueron agregadas a muchos lenguajes existentes durante ese tiempo, incluyendo Ada, BASIC, Lisp más Pascal entre otros. La adición de estas características a los lenguajes que no fueron diseñados inicialmente para ellas condujo a menudo a problemas de compatibilidad y en la capacidad de mantenimiento del código. Los lenguajes orientados a objetos "puros", por su parte, carecían de las características de las cuales muchos programadores habían venido a depender. Para saltar este obstáculo, se hicieron muchas tentativas para crear nuevos lenguajes basados en métodos orientados a objetos, pero permitiendo algunas características imperativas de maneras "seguras". El Eiffel de Bertrand Meyer fue un temprano y moderadamente acertado lenguaje con esos objetivos, pero ahora ha sido esencialmente reemplazado por Java, en gran parte debido a la aparición de Internet y a la implementación de la máquina virtual de Java en la mayoría de navegadores. PHPen su versión 5 se ha modificado; soporta una orientación completa a objetos, cumpliendo todas las características propias de la orientación a objetos.
 fuentes: