Software Project Development

Base Knowledge

The knowledge base for this curricular unit is taught throughout the course.

Teaching Methodologies

Classes will be taught in a laboratory practice format, in computer rooms. The expository methodology will be employed for presenting the concepts of the course, supported by debates/discussions in class.

The project-based learning methodology will lead to the production of a software product, enabling students to engage in active investigation, apply knowledge in practice, and develop autonomy and collaborative skills.

Learning Results

The aim of this curricular unit is for the student to develop skills in articulating the main knowledge acquired throughout their academic career, through the appropriate development of a project, in accordance with the software project development life cycle.

Goals
The student must be able to develop the main activities associated with the implementation of a computer project, such as requirements gathering and analysis, system design, database implementation, coding and system testing.

Skills
The aim is to place greater emphasis on technical, project management and teamwork skills. The knowledge acquired throughout the course, in the most varied curricular units, will be applied in the development of the project, allowing the mastery of new tools and technologies. At the same time, planning and organizing the execution of tasks efficiently, ensuring deadlines are met. Finally, teamwork is intended to enable them to collaborate effectively, sharing responsibilities, culminating in the satisfaction of the project’s objectives.

Program

1. Project Selection and Detailed Description
1.1. Discussion on the importance of choosing the project theme

2. Project Planning
2.1. Project Management Methodologies
2.1.1 Traditional Waterfall Methodology
2.1.2 Agile Methodologies
2.2. Project Management Support Tools
2.3. Selection of Technologies and Tools

3. Analysis and Specification of Requirements
3.1. Fundamentals of Software Requirements
3.2. Business Process Modeling
3.3. Use Case Analysis
3.4. Functional Requirements
3.5. Non-functional Requirements

4. Project Development
4.1. Initiation of Practical Project Development
4.2. Data Modeling and Software Architecture
4.3. Control and Continuous Feedback

5. Testing
5.1. Develop Test Plan
5.2. Test Execution
5.3. Test Report

Curricular Unit Teachers

Internship(s)

NAO

Bibliography

Fundamental Bibliography:

[1] António Miguel, Gestão Moderna de Projetos Melhores Técnicas e Práticas (8ª Edição Atualizada), ISBN: 9789727228881, FCA-Editora, 2019.

[2] Jack R. Meredith, Mantel Jr., Samuel J., Scott M. Shafer, Margaret M. Sutton, Project Management in Practice, 6th edition, ISBN-13: 978-1119385622, 2016.

[3] João Paulo Pinto, Christiane Tscharf, A gestão ágil de projetos, ISBN: 978-972-722-900-0, FCA-Editora, 2019

 

Complementary Bibliography:

[1] Borges, J., Cunha, J. e Dias, T. Modelação de Dados em UML – Uma Abordagem por Problemas: FCA-Editora, 2015.

[2] Craig L. (2004). Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition): Pearson Education (US).