EA975K/L:2017 1S

De DCA-Wiki

Contents

EA975 - Laboratório de Engenharia de Software, 1S/2017 - Turmas K/L

  • Professor: Eleri Cardozo
  • Horário das aulas: Quartas, 14:00 Hs (turma K) - 16:00 Hs (turma L), LE27


Entrega do Relatório Final e Entrevista

A data para entrega do relatório final é 07 de julho. Com o relatório entregue os membros do grupo podem marcar a entrevista individual enviando email ao professor com sugestões de datas (pelo menos 3 datas em qualquer dia da semana, pelo menos um dia após a entrega do relatório final). A semana de exames (10-14 de julho) é um limite intransponível para a entrega do relatório final e realização da entrevista.


Notas

Noas e frequência disponíveis AQUI


Descrição do Curso

  • Para uma descrição sobre como o curso será conduzido clique AQUI.
  • Para instruções sobre a preparação do relatório final clique AQUI.


Programação das Aulas

  • Aula 1
    • Temas: Apresentação do curso; Formação dos grupos.
    • Atividade: Familiarização com o ambiente de desenvolvimento de software.
    • Apresentação da aula: Slides.
  • Aula 2
    • Tema: Requisitos de software.
    • Atividade: Elaborar um documento inicial de requisitos.
    • Apresentação da aula: Slides.
  • Aula 3
    • Tema: Casos de uso.
    • Atividade: Elaborar os casos de uso para o sistema em desenvolvimento.
    • Apresentação da aula: Slides.
  • Aula 4
    • Tema: Casos de uso II.
    • Atividade: Revisar e detalhar os casos de uso por meio de diagramas UML de robustez.
    • Apresentação da aula: Slides.
  • Aula 5
    • Tema: Casos de Uso III.
    • Atividade: Revisar os casos de uso da aplicação.
  • Aula 6
    • Tema: Casos de uso IV.
    • Atividade: Revisar e detalhar os casos de uso por meio de diagramas UML de atividades.
    • Apresentação da aula: Slides.
  • Aula 7
    • Tema: Componentes de software.
    • Atividade: Identificar os componentes de software que formarão a aplicação.
    • Apresentação da aula: Slides.
  • Aula 8
    • Tema: Componentes de software II.
    • Atividade: Detalhar os componentes de software especificando suas interfaces providas e a informação trocada entre os componentes.
    • Apresentação da aula: Slides.
  • Aula 9
    • Tema: familiarização com o framework MEAN.
    • Atividade: Inspecionar e executar a aplicação-exemplo construída sobre o framework MEAN.
    • Apresentação da aula: Slides.
  • Aula 10
    • Tema: Estruturação do servidor da aplicação.
    • Atividade: Desenvolver um "template" do servidor.
    • Apresentação da aula: Slides.
  • Aula 11
    • Tema: Serviços de retaguarda (persistência).
    • Atividade: Acrescentar funções de persistência ao servidor da aplicação.
    • Apresentação da aula: Slides.
  • Aula 12
    • Tema: Camada do cliente.
    • Atividade: Utilizar o AngularJS para desenvolver as interfaces da camada do cliente.
    • Apresentação da aula: Slides.
  • Aula 13
    • Tema: Teste da aplicação.
    • Atividade: Utilizar o framework Frisby.js para gerar casos de teste.
    • Apresentação da aula: Slides.
  • Aulas 14-
    • Tema: Finalização da implementação.


Referências

  • R. Gudwin, Engenharia de Software - Uma Visão Prática, 2015, PDF.
  • I. Sommerville, Engenharia de Software, 9a Edição, Pearson Education, 2011.
  • MEAN - Full stack Javascript para aplicações Web com MongoDB, Express, Angular e Node, Flávio Almeida, Casa do Código, Site do livro.
  • Site do MEAN stack.


Recursos

  • Instalacao-SW.txt: instalação do framework MEAN (será fornecido na forma de uma VM, mas o grupo poderá instalar o software na área do grupo se desejar).
  • EA975-2017.vdi: Máquina Virtual.
  • mr.html: manipulador de recursos (AngularJS).
  • auth.zip: aplicação-exemplo com autenticação (não segura !) via cookies.
  • Aumento da capacidade de disco da VM: instruções AQUI.
  • Uso de múltiplos databases no MongoDB/Mongoose:
    • Veja os arquivos mongo.js e mongo2.js (diretórios models) AQUI.
    • Para operar o database definido em mongo.js: var mongoOp = require('./models/mongo');
    • Para operar o database definido em mongo2.js: var mongoOp2 = require('./models/mongo2');
Ferramentas pessoais