filmeu

Class Software Engineering

  • Presentation

    Presentation

    The course presents the foundations of Software Engineering, structuring the concepts in an integrated manner to promote effective communication among organizations and their various stakeholders. In parallel, it adopts a practical perspective focused on application in an industrial context. In the theoretical classes, the main stages of the software development process are addressed, considering both classical and agile approaches. In the practical classes, the concepts are applied to problems close to professional reality, using CASE tools. Throughout the semester, students develop a Project Plan for a system previously specified in the course Analysis and Systems Design and, at the end, produce a Project Report documenting the work carried out.
  • Code

    Code

    ULP452-7341
  • Syllabus

    Syllabus

    Theoretical part: Introduction to Software Engineering Software development processes (classical and agile) Software process management Requirements engineering Logical and physical software design Coding Verification and validation Software maintenance Current challenges in Software Engineering Practical part: Development of the Project Plan UML modeling (state, sequence, collaboration, component, and deployment diagrams) Document Object Model (DOM) Project Report Cyclomatic complexity Unit testing Complementary topics: Development practices, quality, and testing Software architectures, tools, and supporting infrastructure Formal foundations and emerging trends
  • Objectives

    Objectives

    Understand the main software development processes, including both classical and agile approaches. Be able to plan a software project, integrating theoretical foundations with practical application. Know how to document the artefacts produced in each phase of the software development life cycle. Gain an overview of the main software architecture design approaches. Understand and apply good coding practices. Acquire the fundamentals of test design, execution, and documentation. Identify the main maintenance activities and the associated supporting tools. Develop practical skills in the use of CASE tools to support the different phases of the software development life cycle.
  • Teaching methodologies

    Teaching methodologies

    Development and documentation of the software process based on projects (Project-Based Learning), integrating content from other courses (Databases and Web Programming), and including presentations of complementary topics of particular interest to the students.
  • References

    References

    Sommerville, Ian, Boston - Software Engineering, 10th edition, Boston, Pearson, 2016 Maxin, Bruce; Pressman, Roger - Software Engineering: A Practitioner's Approach, 9th edition, McGraw Hill, 2019 Guerreiro, Sérgio - Introdução à Engenharia de Software, FCA, 2015  
  • Assessment

    Assessment

    Descrição dos instrumentos de avaliação (individuais e de grupo) ¿ testes, trabalhos práticos, relatórios, projetos... respetivas datas de entrega/apresentação... e ponderação na nota final.

    Exemplo:

    Descrição

    Data limite

    Ponderação

    Teste de avaliação

    dd-mm-yyyy

    30%

    Portfolio

    dd-mm-yyyy

    40%

    (...)

     

     

     

    Adicionalmente poderão ser incluídas informações gerais, como por exemplo, referência ao tipo de acompanhamento a prestar ao estudante na realização dos trabalhos; referências bibliográficas e websites úteis; indicações para a redação de trabalho escrito...

     

SINGLE REGISTRATION
Lisboa 2020 Portugal 2020 Small financiado eu 2024 prr 2024 republica portuguesa 2024 Logo UE Financed Provedor do Estudante Livro de reclamaões Elogios entidade signataria