Skip to main content

ISMAT 7341

Engenharia de Software

Engenharia Informática (ISMAT)
  • ApresentaçãoPresentation
    A Engenharia de Software ensina o desenho, escrita de código e testes, e manutenção de programas que têm um propósito de resolver problemas complexos com soluções eficientes e seguras. Todas as unidades curriculares anteriores tem um maior foco na sintaxe e técnicas de programação enquanto nesta unidade curricular os alunos aprendem as técnicas de de desenhar e desenvolver software de uma forma eficiente, legível, modular e escalável. Esta unidade curricular é essencial para desenvolver as capacidades de desenho e programação que os alunos vão enfrentar no mercado de trabalho.
  • ProgramaProgramme
    CP1. Introdução à Engenharia de Software; CP2. Modelos e processos desenvolvimento de software;  Modelos Clássicos: Cascata (contexto histórico) Modelos Ágeis: Agile (framework de Scrum) CP3. Modelação de sistemas; Análise de requisitos Diagrama de domínio Diagrama de conceitos Casos de uso CP4. Desenho da arquitectura; Análise Desenho Avaliação Evolução CP5. Desenho e implementação; Padrões UML Princípios de desenvolvimento orientado a objectos: S.O.L.I.D, KISS, entre outros. CP6. Verificação e validação; Conhecer os diferentes tipos de testes Aplicação de testes unitários CP7. Segurança e Confiabilidade CP8. Integração Contínua Vantagens Ferramentas e tecnologias
  • ObjectivosObjectives
    OA1. Compreender os métodos, técnicas e ferramentas para o completo desenvolvimento de um sistema de software, desde a sua conceção até à sua entrega e manutenção. OA2. Saber planear, gerir, avaliar e garantir a qualidade do desenvolvimento de projetos de software utilizando os princípios da Engenharia de Software.  
  • BibliografiaBibliography
    Pressman, R. S., & Maxim, B. (2020). Software Engineering: A Practitioner’s Approach (9ª ed.). McGraw-Hill. Bass, L., Clements, P., & Kazman, R. (2021). Software Architecture in Practice (4ª ed.). Addison-Wesley / SEI. Farley, D. (2018). Modern Software Engineering: Doing What Works to Build Better Software Faster. O’Reilly. IEEE Computer Society. (2022). Guide to the Software Engineering Body of Knowledge (SWEBOK). IEEE. O’Connor, R., et al. (2014). Software Engineering Education for a Global E-Service Economy: State-of-the-Art Trends and Developments. Springer. Arora, R. (2025). Software Engineering Made Easy. Springer.  
  • MetodologiaMethodology
    A metodologia de ensino inclui o método expositivo (ME1) para apresentar os conteúdos necessários, o demonstrativo (ME2) para ilustrar a sua aplicação a casos práticos e o ativo (ME3) para resolução de exercícios em sala de aula, com e sem recurso ao computador. A avaliação de conhecimentos é feita por avaliação contínua ou por prova escrita de exame final. A avaliação contínua inclui a realização de dois testes escritos com uma ponderação de 21,25% cada e um de grupo (42,5%) e a participação ativa nas aulas (10%). A assiduidade será um elemento adicional de avaliação com uma ponderação de 5%. Ao longo do semestre são disponibilizados Quizes após as aulas (acerca do tópico dado) ou com grupo de perguntas referentes a tópicos da matéria dada como forma dos alunos irem aferindo o seu conhecimento das matérias já lecionadas.
  • LínguaLanguage
    Português
  • TipoType
    Semestral
  • ECTS
    6
  • NaturezaNature
    Obrigatório
  • EstágioInternship
    Não