Unidade Curricular:Código:
Projeto de Aplicações Móveis1126PJAM
Ano:Nível:Curso:Créditos:
2MestradoEngenharia Informática (Computação Móvel)6 ects
Período Lectivo:Língua de Instrução:Nº Horas:
Primeiro SemestrePortuguês/Inglês78
Objectivos de Aprendizagem:
Esta unidade curricular tem por objetivo dotar os alunos de conhecimentos técnicos sobre o projeto e desenvolvimento de aplicações móveis, desenvolvendo os fundamentos, modelos e ferramentas de engenharia de software utilizados no projeto, gestão, desenvolvimento, avaliação e teste, e documentação de aplicações móveis.
Ao completar com sucesso esta unidade curricular os alunos devem ser capazes de:
- Gerir, planear, desenhar e desenvolver todo o projeto de um sistema/aplicação móvel
- Definir os componentes da arquitetura de uma aplicação móvel
- Desenvolver todo o projeto, tanto na vertente do código como na documentação do projeto e de toda a aplicação
- Utilizar um Sistema de Controlo de Versões
- Definir um plano de automação de testes de software
- Perceber os conceitos de integração, entrega e implantação contínua
- Entender os conceitos de qualidade e análise estática de código
- Desenhar e desenvolver processos de otimização e melhoria de desempenho de software
Conteúdos Programáticos:
1 Introdução
1.1 Revisão de processos da engenharia de software
1.2 Revisão de conceitos de planeamento e projeto de software
1.3 Introdução ao Projeto de Aplicações Móveis
2. Projeto de Aplicações Móveis
2.1 Interfaces gráficas
2.2 Interatividade
2.3 Navegação
2.4 Gestão de estados
2.5 Networking
2.6 Persistência de dados
3. Ferramentas de engenharia de software
3.1 Controlo de versões
3.2 Análise estática de código
3.3 Optimização de código
3.4 Melhoria de desempenho de software
4. Prática da engenharia de software
4.1 Ferramentas de desenvolvimento
4.2 Testes automatizados
4.3 Integração contínua
4.4 Entrega contínua
4.5 Implantação contínua
Demonstração da Coerência dos Conteúdos Programáticos com os Objectivos da Unidade Curricular:
Os conteúdos programáticos estão coerentes com os objectivos de aprendizagem na medida em que abordam os principais temas sobre a definição e planeamento de projetos de aplicações móveis bem como sobre a caracterização de aplicações móveis e das plataformas existentes, que deverão ser dominados pelos alunos no final da unidade curricular. Em particular começa-se por abordar os conceitos fundamentais inerentes aos projetos de aplicações móveis e aos diferentes aspectos que caracterizam as plataformas e aplicações móveis existentes. Particulariza-se o projeto e desenvolvimento de aplicações móveis através de exemplos de aplicação concretos. Os objectivos da aprendizagem estão portanto alinhados com os temas abordados tanto ao nível teórico-prático como prático, sendo aplicados em exemplos variados concretos nas aulas e também por via da realização de um projeto de aplicação móvel.
Metodologias de Ensino (Avaliação Incluída):
A transmissão de conhecimentos nesta unidade curricular será efetuada recorrendo a aulas de cariz teórico-prático e prático em ambiente laboratorial. Nas aulas teórico-práticas são apresentados os conceitos fundamentais à compreensão dos temas do programa. Nas aulas práticas laboratoriais os alunos são confrontados com exercícios que têm que resolver recorrendo às ferramentas de desenvolvimento de aplicações móveis. Os alunos têm ainda oportunidade de aplicar e desenvolver os seus projetos concretos que complementam a base de experiências sobre os temas abordados.
A avaliação das competências adquiridas pelo aluno nesta unidade curricular é composta pelos seguintes elementos de avaliação:
1. Projeto prático
Avaliação Contínua:
NF = (1)
Esta unidade curricular não é passível de ser avaliada por exame (Arto 19, ponto 3.2.1 da Normativa Académica, Reg. 927 de 3 de dezembro de 2019).
Demonstração da Coerência das Metodologias de Ensino com os Objectivos de Aprendizagem da Unidade Curricular:
As metodologias de ensino aplicadas nesta unidade curricular procuram levar os alunos a conhecer os aspectos mais importantes no planeamento e desenvolvimento de projetos de aplicações móveis bem como caracterizar as principais plataformas móveis existentes. Procura-se ainda que os alunos desenvolvam competências práticas na estruturação e desenvolvimento de aplicações móveis concretizados nas ferramentas de desenvolvimento propostas. As aulas teórico-práticas e em particular as aulas práticas laboratoriais permitem um contato permanente com o projeto e desenvolvimento de aplicações móveis, facilitando portanto o progresso gradual no planeamento e implementação destas aplicações para as plataformas existentes. Esta experiência e contato com contextos práticos concretos permite melhorar as competências de planeamento e gestão de projetos de aplicações móveis bem como sobre as plataformas e ferramentas de desenvolvimento, que são essenciais para melhorar as competências técnicas e de programação nesta área.
Bibliografia:
[1] McWherter, J., Gowell, S., “Professional Mobile Application Development”, Wrox Press, 2012.
[2] Payne, R., “Beginning App Development with Flutter: Create Cross-Platform Mobile Apps”, Apress, 2019.
[3] Napoli, M., “Beginning Flutter: A Hands On Guide to App Development”, Wiley, 2019.
[4] Tyagi, P., “Pragmatic Flutter: Building Cross-Platform Mobile Apps for Android, iOS, Web & Desktop”, CRC Press, 2021.
Docente (* Responsável):
Célio Carvalho (celio@ufp.edu.pt)