martes, 8 de marzo de 2016

COCOMO

El Modelo COCOMO

Introducción

El Modelo Constructivo de Costes (Constructive Cost Model) fue desarrollado por B. W. Boehm a finales de los 70 y comienzos de los 80, exponiéndolo detalladamente en su libro "Software Engineering Economics" (Prentice-Hall, 1981). COCOMO es una jerarquía de modelos de estimación de costes software que incluye submodelos básico, intermedio y detallado.

Las ecuaciones de estimación del esfuerzo de desarrollo tienen la forma: 

con    
            • S el número de miles de líneas de código fuente
            • m(X) es un multiplicador que depende de 15 atributos
            • en la siguiente tabla se muestran los coeficientes para los diferentes modos
                   
                          


1.     MODELO BÁSICO

            Este modelo trata de estimar, de una manera rápida y más o menos burda, la mayoría de proyectos pequeños y medianos. Se consideran tres modos de desarrollo en este modelo: orgánico, semiencajado y empotrado.

1.1.  Modo orgánico.

            En este modo, un pequeño grupo de programadores experimentados desarrollan software en un entorno familiar. El tamaño del software varía de unos pocos miles de líneas (tamaño pequeño) a unas decenas de miles de líneas (medio), mientras que en los otros dos modos el tamaño varía de pequeño a muy grandes (varios cientos de miles de líneas). En este modo, al igual que en los otros, el coste se incrementa a medida que el tamaño lo hace, y el tiempo de desarrollo se alarga.

Se utilizan dos ecuaciones para determinar el esfuerzo de personal y el tiempo de desarrollo. El coste es
            Km = 2.4 Sk1.05

Donde Km se expresa en personas-mes y Sk es el tamaño expresado en miles de líneas de código fuente. El tiempo de desarrollo se da por

            td = 2.5 Km0.38

Donde Km se obtiene de la ecuación anterior y td es el tiempo de desarrollo en meses. Estas ecuaciones se han obtenido por medio de ajustes de curvas realizado por Boehm en TRW sobre 63 proyectos.

1.2.  Modo Empotrado.

            En este modo, el proyecto tiene unas fuertes restricciones, que pueden estar relacionadas con el procesador y el interface hardware. El problema a resolver es único y es difícil basarse en la experiencia, puesto que puede no haberla.

Las estimaciones de tiempo y coste se basan en las mismas ecuaciones que en el modo orgánico, pero con diferentes constantes. Así, el coste se da por

                        Km = 3.6 Sk1.20

Y el tiempo de desarrollo por
                        td = 2.5 Km0.32

1.3.  Modo Semiencajado.

          Es un modo intermedio entre los dos anteriores. Dependiendo del problema, el grupo puede incluir una mezcla de personas experimentadas y no experimentadas.

Las ecuaciones son
                        Km = 3.0 Sk1.12

Y el tiempo de desarrollo por
                        td = 2.5 Km0.35.

1.4.  Notas al Modelo Básico

            Se puede observar que a medida que aumenta la complejidad del proyecto, las constantes aumentan de 2.4 a 3.6, que corresponde a un incremento del esfuerzo del personal. Hay que utilizar con mucho cuidado el modelo básico puesto que se obvian muchas características del entorno.



2.     MODELO INTERMEDIO

COCOMO intermedio esfuerzo del desarrollo del software de los cálculos como función del tamaño del programa y de un sistema de los “conductores del coste” que incluyen el gravamen subjetivo del producto, del hardware, del personal y de las cualidades del proyecto. Esta extensión considera un sistema de cuatro “los conductores costados”, cada uno con un número de cualidades del subsidiario:

ü  Cualidades de producto
Confiabilidad requerida del software
Tamaño de la base de datos del uso
Complejidad del producto

ü  Cualidades del hardware
Apremios de funcionamiento Run-time
Apremios de la memoria
Volatilidad del ambiente virtual de la máquina
Tiempo de turnabout requerido


ü  Cualidades del personal
Capacidad del analista
Capacidad de la tecnología de dotación lógica
Experiencia de los usos
Experiencia virtual de la máquina
Experiencia del lenguaje de programación

