Ir para o conteúdo. | Ir para a navegação

Ferramentas Pessoais

This is SunRain Plone Theme

Navegação

Módulos

1- Academia Ágil

Professor Responsável -  Gustavo Henrique Castellano (Consultor na Adaptworks)

CARGA HORÁRIA: 40 horas

OBJETIVOS:

Este módulo objetiva capacitar o aluno a atuar como membro de times ágeis, implantar frameworks ágeis em larga escala, vivênciar o dia a dia de um projeto Scrum e desenvolver na prática um projeto ágil.

EMENTA:

  1. Objetivos da Academia ágil, gerenciamento de projetos versus gerenciamento de produtos, iniciativas ágeis versus iniciativas tradicionais, manifesto ágil (e Modern Agile) e o framework cynefin;
  2. O Framework Scrum: visão geral, o scrum team, eventos, artefatos e transparência (essa parte do curso é preparatória para a certificação PSM I da scrum.org);
  3. Gestão de Produtos: criando um produto na prática;
  4. O Framework SAFe 4.5: Full SAFe, Large Solution SAFe, Portfolio SAFe, Essential SAFe e a ferramenta CA Agile Central.
  5. Se tornando um facilitador, a carreira de agilista e prova teórica.

 

2. Desenvolvimento de Software em Java

Professores Responsáveis: Prof. Dr. Daniel Lucredio, Prof. Ms. Ivan João Foschini, Prof. Ms. Reinaldo de Oliveira Castro

CARGA HORÁRIA: 80 horas

OBJETIVOS:

Apresentar a linguagem Java com alguns de seus frameworks e APIs mais utilizados no mercado para desenvolvimento de software em camadas, com acesso a banco de dados e com funcionalidades de negócio que podem ser expostas em múltiplas arquiteturas. O módulo visa tanto o aprendizado da parte tecnológica (ferramentas, frameworks e APIs), como também prover um forte embasamento nas questões da qualidade de código (focando principalmente na legibilidade e reutilização), padrões de projeto e métodos para diminuição da complexidade no desenvolvimento de sistemas de software. O módulo aborda todos os conceitos usando uma metodologia orientada a problemas e por meio de implementação de um estudo de caso de uma aplicação financeira.

EMENTA:

1. Java e Qualidade de Código – Orientação a objetos nas perspectivas de qualidade de código e manutenção de sistemas de software. Conceitos e padrões para qualidade de código: Lei de Demeter, Padrões GRASP (General Responsibility Assignment Software Patterns) e Princípios SOLID.

2. Padrões de Projeto em Java – Aplicação dos principais padrões de projeto criacionais, estruturais e comportamentais em Java para a obtenção de código flexível e reutilizável.

3. Frameworks de Persistência Objeto-Relacional em Java –Utilização efetiva da Java Persistence API (JPA) como forma de persistência em banco de dados relacionais, abordando as principais formas de mapeamento de classes e relacionamentos para tabelas.

4. Web services e arquitetura RESTful em Java - Utilização do Spring Boot para exposição de regras de negócio como serviços web RESTful. Implementação de mecanismos de segurança para serviços web RESTful. Visão geral sobre testes e documentação de serviços serviços web.

5. Java e arquitetura das aplicações na Web: Características das aplicações para Web, Protocolo HTTP, Modelo requisição-resposta, Modelo em múltiplas camadas, Visão geral da plataforma Java para Web, Containers, Frameworks, Servidores, Ferramentas, Camada do cliente, Conteúdo estático (HTML/CSS), Conteúdo dinâmico (Javascript). A base da tecnologia Java Web (Java Servlets, JSP, Expression Language e JSTL). Frameworks Java para Web: Spring e JSF. Validação automática. Roteamento de requisições. Integração Modelo-Visão-Controlador.  

 

3 - DevOps

Professores Responsáveis: Prof. Ms. Bruno Lorenço Lopes e Prof. Vitor Branco Miranda

CARGA HORÁRIA: 40 horas

OBJETIVOS:

Abordar os principais tópicos relacionados à cultura DevOps, com apresentação de boas práticas, processos, metodologias e ferramentas que auxiliam os diversos passos do ciclo de vida do desenvolvimento de software. Serão exploradas ferramentas que auxiliam na automatização dos processos de construção, testes e implantação de aplicações, como Github e GitLab. Outro tópico bastante importante atualmente que será visto durante o curso é a utilização de containers. Será visto como é realizada a construção e publicação de imagens, bem como a orquestração de containers usando Kubernetes, e a definição de ambientes com o Helm. Por último, serão configuradas as aplicações Beats, Elasticsearch e Kibana para realizar a coleta e gerenciamento de logs, bem como obtenção de métricas de desempenho da aplicação.

