Distributed Software Development

Course Description

Software development processes and methods. Object, component and service software models. Risk management. Process visibility. Software project documentation. Team software development. Distributed software development. Methods and tools for support of team and distributed software development. Distributed system architectures. Middleware. Design and development of enterprise-class systems (messaging, Enterprise JavaBeans, web services). Work on the distributed projects in multicultural environment: requirements specification, project planning, design, task distribution, online communication and collaboration, implementation and verification, presentation, project management and surveillance, work analysis in distributed project.

General Competencies

Knowledge and skills required for team development of software systems in distributed and international settings. Basic knowledge required for design and development of distributed software systems.

Learning Outcomes

  1. define properties of distributed software development
  2. identify risks in distributed software development
  3. apply tools for support of distributed software development
  4. recognize impact of cultural differences on collaboration between distant teams
  5. design system architecture suitable for distributed development
  6. plan the organization and development process suitable for distributed development

Forms of Teaching

Lectures

Course lectures are concentrated in the first five weeks addressing the knowledge and skills necessary for successful completion of the project-based second part of the course.

Laboratory Work

Detailed insight into project course, steering and close contact with students is maintained during project-based part of the course. Each project is assigned a supervisor that monitors project work and assists students in overcoming various problems.

Other

Guest lecturers from industry.

Acquisition of Skills

Students acquire skills necessary for successful completion of concrete project task and in usage of tools required in distributed software development.

Other Forms of Group and Self Study

Project-based work in distributed international teams.

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Threshold Percent of Grade
Seminar/Project 0 % 89 % 0 % 89 %
Mid Term Exam: Written 0 % 1 % 0 %
Final Exam: Written 0 % 10 %
Exam: Written 0 % 11 %
Comment:

Grading process shall be detailed on the first class.

Week by Week Schedule

  1. Course introduction. Cultural differences in distributed projects. Project proposals.
  2. Elements of distributed development. Presenting project work. Organization of of distributed projects. Forming student project teams.
  3. Presentation of project teams and project vision. Version management tools. Tools for collaborative work support in distributed software development. Architectural aspects of distributed software development.
  4. Project plan presentations. Experiences in distributed development. Issues in group work - theory and experiences.
  5. Requirements and system architecture student presentations. Guest lecture. Software engineering in pervasive computing.
  6. Project work.
  7. Project work, consultations.
  8. Project state presentation.
  9. Project work, consultations.
  10. Project state presentation.
  11. Project work, consultations.
  12. Project work, consultations.
  13. Release candidate presentation.
  14. Project work, consultations.
  15. Final project presentation.

Study Programmes

University graduate
Computer Engineering (profile)
Specialization Course (3. semester)
Software Engineering and Information Systems (profile)
Specialization Course (3. semester)
Telecommunication and Informatics (profile)
Specialization Course (3. semester)

Literature

Somerville, I. (2006.), Software Engineering, Addison Wesley
Leon, A. (2000.), A Guide to Software Configuration Management, Artech House
Karolak, D. (1998.), Global Software Development: Managing Virtual Teams and Environments, IEEE Computer Society Press

Laboratory exercises

General

ID 86521
  Winter semester
8 ECTS
L3 English Level
L3 e-Learning
60 Lectures
0 Exercises
45 Laboratory exercises
0 Project laboratory

Grading System

85 Excellent
75 Very Good
65 Good
50 Acceptable