Academic year 2014-15

Management and Deployment of ICT Services

Degree: Code: Type:
Bachelor's Degree in Computer Science 21471 Optional subject
Bachelor's Degree in Telematics Engineering 21737 Compulsory subject, 3rd year
Bachelor's Degree in Audiovisual Systems Engineering 22657 Optional subject

 

ECTS credits: 4 Workload: 100 hours Trimester: 3rd

 

Department: Dept. of Information and Communication Technologies
Coordinator: Johan Zuidweg
Teaching staff:

Johan Zuidweg, Zulqarnain Rashid

Language:

English

Timetable:
Building: Communication campus - Poblenou

 

Introduction

This is the teaching guide for the “Management and Deployment of ITC Services” (“Gestió i Desplegament de serveis TIC”) course , a mandatory course in the third year of Telematics Engineering studies of the Pompeu Fabra University. The objective of this project is for the students to acquire hands - on experience with software engineering processes and information technologies by designing and prototyping a real distributed computer application .

The Management and Deployment of ITC Services course follows the principles of Project Based Learning (PBL), where students learn by doing. Central to this project is the notion of apprenticeship, which prevails over simple knowledge transfer.

In this project, students will work together in groups of 4 - 5 to design a distributed application involving desktop computers, servers and mobile terminals . Students will learn to do a full software development cycle including user requirements capturing, user interface design, design by patterns and testing, applying Agile modelling and Extreme Programming techniques.

The Management and Deployment of ITC Services course is programmed in the third trimester of the third year of the Telematics Engineering studies and is a mandatory component of this study program.

This guide describes the different aspects of the project, including its objectives, technical content, evaluation, study material and planning of the sessions

 

Prerequisites

In order to be able to participate in this project, students should have a working knowledge of mathematics, programming and telecommunications theory corresponding to the third year of Telematics Engineering studies.

More specifically, students should have the following competences:

• To be able to apply basic mathematics (analysis, statistics, algebra and logic)

• To have basic experience in object oriented programming (Java)

• To have good knowledge of the OSI and TCP/IP protocol stacks and their protocols

Moreover the student will be expected to have a positive attitude towards teamwork, and to be prepared to solve not only technical problems, but also to participate in project planning, management and reporting.

 

Associated competences

 

Assessment

Since this course is based on teamwork, more than half the overall grade ( 60%) will be based on group effort including programming and presentation. Individual evaluation accounts for 40% of the overall and is based on a final exam at the end of the trimester.

The overall grade is the weighted sum of four evaluation components as indicated in the following table

ComponentGroup/IndividualWeight Recoverable

Seminars (presentation and discussion of project results)

Group

30%

No

Practicums (programming exercises) Group 30% Yes
Final exam Individual 40% Yes

The final exam will be part multiple choice, part open questions and will account for 40% of the overall grade.

This course has a total of four seminars which will be dedicated to the presentation and discussion of project results of each group, including user stories, application design, task planning, test design, extreme programming practice, and the demo of the app.  The seminars account for 30% of the overall grade.  Note that seminars are not recoverable.

In addition, there are five practicums, the purpose of which is to gain experience with the use of the Android programming environment and virtualized servers. Students will have to submit individual assignments based on the hands - on work with Android which will account for 30% of the overall grade.

In order to pass the course, students will be required to have a minimum grade of 4.0 for each of the three evaluation components described above (seminars, practicums and final exam).

This course depends heavily on work done in seminars and computer practicums . For this reason, attendance of seminars and practical computer sessions will be monitored and the following penalizations apply in case of missed s essions without proper justification:

 up to 2 session missed*

 no penalization

 3 sessions missed*

-0,5 points on overall grade

 4 sessions missed*

-1,0 points on overall grade

 5 sessions missed*

-2,0 points on overall grade

 6 or more sessions missed*

 student fails course regardless of overall grade

*out of a total of 4 seminars and 4 practicums (8 sessions ). The last practicum is a troubleshooting session, and presence is not required.

Only medical conditions , pressing family circumstances such as death of a family member and official activities related to the UPF can be accepted as justification for absence in seminars or practical sessions , and these will have to be properly documented . Invalid reasons for missing seminars or practical sessions include incompatible work schedules, sports events that are not related to the UPF, travel time to or from home, non critical family events, holidays or holiday extensions, etc.

No penalizations apply for missing theory classes but attendance is strongly recommended to receive the theory necessary to complete the project and do the assignments of the seminars.

