MAC0469 Construção de Software como Serviço em Computação em Nuvem
Por | EmOBJETIVOS: Introduzir os conceitos básicos de desenvolvimento de software como serviço em ambientes de computação em nuvem. Ao término da disciplina, o estudante será capaz de desenvolver sistemas Web com interfaces de usuário dinâmicas para sistemas de informação de médio porte com persistência de dados em bancos de dados relacionais. A metodologia de desenvolvimento adotada será baseada tanto nos fundamentos de arquiteturas orientadas a objetos de alta qualidade quanto em métodos ágeis de desenvolvimento de software levando em conta a interação com o usuário e cliente como um fator fundamental.
PROGRAMA RESUMIDO: Arquitetura de Aplicações SaaS. Desenvolvimento Ágil de Software Desenvolvimento Guiado por Testes. Linguagens dinâmicas para desenvolvimento Web. Arcabouços OO para desenvolvimento Web. Mapeamento Objeto-Relacional para SaaS. Clientes Web dinâmicos e responsivos. Gestão Ágil de Projetos. Padrões de Projeto e Arquiteturais para a Web. Princípios SOLID.
PROGRAMA: Arquitetura de Aplicações SaaS e as várias camadas de Sistemas Web modernos, incluindo TCP/IP, DNS, HTTP, URIs, HTML, CSS e o Modelo REST. Desenvolvimento Ágil de Software incluindo Desenvolvimento Guiado por Testes (TDD), arcabouços para testes automatizados, Gestão Ágil de Projetos, Ferramentas para controle de versões e para gestão dinâmica de requisitos do cliente. Linguagens dinâmicas para desenvolvimento Web tais como Ruby ou Python. Como características avançadas como Reflexão e Metaprogramação facilitam o desenvolvimento de sistemas flexíveis, enxutos e robustos. Arcabouços OO para desenvolvimento Web tais como Rails, Sinatra e Django Mapeamento Objeto-Relacional para SaaS utilizando arcabouços tais como Rails, Django ORM e SQLAlchemy. Clientes Web dinâmicos e responsivos utilizando JavaScript ou HTML5. Padrões de Projeto e Arquiteturais aplicados a sistemas Web como MVC. Princípios avançados de projeto orientado a objetos tais como os princípios SOLID
RESPONSÁVEL: Fabio Kon.
PRÉ-REQUISITOS: MAC0316.
CARGA HORÁRIA SEMANAL E NÚMERO DE CRÉDITOS: 6 horas, 4 créditos-aula e 2 créditos-trabalho.
CRITÉRIO DE AVALIAÇÃO DA APRENDIZAGEM: O aluno será avaliado continuamente durante o semestre, tendo em vista as atividades apresentadas ao professor e monitores da disciplina bem como por meio de atividades com correção automática. O critério de avaliação é dado pela média ponderada dos trabalhos realizados durante a disciplina e assiduidade às aulas e trabalhos. A norma de recuperação é dada pela média ponderada da nota final e de provas e/ou trabalhos de recuperação.
BIBLIOGRAFIA BÁSICA:
- A. Fox, D. Patterson, Construindo Software como Serviço - uma abordagem Ágil usando Computação em Nuvem, Strawberry Canyon, 2015.
- S. Metz, Practical Object-Oriented Design in Ruby, Addison-Wesley. 2013.
- M.J. Kavis, Architecting the Cloud: Design Decisions for Cloud Computing Service Models (SaaS, PaaS, and IaaS), Willey. 2014.
OBSERVAÇÃO: Disciplina optativa eletiva nos currículos do BCC.
[Veja dados da disciplina no JúpiterWeb]