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 |
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
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.
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
Component | Group/Individual | Weight | 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.
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
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:
Contents | Contact hours | Outside 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)
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