MAC0469  Construção de Software como Serviço em Computação em Nuvem

Por | Em

OBJETIVOS:  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]