Técnicas de Desenvolvimento de Software
Professor: Pedro Alexandre S. C. R. Pereira
Ano:
2
Semestre:
3
ECTS: 6
Objectivos
Os estudantes que terminam com sucesso esta unidade curricular serão capazes de:
- Demonstrar conhecimento sobre os princípios aplicáveis no âmbito do desenvolvimento de software.
- Identificar as propriedades pretendidas no software e demonstrar conhecimento acerca das técnicas a usar para as influenciar.
- Analisar e justificar a aplicação de padrões de desenho em contextos selecionados.
- Desenhar, implementar e testar aplicações interativas de média dimensão.
- Produzir documentação técnica onde se justificam as decisões tomadas no software desenvolvido.
Programa
- Princípios elementares de type driven development: encapsulamento e especificação de contratos e invariantes.
- Princípios elementares de test driven development: especificação explícita das dependências e respetiva resolução através de injeção.
- Composição de funções: high order functions, currying e aplicação parcial.
- Composição de tipos: agregação, herança e polimorfismo.
- Princípios gerais de desenho de software: DRY, Law of Demeter e SOLID.
- Seleção de padrões de desenho de uso geral.
- Seleção de padrões de desenho usados no âmbito do desenvolvimento de aplicações interativas.
Resultados
Esta unidade curricular introduz os conceitos e o vocabulário fundamental dos paradigmas e dos princípios usados no desenvolvimento de software.
Os objetivos 1, 2 e 3 são alcançados através dos itens I até VII do conteúdo programático. O desenvolvimento de programas durante as sessões práticas permite atingir os objetivos 4 e 5.
Bibliografia
“Hands-on Design Patterns with Kotlin” by A. Soshin. Released in 2018. Publisher(s): Packt publishing. ISBN-13: 978-1788998017; ISBN-10: 1788998014.
“Effective Kotlin: Best practices” by Marcin Moskala. Released in november 2019. Publisher(s): Marcin Moskała. ISBN-13: 978-8395452833; ISBN-10: 8395452837.