filmeu

Class Software Engineering

  • Presentation

    Presentation

    The curricular unit presents the fundamentals of software engineering, in which the concepts are explained, integrated and related in order to facilitate communication between companies and their stakeholders (programmers, managers, business analysts, among others). At the same time, it presents a practical perspective that makes it possible to implement these concepts in the industrial reality, which requires the availability of effective and efficient software products. In the theoretical classes, all stages of the software development process are studied in detail, from a classic and agile perspective. In practical classes, the concepts are placed in the context of real problems with the use and experimentation of CASE that support the work of the software engineer. During the semester, students prepare a Project Plan describing a work for which they have already completed a requirements specification in the Systems Analysis and Design curricular unit.
  • Code

    Code

    ULP452-7341
  • Syllabus

    Syllabus

    Theoretical part: Introduction to Software Engineering Classic Software Development Processes Agile Software Development Processes Software Process Management Software Requirements Engineering Logical and Physical Design of Software Software Coding Software Verification and Validation Software maintenance Software Engineering Challenges Pratical part: The Project Plan HyperText Transfer Protocol (HTTP) JavaScript Document Object Model (DOM) UML state diagrams UML sequence and collaboration diagrams UML component and distribution diagrams Cyclomatic Complexity Unitary tests Complementary topics of software engineering
  • Objectives

    Objectives

    Know alternative ways to carry out the software development processes (classic and agile) Know how to plan a software project (from a theoretical and practical perspective) Know how to document all the artifacts resulting from each stage of the software development cycle Have an overview of the main software design architectures Know and apply good coding practices Get the basics of testing and documenting tests Know the main maintenance actions and associated tools Acquire practice in using CASE tools to support the various stages of the software development cycle
  • Teaching methodologies and assessment

    Teaching methodologies and assessment

    Software development and process documentation applying a project based learning approach with other courses (Data Bases and Web Programming).
  • 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
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