jueves, 13 de septiembre de 2007

Diagrama de Objeto

Objeto de la Clase Televisión


Diagrama de Asociaciones


Diagrama de Colaboraciones


Agregación


Composición

Programación Orientada a Objetos

Actualmente una de las áreas más candentes en la industria y en el ámbito académico es la orientación a objetos. La orientación a objetos promete mejoras de amplio alcance en la forma de diseño, desarrollo y mantenimiento del software ofreciendo una solución a largo plazo a los problemas y preocupaciones que han existido desde el comienzo en el desarrollo de software: la falta de portabilidad del código y reusabilidad, código que es difícil de modificar, ciclos de desarrollo largos y técnicas de codificacion no intuitivas.

Un lenguaje orientado a objetos ataca estos problemas. Tiene tres características básicas: debe estar basado en objetos, basado en clases y capaz de tener herencia de clases. Muchos lenguajes cumplen uno o dos de estos puntos; muchos menos cumplen los tres. La barrera más difícil de sortear es usualmente la herencia.

El concepto de programación orientada a objetos (OOP) no es nuevo, lenguajes clásicos como SmallTalk se basan en ella. Dado que la OOP. se basa en la idea natural de la existencia de un mundo lleno de objetos y que la resolución del problema se realiza en términos de objetos, un lenguaje se dice que está basado en objetos si soporta objetos como una característica fundamental del mismo.

Un objeto puede considerarse como una especie de cápsula dividida en tres partes:

1 - RELACIONES

2 - PROPIEDADES

3 - MÉTODOS

Cada uno de estos componentes desempeña un papel totalmente independiente:

Las relaciones permiten que el objeto se inserté en la organización y están formadas esencialmente por punteros a otros objetos.

Las propiedades distinguen un objeto determinado de los restantes que forman parte de la misma organización y tiene valores que dependen de la propiedad de que se trate. Las propiedades de un objeto pueden ser heredadas a sus descendientes en la organización.

Los métodos son las operaciones que pueden realizarse sobre el objeto, que normalmente estarán incorporados en forma de programas (código) que el objeto es capaz de ejecutar y que también pone a disposición de sus descendientes a través de la herencia.

sábado, 8 de septiembre de 2007

Ingeniería de Software

La ingeniería de Software fue definida por Bauer a finales de los 60s como el establecimiento y uso de principios de ingeniería para obtener software que fuera confiable y que funcionara eficientemente con las máquinas reales. A pesar de ser vieja, esta definición da el sentimiento correcto detrás de la disciplina.

La importancia del uso de estas medidas es característica para todas las disciplinas de la ingeniería. En un framework de ingeniería, la métrica se refiere a estándares de las medidas usadas para cuantificar aspectos específicos de un proceso, de un producto o de un proyecto de la ingeniería.

Los desarrollos de ingeniería de Software comenzaron con la técnica de programación y después fueron utilizados en otras fases del ciclo vital del software. La programación estructurada fue seguida por otros métodos estructurados de análisis y tambien métodos estructurados de diseño. Además, comenzaron tecnologías orientadas a objeto. En épocas tempranas la programación era la tarea de oro de ingeniería del Software pero ahora la ingeniería y el diseño de requisito son más populares. En los años 90s la gerencia de proyecto ganó interés y llego a ser un componente importante en ingeniería del Software. En la década pasada, los estándares de la ingeniería de Software y la madurez de proceso han caracterizado la industria del software como una disciplina madura.

En un nivel técnico, la ingeniería de sistema de información comienza con una serie de tareas que hacen modelos y que resultan en una especificación completa de requisitos y una representacion comprensiva de diseño del software que será construido. Se han desarrollado muchos métodos para hacer modelos de sistemas de información. Sin embargo, los métodos orientado a objeto van a llegar a ser el estandard. Para ciertos sistemas de información crítico, se han desarrollado métodos formales para producir sistemas con la integridad más alta. Los métodos formales confían en las técnicas matemáticas que expresan y modelan los requisitos de cualquier producto en el ciclo vital del software. El uso de métodos formales es recomendado cuando sea posible en un ciclo vital del software.

¿Qué es un blog?


Un blog, también conocido como webblog o bitácora, es un sitio web periódicamente actualizado que recopila cronológicamente textos o artículos de uno o varios autores, apareciendo primero el más reciente. Habitualmente, en cada artículo, los lectores pueden escribir sus comentarios y el autor darles respuesta, de forma que es posible establecer un diálogo. El uso o temática de cada blog es particular, los hay de tipo personal, periodístico, empresarial o corporativo, tecnológico, educativo, etc.

Existen variadas herramientas de mantenimiento de blogs que permiten, muchas de ellas gratuitamente, sin necesidad de elevados conocimientos técnicos, administrar todo el weblog, coordinar, borrar o reescribir los artículos, moderar los comentarios de los lectores, etc., de una forma casi tan sencilla como administrar el correo electrónico. Actualmente su modo de uso se ha simplificado a tal punto que casi cualquier usuario es capaz de crear y administrar un blog.

Las herramientas de mantenimiento de weblogs se clasifican, principalmente, en dos tipos: aquellas que ofrecen una solución completa de alojamiento, gratuita (como Freewebs, Blogger y LiveJournal), y aquellas soluciones consistentes en software que, al ser instalado en un sitio web, permiten crear, editar y administrar un blog directamente en el servidor que aloja el sitio (como es el caso de WordPress o de Movable Type).

El método de publicación que usan los weblogs se ha vuelto tan popular que se usan en muchas comunidades, solo para manejo de noticias y artículos, donde no solo participa uno sino varios autores llenando la comunidad de artículos.