Você está na página 1de 2

Atributos de projeto

Atributos de projeto podem ser vistos como princpios que fornecem


sentido ao desenvolvimento de software, que visa obter um produto final
que satisfaa os requisitos identificados no incio do processo.
Exemplos: Separao de interesses, abstrao, modularidade e
compartilhamento de recursos.
Vantagens: Ao serem usados corretamente, podem trazer inmeras
vantagens como descomplicar um sistema complexo, ou at mesmo
diminuir o custo do desenvolvimento.
Desvantagens: Poucos profissionais se preocupam em usar os atributos
de projeto. Alm disso, cada atributo de projeto pode ter sua
desvantagem.
Modularidade
Quando engenheiros de software/projetistas se deparam com um sistema de
grande porte e/ou complexo, cria-se a necessidade de dividir tal sistema em
partes menores. Essas partes so chamadas de mdulos e um sistema que
composto por mdulos se torna modular.
A modularidade se faz presente em todo o processo de desenvolvimento do
sistema. Basicamente existem 3 metas que a modularidade tenta obter:

Capacidade de separar em partes sistemas de grande porte e/ou


complexos.
Capacidade de reagrupar os mdulos a fim de formar o sistema
completo.
Compreender a modularizao do sistema.

A capacidade de separar em partes um sistema baseada na ideia de


dividir um problema em subproblemas e reaplicar este procedimento nos
subproblemas de forma recursiva.
O contrrio disso seria o reagrupamento das partes. Os projetistas iniciam o
processo de composio do sistema a partir de mdulos que de forma
incremental vo sendo agregados at a obteno de um sistema completo.
Exemplo: As linhas de montagem de qualquer veculo so um forte exemplo.
Cada pea reunida com as outras, quando completado o processo, gera
um sistema final completo.
Vantagens: Com a modularidade, possvel descomplicar o sistema
dividindo suas ideias complexas.
Desvantagens: Ao usar indevidamente, o forte nvel de acoplamento pode
prejudicar muito a integridade do sistema e a satisfao do usurio.
Compartilhamento de recursos
Para entender compartilhamento de recursos, precisamos do conceito de
acoplamento. O acoplamento usado como medida de interdependncia
entre dois componentes. De maneira ideal, o nvel de acoplamento de
componentes de um software deve ser baixo. Se o nvel de dois ou mais

componentes for alto, toda a parte de anlise, compreenso, modificao,


testes e reutilizao se torna muito difcil.
Partindo desse conceito, normal pensar que no existe meios de o nvel de
acoplamento ser baixo. Porm h meios de atingir este objetivo. Um deles
criar um gerenciador de recursos, que encarregado de gerenciar todos os
dados e servios dos componentes independentes.
Exemplos: dois componentes so criados, se um possui dependncia de
uma varivel declarado no outro, esse sistema possui compartilhamento de
recursos. Um exemplo disso a impressora, que depende do
compartilhamento de recursos do sistema operacional.
Vantagem: reduz e muito os custos para manter um sistema, pois no h
necessidade de repetir os mesmos processos em todos os componentes de
um sistema.
Desvantagem: se mal utilizado, compromete a segurana do sistema.

Você também pode gostar