Agenda semanal

  • 28 de fevereiro - 6 de março

    Breve descrição do programa. Método de avaliação. Bibliografia. Introdução à problemática da qualidade no software. Custos da não qualidade.

  • 7 de março - 13 de março

    Introdução à Engenharia de Software Experimental (ESE). Método científico. A ESE na avaliação e melhoria da qualidade do produto e do processo. Obstáculos à experimentação. Breve revisão de alguns casos de estudo.
  • 14 de março - 20 de março

    Qualidade por via do produto versus qualidade por via do processo. Modelos de qualidade do produto e sua variabilidade. Processo de avaliação do produto. Sistemas de gestão da qualidade (do processo) e balanço financeiro da sua implementação. Meta-manuais da qualidade do processo. Organizações relevantes relacionadas com a qualidade do software (Portugal, Europa e EUA).
  • 21 de março - 27 de março

    Férias da Páscoa
    • 28 de março - 3 de abril

      Avaliação da maturidade do processo de desenvolvimento de software. O que é, porque é necessária, e quando, uma avaliação. As organizações potencialmente interessadas na avaliação. O papel da avaliação na melhoria do processo. Como é feita uma avaliação: dos questionários às recomendações. O modelo de maturidade do Software Engineering Institute: caracterização de cada nível de maturidade. Breve revisão de outros modelos (TRILLIUM, SAM, SQPA, STD, BOOTSTRAP e SCOPE). Modelo SPICE (ISO/IEC 15504): participantes, modelo de referência, categorias de processo e capacidade de cada processo. Exemplo de adaptação do modelo anterior: SPICE for Space (S4S) da Agência Espacial Europeia.

    • 4 de abril - 10 de abril

      Certificação em software e sua comparação com a avaliação da maturidade. Certificação de produtos de software. Certificação de Sistemas de Gestão da Qualidade. Panorama da certificação em Portugal. Problema do âmbito da certificação demasiado genérica. Reconhecimento mútuo de certificados. A iniciativa TickIT. Formação e certificação de auditores. A acreditação. Apresentação e comentário a um filme sobre a iniciativa TickIT.

    • 11 de abril - 17 de abril

      Modelos de estimação de recursos para projectos de desenvolvimento de software. Factores influenciadores. Dificuldades na estimação. Modelos de estimação tradicionais. Modelos de estimação algorítmicos. Modelos COCOMO e COCOMO II. Modelo de pontos de função.
    • 18 de abril - 24 de abril

      Metodologias ágeis ("leves") versus metodologias planeadas ("pesadas"). Recapitulação / caracterização de algumas abordagens planeadas (CMM, Process Advisor, ISO15504 - SPICE, CMMi e RUP). Origens das metodologias ágeis: o "manifesto dos ágeis". Caracterização genérica das abordagens ágeis. Exemplo de metodologia ágil: eXtreme Programming (XP). Crítica às abordagens ágeis. Comparação de uma metodologia planeada (RUP) com uma ágil (XP). Discussão da aplicabilidade de cada alternativa.
    • 25 de abril - 1 de maio

      Qualidade na definição de requisitos. A especificação formal de regras de negócio. Limitações da modelação com diagramas utilizada na análise. Caso de estudo: modelação de campeonatos de futebol com UML. Introdução à modelação formal de regras de negócio com OCL (Object Constraint Language).
    • 2 de maio - 8 de maio

      Sintaxe e semântica da linguagem OCL. Exemplificação com recurso ao ambiente USE. Navegação e convenção de nomes. Operações sobre colecções e sobre tipos atómicos. Utilização de iteradores. Operações reflexivas. Especificação de invariantes, pré e pós-condições, bem como da semântica das operações.

    • 16 de maio - 22 de maio

      • 23 de maio - 29 de maio

        Não houve aula devido a "ponte"
        • 30 de maio - 5 de junho

          Animando e testando um modelo UML. Recapitulação da especificação de asserções com a linguagem OCL. Demonstração, com recurso ao ambiente USE, da construção de uma bateria de testes, por animação de um modelo UML instanciado. Violação de pré e pós-condições e verificação de invariantes.