Programação

  • Aulas

  • Projeto

    Informações gerais

    • Time de 5-6 alunos
    • Ideia: projetar, planejar, desenvolver, testar e implantar um software como um serviço
    • Recomendação: usar Rails para o backend e HTML5+JavaScript para o frontend; outras linguagens/plataformas/arcabouços podem ser usados, porém você deve obrigatoriamente ter:
    1. um arcabouço para os testes de Unidade & funcionais (recomendação: RSpec para Ruby/Rails e Jasmine para JavaScript)
    2. uma forma de medir a cobertura dos testes (Coveralls e Travis CI)
    3. um arcabouço de teste completo que possa expressar testes que corresponderão às histórias dos usuários (Cucumber e Capybara)
    4. um arcabouço para a medição da qualidade do código, que ajude a identificar mal cheiros de projetos, problemas no estilo do código, etc. (CodeClimate)
    5. arcabouço de SaaS para o lado do servidor (Rails)
    6. arcabouço de SaaS para o lado do cliente (HTML5+JavaScript)


    Entrega em cada iteração

    • Cada iteração terá duração de 2 semanas.
    • Instruções detalhadas sobre as entregas serão disponibilizadas futuramente.


    Iterações e entregas

    • A partir dessa iteração espera-se que haja grande ênfase na criação de testes automatizados para o seu código. Use e abuse das técnicas vistas quando tratamos de BDD e TDD (Capítulos 7 e 8 do livro texto).

    • Usaremos o Pivotal Tracker para acompanhar de perto o que está sendo implementado. Por isso, a partir de agora, em cada iteração o grupo:

      • deve manter as histórias do projeto no Pivotal Tracker; só será considerado o projeto no Pivotal que tiver sido criado por mim;
      • deve colocar um ponteiro para o projeto do Pivotal na descrição de seu projeto no Github;
      • cada história no Pivotal Tracker deve ter uma indicação clara sobre as iterações em que essa história foi trabalhada. Coloque um label para indicar se ela foi trabalhada na “iteração1”, “iteração2”, etc.
      • indique quem é o dono (owner) de cada história; note que nós (eu e o grupo) vamos coletar métricas do Pivotal Tracker sobre quando a história foi reivindicada por um desenvolvedor, terminada, entregue, etc. Não faça isso só no final, antes da entrega da iteração! A ideia é usar o Tracker como forma de gerenciar o projeto do jeito que ele deveria ser usado na prática.

    • O projeto acontecerá em iterações de 2 semanas.  No final da iteração, cada membro deve entregar uma avaliação das contribuições de cada um dos membros da equipe. As respostas serão confidenciais e usadas apenas na atribuição de notas individuais dos membros da equipe. Por isso, seja honesto e justo!

      A entrega, individual, deve conter:

      1. link para o projeto no GitHub;
      2. uma frase que resuma o que você fez nessa iteração;
      3. para cada outro membro do grupo, a resposta da pergunta: "De modo geral, o membro excedeu as expectativas, atendeu as expectativas, fez só o mínimo necessário (só para dizer que fez alguma coisa) ou ficou aquém das expectativas do grupo durante a última iteração?" Justifique (brevemente) cada avaliação.

      Considere todos os fatores que podem contribuir para o desenvolvimento do projeto: essa pessoa se comunicou com o resto da equipe de forma eficiente? Ela tentou fazer a sua parte no trabalho? Ela estava tecnicamente preparada para realizar o trabalho (ela tinha conhecimento do que foi visto em aula e das ferramentas necessárias)?

  • Galeria de Projetos

    Mercado Livre da construção civil


    FinanceMod



    Projetos de edições passadas da disciplina

    Lista de projetos no Github: https://github.com/EngSoft-EACH-USP


    Built with at EACH|USP

  • Informações Gerais

    Bem-vindo ao curso SIN5005 - Tópicos em Engenharia de Software

    Professor: Daniel Cordeiro


    Esta é a página da disciplina SIN5005 (ementa). Usem e abusem da página para compartilhar e discutir tudo o que for relevante para a disciplina, fazer (e responder a) perguntas sobre os projetos, etc.

  • Livro-texto

    Construindo Software como Serviço

    Uma Abordagem Ágil Usando Computação em Nuvem

    por Armando Fox e David Patterson
    1ª edição
    http://br.saasbook.info/


    O livro tem um material suplementar com ponteiros para tutoriais sobre Ruby, Rails, HTML/CSS, JavaScript, Git, etc. em http://www.saasbook.info/students.