Systems Engineering

SYSTEMS MODELLING AND ANALYSIS

General Data

Type of credits: ECTS
Number of credits: 5.00
Status: Mandatory
Type: Course
Academic Year:
Term:
Languages: Portuguese
Available for Mobility Students: No
Restricted to alliance: No
Code: Sin codigo

Coordination

Description

Theory
1

Laboratory
4
 

Instructors

Dulce Mota


 

Contents

1. Development Process (CP1/15%):
- Main Concepts;
- Disciplines (e.g. Requirements, Analysis, Design, Coding);
- Types of processes (e.g. traditional (waterfall approach), I&I, agile);
- Exercises and projects following the I&I process.

2. Requirements (CP2/20%):
- Methodologies for the identification, analysis, specification and validation of requirements;
- Functional and non-functional requirements;
- Visual modelling: Use case and System sequence UML diagrams.

3. Analysis (CP3/25%):
- Methodology for the identification of domain concepts and their relations;
- Domain model;
- Visual modelling: Activity, Component and Class UML diagrams.

4. Design (CP4/25%):
- RDD and GRASP principles;
- Definition of responsibilities and behaviour;
- Visual modelling: Class and the Sequence UML diagrams.

5. Coding (CP5/15%):
- Methodology for passing from design to code;
- Examples, exercises and projects.
 

Learning Outcomes

This course aims to provide students with initial and fundamental knowledge and skills on:
1. Systems development processes, with a special focus on Iterative and Incremental approaches (I&I);
2. Requirements engineering, namely identifying and documenting a set of requirements;
3. Analyse a problem, namely its specification and decomposition into several parts (subsystems, components);
4. Design, namely modeling of the various subsystems and components;
5. Coding of the proposed design, namely the software components.
To this end, appropriate engineering tools and artifacts (e.g., UML diagrams) are used.

At the end of the UC, the student should be able to:
1. Understand the dimensions and actors of software development processes, with special emphasis on the Unified Process (UP) of Systems Development (OB1).
2. Apply the UP in the construction of object-oriented systems (OB2).
3. Apply appropriate artifacts and notations to describe requirements, analysis, design, and the solution (OB3);
4. Apply design principles and patterns, particularly in OO software (OB4);
5. Apply methodologies and tools for passing from the design to code (OB5).