Objetivos

Os alunos deverão ser capazes de:

  • Caracterizar os diferentes tipos de processo de desenvolvimento de software;
  • Conhecer os principais diagramas da linguagem UML;
  • Desenvolver sistemas de software multi-camada utilizando um processo baseado em modelos;
  • Desenvolver sistemas de software multi-camada com base num processo de desenvolvimento baseado em entregas faseadas;
  • Desenvolver capacidades de raciocínio abstracto;
  • Reificar modelos estruturais/comportamentais considerando o problema do mapeamento objeto-relacional.

Programa

  • Introdução aos Sistemas de Software: definição, sistemas software multi-camada, processos de desenvolvimento de software.
  • Processos de desenvolvimento de software:
    • Evolução dos processos de desenvolvimento de software
    • As diferentes fases do processo de desenvolvimento: da análise de requisitos à manutenção
    • Desenvolvimento de software baseado em entregas faseadas
  • Introdução à Unified Modelling Language (UML): história e tipos de modelos
  • Desenvolvimento de Software baseado em modelos com recurso a UML:
    • Análise e modelação de requisitos
    • Análise e modelação estrutural – padrões arquiteturais
    • Análise e modelação comportamental o Reificação de modelos:
  • Mapeamento Objectos-Relacional
  • Geração de código
  • Testes de aceitação
  • Instalação e manutenção do software

Bibliografia

  • M. Seidl, M. Scholz, C. Huemer, G. Kappel. UML@Classroom: An Introduction to Object-Oriented Modeling. Undergraduate Topics in Computer Science. Springer, 2015.
  • J. Arlow, I. Neustadt. UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design (2nd edition). Addison-Wesley Professional, 2005.
  • S. W.Ambler. The Elements of UML 2.0 Style. Cambridge University Press, 2005.
  • D. Pilone, N. Pitman. UML 2.0 in a Nutshell (2nd edition). O’Reilly Media, 2005.
  • Martin Fowler. UML Distilled (third edition). Addison-Wesley, 2004.

Atualizado: