Uploaded by Lucas Helal

conceitos fundamentais

advertisement
# conceitos_fundamentais = recursos_engenharia e eng_software
2023MAR22-LH
/***********************************************************/
1. Conceitos Fundamentais e Exemplos
- Microserviços
Definição: Estrutura uma aplicação como uma coleção de serviços pequenos, independentes e modulares, que se comunicam através de APIs.
Exemplo: Um aplicativo de e-commerce onde diferentes serviços gerenciam usuários, pedidos, pagamentos e catálogo de produtos, cada um operando de forma autônoma.
- Monolitos
Definição: Uma única base de código e estrutura de dados unifica todos os componentes do software.
Exemplo: Um sistema de gerenciamento de biblioteca onde o front-end, back-end e o banco de dados são parte de uma única aplicação executável.
- C/C++
C: Conhecida pela eficiência e controle próximo ao hardware, usada em sistemas operacionais e software de sistema.
C++: Adiciona suporte à programação orientada a objetos, útil para aplicações de software de grande escala.
Exemplo: Sistema operacional Linux (C), jogos de computador de alta performance (C++).
- Java
Definição: Uma linguagem de programação orientada a objetos, conhecida por sua portabilidade entre plataformas diferentes.
Exemplo: Aplicativos Android são desenvolvidos majoritariamente em Java.
- Git
Definição: Um sistema de controle de versão distribuído para o gerenciamento de código-fonte.
Exemplo: Desenvolvedores colaborando em um projeto de software no GitHub, usando Git para versionar suas contribuições.
- Arquitetura de Software
Definição: Estrutura de sistemas de software, incluindo componentes, propriedades visíveis externamente e relações entre eles.
Exemplo: Arquitetura cliente-servidor em uma aplicação web, onde o cliente (navegador) solicita recursos ao servidor que responde com dados ou páginas web.
- Design Pattern (Padrões de Design)
Definição: Soluções generalizadas para problemas comuns de design de software.
Exemplo: Singleton Pattern, garantindo que uma classe tenha apenas uma instância e fornecendo um ponto de acesso global a essa instância.
2. Referências Bibliográficas Detalhadas
- "C Programming Language" por Brian W. Kernighan e Dennis M. Ritchie: Este livro é a referência clássica e fundamental para aprender a linguagem C.
- "The C++ Programming Language" por Bjarne Stroustrup: Escrito pelo criador da linguagem, é o guia definitivo para C++.
- "The Rust Programming Language" por Steve Klabnik e Carol Nichols: Introdução abrangente à linguagem de programação Rust.
- "Python Crash Course" por Eric Matthes: Um livro prático e orientado a projetos para iniciantes em Python.
- "MATLAB for Engineers" por Holly Moore: Uma introdução ao MATLAB com foco em suas aplicações em engenharia.
- "Design Patterns: Elements of Reusable Object-Oriented Software" por Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides: Introduz os padrões de design mais fundamentais em software orientado a objetos.
- "Software Engineering" por Ian Sommerville: Um texto completo que abrange uma ampla gama de tópicos em engenharia de software, da análise de requisitos ao design de sistemas.
- "Continuous Delivery" por Jez Humble e David Farley: Explora práticas de CI/CD para automação de builds, testes e deploy.
Download