ü  Cualidades del proyecto
Uso de las herramientas del software
Uso de los métodos de la tecnología de dotación lógica
Horario requerido del desarrollo

Cada uno de las 15 cualidades recibe un grado en una escala del seis-punto que se extienda de “muy bajo” a “superior” (en importancia o valor). Un multiplicador del esfuerzo de la tabla abajo se aplica al grado. El producto de todos los multiplicadores del esfuerzo da lugar a coeficiente de adaptación del esfuerzo (EAF). Los valores típicos para EAF se extienden a partir de la 0.9 a 1.4.



La fórmula intermedio de Cocomo ahora toma la forma:

E=ai(KLoC)(bi).EAF

Donde está el esfuerzo E aplicado en persona-meses, KLoC es el número estimado de millares de líneas entregadas de código para el proyecto, y EAF es el factor calculado arriba. El coeficiente ai y el exponente bi se dan en la tabla siguiente.


El tiempo de desarrollo D aplicaciones del cálculo E de la misma forma que en el COCOMO básico.

3. MODELO DETALLADO

            Este modelo puede procesar todas las características del proyecto para construir una estimación. Introduce dos características principales

            (1) Multiplicadores de esfuerzo sensitivos a la fase. Algunas fases se ven más afectadas que otras por los atributos. El modelo detallado proporciona un conjunto de multiplicadores de esfuerzo para cada atributo. Esto ayuda a determinar la asignación del personal para cada fase del proyecto.

            (2) Jerarquía del producto a tres niveles. Se definen tres niveles de producto. Estos son módulo, subsistema y sistema. La cuantificación se realiza al nivel apropiado, esto es, al nivel al que es más susceptible la variación.

3.1. ESTIMACIÓN DEL ESFUERZO.

Ø  Fases de desarrollo
 El desarrollo del software se lleva a cabo a través de cuatro fases consecutivas: requerimientos/planes, diseño del producto, programación y prueba/integración.

Requerimientos/planes. Esta es la primera fase del ciclo de desarrollo. Se analiza el requerimiento, se muestra un Plan de Producto y se general una especificación completa del producto. Esta fase consume del 6% al 8% del esfuerzo nominal Kn, y dura del 10% al 40% del tiempo nominal de desarrollo td. Estos porcentajes dependen del modo y del tamaño (de 2000 LOC a 512000 LOC).

Diseño del producto. La segunda fase del ciclo de desarrollo COCOMO se preocupa de la determinación de la arquitectura del producto y de las especificaciones de los subsistemas. Esta fase requiere del 16% al 18% del esfuerzo nominal Kn, y puede durar del 19% al 38% del tiempo nominal de desarrollo td.

Programación. La tercera fase del ciclo de desarrollo COCOMO se subdivide en dos subfases: diseño detallado y prueba del código. Esta fase requiere del 48% al 68% del esfuerzo nominal Kn, y dura del 24% Al 64% del tiempo nominal de desarrollo.

Prueba/Integración. Esta última fase consiste principalmente en unir las diferentes unidades ya probadas. Se utiliza del 16% al 34% del coste nominal Kn y dura del 18% al 34% del td.


Ø  Principio de estimación del esfuerzo.

1. Tamaño equivalente. Como parte del software puede haber sido ya desarrollado, no se requiere entonces un desarrollo completo. En tales casos se estiman las partes de diseño (D%), código (C%) e integración (I%) a ser modificadas. Se calcula un factor de ajuste A

            A = 0.4 D + 0.3 C + 0.3 I
            El tamaño equivalente, Sequ es
            Sequ = (S · A) / 100.

2. Cálculo del esfuerzo. El tamaño equivalente se calcula para cada módulo. El esfuerzo asignado al desarrollo de cada módulo se obtiene entonces a través de:

        (1) seleccionar los valores apropiados de los atributos de coste para cada fase
    (2) multiplicar los atributos de coste para cada módulo y fase, obteniendo un conjunto de 4 multiplicadores globales
           (3) multiplicar los atributos globales por el esfuerzo nominal en cada fase y sumarlos para obtener el esfuerzo total estimado.

Ejemplo Practico:




RESUMEN

El Modelo COCOMO

