Systems Analysis


This course aims to provide students with knowledge of cutting edge technologies for the specification, analysis, design, implementation and maintenance of complex software systems. The following aspects are considered fundamental: -Provide students with knowledge about Software Engineering methods -Provide knowledge about the software design methods 'state of the art' - Evaluation and quality assurance in software systems approaches - Support training for process and business environments analysis

General characterization





Responsible teacher

Pedro Manuel Carqueijeiro Espiga da Maia Malta


Weekly - Available soon

Total - Available soon

Teaching language

Portuguese. If there are Erasmus students, classes will be taught in English


Programming knowledge


¿Pressman, Roger (2014) Software Engineering: A Practitioner's Approach, 8th edition, McGraw-Hill, ISBN-10: 9780078022128

¿Sommerville, Ian (2016) Software Engineering, 10th Edition,, University of St Andrews, Scotland

¿Software Engineer¿s Reference Book; John McDermid; Butterworth-Heinemann (1992);  ISBN: 978-0750608138

¿Introdução à Engenharia de Software - Sérgio Guerreiro, FCA ; ISBN 9789727227952 (PT)

¿UML Metodologias e ferramentas CASE, by Alberto Silva e Carlos Videira, Centro Atlântico, ISBN:989-615-0095 

¿Fundamental UML (Third Edition), by Mauro Nunes e Henrique O´Neill, FCA-Lidel, ISBN:972-722-481-4 

Teaching method

Teaching Methods

¿ Expository and interrogative teaching:lectures and discussions.

¿ Declarative:tutorials tools

¿ Active and participative:case studies, participation in project teams, software design with UML.

Evaluation method


1st round:Two Theoretical tests (50%) + Practicals Works (50%)

2nd round:final exam (100%

Subject matter

The curricular unit is organized in six Learning Units (LU):

LU1 - General concepts Software product Characterization Software engineering basic elements  

LU2 - Models of software development processes Linear sequential, RAD , prototyping, evolutionary models

LU3 - Systems development Methods Structured Analysis, SSADM, Information Engineering, SSM, OO Methods

LU4 - Object Oriented Analysis and Design (OOA/OOD) Concepts. Unified Modeling Language Analysis and specification of software requirements

LU5 - Data Modelling Entity Relationship Model  Extensions to the ER model Defining the content data structure

LU6 - Software Engineering and the software development problematic  Software development cycle in the object-oriented perspective: Rational Unified Process, Iconix. Agile methods: XP, Scrum and Crystal. Process improvement: Levels of maturity (Capability Maturity Model). Metrics in the software development process. Software Patterns


Programs where the course is taught: