Atividade

111367 - MÓDULO: DESENVOLVIMENTO

Período da turma: 07/11/2024 a 15/05/2025

Selecione um horário para exibir no calendário:
 
 
Descrição: Detalhamento:

1. GERENCIAMENTO DE TESTES (TDD)
Introdução ao TDD. Componentes de um teste. Testes unitários. Critérios de aceitação. Criando seu próprio teste. Refatoração e qualidade dos testes. Padrões de testes unitários.
BECK, Kent. Test Driven Development: By Example. 1. ed. [S. l.]: Addison-Wesley Professional, 2002.
MARTIN, Robert. Código limpo: Habilidades práticas do Agile Software. 1. ed. [S. l.]: Alta Books, 2009.

2. DOMAIN DRIVEN DESIGN (DDD)
Origem do DDD. Introdução ao DDD. Linguagem ubíqua. Objetos de domínio: entidades, objetos de valor, serviços, agregados e repositórios. Contextos Delimitados. Camada Anticorrupção.
VERNON, V. Implementing domain-driven design. Upper Saddle River, Nj: Addision-Wesley, 2013.
VLAD KHONONOV. Learning Domain-Driven Design. [s.l.] “O’Reilly Media, Inc.”, 2021.
EVANS, Eric. Domain-Driven Design: Atacando as complexidades no coração do software. Editora: Alta Books, 1 ed., 2016

3. PADRÕES DE PROJETOS (DESIGN PATTERNS)
Introdução: o que é um padrão de projeto? Tipos de padrões de projetos: abstract factory, builder, factory method, prototype, singleton. Padrões estruturais. Padrões comportamentais. Clean Architecture.
GAMMA, E. et al. Padrões de projeto : soluções reutilizáveis de software orientado a objetos. Porto Alegre: Bookman, 2006.
SHALLOWAY, A.; TROTT, J. Design patterns explained : a new perspective on object-oriented design. Boston, Mass.: Addison-Wesley, 2010.
MARTIN, R. C. Clean code a handbook of agile software craftmanship. [s.l.] Upper Saddle River [Etc.] Prentice Hall, 2010.
MARTIN, R. C. The clean coder : a code of conduct for professional programmers. Upper Saddle River, Nj: Prentice Hall, 2014.

4. NoSQL x SQL
Introdução. Structured Query Language. Relações, integridade e transações para o modelo relacional. Arquitetura de bancos de dados. Not only SQL. Bases de dados de chave e valor. Escalabilidade de bancos não relacionais. Índices distribuídos. Agregados.
ULLMAN, Jeffrey. A First Course in Database Systems. [S. l.]: Pearson Prentice Hall, 2007.
DATE, C. Introdução a Sistemas de Bancos de Dados. [S. l.]: GEN LTC, 2004.
FOWLER, Martin; SADALAGE, Pramodkumar. Nosql Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. [S. l.]: Addison-Wesley Professional, 2012.

5. ARQUITETURA MOBILE
Visão geral. Arquitetura da informação mobile. Design mobile. Aplicações nativas. React Native. Componentes, desempenho, estados e API de contexto no React Native; Animações. Criando seu aplicativo.
FLING, Brian. Mobile Design and Development: Practical Concepts and Techniques for Creating Mobile Sites and Web Apps. [S. l.]: O'Reilly Media, 2009.
REACT Native- Introdução. [S. l.], 14 nov. 2022. Disponível em: https://reactnative.dev/docs/getting-started. Acesso em: 14 nov. 2022.
LEE, V.; SCHENEIDER, H.; SCHELL, R. Aplicações móveis: arquitetura, projeto e desenvolvimento. Pearson Education, 2015.

6. MICRO-FRONT-END
Definição. Monolitos, front end e back end e microsserviços. Composição de página. Comunicação pai e filho. Performance, consistência e efetividade. Criação de projeto em micro front end.
MICRO front ends. [S. l.], 14 nov. 2022. Disponível em: https://micro-frontends.org/. Acesso em: 14 nov. 2022.
GEERS, Michael. Micro Frontends in Action. [S. l.: s. n.], 2020.

7. GERENCIAMENTO E ESTRUTURAS DE FILAS
Introdução. Conceito de filas. Arquitetura de mensageria. Message brokers. Ferramentas. Tratativa de erros. Consistência entre aplicações. Monitoramento. Clustering. Aplicação de filas com RabbitMQ.
DOCUMENTAÇÃO RabbitMQ. [S. l.], 14 nov. 2022. Disponível em: https://www.rabbitmq.com/documentation.html. Acesso em: 14 nov. 2022.
LEISERSON, C. E.; STEIN, C.; RIVEST, R. L., et al. Algoritmos: Teoria e Prática. Tradução da 2a. edição americana. Editora Campus, 2002.

8. PARADIGMAS DE DESENVOLVIMENTO DE SOFTWARE
Programação declarativa. Programação imperativa. Programação estruturada. Programação orientada a objetos. Paradigma funcional.
SILVA, Fabricio; LEITE, Márcia; OLIVEIRA, Diego. Paradigmas de Programação. [S. l.: s. n.], 2019.
SEBESTA, Robert. Conceitos de Linguagens de Programação. [S. l.: s. n.], 2018.

