Programación orientada a Componentes

Slides:



Advertisements
Presentaciones similares
Por: Anamaría Méndez Monsalve M.Sc. 2011
Advertisements

GUÍA PARA EL DESARROLLO DEL PRODUCTO Y PLAN DE MANUFACTURA
2.3 Modelo de Capacidad de Madurez Integrado (CMMI®)
Lecciones sobre ingeniería de software desde el Software Libre
III - Gestión de memoria
GERENCIA ESTRATEGICA DE COSTOS NUEVA HERRAMIENTA PARA
CICLO DE VIDA DE LOS PRODUCTOS “CVP”.
Arquitectura Orientada a Servicios (SOA)
Gestión de proyectos Es la primera etapa de Ingeniería del Software.
Metodologías orientadas a objetos
On Time Booking.
 La crisis económica obliga a las organizaciones, a ejecutar estrategias de promoción efectivas, con la menor inversión posible.  Las ferias están.
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
Software La buena programación no se aprende de generalidades, sino viendo cómo los programas significativos pueden hacerse claros, “fáciles” de leer,
SOFTWARE LIBRE PARA PYMES
PORTAL DE NEGOCIOS Y VENDEDORES
Administración de la Tecnología Empresarial Mtro. Arturo Téllez Mejía Problemática de negocio Caso Aguirre Newman Chávez Mejía Jaime Peragallo Álvarez.
Ciclo de Vida del Software Paradigmas de Desarrollo
Visión basada en los recursos y posicionamiento estratégico
Programación orientada a Componentes POC Rosemary Torrico Bascopé.
Cristian Alexander Taborda Cód.: Lorena Consuelo Torres Cód.: Soluciones Oracle para Empresas: JD Edwards EnterpriseOne UNIVERSIDAD NACIONAL.
Desarrollo de aplicaciones para ambientes distribuidos
GESTION DEL CAMBIO Los presencia continua de competencia, la internacionalización económica y la aparición de nuevas tecnologías de información e informática.
O Funcionamiento, ventajas y alcance o ESTUDIANTE: EDWIN ARAY VÉLEZ o PROFESOR: ING. JOSÉ MEDINA o FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN.
Aidaritza Rodriguez Julio Álamo Carlos Ortiz. Veremos las diferencias entre las alternativas al desarrollo de sistemas a medida: la subcontratación, licencias.
Sistemas de Información IS95872 Clase 7 de Mayo. Éxito y Fracaso de los sistemas.
GESTION DEL CAMBIO ORGANIZACIONAL
Introducción a la investigación de mercados
 ¿Qué es una pequeña empresa? ¿Qué es una pequeña empresa?  Decisiones sobre ¿qué tipo de la pequeña empresa para que de inicio Decisiones sobre ¿qué.
