Arquiteturas de Software - Parte V - Padrão Arquitetural em Camadas

112 views1553 WordsCopy TextShare
Prof Gilleanes Guedes Engenharia de Software e UML
Esta é a quinta aula sobre arquiteturas de software. Neste vídeo é abordado o padrão arquitetural em...
Video Transcript:
Olá sejam bem-vindos ao canal engenharia de software com ênfase uml Eu sou professor de Denis Gets e eu já atuo na área de modelagem de software há vários anos eu tenho quatro livros publicados sobre o assunto e eu já ministrei diversas palestras e cursos técnicos sobre modelagem de software utilizando a linguagem uml na aula de hoje eu vou dar continuidade ao tema sobre arquiteturas de software dessa vez enfocando arquiteturas em camada Então vamos iniciar a nossa aula Então essa é a quinta aula sobre arquiteturas de software como eu falei nós vamos abordar o padrão de
Arquitetura em camadas em softwares complexos é bastante comum ser necessário desenvolver partes do software de maneira independente muitas vezes até mesmo por equipes separadas então é necessário que haja uma separação de interesses ess preparação deve ser Clara e bem documentada dessa maneira os módulos do software eles podem ser desenvolvidos e mantidos separadamente Então qual é o problema solucionado pelo padrão de Arquitetura em camadas o software ele precisa ser segmentado de tal maneira que os módulos possam ser desenvolvidos e evoluídos separadamente deve haver uma pequena interação entre as partes e o software deve permitir portabilidade modificabilidade
e reuso portabilidade é capacidade de o software eh ser executado em diversas plataformas sobre diversos hardwares sobre diversos sistemas operacionais modificabilidade é a capacidade do software poder ser modificado alterado mantido evoluído de maneira fácil e reuso se refere ao reaproveitamento de código nesse no caso da arquitetura em camadas de grandes quantidades de código às vezes camadas inteiras bom no padrão de Arquitetura em camadas como o nome já diz o sistema é organizado em camadas separadas então em cada camada existe um conjunto de módulos e esses módulos eles encapsulam um conjunto de funcionalidades e oferecem e
cada módulo né Oferece um conjunto coeso de serviços ah as camadas elas particion um conjunto completo de software e Aliás elas particion completamente um conjunto de software e cada partição é exposta através de interfaces públicas aqui não se trata de interface Human computador a palavra interface às vezes causa confusão porque ela pode ser interpretada de muitas maneiras mas nesse sentido se fala se trata de uma uma comunicação entre duas camadas a forma lógica como é feita a comunicação entre as camadas entre os elementos dessas camadas e então na Arquitetura em camadas cada camada depende somente
dos recursos e serviços que forem oferecidas oferecidos pela camada imediatamente abaixo dela ela é uma arquitetura relativamente simples mas que permite escalabilidade em termos de recursos eu posso aumentar o número de camadas eu posso modificar camadas eu posso ser capaz de adicionar hardware de maneira relativamente transparente para a maioria do software ah essa arquitetura ela permite o desenvolvimento incremental de sistemas e quando uma camada ela é desenvolvida alguns serviços já podem eh ser disponibilizados para que os usuários os utilizeem essa arquitetura também é facilmente modificável e ela tem um alto grau de portabilidade enquanto a
interface lógica de uma camada ela permanecer inalterada a camada inteira pode ser substituída por outra as interfaces lógicas são a forma de comunicação entre as camadas então se a interface em si se mantiver se ela não for modificada eu posso substituir toda uma camada apenas mantendo a forma como é feita a comunicação entre as camadas Ah e quando a camada de interface com o usuário muda ou tem novos recursos adicionados somente a camada adjacente será afetada Ahã sistemas em camadas eles alocam a dependência de hardware em camadas internas nas mais baixas então isso permite e
facilita ã que sejam fornecidas implementações multiplataformas de um sistema de aplicação assim somente as cabadas internas as camadas mais baixas eh que dependem de alguma forma do Hardware precisam ser re implementadas eh de tal forma que elas possam levar em conta recursos específicos de um determinado sistema operacional ou de um sgbd um sistema gerenciador de banco de dados por exemplo vantagens essa arquitetura desde que a interface lógica seja mantida inalterada eu consigo substituir camadas inteiras recursos redundantes podem ser fornecidos em cada camada e isso aumenta a confiabilidade do software eh ela pode ser utilizada na
construção de novos recursos em cima de sistemas existentes como por exemplo sistemas legados isso é muito útil eu posso ter interfaces lógicas que comuniquem com as entradas e saídas de um sistema alegado e fornecer camadas mais amigáveis em termos de usabilidade eh utilizando interfaces mais modernas para os usuários mas mantendo o sistema antigo funcionando então em empresas que têm sistemas antigos mas funcionais ainda é útil a adotar esse tipo de arquitetura Ah ela também é útil quando o desenvolvimento deverá ser dividido em múltiplas equipes então cada equipe se se responsabilizaria por uma determinada camada desvantagens
ah às vezes não é tão simples separar essas camadas pode acontecer de uma camada de alto nível precisar interagir diretamente com uma camada de baixo nível o correto é que ela interagisse diretamente com a camada abaixo dela então às vezes não às vezes é necessário uma ção Direta com uma camada de baixo nível isso pode prejudicar bastante essa arquitetura e também nós temos o problema de desempenho embora segurança e confiabilidade sejam características fortes da arquitetura encamadas o desempenho pode não ser tão eh bem suportado se e a necessidade de acessar recursos ou informações que estão
em camadas mais baixas então é necessário várias interpretações de uma estação de serviço que deverão ser eh processados em camada por camada isso pode deixar pode deixar o sistema mais lento por outro lado em Sistemas que a questão de proteção é importante ou seja garantir que recursos não possam ser acessados por pessoas não autorizadas o padrão de arquitetura encamadas pode ser útil eu posso criar vários bolsões de segurança H nessa arquitetura fazendo vários tipos de validações até os recursos até que se possa chegar aos recursos mais importantes claro isso pode sacrificar Como já falei o
desempenho do software bom Aqui nós temos uma figura tirada do summerville Aliás o Liv de engenharia de software do summerville foi uma das principais Fes paraessa apresentção então Aqui nós temos um exemplo uma figura de padrão de aplicação de um padrão de Arquitetura em camadas onde eu tenho uma camada de interface de usuário eu tenho uma camada de gerenciamento de interface de usuário autenticação e autorização uma camada para conter a lógica de negócio Ah as funcionalidades da aplicação os recursos do sistema e uma camada de apoio ã para o sistema onde rodaria sistema operacional sistema
gerenciador de banco de dados etc Ah aqui nós temos também um exemplo de padrão de Arquitetura em camadas dessa vez utilizando o diagrama de pacotes da uml um exemplo bem simples nós vamos apresentar um exemplo um pouco mais complexo depois que envolve uma camada de apresentação representada por um pacote uma camada de negócio Onde estará contida a lógica do negócio uma camada de persistência onde os objetos das classes de entidades serão gravados em disco Ahã Aqui nós temos um diagrama de sequência bem simples para ilustrar o funcionamento dessa arquitetura onde o usuário ele vai solicitar
serviço para a camada de apresentação a camada de apresentação ela vai solicitar que a camada de negócio Execute algo relacionado ao serviço solicitado e a camada de negócio quando necessário solicitará a camada de persistência a manipulação de dados seja gravação de dados gravação de objetos ou recuperação de objetos essa camada retornará aos resultados das Da Da solicitação de manipulação e a camada de negócio retornará aos resultados para a camada de apresentação que será responsável por apresentar os resultados ao usuário Aqui nós temos um outro exemplo de padrão de Arquitetura em camadas um exemplo um pouquinho
mais detalhado onde eu criei H um pacote representando a camada de visão ou de interface com usuário uma uma camada para conter ces de controle que interpretarão os eventos de visão e uma camada contendo as classes ID entidade que conterão a lógica do negócio haverá um sub pacote para conter as classes de repositório do padrão de persistência repositório que já foi ensinado em outro vídeo e uma camada de persistência onde as classes de entidades serão mapeadas e persistidas em tabelas relacionais quando usar a arquitetura em camadas quando é necessário construir mais recursos em cima de
sistemas que já existem há relativamente bastante tempo principalmente sistemas legados ou sistemas construídos numa linguagem com poucos recursos de interface gráfica por exemplo sistemas construídos em cobol mas que ainda são perfeitamente funcionais só é necessário a adicionar eh interfaces mais amigáveis mais usáveis por exemplo Ah quando os recursos estão espalhados em várias equipes e cada equipe é responsável por desenvolver uma determinada camada e quando é necessário uma proteção multinível onde os recursos estão nas camadas mais baixas e é necessário várias validações para garantir que eles não poderão ser acessados por pessoas não autorizadas e nós
terminamos mais essa aula sobre arquiteturas de software eu espero que esse conteúdo tenha sido útil se vocês gostaram do vídeo peço que vocês compartilhem com quem possa ter interesse e se ainda não estão inscritos eu peço que vocês se inscrevam no canal obrigado pela atenção nós nos vemos nas próximas aulas
Related Videos
Arquitetura de Software (Não é coisa de outro mundo) // Dicionário do Programador
11:31
Arquitetura de Software (Não é coisa de ou...
Código Fonte TV
103,710 views
Diagrama de Classes - Parte III - Restrições - Nova Edição
20:47
Diagrama de Classes - Parte III - Restriçõ...
Prof Gilleanes Guedes Engenharia de Software e UML
539 views
DEBATE PREFEITURA DE SÃO PAULO - 1° TURNO - MYNEWS (01/09/2024)
2:51:00
DEBATE PREFEITURA DE SÃO PAULO - 1° TURNO ...
MyNews
963,175 views
Técnicas de Elicitação de Requisitos - Parte VII - Análise de Interfaces e Prototipação
31:16
Técnicas de Elicitação de Requisitos - Par...
Prof Gilleanes Guedes Engenharia de Software e UML
33 views
Engenharia de Requisitos - Parte III - Qualidade de Requisitos
20:29
Engenharia de Requisitos - Parte III - Qua...
Prof Gilleanes Guedes Engenharia de Software e UML
89 views
Next-Gen Data Protection: Exploring BDRSuite v7.0.1 Breakthroughs & Beyond
48:50
Next-Gen Data Protection: Exploring BDRSui...
Vembu Technologies
201 views
Introdução às cifras simétricas
54:05
Introdução às cifras simétricas
Luís Darienzo
10 views
Guillermo Rauch - Vercel, The Front End Cloud
1:05:02
Guillermo Rauch - Vercel, The Front End Cloud
devtools-fm
7,747 views
Lecture 1: Course Overview + The Shell (2020)
48:17
Lecture 1: Course Overview + The Shell (2020)
Missing Semester
737,865 views
Debate Prefeitura de São Paulo – 1º Turno – TV Gazeta (01/09/2024)
3:00:35
Debate Prefeitura de São Paulo – 1º Turno ...
TV Gazeta
593,232 views
Técnicas de Elicitação de Requisitos - Parte VIII - Design Thinking
34:16
Técnicas de Elicitação de Requisitos - Par...
Prof Gilleanes Guedes Engenharia de Software e UML
15 views
Diagrama de Estrutura Composta
19:17
Diagrama de Estrutura Composta
Prof Gilleanes Guedes Engenharia de Software e UML
27 views
DEBATE DA ACISSP COM OS CANDIDATOS À PREFEITURA DE PARAÍSO | AO VIVO NA LÍDER TV | 29-08-2024
2:19:20
DEBATE DA ACISSP COM OS CANDIDATOS À PREFE...
Lider TV
6,324 views
Tutorial Completo sobre Threads no Java
15:58
Tutorial Completo sobre Threads no Java
Giuliana Bezerra
3,466 views
Diagrama de Comunicação
22:56
Diagrama de Comunicação
Prof Gilleanes Guedes Engenharia de Software e UML
112 views
Mini curso CrewAI saindo do absoluto Zero ao Essencial
48:45
Mini curso CrewAI saindo do absoluto Zero ...
dcode
19,951 views
Introdução à Fase de Projeto de Software
26:29
Introdução à Fase de Projeto de Software
Prof Gilleanes Guedes Engenharia de Software e UML
84 views
How to use Microsoft Loop
16:57
How to use Microsoft Loop
Gold Standard
12,256 views
M8a00   Sumário Transações
11:54
M8a00 Sumário Transações
julio sousa
12 views
Copyright © 2024. Made with ♥ in London by YTScribe.com