As systems and services become more pervasive, large-scale and complex, new methods are needed to deal with the complexity of conceiving them, designing them and implementing them. ASE will expose students to software engineering methods that provide them the ability to develop software systems and services in a more efficient and effective way. The presented methods will embrace the full range of software engineering activities, from requirements engineering to software validation, from formal models to practical artifacts, from products to processes. The program of the course will evolve continuously as new methods emerge and others become obsolete. Practical application to a project will be part of the course
Profesorado
Responsable
Xavier Franch Gutiérrez (
)
Horas semanales
Teoría
1
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0.4
Aprendizaje autónomo
6.6
Competencias
Competencias Técnicas de cada especialidad
Service engineering
CEE5.1 - Capacidad para participar en proyectos de mejora o creación de sistemas de servicios, aportando especialmente: a) propuestas de innovación e investigación basadas en nuevos usos y desarrollos de las tecnologías de la información b) la aplicación de los principios de la ingeniería del software y las bases de datos en el desarrollo de los sistemas de información que sean más adecuados, c) la determinación, instalación y gestión de la infraestructura/plataforma informática necesaria para el funcionamento eficiente de los sistemas de servicio.
CEE5.2 - Capacidad para aplicar los conocimientos obtenidos en sistemas de servicio de cualquier tipo, estando familiarizado con algunos de ellos, y con conocimiento profundo de los sistemas de comercio electrónico y sus extensiones (eBusiness, eOrganization, eGovernment, etc.).
Competencias Técnicas Genéricas
Genéricas
CG2 - Capacidad para dirigir, planificar y supervisar equipos multidisciplinares.
Competencias Transversales
Sostenibilidad y compromiso social
CTR2 - Conocer y comprender la complejidad de los fenómenos económicos y sociales típicos de la sociedad del bienestar. Ser capaz de analizar y valorar el impacto social y medioambiental
Razonamiento
CTR6 - Capacidad de razonamiento crítico, lógico y matemático. Capacidad para resolver problemas dentro de su área de estudio. Capacidad de abstracción: capacidad de crear y utilizar modelos que reflejen situaciones reales. Capacidad de diseñar y realizar experimentos sencillos, y analizar e interpretar sus resultados. Capacidad de análisis, síntesis y evaluación.
Objetivos
To get introduced to the current practices of software engineering
Competencias relacionadas:
To apply software engineering methods and techniques in a project
Competencias relacionadas:
Contenidos
Preliminaries
Motivation. Software Engineering in the 201x. The fundamental principles of Software Engineering. Review of Software Engineering skills and knowledge. Review of Software Engineering life-cycle and activities.
A guided tour to software engineering hot topics
Summary of the topics that are currently focus of the discipline, in the context of the life-cycle activities: business modeling, requirements engineering, software architecture and design, implementation issues, validation and testing, deployment, project management. Every year, one of these topics will be chosen to be studied in more detail
Empirical software engineering
The importance of empirical methods in Software Engineering. Qualitative approaches and quantitative approaches. Experimentation. Surveys. Case studies. Systematic Literature Reviews
The software engineering laboratory
Main components in a software project environment. IDEs (Eclipse, ...). Code repositories (git). Issue trackers. Collaborative spaces.
Actividades
ActividadActo evaluativo
Software engineering project
This is the only evaluation input for the course. The project will be organized into two-weekly iterations. Every iteration will have a concrete goal determined in the previous one. The evaluation of each iteration can be diverse: from presentations, to documentation, to hand-on experimentation Objetivos:2 Semana:
15
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Exposure to the theoretical background in software engineering
The student respectfully pay attention to the teachers' explanation
The student participates actively in the lessons both under teacher's requests or by own initiative
The student completes the (short) assignments proposed by the teacher Objetivos:1
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Metodología docente
The course is divided mainly into two parts.
In the first part, theoretical background is introduced to the student.
In the second part, the emphasis will be in the construction of a software product by teams of students. Additional theoretical concepts will be introduced whenever necessary. Teams will be sized depending on the number of students. Given the agile focus chosen for the course and also the intention to build non-trivial products, the target will be having teams among 5 and 7 students.
Método de evaluación
The final grade (FG) of the the course for a students is obtained by applying an individual factor (IF) to the team project grade (PG):
FG = IF * PG (FG will be truncated to fit in the range [0, 10])
PG will be obtained by evaluating the completeness and quality of the artefacts (including presentations) delivered during the course by every team (Qual) and considering also the scope of the project (Scop, the more ambitious the project is, the higher value):
PG = Qual * Scop, 0.8 <= Scop <= 1.2, 0 <= Qual <= 10 (PG will be truncated to fit in the range [0, 10])
IF will be obtained from the perception of the teacher during the course, and may involve the opinion of the student team mates:
Requirements engineering : from system goals to uml models to software specifications -
Lamsweerde, Axel van,
Wiley, 2009. ISBN: 978-0-470-01270-3 http://cataleg.upc.edu/record=b1342935~S1*cat
Qualitative Research & Evaluation Methods, 3rd edition -
Patton, Michael Quinn,
SAGE Publications, 2002. ISBN: 0761919716
Service research challenges and solutions fot the future Internet : S-Cube : towards engineering, managing and adapting service-based systems -
Papazoglou, M, Springer ,
cop. 2010.
ISBN: 978-3-642-17598-5 http://cataleg.upc.edu/record=b1382416~S1*cat
Software architecture : foundations, theory, and practice -
Taylor, Richard N; Medvidovi??, Nenad; Dashofy, Eric M, John Wiley ,
cop. 2010.
ISBN: 978-0-470-16774-8 http://cataleg.upc.edu/record=b1431665~S1*cat
The students need a basic knowledge on traditional software engineering: basic life cycle paradigms, and basic notions of requirements engineering, software architecture and implementation skills.