EMENTA:

  1. DevOps: Conceitos, terminologia e relação com Metodologia Ágeis
  2. CI/CD²: Implementação de Continuous Integration (CI), Continuous Delivery (CD) e Continuous Deployment (CD) com GitHub Actions e GitLab CI.
  3. Containers: Definição, diferenças em relação à máquinas virtuais, criação de imagens com Docker e publicação em Container Registries.
  4. Kubernetes: Orquestração de containers e definição de ambientes usando Helm.
  5. Logs e Application Performance Monitoring (APM): Gerenciamento e agregação de logs, e obtenção de métricas relacionadas ao desempenho da aplicação usando a stack Beats, Elasticsearch, e Kibana

 

4 - Teste Funcional e Estrutural em Aplicações Web e Aplicações Móveis

Professor Responsável - Prof. Dr. Auri Marcelo Rizzo Vincenzi e Fabiano Cutigi Ferrari

CARGA HORÁRIA: 40 horas

OBJETIVOS:

Apresentar conceitos e terminologia relacionados ao Teste Funcional e Estrutural, abordando os principais critérios de teste associados, com ênfase em critérios largamente adotados na indústria como o Particionamento de Equivalência, Análise de Valor LImite e Análise de Fluxo de Controle. Apresentar ferramentas que automatizam o teste funcional e estrutural com ênfase nas que apoiam o teste de aplicações Web desenvolvidas em Java e aplicações móveis para Plataforma Android. Demonstrar a integração de arcabouços de teste unitátio ou de ferramentas de captura e reprodução para aplicações web com ferramentas de teste funcional e estrutural.

EMENTA:

1. Conceitos e terminologia sobre Teste Funcional e Teste Estrutural.

2. Critérios de Teste Funcionais.

3. Critérios de Teste Estruturais baseados em complexidade, fluxo de controle e de dados.

4. Automatização de critérios de teste funcionais.

5. Automatização de critérios de teste estruturais baseados em fluxo de controle.

6. Integração de arcabouços de teste unitário com ferramentas de apoio ao teste funcional.

7. Integração de arcabouços de teste unitário com ferramentas de apoio ao teste estrutura.

8. Integração de ferramentas de captura e reprodução com ferramentas de apoio ao teste funcional e estrutural

 

5 - Desenvolvimento de Software do front ao back-end

Professores Responsáveis - Prof. Ms. Daniel Oliveira, Prof. Esp. Fábio Velloso e Prof. Samuel Lopes Grigolato

CARGA HORÁRIA - 80 horas

OBJETIVOS:

Capacitar o aluno a compreender tecnologias que podem ser utilizadas como parte das soluções web a serem propostas no seu dia a dia de trabalho. A disciplina tem como propósito apresentar a linguagem JavaScript a ser utilizada com as tecnologias Node.Js e React. e explorar a linguagem TypeScript juntamente com o framework Angular. React e Angular são as opções que podem ser adotadas para criação de interfaces para as aplicações e com a adoção do runtime Node.js, pode usar a linguagem JavaScript como ferramenta para desenvolvimento de APIs de dados. Será apresentado o framework Express para construção de APIs RESTful, o uso de SQL Query Builder Knex para trabalhar com dados, conceitos base do Node.js, conceitos do servidor stateless em oposição aos tradicionais stateful abordando questões como sticky session, autenticação stateless e uso de cache. Será apresentado uma abordagem da evolução da arquitetura de software com seus paradigmas, design, camadas e padrões e o impacto nos modelos e metodologias de desenvolvimento.

EMENTA:

1. Desenvolvimento de APIs com Node.js. Introdução ao Node.js: Apresentação do JavaScript como alternativa de linguagem para desenvolvimento de APIs de dados. Também será apresentado o TS (TypeScript) que é um superconjunto sintático estrito de JavaScript que permite o desenvolvimento de aplicações web mais resilientes e robustas. Análise da arquitetura baseada em eventos do Node.js, com foco nos benefícios de performance e concorrência trazidos por ela. Desenvolvendo APIs de dados com Fastify: Aprofundamento no framework Fastify para o desenvolvimento de APIs de dados, buscando cobrir casos excepcionais como recebimento de arquivos (upload) e envio de imagens pré-processadas, além do CRUD básico. Trabalhando com dados usando Knex: Adicionar persistência de dados na nossa aplicação através do framework de construção de SQL Knex. Gerenciar a evolução da base de dados através da ferramenta nativa de migrações do Knex. Servidores Stateless vs. Stateful: Análise conceitual de servidores stateless e servidores stateful, incluindo o conceito de sticky session. Desenvolvimento de mecanismo de autenticação totalmente stateless usando JWT. Adicionando uma camada de testes automatizados com Jest.

