Prévia do material em texto
23 6.1 Ao descrever um sistema, explique por que talvez seja necessário projetar a arquitetura do sistema antes que a especificação dos requisitos seja concluída. A arquitetura pode ter que ser projetada antes que as especificações sejam escritas para fornecer um meio de estruturar a especificação e desenvolver diferentes especificações de subsistemas simultaneamente, para permitir a fabricação de hardware por subcontratados e para fornecer um modelo para o cálculo de custos do sistema. 6.3 Explique por que podem surgir conflitos de projeto ao projetar uma arquitetura para a qual os requisitos de disponibilidade e de segurança são os requisitos não funcionais mais importantes. Fundamentalmente, para fornecer disponibilidade, você precisa ter (a) componentes replicados na arquitetura para que, no caso de falha de um componente, você possa mudar imediatamente para um componente de backup. Você também precisa ter várias cópias dos dados que estão sendo processados. A segurança exige a minimização do número de cópias dos dados e, sempre que possível, a adoção de uma arquitetura onde cada componente saiba apenas o necessário para realizar o seu trabalho. Isso reduz a chance de intrusos acessarem os dados. Portanto, existe um conflito arquitetônico fundamental entre disponibilidade (replicação, diversas cópias) e segurança (especialização, cópias mínimas). O arquiteto do sistema precisa encontrar o melhor compromisso entre esses requisitos fundamentalmente opostos. 6.7 Explique como você usaria o modelo de referência de ambientes CASE (disponível nas páginas web do livro) para comparar os IDEs oferecidos por diferentes fornecedores de uma linguagem de programação como Java. Você pode fazer a comparação entre os IDEs pegando os diferentes componentes do modelo de referência e avaliando quão bem o conjunto de ferramentas do IDE