Code |
16230
|
Year |
3
|
Semester |
S1
|
ECTS Credits |
6
|
Workload |
PL(30H)/T(30H)
|
Scientific area |
Informatics
|
Entry requirements |
N/A
|
Mode of delivery |
Face-to-face.
|
Work placements |
Not applicable.
|
Learning outcomes |
1) Knowledge: By the end of the course unit, students should know: Agile/Scrum; requirements (user stories, scenarios, modeling); design/architecture (UML/SysML); QA, testing, and CI; AI’s impact (testing, refactoring, generation); code smells/refactoring; DevOps, pipelines, and AI-supported workflows. 2) Skills: Students should be able to: gather/specify requirements (user stories, modeling); apply Agile to plan/track/reflect on sprints; model systems (e.g., use case diagrams); implement tests (unit, integration, exploratory) with AI assistance; analyze quality and refactor code smells; design/operate CI/CD; use assistants responsibly; communicate effectively in teams (retrospectives, planning, demos). 3) Competences: Students should demonstrate: iterative team delivery (Scrum); collaborative proficiency (GitHub/pipelines); critical thinking; ethics/sustainability (responsible AI); continuous/lifelong learning.
|
Syllabus |
1. Introduction to Software Development and Software Products 2. Software Processes and Agile Development 3. Lifecycle Models: Waterfall, Iterative, Incremental 4. Features, Scenarios, and User Stories 5. Model-Driven Requirements Engineering 6. System Architecture 7. System Modeling 8. Software Testing and AI-Assisted Testing 9. Automated Refactoring and Code Smells with Intelligent Tools 10. Continuous Integration and Software Engineering Platforms 11. AI-Assisted Software Engineering
|
Main Bibliography |
- Bass L., Lu Q., Weber I., and Zhu L., Engineering AI Systems: Architecture and DevOps Essentials, Pearson, 2025 - Sommerville I., Engineering Software Products: An Introduction to Modern Software Engineering, Pearson, 2020 - Fowler M., Refactoring (2nd Edition), Addison-Wesley Signature Series, 2018 - Sommerville I., Software Engineering, 9th edition, Pearson Education, 2011 - Pressman R. S. and Ince D., Software Engineering - A Practitioner’s Approach, McGraw-Hill, 2007 - Rambaugh J., Jacobson I. and Booch G., The Unified Modeling Language Reference Manual, Addison-Wesley, 2005
|
Teaching Methodologies and Assessment Criteria |
Teaching Methodologies • Theoretical lectures • Practical and laboratory classes • Group project • Practical assignments, both individual and group-based, conducted in the classroom Assessment 1) During the teaching-learning period • F1: 1st Term Test – 5 marks • F2: 2nd Term Test – 6 marks • BT: 2 Badges (Individual Tasks) – 1 mark • P: Group Project – 8 marks Final Grade (Continuous Assessment) = F1 + F2 + BT + P Maximum Score: 20 marks 2) Exam Option • E: Written Exam – 12 marks • P: Individual Project – 8 marks Final Grade (Exam Option) = E + P Maximum Score: 20 marks
|
Language |
Portuguese. Tutorial support is available in English.
|