Tema 1: Introducción a la Ingeniería de Software
INSTITUTO TECNOLOGICO DE MINATITLAN ASIGNATURA: FUNDAMENTOS DE PROGRAMACION DOCENTE: JOSE ANGEL TOLEDO ALVAREZ ALUMNA: ALEJANDRA OSORIO ARVISU SEMESTRE:
Tópicos selectos de sistemas de información
EL PAPEL ACTUAL DE LOS SISTEMAS DE INFORMACIÓN EN LOS NEGOCIO
¿QUÉ ES UNA ESTRATEGIA? ¿QUÉ ES LOGISITCA?
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
(GESTIÓN DE PROCESOS DE NEGOCIO)
Almacenamiento virtual de sitios web “HOSTS VIRTUALES”
Capítulo #6: Comercialización
Términos y Conceptos Básicos
Es indudable que el ambiente competitivo, el que se vive en el ámbito empresarial actualmente, requiere de promover los procesos y actividades de negocio.
Abdelahad, Yanina Zoraida Abdelahad, Corina Natalia Perez, Norma Beatriz Abril de 2003.
Integrantes: Inés Lastra Loreto Moreno Nicolás Gonzáles Francisco Ahumada Francisco Cabello Gestión de un ERP.
Business Intelligence. ¿Por qué Business Intelligence? La capacidad para tomar decisiones de negocio precisas y de forma rápida se ha convertido en una.
OUTSOURCING CAMILO ROSALES ISABEL IBARRA.
SISTEMAS DE INFORMACIÓN PARA EJECUTIVOS
Un buen método para la reducción de costos
Capítulo #5: Marketing y Comercialización
Business Intelligence. ¿Por qué Business Intelligence? La capacidad para tomar decisiones de negocio precisas y de forma rápida se ha convertido en una.
Contabilidad de costos
OUTSOURCING ¿POR QUÉ UTILIZAR OUTSOURCING?
Análisis y Diseño de Aplicaciones
Modelo Prescriptivos de proceso
Estructurar tus ideas para hacerlas realidad
ARQUITECTOS ASOCIADOS ARQUITECTOS ASOCIADOS Cuenta con Todo un Equipo de Personal para Resolver Todo Tipo de Necesidades en los Servicios que le Ofrecemos.
AceSchool Daniel Labra Fernando Figueroa ¿Qué Hicimos? -Refinar Causa-Efecto -Elección Metodología -Esquema de la Solución -Resultado Encuesta -Refinar.
Ingeniería en Informática F UNDAMENTOS DE C OMPUTACIÓN B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
INGENIERIA DE SOFTWARE
Tendencia De Los Sistemas Operativos
LA TECNOLOGÍA VOIP La Voz sobre IP (también llamado VozIP o VoIP por sus siglas en inglés Voice over IP) es una tecnología que permite la transmisión.
ANTIVIRUS EN LA NUBE. CONCEPTO: Cloud Computing supone trabajar directamente en la Nube. De ahí que, en base a este concepto, se haya desarrollado todo.
Antivirus Cloud Computing
Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
ANTIVIRUS CLOUD COMPUTING. Los antivirus cloud o antivirus en la nube, son antivirus que aplican a los antivirus el concepto cloud computing. Instalan.
¿Comprar un software o desarrollarlo? Alternativas Costo y Tiempo de Implementación Funcionalidad del Software Flexibilidad y mantenimiento Tamaño.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
INNOVACIÓN Y CAMBIO EN LAS ORGANIZACIONES
REINGENIERÍA Y LOGÍSTICA
TECNOLOGIAS DE LA INFORMACION EN LAS ORGANIZACIONES
Conociendo el modelo Cliente-Servidor
 La empresa en la que desarrollamos este trabajo de campo es el Grupo Crystal compuestas por las empresas Tintorería Industrial Crystal creada en 1958,
Transcripción de la presentación:

Programación orientada a Componentes Rosemary Torrico Bascopé

Introducción El uso de componentes es maduro en muchas disciplinas de ingeniería. En el ambito del software, recien se tiene exito en su uso a partir del 1990 Las razones del fracaso se pueden atribuir a la naturaleza del SW.

Naturaleza del SW Los componentes de software fueron inicialmente considerados similares a los componentes de hardware, como los circuitos integrados. Así, el término ''Circuito integrado de software'' se volvió fascinante. También se hicieron analogías de este tipo en la mecánica y la ingeniería civil. El software es diferente a los productos de todas las demás disciplinas de ingeniería. En lugar de entregar un producto final, la entrega de software significa la entrega de modelos para los productos.

Los componentes son para composición La composicion permite reusar “cosas prefabricadas” adaptandolas en el nuevo ambiente. Componentes de software Son unidades ejecutables de producción independientes. Abstracciones, tales como procedimientos, clases, módulos o aplicaciones, podrían formar componentes, siempre y cuando estén en una forma ejecutable susceptible de ser un componente. Las bibliotecas procedurales son el ejemplo más antiguo de los componentes de software Independencia y forma ejecutable son esenciales con el fin de permitir el desarrollo independiente y la integración robusta.

Por qué producir, comprar, distribuir, usar… componentes de SW? Los componentes son el camino a seguir porque todas las disciplinas de ingeniería introdujeron componentes a medida que fueron madurando - y todavía los utilizan. Poco después de la crisis del software se acuñó el término, fue previsto también: software de circuitos integrados (McIlroy 1968; Cox 1990) Desde entonces, hace 30 años, las personas han preguntado por qué este idea intuitiva realmente nunca llegó a realizarse.

Beneficios El desarrollo de software tradicional pueden dividirse en dos campos. En un extremo, un proyecto desarrollado íntegramente desde cero (línea por línea), con la ayuda sólo de herramientas de programación y bibliotecas. En el otro extremo, todo es "Externalizado" - en otras palabras, el software estándar se compra y se parametriza para proporcionar una solución que esta lo "suficientemente cerca" a lo que se necesita. Este tipo de software tiene ventajas significativas (cuando funciona): Puede ser óptimamente adaptado al modelo de negocio del usuario Puede tomar ventaja de cualquier conocimiento de su propiedad o prácticas. Puede proporcionar una ventaja competitiva en la era de la información.