2. Desenvolvimento de Front-End.  HTML5/CSS: O HTML e CSS é a base para qualquer página web. Neste tópico entraremos no mundo das tags, APIs e conceitualização do CSS. Conteúdo preparatório para os outros temas deste tópico. JavaScript: explorar a criação script com JavaScript, novidades do ECMASCript, conceito de variáveis, escopo, operadores, estrutura de controle, funções, closure, patterns para JavaScript, promise, conceitos de programação funcional e melhores práticas.  React: estrutura de um projeto React, componentes, estados, roteamento e integração com Back-End. Por fim, também será apresentado ferramentas de testes aplicadas a componentes web para que o aluno possa aprender como desenvolver aplicações com qualidade.

3. Evolução da arquitetura de software. Paradigmas, design, camadas e padrões e o impacto nos modelos e metodologias de desenvolvimento. Exemplos de arquitetura com suas boas práticas, conceitos e  paradigmas. Arquiteturas Client/server, 3 camadas e servidores de aplicação,  Microservices, Peer-to-peer,  SOA, REST e APIS. Evolução de arquiteturas de integração Cloud Computing, Virtualização e Containers.

 

6 - User eXperience [para todos] na Web

Professores Responsáveis  -  Profa. Dra. Vânia Paula de Almeida Neris e Profa. Dra. Kamila R.H. Rodrigues

CARGA HORÁRIA - 40 horas

OBJETIVOS:
Propiciar aos alunos um embasamento nos princípios, conceitos e vertentes de User eXperience (UX), explorando suas bases e relações com a Interação Humano-Computador. Também serão detalhados e trabalhados de maneira prática os conceitos de usabilidade e acessibilidade e técnicas para o design e a avaliação de sistemas Web para serem aplicados como vantagem competitiva em mercado.

EMENTA:

1- Princípios, conceitos e vertentes de User eXperience (UX) para todos na web.

2- Técnicas de design e avaliação de usabilidade na web: Personas, guidelines, rapid prototyping – baixa fidelidade, Avaliação Heurística e Testes com Usuário.

3- Técnicas de design e avaliação de acessibilidade na web: guidelines, rapid prototyping – média fidelidade, Avaliação Simplificada de Acessibilidade, Avaliações semi automáticas


7 - Tópicos em Desenvolvimento de Software

Professores Responsáveis - Prof. Dr. Sergio Donizetti Zorzo e Profa. Dra. Sandra Abib

Colaboradores: Valter Camargo e Alex Fernando Orlando

CARGA HORÁRIA -  30 horas

OBJETIVOS:

Apresentar ferramentas, metodologias, e estratégias de desenvolvimento de software por empresas de desenvolvimento ou que as utilizam, objetivando trazer ao aluno a engenharia de software empregada no mercado de trabalho.

EMENTA:

variável - será composta por palestras que deverão cobrir os tópicos atuais de pesquisa e desenvolvimento na área de Engenharia de Software, como tipos mais comuns de arquiteturas de software, destacando suas principais características e os atributos de qualidade que prevalecem em cada arquitetura; computação em nuvem e ferramentas de gestão de um sistema computacional em nuvem, etc.


8 - Metodologia de Pesquisa – Revisão Sistemática

Professores Responsáveis: Profa. Dra. Elis Cristina Montoro Hernandes

CARGA HORÁRIA - 40 horas

OBJETIVOS:

Capacitar o aluno para a realização de levantamento bibliográfico seguindo o processo de Revisão Sistemática, com suporte computacional.

EMENTA:

1. Tipos de trabalhos acadêmicos.

2. A importância do levantamento bibliográfico, principalmente nos trabalhos acadêmicos.

3. O que é Revisão Sistemática (RS) e Mapeamento Sistemático (MS).

4. Os processos de RS e MS.

5. A pesquisa nas máquinas de busca.

6. A ferramenta StArt.

 

Árvore Símbolo do Curso de Pós-Graduação "Lato Sensu" em Computação

Árvore plantada na cerimônia de conclusão de curso da primeira turma do curso de Pós Graduação "Lato Sensu" em Computação - Desenvolvimento de Software para Web, no ano de 2004.

Árvore Lato Sensu