Large Scale Software Development
Keywords |
Classification |
Keyword |
OFICIAL |
Software Engineering |
Instance: 2022/2023 - 1S
Cycles of Study/Courses
Acronym |
No. of Students |
Study Plan |
Curricular Years |
Credits UCN |
Credits ECTS |
Contact hours |
Total Time |
EEI |
1 |
Syllabus |
1 |
- |
6 |
52 |
162 |
M.EIC |
149 |
Syllabus |
1 |
- |
6 |
52 |
162 |
Teaching language
Suitable for English-speaking students
Objectives
The course unit has the key goal to develop the following skills in the students:
- Apply an agile process to the full software development life cycle of a real software system of medium-large complexity and scale.
- Apply agile development practices.
- Use tools to automate and support the practices used along the lifecycle, from the requirements to usage.
- Use of infrastructures and services for large scale software systems to develop and deploy solutions with strong integration of components and applications.
- Development of collaborative work integrating different participants (team, customers, external experts), promoting design negotiation and participatory decision-making.
- Consolidation of knowledge and skills acquired in several courses related with software development, in particular: Software Engineering, Databases, and User Interfaces.
Learning outcomes and competences
The students will be capable to define and apply one development process to build a medium-large scane software system, using agile practices, typical software development tools, in a multi-team environment.
Working method
Presencial
Pre-requirements (prior knowledge) and co-requirements (common knowledge)
Software engineerig.
Program
- Introduction to development processes for large scale software systems and medium-large complexity.
- Review of the most popular agile methods and practices for large scale software systems (e.g. Scrum/LeSS, Kanban e XP).
- Survey and experimentation of software development tools to automate and support the practices used along the software development life cycle, from requirements to usage.
- Overview of architectures, infrastructures and services for large scale software, to develop and deploy of solutions with heavy integration of components and applications.
- Teamwork practices integrating several intervenients (team, customers, external experts).
- Seminars on hot topics and trends, in terms of research and practice, academy and industry, including: Agile at Large, DevOps, Agile Quality, Microservices.
Mandatory literature
Larman, C., & Vodde, B.; Large-scale scrum: More with LeSS, Addison-Wesley Professional, 2016
Teaching methods and learning activities
Theoretical classes are used to the presentation and supervision of the projects and for the exposition of software developing tools and of used tools.
Laboratory classes are used to the development and tracking of the project, using the systems, languages and tools chosen to implement the system.
The development of the project is divided in iterations, each with their own concrete deliverables.
Type of evaluation: Distributed evaluation without final exam.
Evaluation Type
Distributed evaluation without final exam
Assessment Components
Designation |
Weight (%) |
Participação presencial |
10,00 |
Trabalho escrito |
30,00 |
Trabalho laboratorial |
60,00 |
Total: |
100,00 |
Amount of time allocated to each course unit
Designation |
Time (hours) |
Elaboração de projeto |
90,00 |
Elaboração de relatório/dissertação/tese |
20,00 |
Frequência das aulas |
26,00 |
Trabalho laboratorial |
26,00 |
Total: |
162,00 |
Eligibility for exams
The student must have the minimum grade of 40% in any of the items of the formula for calculating the final grade.
Calculation formula of final grade
Formula of evaluation: the final grade is based on the continuous evaluation of several activities and produced artifacts, along several iterations:
- Project development (Sprint 0) - 15%
- Project development (Sprints 1-4) - 45%
- Project final results - 30%
- Continuous individual evaluation - 10%
Note: Students with final grades equal to or greater than 19 may also be subject to the additional evaluation of an oral exam or of a written work with an individual critical reflection about the project.
Examinations or Special Assignments
Special assignments must follow similar evaluation rules. Students must contact the lecturers to define the special assignment, based on the availability, dates, and topics of the course unit.
Special assessment (TE, DA, ...)
Special evaluation students (including working students and soldiers) have the same evaluation methods as the other students. They must contact the professors at the beginning of the semester to let them know they are in the special evaluation regime, and establish how they will integrate the work groups associated with the projects underway in the curricular unit.
Classification improvement
To improve the classification the student must make another assignment with all the items mentioned before, and an extra oral exam; Improvements of the classification requested in the following academic year will require doing all the assignments forecasted for the students of that academic year.
Observations
-