SlideShare una empresa de Scribd logo
1 de 8
DISEÑOEN EL NIVEL DE COMPONENTES
Tiene lugar una vez terminado el diseño de la arquitectura.
 El objetivo es traducir el modelo del diseño a software operativo.
 La traducción es difícil y está abierta a la introducción de errores sutiles que son difíciles
de detectar y de corregir en las etapas posteriores del proceso del software.
¿QUÉ ES UN COMPONENTE?
 Un componente es un bloque de construcción de software de cómputo.
 los componentes forman la arquitectura del software y, en consecuencia, juegan un
papel en el logro de los objetivos y de los requerimientos del sistema.
visiones importantes de lo que es un componente
 Visión orientada a objetos: Un componente contiene un conjunto de clases que
colaboran, Cada clase dentro de un componente se elabora por completo para que
incluya todos los atributos y operaciones relevantes para su implantación.
 La visión tradicional: Un componente es un elemento funcional de un programa que incorpora la
lógica del procesamiento, las estructuras de datos internas que se requieren para implantar la
lógica del procesamiento y una interfaz que permite la invocación del componente y el paso de
los datos.
 Dentro de la arquitectura del software se encuentra un componente tradicional, llamado Módulo,
tiene tres funciones importantes.
1) como componente de control que coordina la invocación de todos los demás componentes
del dominio del problema.
2) como componente del dominio del problema que implanta una función completa o parcial que
requiere el cliente.
3) como componente de infraestructura que es responsable de las funciones que dan apoyo al
procesamiento requerido en el dominio del problema.
 Visión relacionada con el proceso: A medida que avanza el trabajo de diseño se dispone de un
catálogo de diseño probado o de componentes en el nivel de código, Conforme se desarrolla la
arquitectura del software, se escogen del catálogo componentes o patrones de diseño y se usan
para construir la arquitectura.
DISEÑO DE COMPONENTES BASADOS EN CLASE
 El diseño en el nivel de componentes se centra en la elaboración de clases específicas del
dominio del problema y en el refinamiento de las clases de infraestructura contenidas en el
modelo de requerimientos.
 La descripción detallada de los atributos, operaciones e interfaces que emplean dichas clases es
el detalle de diseño que se requiere como precursor de la actividad de construcción.
Principios básicos del diseño.
 Principio Abierto-Cerrado (PAC): Debe especificarse el componente en forma tal que permita
extenderlo sin necesidad de hacerle modificaciones internas. Para lograr esto, se crean
abstracciones que sirven como búfer entre la funcionalidad que sea probable extender y la clase
de diseño en sí.
 Principio de sustitución de Liskov (PSL): Sugiere que un componente que use una clase de
base debe funcionar bien si una clase derivada de la clase base pasa al componente.
 Principio de Inversión de la Dependencia (PID). Como se vio en el estudio del PAC, las
abstracciones son el lugar en el que es posible ampliar un diseño sin muchas dificultades. Entre
más dependa un componente de otros componentes concretos (y no de abstracciones tales como
una interfaz),más difícil será ampliarlo.
 Principio de segregación de la interfaz (psi): Es mejor tener muchas interfaces específicas del
cliente que una sola de propósito general. sugiere que debe crearse una interfaz especializada
que atienda a cada categoría principal de clientes. En la interfaz de ese cliente, sólo deben
especificarse aquellas operaciones que sean relevantes para una categoría particular de clientes.
 Principio de equivalencia de la liberación de la reutilización (PER): “El gránulo de
reutilización es el gránulo de liberación” Cuando las clases o componentes se diseñan para ser
reutilizables, existe un contrato implícito que se establece entre el desarrollador de la entidad
reutilizable y las personas que la emplearán.
LINEAMIENTOS DE DISEÑO EN EL NIVEL DE COMPONENTES.
 Componentes:Deben establecerse convenciones para dar nombre a los componentes que
se especifique que forman parte del modelo arquitectónico, para luego mejorarlos y
elaborarlos como parte del modelo en el nivel de componentes. Los nombres de los
componentes arquitectónicos deben provenir del dominio del problema y significar algo para
todos los participantes que vean el modelo arquitectónico.
 Interfaces:Las interfaces dan información importante sobre la comunicación y la
colaboración .Sin embargo, la representación sin restricciones de las interfaces tiende a
complicar los diagramas de componentes.
 Dependencias y herencia: Para tener una mejor legibilidad, es buena idea modelar las
