Arquitetura e Padrões de Software - 2019-2


Curso: BCC e TSI

Local: CEFET Maracanã

Horário: Quarta-Feira 18:20 a 21:40

Sala: Lab3

Tempo de curso: 19 semanas

Objetivo:

Familiarizar os alunos com conceitos avançados de desenvolvimento de software com o uso de padrões de software. Desenvolver a capacidade de identificar problemas em sistemas de software, analisá-los, e propor soluções baseadas no uso de arquiteturas e padrões de software.

Ementa:

Introdução aos conceitos de arquitetura de software; Estilos e padrões arquiteturais; Táticas para atender atributos de qualidade na arquitetura; padrões de projeto (design patterns): GoF;

Bibliografia Principal:

BASS, Len; CLEMENTS, Paul; KAZMAN, Rick. Software architecture in practice. Addison-Wesley Professional, 2003.

N. Rozanski and E. Woods, “Software systems architecture: working with stakeholders using viewpoints and perspectives.” Addison-Wesley Professional, 2011.

GAMMA, Erich, HELM, Richard, JOHNSON, Ralph & VLISSIDES, John, Padrões de Projeto – Soluções Reutilizáveis de Software Orientado a Objetos, 2ª edição, Porto Alegre: Bookman, 2000. ISBN 9788573076103

Bibliografia Complementar:

FAIRBANKS, George. Just enough software architecture: a risk-driven approach. Marshall & Brainerd, 2010.

Richard N. Taylor, Nenad Medvidovic, Eric Dashofy, Software Architecture: Foundations, Theory, and Practice. ISBN: 978-0-470-16774-8. John Wiley & Sons, ©2009.

CERVANTES, Humberto; KAZMAN, Rick. Designing software architectures: a practical approach. Addison-Wesley Professional, 2016.

SHAW, Mary; GARLAN, David. Software architecture. Englewood Cliffs: Prentice Hall, 1996.

CLEMENTS, Paul et al. Documenting software architectures: views and beyond. Pearson Education, 2002.

Critério de Avaliação:

M1 = (AV1 + AV2) / 2;
if(Frequência >= 75%){
  if(M1 >= 7) 
    Situação = "Aprovado";
  else if (M1 < 3) 
    Situação = "Reprovado";
  else{
    Situação = "Prova Final";
  if( ((PF + M1) / 2) >= 5)
    Situação = "Aprovado";
  else
    Situação = "Reprovado";
  }
}else{
  Situação = "Reprovado";
}

Acompanhamento de presença

Calendário:

  • 07/08/2019 - 1. Introdução aos conceitos de arquitetura (Slides 1, 2 e 3)
  • 14/08/2019 - 2. Estilos e Padrões Arquiteturais (slide)
  • 21/08/2019 - 2. Estilos e Padrões Arquiteturais
  • 28/08/2019 - 2. Estilos e Padrões Arquiteturais (Exercícios, resposta parcial ex1)
  • 04/09/2019 - Prova de conceito de arquitetura (código e modelos)
  • 11/09/2019 - 3. Táticas para atender atributos de qualidade na arquitetura (Slides: disponibilidade, interoperabilidade, modificabilidade)
  • 18/09/2019 - 3. Táticas para atender atributos de qualidade na arquitetura (Slides: Performance, Segurança, Testabilidade, Usabilidade, Outros atributos de qualidade)
  • 25/09/2019 - Aula de exercícios (Exercícios)
  • 02/10/2019 - AV1 - Prova
  • 09/10/2019 - Notas AV1, correção e vista de prova, Apoio na implementação da arquitetura
  • 16/10/2019 - 4. Padrões de Projeto (Enunciado do Trabalho) (Slides Command e Facade, Código: Command, Facade)
  • 23/10/2019 - 4. Padrões de Projeto
  • 30/10/2019 - 4. Padrões de projeto
  • 06/11/2019 - 4. Padrões de projeto
  • 13/11/2019 - 4. Padrões de projeto (Primeira Entrega do Trabalho)
  • 20/11/2019 - Feriado (Trabalho - Recebimento do laudo de teste e início das correções)
  • 27/11/2019 - AV2 - Trabalho - Entrega Final.
  • 04/12/2019 - Revisão PF
  • 11/12/2019 - Prova Final