Desenvolvimento de Sistemas de Software
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.