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

NA

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