Identifying Data 2022/23
Subject (*) Development Tools Code 614G01054
Study programme
Grao en Enxeñaría Informática
Descriptors Cycle Period Year Type Credits
Graduate 1st four-month period
Fourth Optional 6
Language
Spanish
Galician
English
Teaching method Hybrid
Prerequisites
Department Ciencias da Computación e Tecnoloxías da Información
Computación
Coordinador
Parapar López, Javier
E-mail
javier.parapar@udc.es
Lecturers
Landín Piñeiro, Alfonso
Parapar López, Javier
E-mail
alfonso.landin@udc.es
javier.parapar@udc.es
Web http://http://www.dc.fi.udc.es/~parapar/
General description Nesta materia explicaranse os fundamentos conceptuais e prácticos en canto a ferramentas de axuda ao desenvolvemento de proxectos software. En particular explicaranse as seguintes ferramentas, as súas vantaxes e o seu correcto aproveitamento desde un punto de vista da Enxeñaría do Software:
Contornas integradas de desenvolvemento
Ferramentas de automatización de empaquetado
Ferramentas de control de versións e traballo cooperativo
Ferramentas de integración continú
Ferramentas de task/time/bug tracking
Ferramentas de análise de código e dependencias:
Ferramentas de análise de rendemento e monitorización
A materia ten pois un carácter marcadamente práctico e tenta achegar ao estudante coñecemento profundo sobre as ferramentas de desenvolvemento máis usadas a día de hoxe na contorna empresarial da TI.

Study programme competencies
Code Study programme competences
A22 Coñecemento e aplicación dos principios, metodoloxías e ciclos de vida da enxeñaría do sóftware.
A25 Capacidade para desenvolver, manter e avaliar servizos e sistemas sóftware que satisfagan todos os requisitos do usuario e se comporten de forma fiable e eficiente, sexan accesibles de desenvolver e manter, e cumpran normas de calidade, aplicando as teorías, principios, métodos e prácticas da enxeñaría do sóftware.
B1 Capacidade de resolución de problemas
B2 Traballo en equipo
B3 Capacidade de análise e síntese
B4 Capacidade para organizar e planificar
C3 Utilizar as ferramentas básicas das tecnoloxías da información e as comunicacións (TIC) necesarias para o exercicio da súa profesión e para a aprendizaxe ao longo da súa vida.
C6 Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse.
C7 Asumir como profesional e cidadán a importancia da aprendizaxe ao longo da vida.

Learning aims
Learning outcomes Study programme competences
Software Development A25
B2
B3
B4
C3
Software Development A22
B1
Conocer e manexar as principais contornas de desenvolvemento C6
Aprender o manexo de ferramentas de control de versións e de mantemento software A25
B1
B3
C6
Conocer ferramentas para a xestión de proxectos e seguemento de incidencias A25
C3
C6
C7
Usar ferramentas de apoio ao despregamento, empaquetado, versionado e distribución do software A25
B4
C3
Usar ferramentas de inspección de código B2
Usar ferramentas de análises de rendemento e monitorización de aplicacións A25
C3
C7

Contents
Topic Sub-topic
Integrated Development Enviroments Eclipse
Tools for version control and cooperative work Git
Tools for task/time/bug tracking Redmine
Tools for packing automation Maven
Tools for continuous integration and deployment Jenkins, Kubernetes
Tools for continous inspection SonarQube
Tools for analysis of performance and monitoring jMeter, JStat, JConsole, JVisualVM

Planning
Methodologies / tests Competencies Ordinary class hours Student’s personal work hours Total hours
Supervised projects B2 B3 B4 C6 C7 7 21 28
Laboratory practice A22 A25 B1 C3 14 42 56
Mixed objective/subjective test A22 A25 B1 B3 C6 0.5 0 0.5
Guest lecture / keynote speech B4 C6 C7 18 47.5 65.5
 
Personalized attention 0 0
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies Description
Supervised projects Traballos tutelados propostos polo profesor e desenvolvidos polos estudantes ou ben en grupo ou ben individualmente.
Laboratory practice Ao tratarse dunha materia eminentemente práctica o desenvolvemento por parte do alumno dun caso de práctica para o uso de todas as ferramentas comentadas nas leccións maxistrais será fundamental
Mixed objective/subjective test Avaliarase o dominio dos coñecementos teóricos e operativos da materia.
Guest lecture / keynote speech Clases maxistrais na exposición dos coñecementos teóricos utilizando diferentes recursos: a lousa, transparencias, proxeccións, demostracións e a facultade virtual. Pode incluír conferencia convidada.

Personalized attention
Methodologies
Supervised projects
Laboratory practice
Description
Se propondran pequenos traballos tutelados para a resolución por parte do alumno co soporte do coñecemento do profesor.
Ao tratarse dunha materia eminentemente práctica o desenvolvemento por parte do alumno dun caso de práctica para o uso de todas as ferramentas comentadas nas leccións maxistrais será fundamental

Assessment
Methodologies Competencies Description Qualification
Mixed objective/subjective test A22 A25 B1 B3 C6 Questions about the acquired knowledge. Questions involving critical reasoning for solving practical problems of the real world.It is mandatory to achieve at least the 40% of the marks in order to pass the course 40
Supervised projects B2 B3 B4 C6 C7 Tracking of the working process and evaluation of the final output from the students. It is mandatory to achieve at least the 40% of the marks in order to pass the course 20
Laboratory practice A22 A25 B1 C3 Correctness and completeness of the assignments proposed to the students while adequately using the dev tools introduced in the subjects. It is mandatory to achieve at least the 40% of the marks in order to pass the course 40
 
Assessment comments

Para a segunda oportunidade e as convocatorias non ordinarias, tanto as prácticas e traballos como a teorías avaliaranse no exame mixto.

Se non se acada a nota mínima nas distintas probas a nota máxima do alumno será 4.5


Sources of information
Basic Alan Berg (). Jenkins Continuous Integration Cookbook,. Packt Publishing
John Ferguson Smart (). Jenkins: The Definitive Guide. O'Reilly
Andriy Lesyuk (). Mastering Redmine. Packt Publishing
Sonatype Company (). Maven: The Definitive Guide. O'Reilly
G. Ann Campbell, Patroklos P. Papapetrou (). Sonar in Action. Manning Publications
Jon Loeliger & Matthew McCullough (). Version Control with Git: Powerful tools and techniques for collaborative software development. O'Reilly

Complementary


Recommendations
Subjects that it is recommended to have taken before
Internet and Distributed Systems/614G01023
Advanced Programming/614G01030

Subjects that are recommended to be taken simultaneously
Development Methodologies/614G01051
Software Verification and Validation/614G01225

Subjects that continue the syllabus

Other comments


(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.