Back

Fundamentos de Engenharia de Software

    Detalhes do curso

  • Conhecimentos de Base Recomendados

    -

  • Objetivos

    OA1. Identificar e definir os conceitos fundamentais da Engenharia de Software.
    OA2. Entender e descrever os princípios que regem as metodologias ágeis e as metodologias tradicionais de desenvolvimento de software.
    OA3. Modelar e analisar processos de negócio, aplicando a técnica de BPMN para criar diagramas de processos de negócio com uma visão coerente do fluxo de informação.
    OA4. Entender e aplicar os princípios orientadores que regem a um projeto de software (estrutura e comportamento).
    OA5. Especificar e desenvolver a descrição dos requisitos de uma aplicação de Software.
    OA6. Utilizar a notação UML para implementar diagramas relevantes ao processo de Engenharia de Software.
    OA7. Distinguir e demonstrar a aplicação de técnicas de desenho da arquitetura de um software.

  • Métodos de Ensino

    Pretende-se que o estudante seja incentivado a aplicar os conceitos da Engenharia de Software no âmbito da resolução de exercícios e execução de um trabalho prático. Atividade que deverá decorrer em grupo de forma a permitir conhecer o papel e responsabilidades dos elementos da equipa no processo de especificação, análise e discussão dos resultados obtidos por cada grupo. Pretende-se que o estudante desenvolva trabalhos de estudo para posterior apresentação e discussão com os colegas durante as aulas prático-laboratoriais e sempre que aplicável que proceda uma análise de um caso de estudo. No início de cada um dos trabalhos será efetuada, nas aulas teórico-práticas e/ou prático-laboratoriais, uma exposição dos conceitos necessários para a sua realização. Serão utilizadas as seguintes metodologias de ensino e aprendizagem (MEA):
    • MEA1. Expositivas, para apresentação dos quadros teóricos de referência.
    • MEA2. Participativas, com a análise e discussão de casos práticos e resolução de exercícios laboratoriais.
    • MEA3. Ativas, com debate de conceitos e exemplos; realização de trabalho em grupo, sempre que aplicável assentes em casos de estudo sobre como definir e especificar um produto de software.
    • MEA4. Experimentais, para a exploração de exercícios com recurso a meios audiovisuais e bibliografia.
    • MEA5. Aprendizagem colaborativa, relacionado com o trabalho autónomo e em grupo, com apresentação e discussão dos resultados obtidos.
    A Unidade Curricular possui as seguintes atividades (AT):
    • AT1. resolver exercícios
    • AT2. realizar trabalho de estudo em grupo
    • AT3. particular em debates orientados e colaborativos
    • AT4. apresentar trabalho de estudo
    • AT5. analisar conhecimento em teste formativo
    Os objetivos de aprendizagem OA1, AO2, AO4 e AO7 serão atingidos com base nas atividades AT1 e AT3, sendo utilizadas para o efeito as metodologias MEA1, MEA2 e MEA4.
    Os objetivos de aprendizagem OA3, OA5, e OA6 consistem maioritariamente na transposição para a prática dos conceitos adquiridos nas aulas TP e serão atingidos com base nas atividades AT2 e AT4, sendo utilizadas para o efeito as metodologias MEA3 e MEA5.
    O objetivo de aprendizagem OA7 será atingido com base na atividade AT5, sendo utilizada para o efeito as metodologias MEA1 e MEA4.
    A resolução de exercícios (AT1), trabalhos de estudo (AT2) e respetiva apresentação (AT3 e AT4) são desenvolvidos de forma colaborativa (entre estudantes do mesmo grupo e entre os estudantes e o docente). O teste formativo (AT5) será realizado de modo autónomo.
    Os trabalhos poderão ser substituídos por trabalhos ou tarefas propostas pelos estudantes desde que observem os objetivos da unidade curricular relativos aos conhecimentos a adquirir e com a devida autorização do Responsável da Unidade Curricular.

  • Estágio(s)

    Não

  • Programa

    CP1 - Introdução à Engenharia de Software
    CP2 - Estrutura do Processo de Software
    CP3 - Levantamento de processos de negócio utilizando a BPMN
    CP4 - Análise e Especificação de requisitos de Software
    CP5 - Metodologias de desenvolvimento de Software
    CP6 - Diagramas de suporte ao processo de SW usando a UML
    CP7 - Desenho da Arquitetura de SW

  • Demonstração de conteúdos

    Os conteúdos programáticos (CP) da Unidade Curricular estão estruturados de modo a promover a aquisição e o desenvolvimento das competências propostas nos objetivos de aprendizagem (AO). Os temas abordados seguem uma sequência lógica, que associa a componente teórica à componente prática:
    OA1 – será atingido mediante os conteúdos abordados em CP1 e CP2
    OA2 – será atingido mediante o trabalho desenvolvido em CP5
    OA3 – será atingido mediante o trabalho desenvolvido em CP2, CP3 e CP4
    OA4 – será atingido mediante os conteúdos abordados em CP1, CP2, CP3, CP5 e CP6
    OA5 – será atingido mediante o trabalho desenvolvido em CP3, CP4, CP6
    OA6 – será atingido mediante o trabalho desenvolvido em CP4, CP6
    OA7 – será atingido mediante os conteúdos abordados em CP7

  • Demonstração da metodologia

    A apresentação dos CPs respeita uma sequência equilibrada pela associação do carácter teórico-prático com a utilização das atividades de natureza formativa e de estudo autónomo. O objetivo inicial é o nivelamento de conhecimentos, sendo que depois se procede ao aprofundamento e aplicação dos CP usando exemplos laboratoriais e ferramentas de suporte à aplicação dos conhecimentos apreendidos.
    Esta abordagem pretende ajudar a consolidar o conhecimento teórico com o saber fazer em conformidade com as boas práticas em Engenharia de software. As atividades são concorrentes com os objetivos de aprendizagem, permitindo-se lecionar com consistência os CP de forma a consolidar conhecimento, designadamente:
    • Compreender os princípios da Engenharia de Software (OA1, OA2, OA7);
    • Identificar, distinguir e saber caracterizar produto e processo de software (OA2, OA3, OA5, OA6);
    • Reconhecer as diferentes metodologias e princípios orientadores que regem a um projeto de software (OA4, OA5);
    • Aplicar técnicas e utilizar ferramentas de documentação do processo de software (OA3, OA5, OA6, OA7);
    • Conhecer o papel e as responsabilidades dos intervenientes num processo de desenvolvimento de software (OA1, OA2, OA4);
    • Entender as normas associadas ao processo de desenvolvimento de software (OA3, OA4, OA5, OA6, OA7).
    A metodologia expositiva será aplicada apenas quando estritamente necessária para introduzir conceitos relativos à teoria e ao processo de Engenharia de Software. A metodologia de ensino usada, com as exceções apresentadas, será a aprendizagem baseada em projeto.
    Para que os objetivos de aprendizagem sejam atingidos, é essencial que o projeto proposto aos estudantes garanta suficiente exposição a problemas/desafios cuja solução prática só seja possível com a compreensão dos conceitos que constam nos OA. A realização de um projeto de dimensão apreciável e com exigências técnicas consideráveis permitirá ao estudante atingir os OA preconizados para esta unidade curricular. A existência de uma avaliação intermédia é importante para garantir que o estudante obtém uma opinião atempada acerca do trabalho realizado e sobretudo para que possa fazer correções ao seu projeto e aprofundar conhecimentos antes da apresentação do projeto no final do semestre. 
    Nas horas de contacto serão realizadas sessões tutoriais em grupo, que visam a orientação do estudo ou o esclarecimento de dúvidas. O estudante deve trazer os seus outputs intermédios de estudo/trabalho para receber comentários e recomendações de melhoria por parte da equipa de docentes. No decorrer do período letivo, para as atividades de natureza formativa síncrona, o docente recorre-se de recursos audiovisuais para exposição dos conteúdos programáticos bem como para realizar demonstrações sobre o funcionamento de ferramentas relevantes à execução das atividades de especificação, modelação e documentação do processo de software.

  • Docente(s) responsável(eis)

    Nuno Miguel Vicente de Pina Gonçalves - 1.º Semestre

  • Bibliografia

    Roger Pressman and Bruce Maxim (2020). Software Engineering: A Practitioner's Approach, 9th Edition. McGraw Hill. ISBN: 978-1259872976
    Ian Sommerville (2015). Software Engineering, 10th Edition. Pearson. ISBN: 978-0133943030

  • Código

    01105150

  • Modo de Ensino

    PRESENCIAL

  • ECTS

    6.0

  • Duração

    Semestral

  • Horas

    30h Práticas e Laboratórios

    45h Teórico-Práticas

Conteúdo atualizado em 21/03/2025 15:46
Visão Geral da Privacidade
Escola Superior de Tecnologia de Setúbal - ESTSetúbal/IPS

Este site utiliza cookies para lhe oferecer a melhor experiência possível. As informações dos cookies são armazenadas no seu navegador e permitem funcionalidades como reconhecê-lo quando regressa ao nosso site e ajudar a nossa equipa a perceber quais as secções que considera mais interessantes e úteis.

Cookies Estritamente Necessários

Os cookies estritamente necessários devem estar sempre ativados para que possamos guardar as suas preferências de configuração de cookies.

Cookies de Terceiros

Este site utiliza o Google Analytics para recolher informação anónima, como o número de visitantes do site e as páginas mais populares. Manter este cookie ativado ajuda-nos a melhorar o nosso website.