Curricular Unit:Code:
Systems and Networks Project834PSRS
Year:Level:Course:Credits:
1MasterComputer Systems Engineering (Mobile Computation)6 ects
Learning Period:Language of Instruction:Total Hours:
Portuguese/English78
Learning Outcomes of the Curricular Unit:
This curricular unit aims to provide students with technical knowledge and emerging technologies on the design, development and implementation of backend systems, developing the fundamentals, models and software engineering tools used in the design, management, development, evaluation, testing, implementation and documentation of backend systems.
Upon successfully completing this course, students should be able to:
- Manage, plan, design and develop the entire project of a system
- Defining the architecture components of a system appropriately
- Choose the right development tools
- Develop the entire system, both in terms of code and documentation of the entire application
- Define a test automation and software quality plan
- Implement the developed system
- Understand the concepts of integration, delivery and continuous deployment
Syllabus:
1 Specification of system requirements
2 Modeling a system
3 Architecture of a system
4 Developing a system
5 Documentation of a system
6 Automated testing and software quality
7 Integration and continuous delivery
8 Deployment of systems
Demonstration of the Syllabus Coherence with the Curricular Unit's Objectives:
As the goal is for students to develop applied skills for defining and developing projects, the subjects are oriented towards acquiring those skills.
Teaching Methodologies (Including Evaluation):
The transmission of knowledge in this course will be carried out using theoretical-practical classes, where the fundamental concepts for understanding the program themes are presented. Students also have the opportunity to apply and develop their concrete projects that complement the experience base on the topics covered. The assessment is continuous, through the development of an individual project.
Demonstration of the Coherence between the Teaching Methodologies and the Learning Outcomes:
The teaching methodology is oriented towards practical work, applying concepts and techniques previously discussed, and as such it is considered suitable for acquiring practical skills for developing complex projects.
Reading:
[1] Guerreiro, S., “Introdução à Engenharia de Software”, FCA, 2015
[2] Pressman, R., ”Software Engineering: A practitioner’s Approach”, 8th Ed., McGraw-Hill, 2015.
[3] Labouardy, M., “Pipeline as Code: Continuous Delivery with Jenkins, Kubernetes, and Terraform”, Manning, 2021.
[4] Elder, M., Kitchener, J., Topol, B., “Hybrid Cloud Apps with OpenShift and Kubernetes: Delivering Highly Available Applications and Services”, O'Reilly, 2021.