2023

Methods and Software Development

Name: Methods and Software Development
Code: INF13204L
6 ECTS
Duration: 15 weeks/156 hours
Scientific Area: Informatics

Teaching languages: Portuguese
Languages of tutoring support: Portuguese, English
Regime de Frequência: Presencial

Sustainable Development Goals

Learning Goals

Transmit to the student solid notions about discipline of Software Engineering, which allows the creation of quality software, safe, reliable and of easy maintenance. Upon completion of the course, the students should be able to:
- Know and use the different processes of software development;
- Know and create the different types of software requirements;
- Model software;
- Know and use the processes associated with software design and implementation;
- Know and use different software patterns during software development;
- Know and use the concepts of configuration management;
- Know and sue the concepts of software testing and validation;

Contents

- Introduction to Software Engineering
- Software Development Processes
- Plan based methods
- Agile methods

- Requirements engineering
-- Functional, non-functional, system and user requirements
-- Requirements validation
-- Requirements management

- Software modeling
-- Context, interaction, structural and behavior models
-- Software development based in models

- Design and implementation of software
-- Software design using UML
-- Software patterns
-- Software implementation

- Configuration management
-- Change, version and release management
-- System build

- Software verification and validation
-- Development, release and user testing

Teaching Methods

The teaching methodology will be based on lectures and practical classes. Active learning is sought to stimulate the student to develop the various topics that are addressed in this curricular unit. Group problems will be solved during the practical classes, which will be part of a project that will be developed throughout the curricular unit, with the purpose of developing a software from scratch, resorting to the concepts of Software Engineering presented in the lectures and to the tools explored in the practical classes, allowing students to consolidate the knowledge acquired in this curricular unit.

Assessment

In the continuous assessment regime, the final grade of the course will result from the weighted average of the practical component and the theoretical component, with the following weightings:

- Theoretical component:
-- Test 1: 30%;
-- Test 2: 30%;
- Practical component:
-- Practical work: 40%;

In the examination regime, the final grade of the discipline will result from the weighted average of the practical component and the theoretical component, with the following weightings:

- Theoretical component:
-- Exam: 60%;
- Practical component:
-- Practical work: 40%;

Teaching Staff