dependencias de izquierda a derecha y la herencia de abajo (clases obtenidas) hacia arriba
(clases base). Además, las interdependencias de componentes deben representarse por
medio de interfaces y no con la dependencia componente a componente.
COHESIÓN.
Implica que un componente o clase sólo contiene atributos y operaciones que se relacionan de cerca uno con el
otro y con la clase o componente en sí.
tipos diferentes de cohesión:
 Funcional: Lo tienen sobre todo las operaciones; este nivel de cohesión ocurre cuando un componente
realiza un cálculo y luego devuelve el resultado.
 De capa: Lo tienen los paquetes, componentes y clases; este tipo de cohesión ocurre cuando una capa más
alta accede a los servicios de otra más baja, pero ésta no tiene acceso a las superiores.
 De comunicación. Todas las operaciones que acceden a los mismos datos se definen dentro de una clase.
En general, tales clases se centran únicamente en los datos en cuestión, acceden a ellos y los guardan.
ACOPLAMIENTO.
En el estudio anterior del análisis y el diseño, se dijo que la comunicación y la
colaboración eran elementos esenciales de cualquier sistema orientado a objetos. Sin
embargo, esta característica tan importante (y necesaria) tiene un lado oscuro. A medida
que aumentan la comunicación y colaboración (es decir, conforme se eleva la
“conectividad” entre las clases), la complejidad del sistema también se incrementa. Y si la
complejidad aumenta, también crece la dificultad de implantar, probar y dar
mantenimiento al software.
• Acoplamiento de contenido. tiene lugar cuando un componente “modifica
subrepticiamente datos internos en otro componente” [let01]. esto viola el ocultamiento
de la información, concepto básico del diseño.
• Acoplamiento común. Sucede cuando cierto número de componentes hacen uso de
una variable global. Aunque a veces esto es necesario (por ejemplo, para establecer
valores definidos que se utilizan en toda la aplicación), el acoplamiento común lleva a la
propagación incontrolada del error y a efectos colaterales imprevistos cuando se hacen
los cambios.
• Acoplamiento de datos. Ocurre si las operaciones pasan cadenas largas de
argumentos de datos. El “ancho de banda” de la comunicación entre clases y
componentes crece y la complejidad de la interfaz se incrementa. Se hace más difícil
hacer pruebas y dar mantenimiento

Más contenido relacionado

La actualidad más candente

Diagrama de despliegue
Diagrama de despliegueDiagrama de despliegue
Diagrama de despliegueElvisAR
 
Trazabilidad En Proyectos De Software
Trazabilidad En Proyectos De SoftwareTrazabilidad En Proyectos De Software
Trazabilidad En Proyectos De SoftwareBarCamp Quito
 
Arquitectura ALMA
Arquitectura ALMAArquitectura ALMA
Arquitectura ALMALoloUBD
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Diagramas de paquetes
Diagramas de paquetesDiagramas de paquetes
Diagramas de paquetesMoises Cruz
 
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UMLUnidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UMLCindy Adriana Bohórquez Santana
 
Patrones de diseño - Henry Vallejo
Patrones de diseño - Henry VallejoPatrones de diseño - Henry Vallejo
Patrones de diseño - Henry Vallejo2008PA2Info3
 
Español estructurado
Español estructuradoEspañol estructurado
Español estructuradoJorge Garcia
 
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENTESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENTLisbeth Ocaña Bueno
 
Cualidades y elementos de un buen patron de diseño
Cualidades y elementos de un buen patron de diseñoCualidades y elementos de un buen patron de diseño
Cualidades y elementos de un buen patron de diseñoAtahualpa Acosta
 
Ingeniería del software basada en componentes
Ingeniería del software basada en componentesIngeniería del software basada en componentes
Ingeniería del software basada en componentesjose_macias
 
Programación I 2. Arquitectura de Capas
Programación I 2. Arquitectura de CapasProgramación I 2. Arquitectura de Capas
Programación I 2. Arquitectura de CapasEdward Ropero
 
Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion EstructuradaJoseph Bros
 
Ingenieria de software basada en componentes -jeiner gonzalez blanco
Ingenieria de software basada en componentes  -jeiner gonzalez blancoIngenieria de software basada en componentes  -jeiner gonzalez blanco
Ingenieria de software basada en componentes -jeiner gonzalez blancoJeiner Gonzalez Blanco
 
