Buscar

Arquitetura de Software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE FEDERAL DO AMAZONAS
BACHARELADO DE ENGENHARIA DE SOFTWARE
ARQUITETURA DE SOFTWARE
Sabemos que o termo Arquitetura de Software é bastante antigo e foi sugerido pela primeira
vez ao final da década de 60 por Edsger Dijkstra, porém, ganhou força e expressão na década
de 90. Existem algumas definições de Arquitetura de Software com ideias em comum, mas que
de modo geral se completam.
1. A IBM, Microsoft e IEEE lidam com diferentes definições para Arquitetura de Software,
quais são essas definições? Há diferença entre elas? Quais são?
Respostas:
 IBM: Uma arquitetura é o conjunto de decisões significativas sobre a organização de um
sistema de software, a seleção de elementos estruturais e suas interfaces, juntamente com
o comportamento especificado nas colaborações entre estes elementos, a composição
destes elementos em subsistemas progressivamente maiores e o estilo arquitetural que
guia esta organização. (The Rational Unified Process: An Introduction).
 Microsoft: Arquitetura de Software é o processo de definição de uma solução estruturada
que atende a todos os requisitos técnicos e operacionais e ao mesmo tempo aperfeiçoa
atributos de qualidade padronizados como desempenho, segurança e gerenciamento.
Arquitetura envolve uma série de decisões baseadas em uma vasta gama de fatores e cada
uma destas decisões pode provocar um impacto considerável no sucesso ou fracasso da
aplicação. (Microsoft Application Architecture Guide, 2ª edição).
 IEEE: Arquitetura é a organização fundamental de um sistema materializada em seus
componentes, na relação entre eles e com o ambiente e nos princípios que guiam seu
projeto e evolução. (ISO/IEC 42010:2007 Systems and software engineering –
Recommended practice for architectural description of software intensive systems [IEE00]).
2. Diante de tantas definições, qual a sua definição para Arquitetura de Software?
Resposta:
É a estrutura (ou estruturas) do sistema, a qual é composta de elementos de software, das
propriedades externamente visíveis desses elementos, e dos relacionamentos entre eles; é a
abstração do sistema - Bass (98) 2003. É conjunto de componentes e seus relacionamentos, que
deve satisfazer os requisitos funcionais e não funcionais do sistema - Jazayere et al (2000).
3. Quais os objetivos da Arquitetura de Software? Detalhe-os.
Resposta:
 Reduzir os riscos para o negócio.
 Reduzir os riscos no desenvolvimento e manutenção.
 Alinhamento das expectativas entre os envolvidos.
 Garantir soluções flexíveis e de qualidade.
 Agregar valor ao negócio.
 Apoio na tomada de decisões
4. A Arquitetura possui relação com os casos de fracasso em projetos de Software? Justifique.
Resposta: Sim! Quando a Arquitetura não é planejada com eficiência, ao longo do projeto, o
mesmo tende a não seguir as normas, padrões e definições estabelecidas pela Arquitetura de
Software. Podendo elevar custos de desenvolvimento, elevar custos de futura manutenção ou
dentre outros motivos.
5. Qual o profissional habilitado para lidar com Arquitetura de Software? Há uma função bem
definida? Quais são suas habilidades técnicas e interpessoais esperadas? Como
desenvolver essas habilidades?
Resposta:
O profissional habilitado é o Arquiteto de Software, que tem a função de:
 Definição, criação e manutenção da documentação da arquitetura com o intuito de
direcionar o desenvolvimento e manutenção da solução.
 Definição da estratégia a ser adotada bem como os estilos de arquiteturas a serem
adotadas.
 Garantir que os padrões e definições serão utilizados ao longo do projeto.
 Envolvimento durante todo o ciclo do projeto.
 Garantir o entendimento da arquitetura perante os envolvidos.
 Apoio técnico e de negócio aos desenvolvedores.
 Ser um mentor para todos da equipe.

Continue navegando