Systems Engineering
SYSTEMS MODELLING AND ANALYSIS
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).