Estilos y Patrones Aplicables a la Arquitectura de Software
Estilos y Patrones Aplicables a la Arquitectura de SoftwareEstilos y Patrones Aplicables a la Arquitectura de Software
Estilos y Patrones Aplicables a la Arquitectura de SoftwareDiego Plascencia Lara
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesVictor Escamilla
 
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdfATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdfDavidVeraOlivera
 

La actualidad más candente (20)

Diagrama de despliegue
Diagrama de despliegueDiagrama de despliegue
Diagrama de despliegue
 
Trazabilidad En Proyectos De Software
Trazabilidad En Proyectos De SoftwareTrazabilidad En Proyectos De Software
Trazabilidad En Proyectos De Software
 
Arquitectura ALMA
Arquitectura ALMAArquitectura ALMA
Arquitectura ALMA
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Modelo basado en clases
Modelo basado en clasesModelo basado en clases
Modelo basado en clases
 
Diagramas de paquetes
Diagramas de paquetesDiagramas de paquetes
Diagramas de paquetes
 
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UMLUnidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
 
Patrones de diseño - Henry Vallejo
Patrones de diseño - Henry VallejoPatrones de diseño - Henry Vallejo
Patrones de diseño - Henry Vallejo
 
Español estructurado
Español estructuradoEspañol estructurado
Español estructurado
 
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENTESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
 
Cualidades y elementos de un buen patron de diseño
Cualidades y elementos de un buen patron de diseñoCualidades y elementos de un buen patron de diseño
Cualidades y elementos de un buen patron de diseño
 
Semana 4 Diagrama de Clases y Casos de Uso
Semana 4   Diagrama de Clases y Casos de UsoSemana 4   Diagrama de Clases y Casos de Uso
Semana 4 Diagrama de Clases y Casos de Uso
 
Ingeniería del software basada en componentes
Ingeniería del software basada en componentesIngeniería del software basada en componentes
Ingeniería del software basada en componentes
 
Programación I 2. Arquitectura de Capas
Programación I 2. Arquitectura de CapasProgramación I 2. Arquitectura de Capas
Programación I 2. Arquitectura de Capas
 
Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion Estructurada
 
Diagrama de componentes
Diagrama de componentesDiagrama de componentes
Diagrama de componentes
 
Ingenieria de software basada en componentes -jeiner gonzalez blanco
Ingenieria de software basada en componentes  -jeiner gonzalez blancoIngenieria de software basada en componentes  -jeiner gonzalez blanco
Ingenieria de software basada en componentes -jeiner gonzalez blanco
 
Estilos y Patrones Aplicables a la Arquitectura de Software
Estilos y Patrones Aplicables a la Arquitectura de SoftwareEstilos y Patrones Aplicables a la Arquitectura de Software
Estilos y Patrones Aplicables a la Arquitectura de Software
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
 
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdfATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
 

Similar a Diseño en-el-nivel-de-componentes

Diseno Software
Diseno SoftwareDiseno Software
Diseno Softwarealfmuny
 
Fundamentos Basicos para El Diseño de Software
Fundamentos Basicos para El Diseño de SoftwareFundamentos Basicos para El Diseño de Software
Fundamentos Basicos para El Diseño de SoftwareRicardoAlvarez235
 
diseno Componente3.ppt
diseno Componente3.pptdiseno Componente3.ppt
diseno Componente3.pptrafael405074
 
Arquitectura de software.docx
Arquitectura de software.docxArquitectura de software.docx
Arquitectura de software.docxKeiberOrtiz1
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...negroues
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...negroues
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareLiliana Pacheco
 
Fundamentos del diseño de software
Fundamentos del diseño de software Fundamentos del diseño de software
Fundamentos del diseño de software AlessandreMndez
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónicolandeta_p
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónicolandeta_p
 
Programación rientada a Aspectos - David Burbano
Programación rientada a Aspectos - David BurbanoProgramación rientada a Aspectos - David Burbano
Programación rientada a Aspectos - David Burbano2008PA2Info3
 
Tema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de softwareTema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de softwareMagemyl Egana
 
Arquitecturas
ArquitecturasArquitecturas
Arquitecturasenlinea70
 
Glosario de terminos
Glosario de terminosGlosario de terminos
Glosario de terminosJose Risso
 
Introducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHPIntroducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHPJuan Belón Pérez
 
