¿Qué son los patrones de comprensión y cómo se relacionan con el diagrama de secuencia?

GRASP es un conjunto de principios y patrones para diseñar software eficaz orientado a objetos. Abordan preguntas como “¿Qué objeto debe tener esta información y / o proporcionar esta función”, así como “¿Debería este objeto estar representado por varias clases? ¿O tal vez estas diferentes clases podrían estar representadas por una clase principal con múltiples clases secundarias?”

Los diagramas de secuencia muestran las interacciones entre los objetos y la secuencia de esas interacciones. Por ejemplo, algunas actividades pueden requerir un intercambio de solicitudes de ida y vuelta entre dos o más objetos: el diagrama de secuencia muestra la secuencia de esos mensajes de ida y vuelta. También puede mostrar si las solicitudes son síncronas o asíncronas.

El UML es útil (entre otras cosas) para diseñar la organización de nivel superior de un sistema, luego profundizar para determinar qué partes del sistema deben ser (o deben ser) responsables de qué funciones. Algunos principios GRASP pueden usarse al agrupar y asignar funciones a componentes particulares, especialmente los principios de alta cohesión y bajo acoplamiento.

Básicamente, GRASP guía al desarrollador cuando diseña clases y les asigna funciones. Los diagramas de secuencia ayudan al desarrollador a visualizar las interacciones entre varios componentes y clases. Para cuando se cree un diagrama de secuencia, GRASP ya (o debería) haber sido aplicado.

More Interesting

Ayuda para elegir oferta de dos empresas?

¿Cuáles son algunas de las razones por las que un 'Tech Lead' evita cualquier contacto con su programador mejor capacitado?

¿Qué tan difícil es la vida de un ingeniero de software?

¿Cuáles son las principales ciudades de EE. UU. A las que mudarse si uno quiere encontrar una entrada para un trabajo de desarrollo de software de nivel junior?

Al programar software y aplicaciones web, ¿cómo determina la etapa en la que se encuentra realmente? (es decir, beta, alfa, estable, etc.)

¿Cómo se puede abordar un producto con una gran deuda UX?

¿Dónde agrego Agile / Scrum a la sección de habilidades de mi currículum? He desglosado la sección de habilidades en plataformas, lenguajes y marcos, bases de datos y herramientas. ¿Dónde encajaría Agile / Scrum entre esas opciones?

¿Qué trabajos son tan intensivos o más intensivos que la ingeniería de software?

En una empresa de tecnología, ¿cuál es la diferencia entre un director / compañero de ingeniería y un gerente de ingeniería (Sr / Dir / VP)?

¿Existe algún software para la traducción de aplicaciones cliente para PC?

¿Por qué una maestría en ciencias de la computación / matemática aplicada querría ingresar a la inteligencia empresarial en lugar de la ingeniería de software?

¿Tendrán mayor demanda los ingenieros de firmware y hardware de sistemas integrados que los ingenieros de software de aplicaciones?

¿Qué lecciones podrían aprender el gobierno y la legislación de la ingeniería de software?

¿Cuáles son las "operaciones unitarias" para la ingeniería de software?

¿Por qué algunas personas odian a Oracle?