El Modelo Constructivo de Costes (Constructive Cost Model) fue desarrollado por B. W. Boehm a finales de los 70 y comienzos de los 80, exponiéndolo detalladamente en su libro "Software Engineering Economics" (Prentice-Hall, 1981). COCOMO es una jerarquía de modelos de estimación de costes software que incluye submodelos básico, intermedio y detallado.

2. MODELO BÁSICO

            Este modelo trata de estimar, de una manera rápida y más o menos burda, la mayoría de proyectos pequeños y medianos. Se consideran tres modos de desarrollo en este modelo: orgánico, semiencajado y empotrado.

2.1. Modo orgánico.

            En este modo, un pequeño grupo de programadores experimentados desarrollan software en un entorno familiar.

2.2. Modo Empotrado.

            En este modo, el proyecto tiene unas fuertes restricciones, que pueden estar relacionadas con el procesador y el interface hardware. El problema a resolver es único y es difícil basarse en la experiencia, puesto que puede no haberla.

2.3. Modo Semiencajado.

          Es un modo intermedio entre los dos anteriores. Dependiendo del problema, el grupo puede incluir una mezcla de personas experimentadas y no experimentadas.

3. MODELO INTERMEDIO

COCOMO intermedio esfuerzo del desarrollo del software de los cálculos como función del tamaño del programa y de un sistema de los “conductores del coste” que incluyen el gravamen subjetivo del producto, del hardware, del personal y de las cualidades del proyecto. Esta extensión considera un sistema de cuatro “los conductores costados”.

4. MODELO DETALLADO

Este modelo puede procesar todas las características del proyecto para construir una estimación. Introduce dos características principales

Multiplicadores de esfuerzo sensitivos a la fase. Algunas fases se ven más afectadas que otras por los atributos. El modelo detallado proporciona un conjunto de multiplicadores de esfuerzo para cada atributo. Esto ayuda a determinar la asignación del personal para cada fase del proyecto.

Jerarquía del producto a tres niveles. Se definen tres niveles de producto. Estos son módulo, subsistema y sistema. La cuantificación se realiza al nivel apropiado, esto es, al nivel al que es más susceptible la variación.

SUMARY
THE COCOMO MODEL

Constructive Cost Model (Constructive Cost Model) was developed by B. W. Boehm in the late 70s and early 80s, exposing in detail in his book "Software Engineering Economics" (Prentice-Hall, 1981). COCOMO is a hierarchy of models of software cost estimation including detailed submodels basic, intermediate and.

2. BASIC MODEL
            This model tries to estimate quickly and more or less crudely, most small and medium projects. organic, semiencajado and built: three modes of development in this model are considered.
twenty-one. organically.
            In this mode, a small group of experienced programmers develop software in a familiar environment.

2.2. Flush mode.
            In this way, the project has strong restrictions, which may be related to the processor and the hardware interface. The problem to solve is unique and is difficult to rely on experience, since it can not be.

2. 3. Semiencajado mode.
          It is an intermediate mode between the two. Depending on the problem, the group may include a mixture of experienced and not experienced.

3. INTERMEDIATE MODEL
Intermediate COCOMO software development effort calculations as a function of program size and a system of "cost drivers" that include subjective assessment of the product, hardware, personnel and project qualities. This extension considers a set of four "drivers side".

4. DETAILED MODEL
This model can process all the features of the project to build an estimate. Introduces two main features

Multipliers sensitive to phase effort. Some stages are more affected than others by the attributes. The detailed model provides a set of multipliers effort for each attribute. This helps determine the allocation of personnel for each project phase.

Product hierarchy at three levels. three levels of product are defined. These are module, subsystem and system. The quantization is performed at the appropriate level, ie the level at which the variation is more susceptible.

RECOMENDACIONES

1. Las medidas de protección ambiental deben orientar la actividad humana, con el propósito de hacer compatibles las estrategias de desarrollo económico y social, con las de preservación ambiental.

2. El Plan General de Ordenamiento de la Cuenca de El Cajón, debe estar inserto en una estructura legal e institucional de carácter nacional, y constituir una marco de referencia para una segunda fase del proyecto de Manejo de los Recursos Naturales de la Cuenca de El Cajón, y a otros proyectos de manejo de cuencas en Honduras.

