• Slides de Engenharia de software, fornecidos pelo docente da disciplina. Software Engineering, Ian Sommerville, 10th Edition, Addison-Wesley, 2016. Design Patterns: Elements of reusable object-oriented software, Gamma E., Helm R., Johnson R., Vlissides J., Addison-Wesley, 1995.    
  • Engenharia Informática e Aplicações (L) (IPLUSO)
  • 6615
  • 24355
  • Engenharia de Software II
  • IPLUSO6615-24355
  • 3
  • 6
  • 0
  • 4
  • Não
  • Português
  • Será proposto ao aluno a elaboração de guias de trabalho, sobre a implementação de conceitos de engenharia, nas platafomas usadas atualmente.   Sempre que possível, os grupos de trabalho criarão WebApps, para ferramentas e plataformas de Gestão de equipas, Servicedesk, controlo de versões, relacionamento com clientes/Stakeholders, entre outras.     Deverão os alunos fazer comparação, pelo uso e análise, da melhoria de desempenho no uso de ferramentas "LINT" na programação.  
  • Obrigatório
  • OA1: Aprofundar os conhecimentos do curso de Engenharia de Software I e adquirir espírito crítico na aplicação das ferramentas propostas; OA2: Saber interligar e aumentar a capacidade dos conhecimentos adquiridos em desenvolvimento de software; OA3: Aprender os princípios de padrões de desenho e perceber a sua aplicação; OA4: Aprender arquiteturas e técnicas de desenho de software para aplicações de grande escala.
  • CP1: Metodologias Agile. Framework Kanban em detalhe; CP2: Requisitos e especificação de regras de negócio sobre ontologias de domínio da ciência da computação; CP3: Programação Orientada a Objectos e Padrões de Desenho. Conceitos de orientação programada a objetos. Padrões de desenho para geração, estrutura e de comportamento; CP4: Arquitetura de Software e o seu Desenho. Conceitos de arquitetura de software e padrões de arquitetura; CP5: Desafios da Engenharia de Software e Tendências Emergentes. Introdução a tópicos como inteligência artificial, aprendizagem automática ou cibersegurança.
  • A avaliação ( NF - nota final) é composta por uma prova teórica de aferição dos conhecimentos ( AC que vale 50% da nota final), pela apresentação de um projeto de aluno ( PR que vale 40 % da nota final) e pela assiduidade e participação nas aulas ( AP que vale 10% da avaliação final).
    Ou seja, a nota final será calculada da seguinte forma:

    NF = 0.5 x AC + 0.4 x PR. + 0.1 x AP.

    Para ser aprovado à disciplina, para além de atingir uma nota final mínima de 9.5, o aluno tem de satisfazer os 2 seguintes critérios:

    1.  Nota mínima do projeto PR, superior ou igual a 9.5.
    2.  Nota mínima do teste de avaliação AC, superior ou igual a 8.0.
       
  • Semestral
  • A unidade curricular de Engenharia de Software II pretende aprofundar e aumentar os conhecimentos em Engenharia de Software partindo dos conceitos de Engenharia de Software I, explorando em maior detalhe os fundamentos de desenho, desenvolvimento e manutenção de software. O curso aborda temas avançados como desenho de arquitetura de software, métricas e estimativas de software. Os alunos, no fim do curso, ficarão preparados para desenvolver soluções de software complexas, escaláveis, seguras e altamente disponíveis através da aprendizagem de padrões de desenho, ferramentas e técnicas. Para além disso, os alunos são introduzidos a ferramentas de desenvolvimento de software modernas, metodologias e frameworks, o que os coloca numa posição ideal para enfrentar desafios reais na dinâmica indústria da tecnologia.