Pular para conteúdo

Arquitetura & Reutilização de Software

Introdução

Este artefato aborda o tema da Arquitetura de Software e Reutilização de Software, explorando conceitos fundamentais e práticas que visam aumentar a eficiência e a qualidade no desenvolvimento de sistemas. A proposta é apresentar uma visão geral dos estilos arquiteturais e padrões que facilitam a reutilização, além de discutir a importância dos frameworks como ferramentas para a implementação de soluções reutilizáveis.

Metodologia

A elaboração deste artefato foi realizada com base em materiais didáticos, incluindo slides, vídeo-aulas e literatura complementar sobre Arquitetura de Software e Reutilização de Software. A estrutura foi organizada de forma a refletir as aulas abordadas no curso, permitindo uma compreensão progressiva dos conceitos e práticas discutidos.

Estilos Arquiteturais

Os estilos arquiteturais são fundamentais na definição da estrutura de um sistema de software. Neste contexto, abordamos:

  • Arquitetura Monolítica: Uma única unidade que contém todas as funcionalidades do sistema.

  • Arquitetura Distribuída: Componente do sistema distribuído em várias máquinas, permitindo escalabilidade e flexibilidade.

  • Arquitetura em Camadas: Estrutura que organiza o sistema em camadas, facilitando a manutenção e a reutilização de componentes.

  • Padrão MVC (Model-View-Controller): Um padrão que separa a lógica de negócios da interface do usuário, promovendo a reutilização de componentes.

Esses estilos são essenciais para a construção de sistemas que possam ser facilmente adaptados e reutilizados em diferentes contextos.

Reutilização de Software

A reutilização de software é um conceito que busca maximizar a eficiência no desenvolvimento, permitindo que componentes, designs e frameworks sejam reaproveitados em novos projetos. Os principais aspectos incluem:

  • Frameworks: Estruturas que fornecem uma base reutilizável para o desenvolvimento de software, permitindo a implementação de funcionalidades comuns sem a necessidade de recriação.

  • Técnicas de Reuso: Métodos sistemáticos que facilitam a identificação e a aplicação de componentes reutilizáveis, como a reutilização de código, design e arquitetura.

  • Benefícios e Desafios: A reutilização pode resultar em redução de custos e tempo de desenvolvimento, mas também apresenta desafios, como a necessidade de manutenção e a identificação de componentes adequados para reuso.

Implementação Prática

A implementação prática dos conceitos discutidos é essencial para a compreensão da Arquitetura e Reutilização de Software. Exemplos de aplicação de estilos arquiteturais e frameworks são apresentados, demonstrando a eficácia das práticas de reuso em cenários reais de desenvolvimento.

Bibliografia

Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1995). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.
Shaw, M., & Garlan, D. (1996). Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall.
Buschmann, F., Meunier, R., Rohnert, H., & Sommerlad, P. (1996). Pattern-Oriented Software Architecture: A System of Patterns. Wiley.
Fowler, M. (2002). Patterns of Enterprise Application Architecture. Addison-Wesley.
Pree, W. (1995). Design Patterns for Object-Oriented Software Development. Addison-Wesley.

Histórico de Versão

Versão Data Descrição Autor(es) Revisor(es)
1.0 09/08/2024 Criação do Artefato João Lucas Papa