M O D U L A R I D A D
M O D U L A R I D A DM O D U L A R I D A D
M O D U L A R I D A DJORGE ARMANDO
 
Metodología de Diseño Estructurado.pptx
Metodología de Diseño Estructurado.pptx Metodología de Diseño Estructurado.pptx
Metodología de Diseño Estructurado.pptx AlvareL
 

Similar a Diseño en-el-nivel-de-componentes (20)

Diseno Software
Diseno SoftwareDiseno Software
Diseno Software
 
Fundamentos
FundamentosFundamentos
Fundamentos
 
Fundamentos Basicos para El Diseño de Software
Fundamentos Basicos para El Diseño de SoftwareFundamentos Basicos para El Diseño de Software
Fundamentos Basicos para El Diseño de Software
 
diseno Componente3.ppt
diseno Componente3.pptdiseno Componente3.ppt
diseno Componente3.ppt
 
Arquitectura de software.docx
Arquitectura de software.docxArquitectura de software.docx
Arquitectura de software.docx
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Fundamentos del diseño de software
Fundamentos del diseño de software Fundamentos del diseño de software
Fundamentos del diseño de software
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico
 
Programación rientada a Aspectos - David Burbano
Programación rientada a Aspectos - David BurbanoProgramación rientada a Aspectos - David Burbano
Programación rientada a Aspectos - David Burbano
 
Nixon torrealbav
Nixon torrealbavNixon torrealbav
Nixon torrealbav
 
Tema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de softwareTema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de software
 
Arquitecturas
ArquitecturasArquitecturas
Arquitecturas
 
Glosario de terminos
Glosario de terminosGlosario de terminos
Glosario de terminos
 
Introducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHPIntroducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHP
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de software
 
M O D U L A R I D A D
M O D U L A R I D A DM O D U L A R I D A D
M O D U L A R I D A D
 
Metodología de Diseño Estructurado.pptx
Metodología de Diseño Estructurado.pptx Metodología de Diseño Estructurado.pptx
Metodología de Diseño Estructurado.pptx
 

Último

La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalJonathanCovena1
 
Cuadernillo jkwfnergnerognerpognospgnrpongerpogn
Cuadernillo jkwfnergnerognerpognospgnrpongerpognCuadernillo jkwfnergnerognerpognospgnrpongerpogn
Cuadernillo jkwfnergnerognerpognospgnrpongerpognMarianaArgellesRamos
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfRosabel UA
 
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxcandy torres
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!CatalinaAlfaroChryso
 
REGLAMENTO FINAL DE EVALUACIÓN 2024 pdf.pdf
REGLAMENTO  FINAL DE EVALUACIÓN 2024 pdf.pdfREGLAMENTO  FINAL DE EVALUACIÓN 2024 pdf.pdf
REGLAMENTO FINAL DE EVALUACIÓN 2024 pdf.pdfInformacionesCMI
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024IES Vicent Andres Estelles
 
FICHA CUENTO BUSCANDO UNA MAMÁ 2024 MAESTRA JANET.pdf
FICHA CUENTO BUSCANDO UNA MAMÁ  2024 MAESTRA JANET.pdfFICHA CUENTO BUSCANDO UNA MAMÁ  2024 MAESTRA JANET.pdf
FICHA CUENTO BUSCANDO UNA MAMÁ 2024 MAESTRA JANET.pdfPaulaAnglicaBustaman
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfcarolinamartinezsev
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
Educacion Basada en Evidencias SM5 Ccesa007.pdf
Educacion Basada en Evidencias  SM5  Ccesa007.pdfEducacion Basada en Evidencias  SM5  Ccesa007.pdf
Educacion Basada en Evidencias SM5 Ccesa007.pdfDemetrio Ccesa Rayme
 
UNIDAD 3 -MAYO - IV CICLO para cuarto grado
UNIDAD 3 -MAYO - IV CICLO para cuarto gradoUNIDAD 3 -MAYO - IV CICLO para cuarto grado
UNIDAD 3 -MAYO - IV CICLO para cuarto gradoWilian24
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuelabeltranponce75
 
informe-de-laboratorio-metodos-de-separacion-de-mezclas.pdf
informe-de-laboratorio-metodos-de-separacion-de-mezclas.pdfinforme-de-laboratorio-metodos-de-separacion-de-mezclas.pdf
informe-de-laboratorio-metodos-de-separacion-de-mezclas.pdfAndreaTurell
 

