Skip to main content

IPLUSO 24355

Engenharia de Software II

Engenharia Informática e Aplicações (L) (IPLUSO)
  • ApresentaçãoPresentation
    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.
  • ProgramaProgramme
    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.
  • ObjectivosObjectives
    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.
  • BibliografiaBibliography
    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.    
  • MetodologiaMethodology
    As metodologias de ensino assentam em duas vertentes, nomeadamente: Sessões teóricas: onde é exposta a matéria através de diapositivos fornecidos pelo docente da cadeira e existe uma discussão em aula sobre casos de estudo representativos. Sessões práticas: onde é dado aos alunos uma abordagem prática com o objetivo de serem aplicados os conhecimentos lecionados nas sessões teóricas. Nestas sessões, também são efetuados trabalhos em equipa para a análise de casos de estudo de modo a criar-se metodologias e soluções de boas práticas. A avaliação será composta por 3 componentes: 6 Mini-projetos (60% da avaliação final). Nota mínima: 8.0 (média). 2 Questionários para aferição de conhecimentos (20% da avaliação final). Nota mínima: 8.0 (média). Assiduidade e participação nas aulas (20% da avaliação final). Mínimo de presenças: 50% das aulas leccionadas.
  • LínguaLanguage
    Português
  • TipoType
    Semestral
  • ECTS
    6
  • NaturezaNature
    Obrigatório
  • EstágioInternship
    Não