4. Debido a la escasez de recursos y los numerosos problemas ambientales, es necesario hacer una priorización de los esfuerzos de solución hacia los problemas de deterioro ambiental de mayor gravedad, como lo hecho en la Cuenca.

5. Debe haber una incorporación gradual y sostenida de la población y los gobiernos locales en las acciones de ordenamiento y manejo de los recursos naturales, como también en otras actividades tendientes a la preservación de los recursos.


CONCLUSIONES

Los modelos, a pesar de su perfeccionamiento sobre diferentes entradas para la estimación de esfuerzo, no modelan de manera adecuada los factores que afectan la productividad. Es necesario hacer mas investigaciones acerca de cómo medir todos los factores que afectan los sistemas de productividad profesional, si la profesión es encontrarse con los cambios del futuro.

APRECIACIÓN DEL EQUIPO

 Es uno de los modelos más documentados en la actualidad y es muy fácil de utilizar. Es correcto con referencia a los 63 proyectos utilizados, aunque de ello no se debe desprender que deba ser válido siempre. Una preocupación es la adaptación de las ecuaciones exponenciales a organizaciones específicas, cosa que no parece inmediatamente fácil.

GLOSARIO DE TÉRMINOS

Es la amplitud de aplicación potencial de los componentes del programa

Es la propiedad que permite que una subclase herede los atributos y los mensajes de una superclase. Es el mecanismo por el cual elementos más específicos incorporan la estructura y el comportamiento de elementos más generales

Interacción
Es una especificación de comportamiento cuyo fin es lograr un propósito específico. Abarca un conjunto de intercambios de mensajes entre un conjunto de objetos dentro de un contexto particular. Una interacción puede ilustrarse mediante uno o más escenarios.

Completitud
Es el grado en que se ha conseguido la total implementación de las funciones requeridas.

Es la parte del proceso de desarrollo de software cuyo propósito principal es decidir cómo se construirá el sistema. Durante el diseño se toman decisiones estratégicas y tácticas para alcanzar los requerimientos funcionales y la calidad esperada.

Evento
En el contexto de un diagrama de estado, un evento es un acontecimiento que puede disparar una transición de estados.


LINKOGRAFÍA

http://www.sc.ehu.es/jiwdocoj/mmis/cocomo.htm
http://ingenieraupoliana.blogspot.pe/2010/10/cocomo.html
https://sites.google.com/site/stigestionydesarrollo/recuperacion/recuperacion-gestion/tema-9/10---explicar-modelo-cocomo

Link de la Diapositiva


Video de Referencia



lunes, 7 de marzo de 2016

Diagrama de componentes

DIAGRAMA DE COMPONENTES
DEFINICIÓN

Un diagrama de componentes es un diagrama tipo del Lenguaje Unificado de Modelado.
Los diagramas de componentes describen los elementos físicos del sistema y sus relaciones. Muestran las opciones de realización incluyendo

Código fuente, binario y ejecutable. Los componentes representan todos los tipos de elementos software que entran en la fabricación de aplicaciones informáticas. Pueden ser simples archivos, paquetes de Ada, bibliotecas cargadas dinámicamente, etc. Las relaciones de dependencia se utilizan en los diagramas de componentes para indicar que un componente utiliza los servicios ofrecidos por otro componente.

Un diagrama de componentes representa las dependencias entre componentes software, incluyendo componentes de código fuente, componentes del código binario, y componentes ejecutables. 

Un diagrama de componentes muestra clasificadores de componentes, las clases definidas en ellos, y las relaciones entre ellas. Los clasificadores de componentes también se pueden anidar dentro de otros clasificadores de componentes para mostrar relaciones de definición.



OBJETIVO
Se utilizan para modelar la vista estática de un sistema. Muestra la organización y las dependencias entre un conjunto de componentes. No es necesario que un diagrama incluya todos los componentes del sistema, normalmente se realizan por partes. Cada diagrama describe un apartado del sistema.

Uno de los usos principales es que puede servir para ver que  componentes pueden compartirse entre sistemas o entre diferentes partes de un sistema.

DEPENDENCIAS

Los artefactos de los que depende su construcción son:
·         Diagrama de objetos
·         Diagrama de clases

