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 At the end of this unit the student should be able to:

LO1- Understand the key technologies and methodological issues

LO2-Knowing the data and information management methods

LO3-Mastering the methods and issues related to the design of systems

LO4-Handle tools and techniques for modeling and development of information systems.

General characterization

Code

100006

Credits

6.0

Responsible teacher

Vítor Manuel Pereira Duarte dos Santos

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

-Software Engineering:A Practitioner's Approach Roger S. Pressman McGraw-Hill Higher Education 7 edition (1 April 2009), ISBN-10:0071267824

-Requirements Analysis:From Business Views to Architecture David C. Hay Prentice Hall (2002) ISBN:9780130282286

-Effective Methods for Software Testing, 3rd Edition William E. Perry Wiley (2006) ISBN:978-0764598371

-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 based on lectures and practical classes. The lectures are, in essence, for expository sessions, which serve to introduce the fundamental concepts of databases associated with each of the topics. The practical classes are based on the software design in UML, using the computers and installed software.

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