Visões arquiteturais - 4+1

É comum as pessoas se referirem à arquitetura como uma coleção de caixinhas, algumas empilhadas e outras lado a lado. Eis um exemplo desta descrição:

Browser 

Web Services

DCOM

Business

Workflow engine

Security

ODBC

Database

Integration

OS

Esta é uma forma amplamente utilizada. Não há dúvida que Browser não acessa ODBC. Mas várias questões ficam sem respostas. Web Services não tem nenhuma relação com Security? (Posso assumir que não há segurança direta no Web Service nem DCOM?) Posso considerar que Business não acessa a ODBC em nenhum momento? Se aparentemente Business não tem nenhuma relação com OS, este sistema é portável para qualquer sistema operacional?

E o que significam exatamente estas caixinhas? Programas inteiros? Módulos? Ou é dependência de compilação? E como fica o fluxo de informação?

Uma arquitetura de um sistema pode ser algo muito complexo e não há apenas uma forma de representá-la. O ideal é haver várias visões, sendo que cada visão da arquitetura tem um objetivo. Para isso existe uma forma de descrever arquiteturas através de visões conhecida como “4+1″ (lê-se four by one). Esta abordagem foi adotada como uma das fundações do RUP.

Estas visões arquiteturais se resumem em quatro visões mais uma, onde a última tem como função “fechar” a idéia exposta nas outras quatro. Utilizando um pequeno subconjunto de cenários importantes - instâncias de casos de uso - para mostrar que os elementos das quatro visões trabalham juntos, sem emendas. Esta é a visão “+1″, redundante com as outras, mas servindo com um objetivo distinto.

Estas visões arquiteturais se resumem em quatro visões mais uma, onde a última tem como função “fechar” a idéia exposta nas outras quatro. Utilizando um pequeno subconjunto de cenários importantes - instâncias de casos de uso - para mostrar que os elementos das quatro visões trabalham juntas sem emendas. Esta é a visão “+1″, redundante com as outras, mas servindo com um objetivo distinto.

As quatro visões são:

4+1

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Recent Posts

Latest Links