Los artefactos que se generan a partir del diagrama de componentes son:
·         Diagrama de ejecución
·         Diagrama de despliegue

COMPONENTE

Los componente de Software son todo aquel recurso desarrollado para un fin concreto y que puede formar solo o junto con otro/s, un entorno funcional requerido por cualquier proceso predefinido. Son independientes entre ellos, y tienen su propia estructura e implementación. Si fueran propensos a la degradación debieran diseñarse con métodos internos propios de refresco y actualización. Son partes intangibles (que no se pueden tocar) de una computadora el cual lee los datos del hardware introduciéndolos en la PC.



  • Código:
Un componente contiene el código para las clases de implementación y otros elementos. Un componente de código fuente es un paquete para el código fuente de las clases de implementación. Algunos lenguajes de programación distinguen archivos de declaración de los archivos de método, pero todos son componentes. Un componente de código binario es un paquete para el código compilado. Una biblioteca del código binario es un componente. 

  • Identidad:
Un componente de identidad tiene identidad y estado. Posee los objetos físicos que están situados en él. Puede tener atributos, relaciones de composición con los objetos poseídos, y asociaciones con otros componentes. Desde este punto de vista es una clase. Sin embargo la totalidad de su estado debe hacer referencia a las instancias que contiene.

  • Estructura:
Un componente ofrece un conjunto de elementos de implementación, esto significa que el componente proporciona el código para los elementos. Un componente puede tener operaciones e interfaces. Un componente de identidad es un contenedor físico para las entidades físicas como bases de datos. Para proporcionar manejadores para sus elementos contenidos, puede tener atributos y asociaciones salientes, que deben ser implementadas por sus elementos de implementación. 

TIPOS DE COMPONENTES

Existen básicamente tres tipos de componentes:


n  Componentes de despliegue:           componentes necesarios para formar un sistema ejecutable
n  Componentes producto del trabajo: productos que quedan  al final del proceso de desarrollo
n  Componentes de ejecución:se crean como consecuencia de un sistema en ejecución 




PAQUETE

Un paquete es un espacio de nombre así como un elemento que puede estar contenido en otros espacios de nombre de paquetes. Un paquete puede poseer o combinarse con otros paquetes, y sus elementos se pueden importar dentro de un espacio de nombre de un paquete



CLASE

Una clase es una representación de uno o más objetos, que refleja su estructura y comportamiento en el sistema. Es una plantilla desde la cual se crean las instancias actualmente en ejecución. Una clase puede tener atributos (datos) y métodos (operaciones o comportamiento). 



INTERFAZ

Una interfaz es una especificación de comportamiento que los implementadores acordaron. Es un contrato. Implementando una interfaz las clases garantizan soportar un comportamiento requerido, lo cual permite al sistema tratar elementos no relacionados de la misma manera, a través de una interfaz común.


PUERTO

Los puertos definen la interacción entre un clasificador y su entorno. Las interfaces que controlan esta interacción pueden ser representadas usando el elemento de la caja de herramientas de la interfaz expuesta. Cualquier conector le debe proporcionar a un puerto una interfaz requerida, si es que está definida. Los puertos pueden aparecer en una de las partes contenidas, una clase, o el límite de una estructura compuesta.

EXPONER LA INTERFAZ

El elemento Exponer la interfaz es un método gráfico de describir las interfaces requeridas y provistas de un Componente, Clase o Parte, en un diagrama de Componente o Estructura compuesta. Este sólo identifica el hecho de que el elemento provee o requiere una interfaz; para describir el hecho de que la interfaz provista se use, o la interfaz requerida provista por otro elemento, use el conector Ensamblar.


El elemento Exponer interfaz se debe adjuntar a un elemento Clase o Componente, y este se convierte en un elemento hijo de esa Clase o Componente; no puede existir independientemente. Puede adjuntar más de un elemento Exponer a otro elemento.
Cuando crea el elemento Exponer interfaz, una ventana se muestra en la cual ingresa el nombre para el elemento y especifica si este representa una interfaz requerida o una interfaz provista.
ARTEFACTO DEL DOCUMENTO

Un artefacto documento es en artefacto que tiene un estereotipo de documento. El artefacto documento se asocia con un documento RTF. Haciendo doble clic en este elemento, se le presentará el procesador de palabra RTF.


