• Like
Arquitetura de Software
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Arquitetura de Software

  • 443 views
Published

O que é arquitetura de software? …

O que é arquitetura de software?
Por que é importante?
Exmplos de arquitetura

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
443
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
22
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Arquitetura de Software Aricélio de Souza Fernandes Disciplina: Engenharia de Software Prof.: Danilo Nunes 4º Período - TADS
  • 2. Sumário O que é Arquitetura. O que é Software. O que é Arquitetura de Software. Arquiteturas existentes. Exemplos. Conclusão.
  • 3. O que é Arquitetura? A arquitetura significa construção, e refere-se à arte ou a técnica de projetar uma edificação ou um ambiente de uma construção. A arquitetura é a arte de projetar espaços organizados e criativos para abrigar os diferentes tipos de atividades humanas.
  • 4. O que é Software? Software é um agrupamento de comandos escritos em uma linguagem de programação. Estes comandos, ou instruções, criam as ações dentro do programa, e permitem seu funcionamento. Cada ação é determinada por uma sequencia, e cada sequencia se agrupa para formar o programa em si. Estes comandos se unem, criando um programa complexo.
  • 5. O que é Arquitetura de Software? A arquitetura de software de um sistema consiste na definição dos componentes de software, suas propriedades externas, e seus relacionamentos com outros softwares. O termo também se refere à documentação da arquitetura de software do sistema. A documentação da arquitetura do software facilita: a comunicação entre os stakeholders, registra as decisões iniciais acerca do projeto de alto-nível, e permite o reuso do projeto dos componentes e padrões entre projetos.
  • 6. O que é Stakeholders? Os stakeholders são elementos essenciais ao planejamento estratégico de negócios. De maneira mais ampla, compreende todos os envolvidos em um processo, que pode ser de caráter temporário (como um projeto) ou duradouro (como o negócio de uma empresa ou a missão de uma organização).
  • 7. As primeiras tentativas de capturar e explicar a arquitetura de software do sistema foram imprecisas e desorganizadas. Durante o decorrer da década de 90 houve um esforço concentrado para definir e codificar os aspectos fundamentais desta disciplina. Inicialmente um conjunto de padrões de projeto, estilo, melhores práticas, descrição de linguagens, e lógica formal foram desenvolvidas durante este período.
  • 8. A arquitetura de software é centrada na ideia da redução da complexidade através da abstração e separação de interesses. O glossário do site oficial SOFTWARE ENGINEERING INSTITUTE (Instituto de Engenharia de Software) descreve que arquitetura de software é a estrutura ou estruturas de um sistema, com todos os elementos de software vendo e tendo suas propriedades vistas por todos os outros elementos e relacionamentos.
  • 9. Linguagem de descrição de arquitetura  As Linguagens de descrição de arquitetura (LDAs) são usadas para descrever a arquitetura de software. Várias LDAs distintas foram desenvolvidas por diferentes organizações, incluindo:  Wright (desenvolvido por Carnegie Mellon).  Acme (desenvolvido por Carnegie Mellon).  xADL (desenvolvido por UCI).  Darwin (desenvolvido por Imperial College London).  DAOP-ADL (desenvolvido pela University of Málaga). Elementos comuns de uma LDA são componente, conexão e configuração.
  • 10. Visões A arquitetura de software é normalmente organizada em visões, as quais são análogas aos diferentes tipos de plantas utilizadas no estabelecimento da arquitetura. Na Ontologia estabelecida pela ANSI/IEEE 1471-2000, visões são instâncias de pontos de vista, onde cada ponto de vista existe para descrever a arquitetura na perspectiva de um conjunto de stakeholders e seus consortes.
  • 11. Algumas possíveis visões são: Visão funcional/lógica Visão de código. Visão de desenvolvimento/estrutural Visão de concorrência/processo/thread Visão física/evolutiva Visão de ação do usuário/retorno
  • 12. Várias linguagens para descrição da arquitetura de software foram inventadas, mas nenhum consenso foi ainda alcançado em relação a qual conjunto de símbolos ou sistema de representação deve ser adotado.
  • 13. Alguns acreditam que a UML irá estabelecer um padrão para representação de arquitetura de software. Outros acreditam que os desenvolvimentos efetivos de software devem contar com a compreensão única das restrições de cada problema, e notações tão universais são condenadas a um final infeliz porque cada uma provê uma notação diferenciada que necessariamente torna a notação inútil ou perigosa para alguns conjuntos de tarefas.
  • 14. Padrões de Arquitetura DODAF MODAF TOGAF Zachman framework Federal Enterprise Architecture
  • 15. Exemplos de arquitetura  Cliente-Servidor  Computação distribuída  P2P  Quadro Negro  Criação implícita  Pipes e filtros  Plugin  Aplicação monolítica  Modelo em três camadas  Analise de sistema estruturada (baseada em módulos, mas usualmente monolíticas em dentro dos módulos)  Arquitetura orientada a serviço  Arquitetura orientada a busca
  • 16. Conclusão A arquitetura vem pra auxiliar no processo de desenvolvimento do software. Não há como dizer que uma arquitetura é melhor que outra, mas sim qual mais se adequa ao problema.
  • 17. Dúvidas? Obrigado!