Último (20)

Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Cuadernillo jkwfnergnerognerpognospgnrpongerpogn
Cuadernillo jkwfnergnerognerpognospgnrpongerpognCuadernillo jkwfnergnerognerpognospgnrpongerpogn
Cuadernillo jkwfnergnerognerpognospgnrpongerpogn
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
REGLAMENTO FINAL DE EVALUACIÓN 2024 pdf.pdf
REGLAMENTO  FINAL DE EVALUACIÓN 2024 pdf.pdfREGLAMENTO  FINAL DE EVALUACIÓN 2024 pdf.pdf
REGLAMENTO FINAL DE EVALUACIÓN 2024 pdf.pdf
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
FICHA CUENTO BUSCANDO UNA MAMÁ 2024 MAESTRA JANET.pdf
FICHA CUENTO BUSCANDO UNA MAMÁ  2024 MAESTRA JANET.pdfFICHA CUENTO BUSCANDO UNA MAMÁ  2024 MAESTRA JANET.pdf
FICHA CUENTO BUSCANDO UNA MAMÁ 2024 MAESTRA JANET.pdf
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Educacion Basada en Evidencias SM5 Ccesa007.pdf
Educacion Basada en Evidencias  SM5  Ccesa007.pdfEducacion Basada en Evidencias  SM5  Ccesa007.pdf
Educacion Basada en Evidencias SM5 Ccesa007.pdf
 
UNIDAD 3 -MAYO - IV CICLO para cuarto grado
UNIDAD 3 -MAYO - IV CICLO para cuarto gradoUNIDAD 3 -MAYO - IV CICLO para cuarto grado
UNIDAD 3 -MAYO - IV CICLO para cuarto grado
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
informe-de-laboratorio-metodos-de-separacion-de-mezclas.pdf
informe-de-laboratorio-metodos-de-separacion-de-mezclas.pdfinforme-de-laboratorio-metodos-de-separacion-de-mezclas.pdf
informe-de-laboratorio-metodos-de-separacion-de-mezclas.pdf
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 

