Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Área: TI & Computação
Unidade Curricular: Modelos, métodos e técnicas da engenharia de
software
Professor: Gustavo A. Fernandes
Trabalho Prático: Arquitetura de Software
Objetivo
Escolha um conceito de sistema e proponha uma arquitetura de software adequada
com base em suas necessidades e restrições. Seu objetivo é justificar por que a
arquitetura escolhida atende melhor aos requisitos do sistema, em vez de focar em
tecnologias ou stacks específicos.
Instruções:
1. Selecione um Sistema: Pense em um sistema ou aplicativo com requisitos
específicos. Pode ser um sistema de e-commerce, redes sociais, saúde,
mensagens em tempo real, armazenamento de arquivos, monitoramento de IoT,
ou qualquer outro domínio de interesse.
2. Identifique os Principais Requisitos:
○ Descreva o propósito e a funcionalidade principal do sistema.
○ Destaque quaisquer requisitos específicos (não funcionais) que o sistema
possa ter, tais como:
■ Necessidades de escalabilidade em funcionalidade,
usuários/requisições e recursos computacionais
■ Requisitos de segurança
■ Expectativas de desempenho em tempo real ou alta performance
■ Considerações sobre a experiência do usuário e interface
■ Distribuição geográfica ou capacidade offline
3. Escolha uma Arquitetura:
○ Com base nos requisitos identificados, escolha o estilo de arquitetura de
software que você acredita ser o mais adequado para este sistema.
○ Exemplos: Monolítica, Microsserviços, N-Camadas, MVC, MVP, MVVM,
Peer-to-Peer (P2P), Orientada a Eventos, Serverless, Edge Computing,
Pipeline (muito comum em processamento de dados ou sistemas ETL),
Micro-Frontends (extensão de Microsserviços para o desenvolvimento do
Frontend, quebrando a UI em partes menores e independentes), dentre
outros. Alguns desses exemplos discutidos em sala de aula, são clássicos
e muito usados, já outros são derivações modernas com propostas mais
eficientes para determinados domínios de problemas. Veja esta paleta de
arquiteturas.
4. Justifique sua Escolha:
○ Forneça uma justificativa clara para explicar por que essa arquitetura é a
melhor para o sistema. Explique como ela atende aos requisitos do
sistema, incluindo benefícios e possíveis desvantagens.
○ Considere aspectos como flexibilidade, facilidade de manutenção,
escalabilidade, tolerância a falhas, implantação, documentação e
testabilidade.
https://medium.com/@xsronhou/12-software-architecture-styles-software-engineer-should-know-ee92e3b1f9ac
https://medium.com/@xsronhou/12-software-architecture-styles-software-engineer-should-know-ee92e3b1f9ac
https://drive.google.com/file/d/1Di1m7gi9LKLUw2_mcqT48P5TwkvrFDxB/view?usp=sharing
5. Diagrama Arquitetural:
○ Esboce um diagrama da arquitetura para ilustrar como os diferentes
componentes do sistema interagiriam dentro da arquitetura escolhida.
Entregáveis:
● Relatório Escrito: Inclua a descrição do sistema, os principais requisitos, a
arquitetura escolhida e a justificativa para sua escolha.
● Diagrama: Uma ilustração de alto nível do design arquitetônico do sistema.
● Apresentação: Apresentação em sala de aula dos principais pontos no relatório,
bem como o Diagrama.
Critérios de Avaliação:
● Compreensão clara da arquitetura escolhida.
● Racional forte para a seleção da arquitetura com base nos requisitos do sistema.
● Consideração tanto dos benefícios quanto das limitações potenciais.
Pontuação e entrega:
● 10 pontos que compreendem entre:
○ relatório entregue via ulife em formato PDF, apenas. Não será aceito outro
formato.
○ diagrama (contido no relatório).
○ apresentação em grupo de até 3 pessoas.
● Data para apresentação e entrega do relatório via ulife:
○ 04/12/2024 e 05/12/2024, no mesmo laboratório dos encontros práticos,
respeitando o dia de aula prática do seu grupo.
○ o grupo deve preparar todos os recursos necessários para a
apresentação.

Mais conteúdos dessa disciplina