ENSAMBLE

Como se muestra arriba, el conector ensamble une una interfaz requerida de un componente (Componente 1) con la interfaz proporcionada por otro componente (Componente 2).  


DELEGAR

 Un conector delegar define el ensamble interno de los puertos e interfaces externos de un componente. Al usar un conector delegar se conectan los trabajos internos del sistema con el mundo exterior, por una delegación de las conexiones de las interfaces externas.


ASOCIAR 
  
Una asociación implica que dos elementos de modelo tienen una relación, usualmente implementada como una variable de instancia en una clase. Este conector puede incluir nombre de roles en cada final, multiplicidad, dirección y restricciones. La asociación es el tipo general de relación entre elementos. Para más de dos elementos, puede usar el elemento Asociación N-Ary
Cuando se genera el código para los diagramas de clases, las asociaciones se convierten en variables de instancia en la clase destino. Esta relación también se usa en los diagramas de Paquetes, Objeto, Comunicación y Despliegue.  



 GENERALIZAR

Una generalización se usa para indicar herencia. Dibujada desde el clasificador específico al clasificador general, la implicación de generalización es que el origen hereda las características del destino.  










Ejemplo




RESUMEN

DIAGRAMA DE COMPONENTES

DEFINICIÓN
Un diagrama de componentes es un diagrama tipo del Lenguaje Unificado de Modelado.

Los diagramas de componentes describen los elementos físicos del sistema y sus relaciones. Muestran las opciones de realización incluyendo.

OBJETIVO
Se utilizan para modelar la vista estática de un sistema. Muestra la organización y las dependencias entre un conjunto de componentes. No es necesario que un diagrama incluya todos los componentes del sistema, normalmente se realizan por partes. Cada diagrama describe un apartado del sistema.

DEPENDENCIAS

Los artefactos de los que depende su construcción son:
·         Diagrama de objetos
·         Diagrama de clases

Los artefactos que se generan a partir del diagrama de componentes son:
·         Diagrama de ejecución
·         Diagrama de despliegue

COMPONENTE
Los componente de Software son todo aquel recurso desarrollado para un fin concreto y que puede formar solo o junto con otro/s, un entorno funcional requerido por cualquier proceso predefinido.

ü  Código:
Un componente contiene el código para las clases de implementación y otros elementos.

ü  Identidad:
Un componente de identidad tiene identidad y estado.

ü  Estructura:
Un componente ofrece un conjunto de elementos de implementación, esto significa que el componente proporciona el código para los elementos.

TIPOS DE COMPONENTES

v  PAQUETE
Un paquete es un espacio de nombre así como un elemento que puede estar contenido en otros espacios de nombre de paquetes.


v  CLASE
Una clase es una representación de uno o más objetos, que refleja su estructura y comportamiento en el sistema.

v  INTERFAZ
Una interfaz es una especificación de comportamiento que los implementadores acordaron.

v  PUERTO
Los puertos definen la interacción entre un clasificador y su entorno.

v  EXPONER LA INTERFAZ
El elemento Exponer la interfaz es un método gráfico de describir las interfaces requeridas y provistas de un Componente, Clase o Parte, en un diagrama de Componente o Estructura compuesta.

v  ARTEFACTO DEL DOCUMENTO
Un artefacto documento es en artefacto que tiene un estereotipo de documento.

v  ENSAMBLE
Como se muestra arriba, el conector ensamble une una interfaz requerida de un componente (Componente 1) con la interfaz proporcionada por otro componente (Componente 2). 

v  DELEGAR
Un conector delegar define el ensamble interno de los puertos e interfaces externos de un componente.

v  ASOCIAR
  Una asociación implica que dos elementos de modelo tienen una relación, usualmente implementada como una variable de instancia en una clase.

v  GENERALIZAR

Una generalización se usa para indicar herencia.

SUMARY

DIAGRAM COMPONENTS

DEFINITION
A component diagram is a type diagram of the Unified Modeling Language.

Diagrams describe the physical components of the system elements and their relationships. Show options including realization.

TARGET
They are used to model the static view of a system. It shows the organization and dependencies among a set of components. You need not include all a diagram of the system components, typically performed by parties. Each diagram describes a section of the system.

