Você está aqui: Página Inicial / Desenvolvimento de Software para Web 2016 / Disciplinas
PROFESSOR RESPONSÁVEL: Prof. Dr. Antonio Francisco do Prado
COLABORADOR: Prof. Ms. Rafael Tomé de Souza
Apresentar a evolução, a terminologia, os fatores críticos e o estado da arte da Engenharia de Software. Apresentar o método ágil a ser utilizado no desenvolvimento das aplicações web, baseado nos métodos ágeis atuais (SCRUM, XP e Outros). Apresentar uma visão prática do desenvolvimento ágil de software. Praticar o desenvolvimento ágil de software. Utilizar técnicas e ferramentas de apoio ao processo de desenvolvimento ágil de software.
Visão geral e atual da Engenharia de Software.
Técnicas e ferramentas de apoio ao processo de desenvolvimento ágil.
Desenvolvimento ágil de software. Ciclo de vida do software, gerência, e equipes de desenvolvimento.
Visão prática do desenvolvimento ágil de software. Requisitos, Modelagem, Planejamento, Implementação, Testes, Demonstração e Implantação.
Organização dos times de desenvolvimento para desenvolvimento ágil.
Estudos de casos com desenvolvimento ágil de software. Prototipação.
Acompanhamento do desenvolvimento do sistema de software realizado pelos alunos do curso.
2. Plataforma de Desenvolvimento em Software Livre
PROFESSOR RESPONSÁVEL: Prof. Dr. Helio Crestana Guardia
COLABORADOR: Prof. Esp. Gleise Segatto de Oliveira Teixeira
Instalação e configuração de um ambiente computacional baseado em software livre para desenvolvimento de software e para a execução de serviços de rede. Prática na utilização e na administração da plataforma Linux/Unix, incluindo a configuração e o gerenciamento de serviços de rede utilizados numa rede corporativa baseada em software livre.
Apresentação e instalação do Sistema Linux.
Login no sistema e utilização dos ambientes gráfico e do shell.
Comandos e ferramentas para uso e gerenciamento do sistema.
Gerenciamento de pacotes de software e atualizações.
Sistema de arquivos e direitos de acesso.
Gerenciamento de processos e serviços.
Configuração de serviços de rede.
Instalação e configuração da plataforma de Banco de Dados.
Instalação e gerenciamento do servidor de aplicação.
Instalação e uso de uma ferramenta de controle de versões (SVN).
3. Programação Orientada a Objeto
PROFESSORES RESPONSÁVEIS: Profa. Dra. Marcia Luciana Aguena Castro e Prof. Ms. Reinaldo de Oliveira Castro
Apresentar os aspectos sintáticos, semânticos e as boas práticas das linguagens orientadas a objeto Java e Groovy, preparando os alunos para as disciplinas subsequentes de programação do curso de pós-graduação.
Especificidades de Groovy e Java.
Integração entre Groovy e Java
4. Desenvolvimento de Software em Grails
PROFESSORES RESPONSÁVEIS: Prof. Dr. Delano Medeiros Beder, Prof. Dr. Antonio Francisco do Prado e Prof. Esp. Bruno Lorenço Lopes.
Expor e utilizar as facilidades oferecidas pelo framework Grails para o desenvolvimento de Aplicações Web com acesso a Bancos de Dados e suporte a Ajax (Asynchronous Javascript And XML), bem como plugins extras que auxiliam o processo de desenvolvimento. Prática de desenvolvimento de Aplicações Web com o emprego dos conceitos presentes no framework Grails.
Instalação Grails . MVC – Visão Geral. Scaffolding. Persistência (básico). Arquivos de Configuração. Aplicação
Classes de Domínio. Relacionamentos. RestriçõesTestes Unitários. Finds Dinâmicos (GORM). Aplicação
Services do Grails (Back-End). MVC avançado. Implementação de Métodos. Testes Unitários. Testes de Integração. Aplicação
Controller. Papel MVC. Render, Response e Redirect. Testes Unitários. Testes de Integração. Aplicação
Taglibs. Aplicação
5. Web Services e Arquitetura RESTful em Grails
PROFESSOR RESPONSÁVEL: Prof. Ms. Ivan João Foschini
Apresentar os conceitos envolvidos com web services e arquitetura RESTful. Exibir as diferentes possibilidades de implementação de arquiteturas RESTful em aplicações desenvolvidas utilizando o framework Grails. Pontuar as diferenças entre controladores tradicionais e controladores que sejam implementados utilizando RESTful. Criar Application Program Interfaces (APIs) utilizando a arquitetura RESTful em uma aplicação Grails. Mostrar como consumir requisições realizadas em JSON e persistir os dados destas requisições em bancos de dados. Personalizar respostas JSON que possam ser devidamente consumidas por diferentes tipos de clientes, tais como aplicações desenvolvidas utilizando o conceito de Single Page Applications ou aplicativos móveis. Testar e documentar os web services desenvolvidos.
Web services e arquitetura RESTful.
Classes de domínio como recursos RESTful.
Implementação de controladores RESTful.
Desenvolvimento de APIs utilizando RESTful e Grails.
Persistência e recuperação de dados a partir de requisições RESTful.
Customizar respostas JSON em controladores RESTful.
Testes e documentação dos web services desenvolvidos.
6. Desenvolvimento Front-End
PROFESSOR RESPONSÁVEL: Prof. Ms. Rafael Tomé de Souza
Capacitar o desenvolvimento de Front-End de sistema de software com o emprego de tecnologias voltadas para o desenvolvimento de interfaces web considerando os diversos dispositivos e compatibilidade de navegadores. Capacitar os alunos para a elaboração de um protótipo com o front-end, com o emprego de soluções tecnológicas e implementação com as ferramentas apresentadas, possibilitando novos desafios.
Customização de interface no Grails
7. Requisitos e Projeto de Software Baseado em Padrões
Capacitar o aluno a elicitar requisitos, redigir documentos de requisitos e elaborar casos de uso e/ou estórias.Tornar o aluno apto a projetar sistemas orientados a objetos com padrões e usando a linguagem de modelagem UML. Habilitar o aluno a raciocinar sobre os modelos construídos em termos de atributos de qualidade.
Conceitos Básicos do Levantamento de Requisitos.
Casos de Uso:especificação e diagrama.
Orientação a Objetos e Modelos de Processo.
Diagramas da UML: Diagramas de Classes, Diagramas de Sequência do Sistema, Diagramas de Colaboração, Diagramas de Estados, Diagramas de Pacotes E Diagramas de Implantação.
Padrões GRASP e Padrões de Projeto.
8. Projeto de Banco de Dados Relacional e NoSQL
PROFESSORES RESPONSÁVEIS: Profa. Dra. Marilde Terezinha do Prado Santos e Prof. Dr. Renato Bueno
Apresentar aos alunos as etapas formais para a realização de um projeto de banco de dados relacional e banco de dados NoSQL, capacitando-os a projetarem um banco de dados com qualidade e eficiência. Apresentar e discutir com os alunos diversos aspectos relativos ao desempenho de sistemas de gerenciamento de bases de dados relacionais, e apresentar técnicas para otimização de desempenho desses sistemas após a implementação, em uma fase de ajustes desses sistemas. Associar as etapas do projeto de banco de dados com as etapas da análise orientada a objetos e metodologia ágil de desenvolvimento de sistemas.
Projeto Conceitual: Modelo Entidade-Relacionamento Estendido.
Projeto Conceitual: Modelo Orientado a Objetos.
Projeto Lógico: Refinamento do esquema conceitual. Modelo Relacional. Mapeamento para o Modelo Relacional.
Projeto de Banco de Dados Ágil: papel da refatoração do banco de dados.
Projeto de Banco de Dados NoSQL.
Estrutura Física de uma base de dados: organização física dos dados criação de tabelas e índices.
Indexação: utilização e eficiência de índices, tipos de índice, métodos de acesso físicos.
Otimização de consultas: estimativas de custo, coleta de estatísticas, reescrita de expressões em SQL.
Outros aspectos relacionados ao ajuste fino de SGBD.
Estudos de Casos. Acompanhamento de projetos.
9. Design e Avaliação de Interfaces de Usuário para Web
PROFESSOR RESPONSÁVEL Profa. Dra. Kamila Rios da Hora Rodrigues
Apresentar conceitos básicos da Interação Humano-Computador e de abordagens ao design de sistemas Web. Apresentar o conceito de padrões e orientar os alunos no uso de padrões como ferramental para o design de interfaces de usuário para Web. Auxiliar os alunos na adoção de frameworks para front-end. Apresentar métodos de avaliação de usabilidade e acessibilidade e orientar os alunos na aplicação de tais métodos em interfaces Web. Propiciar aos alunos condições para que exercitem o design e a avaliação de interfaces de usuário para Web seguindo uma metodologia ágil.
Conceitos básicos da Interação Humano-Computador.
Abordagens ao design da interação em sistemas Web: modelos, métodos, guidelines, padrões.
Design de interfaces de usuário para Web utilizando padrões e frameworks: conceitos, linguagens, wireframes.
Avaliação de interfaces de usuário para Web: usabilidade e acessibilidade.
Design e avaliação de interfaces de usuário para Web em metodologias ágeis.
10. Mapeamento Objeto Relacional
PROFESSOR RESPONSÁVEL: Prof. Ms. Reinaldo de Oliveira Castro
Apresentar o problema da impedância entre os modelos relacional e orientado a objeto. Apresentar os conceitos básicos e os avançados do Grails Object-Relational Mapping (GORM) em aplicações orientadas a objeto.
Modelagem de domínio.
Associações e cardinalidades.
Conjuntos, listas e mapas.
Operações CRUD e cascateamento de operações.
Busca antecipada (Eager) e tardia (Lazy).
Bloquei (locking) otimista e pessimista.
Transações programáticas.
GORM e restrições.
11. Segurança e Teste de Software
PROFESSORES RESPONSÁVEIS: Prof. Dr. Fabiano Cutigi Ferrari e Prof. Dr. Auri Marcelo Rizzo Vincenzi
Apresentar conceitos relacionados a segurança e testes avançados em aplicações web. Discutir questões de segurança, tipos de vulnerabilidades e apresentar os conceitos de SQL Injection e da biblioteca do Spring Security Core. Apresentar as principais técnicas e critérios de teste, com ênfase naquelas utilizadas no teste de sistemas web, além de discutir aspectos de automatização de teste de software nesse nível, utilizando ferramentas de captura e reprodução.
Conceitos sobre segurança de software e SQL injection.
Spring Security Core.
Aplicação em Groovy e Grails.
Revisão de fundamentos de teste de software ( técnicas, critérios, requisitos de teste e casos de teste).
Níveis de teste (unidade, integração e sistema).
Tipos de teste de sistema.
12. Computação Móvel
Apresentar as principais tendências para as plataformas móveis no mercado. Introdução sobre a plataforma Android com conceitos, boas práticas e exemplos sobre tópicos como UI, padrões de projeto, frameworks, persistência e conectividade.
Visão geral das principais plataformas móveis do mercado;
Perspectivas de mercado para plataformas móveis;
Principais conceitos da plataforma Android;
Conceitos e exemplos sobre o Android SDK, persistência, conexões RestFull, Multidimia e etc; e
PROFESSOR RESPONSÁVEL: Prof. Ms. Vinicius Fernandes Caridá
Possibilitar, ao aluno, a compreensão e o domínio dos mecanismos de investigação científica com o intuito de organizar e realizar a atividade de pesquisa e divulgar os resultados obtidos. Aplicação prática do conteúdo da disciplina na elaboração do Trabalho de Conclusão de Curso.