Diseño en-el-nivel-de-componentes

  • 1. DISEÑOEN EL NIVEL DE COMPONENTES Tiene lugar una vez terminado el diseño de la arquitectura.  El objetivo es traducir el modelo del diseño a software operativo.  La traducción es difícil y está abierta a la introducción de errores sutiles que son difíciles de detectar y de corregir en las etapas posteriores del proceso del software. ¿QUÉ ES UN COMPONENTE?  Un componente es un bloque de construcción de software de cómputo.  los componentes forman la arquitectura del software y, en consecuencia, juegan un papel en el logro de los objetivos y de los requerimientos del sistema. visiones importantes de lo que es un componente  Visión orientada a objetos: Un componente contiene un conjunto de clases que colaboran, Cada clase dentro de un componente se elabora por completo para que incluya todos los atributos y operaciones relevantes para su implantación.
  • 2.  La visión tradicional: Un componente es un elemento funcional de un programa que incorpora la lógica del procesamiento, las estructuras de datos internas que se requieren para implantar la lógica del procesamiento y una interfaz que permite la invocación del componente y el paso de los datos.  Dentro de la arquitectura del software se encuentra un componente tradicional, llamado Módulo, tiene tres funciones importantes. 1) como componente de control que coordina la invocación de todos los demás componentes del dominio del problema. 2) como componente del dominio del problema que implanta una función completa o parcial que requiere el cliente. 3) como componente de infraestructura que es responsable de las funciones que dan apoyo al procesamiento requerido en el dominio del problema.  Visión relacionada con el proceso: A medida que avanza el trabajo de diseño se dispone de un catálogo de diseño probado o de componentes en el nivel de código, Conforme se desarrolla la arquitectura del software, se escogen del catálogo componentes o patrones de diseño y se usan para construir la arquitectura.
  • 3. DISEÑO DE COMPONENTES BASADOS EN CLASE  El diseño en el nivel de componentes se centra en la elaboración de clases específicas del dominio del problema y en el refinamiento de las clases de infraestructura contenidas en el modelo de requerimientos.  La descripción detallada de los atributos, operaciones e interfaces que emplean dichas clases es el detalle de diseño que se requiere como precursor de la actividad de construcción. Principios básicos del diseño.  Principio Abierto-Cerrado (PAC): Debe especificarse el componente en forma tal que permita extenderlo sin necesidad de hacerle modificaciones internas. Para lograr esto, se crean abstracciones que sirven como búfer entre la funcionalidad que sea probable extender y la clase de diseño en sí.  Principio de sustitución de Liskov (PSL): Sugiere que un componente que use una clase de base debe funcionar bien si una clase derivada de la clase base pasa al componente.
  • 4.  Principio de Inversión de la Dependencia (PID). Como se vio en el estudio del PAC, las abstracciones son el lugar en el que es posible ampliar un diseño sin muchas dificultades. Entre más dependa un componente de otros componentes concretos (y no de abstracciones tales como una interfaz),más difícil será ampliarlo.  Principio de segregación de la interfaz (psi): Es mejor tener muchas interfaces específicas del cliente que una sola de propósito general. sugiere que debe crearse una interfaz especializada que atienda a cada categoría principal de clientes. En la interfaz de ese cliente, sólo deben especificarse aquellas operaciones que sean relevantes para una categoría particular de clientes.  Principio de equivalencia de la liberación de la reutilización (PER): “El gránulo de reutilización es el gránulo de liberación” Cuando las clases o componentes se diseñan para ser reutilizables, existe un contrato implícito que se establece entre el desarrollador de la entidad reutilizable y las personas que la emplearán.
  • 5. LINEAMIENTOS DE DISEÑO EN EL NIVEL DE COMPONENTES.  Componentes:Deben establecerse convenciones para dar nombre a los componentes que se especifique que forman parte del modelo arquitectónico, para luego mejorarlos y elaborarlos como parte del modelo en el nivel de componentes. Los nombres de los componentes arquitectónicos deben provenir del dominio del problema y significar algo para todos los participantes que vean el modelo arquitectónico.  Interfaces:Las interfaces dan información importante sobre la comunicación y la colaboración .Sin embargo, la representación sin restricciones de las interfaces tiende a complicar los diagramas de componentes.  Dependencias y herencia: Para tener una mejor legibilidad, es buena idea modelar las dependencias de izquierda a derecha y la herencia de abajo (clases obtenidas) hacia arriba (clases base). Además, las interdependencias de componentes deben representarse por medio de interfaces y no con la dependencia componente a componente.
  • 6. COHESIÓN. Implica que un componente o clase sólo contiene atributos y operaciones que se relacionan de cerca uno con el otro y con la clase o componente en sí. tipos diferentes de cohesión:  Funcional: Lo tienen sobre todo las operaciones; este nivel de cohesión ocurre cuando un componente realiza un cálculo y luego devuelve el resultado.  De capa: Lo tienen los paquetes, componentes y clases; este tipo de cohesión ocurre cuando una capa más alta accede a los servicios de otra más baja, pero ésta no tiene acceso a las superiores.  De comunicación. Todas las operaciones que acceden a los mismos datos se definen dentro de una clase. En general, tales clases se centran únicamente en los datos en cuestión, acceden a ellos y los guardan.
  • 7. ACOPLAMIENTO. En el estudio anterior del análisis y el diseño, se dijo que la comunicación y la colaboración eran elementos esenciales de cualquier sistema orientado a objetos. Sin embargo, esta característica tan importante (y necesaria) tiene un lado oscuro. A medida que aumentan la comunicación y colaboración (es decir, conforme se eleva la “conectividad” entre las clases), la complejidad del sistema también se incrementa. Y si la complejidad aumenta, también crece la dificultad de implantar, probar y dar mantenimiento al software.
  • 8. • Acoplamiento de contenido. tiene lugar cuando un componente “modifica subrepticiamente datos internos en otro componente” [let01]. esto viola el ocultamiento de la información, concepto básico del diseño. • Acoplamiento común. Sucede cuando cierto número de componentes hacen uso de una variable global. Aunque a veces esto es necesario (por ejemplo, para establecer valores definidos que se utilizan en toda la aplicación), el acoplamiento común lleva a la propagación incontrolada del error y a efectos colaterales imprevistos cuando se hacen los cambios. • Acoplamiento de datos. Ocurre si las operaciones pasan cadenas largas de argumentos de datos. El “ancho de banda” de la comunicación entre clases y componentes crece y la complejidad de la interfaz se incrementa. Se hace más difícil hacer pruebas y dar mantenimiento