Baixe o app para aproveitar ainda mais
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.
Compartilhar