Systems Analysis

Objectives

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

Code

100006

Credits

6.0

Responsible teacher

Pedro Manuel Carqueijeiro Espiga da Maia Malta

Hours

Weekly - Available soon

Total - Available soon

Teaching language

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

Prerequisites

Programming knowledge

Bibliography

¿•Pressman, Roger (2020) Software Engineering: A Practitioner's Approach, 9th edition, McGraw-Hill, ISBN10: 1259872971;  ISBN13: 9781259872976

¿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 
Page 

¿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

Evaluation:

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

2nd round:final exam (100%

Subject matter

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

LU1 – General concepts - Characterization of the Software product; Software engineering basic elements;  Programming paradigms

LU2 – Software Process Engineering and the software development problematic - Specification and software design (Structured Analysis, SSADM, Information Engineering, SSM, Object Oriented Analysis and Design (OOA/OOD),...) . Origin, structure and components of the Unified Modeling Language (UML);

LU3 - Models of software development processes - Prescriptive models : Linear sequential, RAD , Prototyping, evolutionary models, Rational Unified Process, Iconix.

LU4 – Agile development - Agile methods: XP, Scrum and Crystal,….

LU5- Modeling - Requirements Engineering -  Analysis and specification of software requirements;

         UML Diagrams

LU6 – Modeling - System Design  -  Design Process, Design Concepts, Design  Model

LU7- Architectural Design -  Software, Systems and Infrastructure Architectures

LU8 – Emerging Trends in Software Engineering

Programs

Programs where the course is taught: