Mais uma prática do RUP: usar arquiteturas baseadas em componentes.
Aqui é de fundamental importância que se entenda o conceito de arquitetura de software.
Da Wikipédia podemos tirar:
A arquitetura de software de um sistema consiste na definição dos componentes de software, suas propriedades externas, e seus relacionamentos com outros softwares.
Basicamente é como o seu sistema está construído, é a definição das bases do sistema, como os módulos se comunicam entre si e com outros sistemas.
Definido o conceito de arquitetura (se você ainda estiver com dúvidas, faça uma pesquisa no Google. Aqui é importante ter o conceito de arquitetura de software bem definido, uma vez que vamos tratar de um exemplo de arquitetura, dentre os vários existentes) podemos partir para a definição da prática do RUP.
Uma arquitetura baseada em componentes pressupõe a organização do sistema em módulos que podem ser desenvolvidos pela própria equipe de desenvolvimento, adquiridos de terceiros, ou até mesmo reaproveitados de outros projetos. Para tanto, entra aqui um conceito muito difundido em Engenharia de Software: alta coesão e baixo acoplamento.
Você pode continuar a leitura sem entender completamente sobre alta coesão e baixo acoplamento. Mas, caso você não tenha domínio sobre esse assunto, faça uma pesquisa e tente entendê-lo; isso vai inclusive impactar na forma como você desenvolve seus programas (caso você seja um desenvolvedor).
Legal, temos um monte de módulos desenvolvidos, integramos eles e daí?
Esse é o objetivo desse tipo de arquitetura: como temos um “monte” de módulos desenvolvidos, podemos reutilizá-los em outros sistemas, atestando assim a qualidade desses módulos. Além disso, essa arquitetura modularizada traz uma certa facilidade na expansão do sistema uma vez que quaisquer alterações realizadas em um dos módulos não precisará envolver todo o sistema (graças ao isolamento dos módulos).
Isso garante rapidez e qualidade no desenvolvimento do software. Reutilizar módulos traz também o benefício de contar com partes que já foram testadas e que, provavelmente, contém poucos erros.
Basicamente a arquitetura baseada em componentes trata disso. Se você ainda continua sem entender, procure reforçar os seus conceitos de módulos, alta coesão e baixo acoplamento, componentes de software e arquitetura. Caso você ainda continue com dúvidas, faça comentários abaixo para que possamos tentar encontrar uma resposta ? .
Por Victor Leal