Antecendentes: SW hecho línea por línea (desventajas) La producción de SW desde cero es una empresa muy costosa. El mantenimiento y el seguimiento del estado del arte, como el incorporar accesos Web, pueden convertirse en una mayor carga. Los requerimientos de interoperabilidad con otros sistemas locales también se ven afectados. Como resultado, la mayoría de los proyectos grandes fallan parcialmente o totalmente, conduciendo a un riesgo sustancial. Además, en un mundo de rápidos y contínuos cambios en los requerimientos de negocios, el software hecho línea por línea es usualmente muy lento para ser productivo antes de convertirse en obsoleto. 

Tendencia outsourcing Frente a todas estas desventajas mencionadas, la gran tendencia hacia el "outsourcing" en la industria es comprensible. La producción de software a medida es subcontratada por debajo del precio fijado, para limitar el riesgo financiero, para cubrir el riesgo de tiempo de salida al mercado. Hay una fuerte tendencia hacia el uso de software estándar - es decir, el software que es sólo ligeramente ajustado a las necesidades reales. La carga de mantenimiento, evolución del producto, y la interoperabilidad se deja al proveedor del paquete estándar. Lo que queda es llevar la parametrización y el detalle de configuración al próximo lanzamiento - todavía un esfuerzo considerable, pero inevitable en un mundo de cambio.

¿Qué hay de malo en software estándar? En primer lugar, Software estándar puede requerir una reorganización mayor o menor de los procesos de negocio afectado. Aunque el proceso de reingeniería del negocio puede valer la pena en la empresa. Segundo el software estándar es un estándar. Intenta dar una solución general a un problema amplio. Lo cual nos restringe su uso, excepto que se utilice extremadamente bien. En tercer lugar, como software estándar no está bajo el control local, no es suficientemente ágil como para adaptarse rápidamente a las necesidades cambiantes.

El espectro entre hacerlo todo y comprarlo todo Cuando todo esta hecho a medida, la flexibilidad no tiene límites pero la rentabilidad cae en picada.

Los componentes son inevitables El desarrollo de la tecnología de componentes excelentes no es suficiente para establecer un mercado. La disciplina está llena de ejemplos de productos técnicamente superiores que no pudieron capturar mercados suficientemente grandes. Además de la superioridad técnica de un componente se necesita una masa crítica para despegar. Un paradigma de componentes gana una gran clientela si los componentes ofrecidos tienen suficiente variedad y calidad, entonces, existe un beneficio obvio al usar componentes.  Una vez que los clientes han cubierto sus necesidades en un segmento del mercado, el uso de componentes en ese segmento se vuelve inevitable. 

…Los componentes son inevitables Si no se encuentran los componentes requeridos disponibles, se provoca la reinvención de soluciones. Esto sólo puede ser justificado cuando la solución creada es superior a la alternativa que se puede comprar. Un producto que utiliza los beneficios de los componentes, es el que hace uso de una combinación de productividad e innovación de todos los vendedores de componentes. Los vendedores de componentes están enfocados en proveer a muchos clientes diferentes y así ser capaces de perfeccionar sus componentes rápidamente. 

Los componentes son unidades de implementación Un componente de software una implementación aislada de un sistema. Contrario a lo que se ha dicho, los objetos casi nunca se compran, venden o implementan. La unidad de implementación es algo mas bien más estático, como una clase, o, más probablemente, un conjunto de clases, compilado y enlazado en algún paquete. Aunque un componente puede ser una sola clase, es más probable que sea una colección de clases, algunas veces llamado módulo.

Mercados Recientemente han surgido mercados exitosos basados en tecnologías de componentes. Compañías como ComponentSource.com o Flashline.com venden miles de componentes ya hechos, la mayoría en COM y categorías en Java, pero componentes VCL (una tecnología de Delphi/C++ Builder por Borland) y .NET también están presentes. Compañías como ILOG y Rouge Wave Software generan ingresos sustanciales al enfocarse en su producción de componentes.

Bibliografia http://computacion.cs.cinvestav.mx/~sgarrido/cursos/ing_soft/Componentes/node4.html