In addition the coordinator reserves the right to adjust grades of underperforming group members on an individual basis.

 

Contents

This section defines the global assignment for the project, as well as the contents of the course

Assignment

The assignment of the course is to design and prototype an application specified by the course coordinator at the beginning of the course.

The system must be based on requirements captured from real users, and the prototype must be tested and accepted by real users and by the coordinator who will act as the client of the system .

The groups have freedom to design and implement the system as they consider best, as long as it meets the description above and the user requirements captured during the project.

Alternatively, groups may propose a project of their own choosing. However, the proposed system has to satisfy the following criteria:

• It must involve at least a computer (desktop, server or both) and a mobile phone

• It must take requirements from real users who will be involved in the project

• It must be approved by the coordinator , who will act as the client of the project

Content modules

To provide the necessary theory and practice to design the system de scribed in the assignment above, this course will address the following content in classes, seminars and practical sessions:

− Agile Development

o Agile values

o Agile Modelling

o Using UML and other models

o Communication

o Tools

− eXtreme Programming (XP)

o Iterative software development

o Pair programming

− Human Machine Interfaces

o User interface flow charts

o Storyboards and mock ups

− Design Patterns

o How to use design patterns

o Model- View- Controller and other useful patterns

− Designing for Security

o Web security

o Network security

− Designing for Testing

o Objectives of testing

o Testing as integrated part of development

o Black box and white box testing

o Writing test cases

− Programming for Android Devices

o Android SDK

− Using Virtualized Infrastructures

o Virtualization principles

o Working with the UPF virtualized servers

 

Methodology

The project’s activities can be classified in four groups:

• Lectures : these are sessions with all students together, aimed at knowledge transfer. A class allows a professor to explain the basic theory necessary to solve the problems of his or her module.

• Seminars : these are sessions with groups of 4 or 5 students. Seminars are more interactive than classes, and are aimed at apprenticeship rather than knowledge transfer. In a seminar, students present and discuss their work, or collaborate on solving a particular problem.

• Practicums : these are sessions in a classroom with computers, where students learn to work hands - on with technologies explained during the course.

• Work outside the classroom : a large part of the time dedicated to the project will be spent outside the classroom. As this is a project aimed specifically at apprenticeship and “learning by doing”, students will be expected do much of the work of their project autonomously and outside class hours. The work done outside the classroom typically includes reading articles, writing the project’s documentation, preparing presentations, etc.

The number of hours per student inside and outside the classroom for each of these activities is given in the following table:

ContentsContact hoursOutside the classroom
 Theory 18 0
 Seminars 8 28
 Android practical sessions 10 36

 

36

64

Total: 100

Although no hours are listed for work outside the classroom related with theory, please note that this course has a final exam which will cover the theory taught during the trimester.

All formal communication in the project will be done through the Moodle platform. Only in exceptional cases will direct e-mail be used.

However, groups may use any means of internal communication they wish, including blogs, a website set up for the group, or online collaboration tools. The UPF or the project’s coordinator will not provide such additional tools, however.

Each group is strongly advised to maintain a document store where all the group’s documents and results are kept . Such an archive can be a physical file or (recommended) an on - line document repository such as Go ogle Groups/Docs, Blogspot, etc (the group is free to choose the plat form)

 

Resources

Basic Bibliography

• Scott Ambler: “Agile Modelling: Effective Practices for eXtreme Programming and the Unified Process, ISBN 0 - 471 - 20282 - 7, John Wiley & Sons, 2002

• Glenford J. Myers: “The Art of Software Testing”, ISBN 0 - 471 - 46912 - 2, John Wiley & Sons, 2004

Complementary bibliography

• Erich Gamma, Richard Helm, Ralph Johnson,John Vliss ides: “Design Patterns: Elements of Reusable Object - Oriented Software”, ISBN 0 - 201 - 63361 - 2, Addison - Wesley, 1995

• Martin Fowler: “UML Distilled: A Brief Guide to the Standard Object Modeling Language”, ISBN: 0 - 321 - 193687, Addison Wesley, 2003

• Jim Conallen: “Building Web Applications with UML”, ISBN: 0 - 201 - 61577 - 0, Addison Wesley, 1999

Other resources

• Toni Sallarès: "Introducció a UML: Enginyeria del Programari Orientada a Objectes”, UdG, http://ima.udg.es/Docencia/03 - 04/3105IS0008/IntUML.pdf