DEPARTMENTS

Artifacts which depends the construction are:
• Object Diagram
• Class Diagram

Artifacts that are generated from the diagram components are:
• execution Diagram
• Deployment diagram

COMPONENT
The software component that resource are all developed for a specific purpose and can be alone or together with another / s, a functional environment required by any predefined process.

ü  Code:
A component contains the code for implementation classes and other elements.

ü  Identity:
A component of identity is identity and status.

ü  Structure:
A component provides a set of elements of implementation, this means that the component provides the code for elements.

TYPES OF COMPONENTS

v  PACKAGE
A package is a namespace and an element that may be contained in other namespaces packages.


v  CLASS
A class is a representation of one or more objects, reflecting its structure and behavior in the system.

v  INTERFACE
An interface is a specification of behavior that implementers agreed.

v  PUERTO
Ports define the interaction between a classifier and its environment.

v  EXPOSE THE INTERFACE
Exposing the interface element is a graphical method of describing the required and provided interfaces of a component, class or party in a component diagram or composite structure.

v  ARTIFACT OF DOCUMENT
Document is an artifact artifact that has a stereotype document.

v  ASSEMBLE
As shown above, the connector assembly connects a required component (Component 1) with the interface provided by another component (Component 2) interface.

v  DELEGATE
A connector assembly delegate defines internal and external ports interfaces of a component.

v  ASSOCIATE
  A partnership implies two model elements have a relationship, usually implemented as an instance variable in a class.

v  GENERALIZE
A generalization is used to indicate inheritance

RECOMENDACIONES

Desde el punto de vista del diagrama de componentes se tienen en consideración los requisitos relacionados con la facilidad de desarrollo, la gestión del software, la reutilización, y las restricciones impuestas por los lenguajes de programación y las herramientas utilizadas en el desarrollo.
Los elementos de modelado dentro de un diagrama de componentes serán componentes y paquetes. En cuanto a los componentes, sólo aparecen tipos de componentes, ya que las instancias específicas de cada tipo se encuentran en el diagrama de despliegue.

Dado que los diagramas de componentes muestran los componentes software que constituyen una parte reusable, sus interfaces, y su interrelaciones, en muchos aspectos se puede considerar que un diagrama de componentes es un diagrama de clases a gran escala. Cada componente en el diagrama debe ser documentado con un diagrama de componentes más detallado, un diagrama de clases, o un diagrama de casos de uso.


CONCLUSIONES
Podemos concluir que los diagramas de componentes son una herramienta muy útil para conocer la manera que se desarrolla el sistema pero incluyendo sus componentes físicos y estos a la vez relacionados con las clases que nos muestran proporcionan una perspectiva estática del sistema.

Sin duda alguna, un Diagrama de Componentes se implementa en la fase de desarrollo de un aplicativo, ya que permite editar de forma segura todo el contenido que llevarán los archivos de datos de dicha aplicacion.

APRECIACIÓN DEL EQUIPO

Un componente es una parte física de un sistema (modulo, base de datos, programa ejecutable, etc.). Se puede decir que un componente es la materialización de una o mas clases, porque una abstracción con atributos y métodos pueden ser implementados en los componentes.   

Los componentes representan todos los tipos de elementos software que entran en la fabricación de aplicaciones informáticas.

Los diagramas de componentes describen los elementos físicos del sistema y sus relaciones.

GLOSARIO DE TÉRMINOS
Dependencia
Es aquello que indica la relación semántica entre elementos del modelo.

Elemento
Es un elemento atómico constitutivo de un modelo.

Modelo
Es una abstracción semánticamente consistente de un sistema.

Proceso
Es un hilo de ejecución que puede ejecutar concurrentemente con otros hilos.

Simplicidad
Es el grado en que un programa puede ser entendido sin dificultades.

Linkografía

https://es.wikipedia.org/wiki/Diagrama_de_componentes
https://msdn.microsoft.com/es-pe/library/dd409390.aspx
http://www.altova.com/es/umodel/uml-component-diagrams.html
http://www.monografias.com/trabajos67/diagramas-uml/diagramas-uml2.shtml

Link de la Diapositiva


Video de Referencia










a