Academic year 2013-14

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 grade ( 60%) will be based on the documentation and presentations produced by the group . The other part of the grade is determined by the preparations of the seminars and practical sessions with computers , which have to be submitted individually or by pairs. The course has no final exam.

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

ComponentGroup/IndividualWeight Recoverable

 Prototype and final documentation

Group

35%

Yes

 Intermediate documentation of design Group 10% Yes
 Final presentation Group 15% No
 Seminar preparations Individual/pairs 20% Yes
 Practical sessions with computers Individual/pairs 20% No

35 % of the overall grade for each student is determined by the final results of the groups, which is due at the end of the trimester and consists of the prototype and final documentation including a description of user requirements, system architecture, system design, user interface design, test specifications and a security assessment of the application.

The groups will be required to submit an intermediate version of the documentation at mid- trimester , which will account for 10% of the overall grade.

The final presentations will account for 15 % of the final grade and will be scheduled in the week of the e xams. Each final presentation will have a maximum of 20 minutes ( 15 minutes for the presentation and 5 minutes for answer ing questions). The final presentation will be evaluated by the following:

− Clarity of the presentation

− Credibility, convincingness

− Technical content

− Time control

− Answers to questions

This course has a total of four seminars. All students will be required to submit their preparation of the seminar to the course Moodle before the seminar. Late submissions will not be accepted. These four submissions form the individual component of the grade and will account for 20 % of the overall grade for the course.

This course has a total of five practical sessions with computers , 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 20% of the overall grade.

This course depends heavily on work done in seminars and practical computer sessions . 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  12
 Android practical sessions 10 7
Intermediate documentation 0 10
Prototype 0 15
Final documentation 0 10
Final presentation 2 8

 

38

62

Total: 100

Note that this course does not have a final exam, but the final presentation will be done in the exam week. The total number of hours dedicated to group work (prototype, documentation and presentation) will be the s um of the individual hours of each student in the group, indicated in this table .

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 o f 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