9. GERENCIAMENTO E ESTRUTURAÇÃO DE API'S
Denifições. REST API. Create, read, update e delete. Criação de API REST. GraphQL: definições, ferramentas. Criação de projeto com GraphQL.
RELAN, Kunal. Building Rest APIs with Flask: Create Python Web Services with MySQL. [S. l.: s. n.], 2019.
GOUG, James. Mastering API Architecture: Design, Operate, and Evolve Api-Based Systems. [S. l.: s. n.], 2022.
WIERUCH, Robin. The Road to GraphQL: Your journey to master pragmatic GraphQL in JavaScript with React.js and Node.js. [S. l.: s. n.], 2018.

10. IoT
Introdução. Evolução das indústrias para 4.0. Redes sem fio e protocolos de comunicação. Arquiteturas em sistemas IoT. Sistemas orientados a eventos. Segurança de redes e sistemas para aplicações IoT. Middlewares.
JUNIOR, Sergio. IOT - Internet das coisas: Fundamentos e aplicações em Arduino e NodeMCU. [S. l.: s. n.], 2018.
MORAES, Alexandre; HAYASHI, Victor; HALBE, Aline. Segurança Em IoT: Entendendo os riscos e ameaças em IoT. [S. l.: s. n.], 2021.
SERPANOS, Dimitrios. Internet-Of-Things (Iot) Systems: Architectures, Algorithms, Methodologies. [S. l.: s. n.], 2019.
GUBBI, J.; BUYYA, R.; MARUSIC, S.; PALANISWAMI, M. Internet of Things (IoT): A vision, architectural elements, and future directions, Future Generation Computer Systems, vol. 29, i. 7, p. 1645-1660, September 2013.
MAGNANI, E. A internet das coisas. Rio Janeiro: Editora FGV, 2018.

11. GESTÃO DA MUDANÇA (CHANGE MANAGEMENT)
Os princípios e estratégias para a gestão da mudança organizacional. Contexto organizacional. Capacidade de execução de mudanças. Como adaptar estruturas e processos organizacionais para aproveitar as oportunidades e reduzir as ameaças. Desafios e papel do gestor num mundo de mudanças contínuas e disruptivas. Ferramentas/Técnicas de Gestão da Mudança. Cases.
COSTA, S. G.; RODRIGUES, J. N.; VIEIRA, Gestão da mudança. Atlas, 2010.
AGUILERA, José Carlos; LAZARINI, Luiz Carlos. Gestão estratégica de mudanças corporativas: tumaround, a verdadeira destruição criativa. São Paulo: Saraiva, 2009.
ANTÓNIO, Nelson dos Santos; COSTA, Renato Lopes da. Aprendizagem organizacional: ferramenta no processo de mudança. São Paulo: Grupo Almedina, 2017.
PROJECT MANAGEMENT INSTITUTE. Gerenciando mudanças nas organizações: um guia de práticas. São Paulo: Saraiva, 2017.
GEROLAMO, M. C. Gestão da mudança na perspectiva do comportamento organizacional e da liderança: proposta de um framework teórico e avaliação de iniciativas acadêmicas. 2019. Tese (Livre Docência em Gestão da Qualidade e Mudança Organizacional) - Escola de Engenharia de São Carlos, Universidade de São Paulo, São Carlos, 2019.
KOTTER, J. P. Leading change: why transformation efforts fail. Harvard Business Review, p.59-67, Mar./Apr. 1995.
QUINN, R. E. The Positive organization: breaking free from conventional cultures, constraints, and beliefs. Oakland: Berrett-Koehler, 2015.
BENNET, N.; LEMOINE, G, J. What VUCA really means for you. Harvard Business Review, p.27, Jan./Feb. 2014.

12. TÓPICOS ESPECIAIS
Avaliações, atividades complementares, trabalhos em grupo e interação.
Realização das Provas EaD: as provas são disponibilizadas no dia seguinte a aula ao vivo.
Atividades complementares: slides das aulas, material de leitura pré e pós-aula, bibliografia indicada, eventos, reportagens, artigos, entre outros.
Esclarecimento de dúvidas via e-mail após as aulas ao vivo: caso os alunos ainda tenham dúvidas após a aula ministrada, estas serão encaminhadas para o professor e as respostas serão compartilhadas com os alunos pela intranet.
Interação em aula (trabalhos em grupo): durante a aula ao vivo serão utilizadas as ferramentas TalkShow, Zoom, Wooclap e outros de interação, para desenvolvimento e apresentação de trabalhos em grupo, sanar dúvidas com professor, compartilhar experiências com a turma, responder a enquetes que ajudam na fixação do conteúdo, entre outros.
Chat: ferramenta do sistema acadêmico utilizada durante as aulas ao vivo para que os alunos enviem as dúvidas ao professor. O histórico do chat fica disponível nos materiais da aula após o término da aula ao vivo.

Carga Horária:

118 horas
Tipo: Obrigatória
Vagas oferecidas: 1660
 
Ministrantes: Alexandre dos Santos Mignon
Alexandre Nunes de Almeida
Bruno Sofiato
Luiz Paulo Lopes Favero
Márcio Eduardo Delamaro
Mateus Cecilio Gerolamo
Paulo Roberto Oliveira


 
 voltar

Créditos
© 1999 - 2024 - Superintendência de Tecnologia da Informação/USP