Subject: Software Configuration Management (06 - E2510)

Basic Information

Scientific or art field:Applied Computer Science and Informatics
Course specification

Course is active from 30.09.2005..

To make students capable of applying best practice, methods, techniques and tools in the domain of Software Configuration Management (SCM) with the emphasis on the SCM process introduction and improvement.
At the end of the course students are capable of: introducing SCM best practice, methods and tools in the software development process, improve existing SCM process, analyze available tools and identify advantages and disadvantages of each, understand pros and cons of different version control systems, change management systems, build and release management systems, systems for managing alternative lines of development etc. By using modern SCM tools and by the development and documentation of SCM process and the development of supporting application, students acquire a broad range of practical skills.
Theoretical lectures: Basic definitions and historical development of Configuration Management - CM. Traditional notion of CM; Identification of configuration, change control, status accounting, audit and verification. Configuration management in the context of software development (Software Configuration Management - SCM). Source code management; Version Control System - VCS; architectures, advantages and disadvantages : social coding; repository models; concurrent change management models; alternative development courses. Dependency management. Build management, automation, tools. Change Management; Events; Requests for change tracking; support systems. Issue management; identification; traceability; automation. Deployment: identification, authentication, security, planning. Industrial standards and frameworks. Models of maturity. Practical classes: file compare tool patch and diff. Centralized version control systems (Subversion). Distributed version control systems (Git, Mercurial). Tools to support issue tracking (Trac). Code review (ReviewBoard, Rietveld, Gerrit, barkeep). Tools for automated build (Apache Ant + Ivy, Maven). Systems for continuous integration (Jenkins). The design and documentation of the SCM process in accordance with the recommended practice. Creating Web applications to support the proposed SCM process.
Lectures, Computer exercises; Consultation. Design and implementation of project assignment by working within project teams. At the end of the semester, public presentations of the most successful teams are organized with the discussion of the obtained results. The defense of project assignment is oral. The final exam is oral. Final grade is based on the score from the final exam and project defense.
A. Mette, J. HassConfiguration Management Principles and Practice2003Addison WesleyEnglish
Aiello, R. & Sachs, L. Configuration Management Best Practices: Practical Methods that Work in the Real World2010Addison-Wesley Professional English
Berczuk, S. & Appleton, B.Software configuration management patterns: effective teamwork, practical integration2003Addison-Wesley ProfessionalEnglish
DoD USAConfiguration management guidance2001Department of Defense--United States of AmericaEnglish
Chacon, S.; Hamano, J. & Pearce, S. Pro Git 2009APressSerbian language
Reelsen, A. Play Framework Cookbook2011Packt Pub Limited English
Course activity Pre-examination ObligationsNumber of points
Theoretical part of the examNoYes50.00
Name and surnameForm of classes
Missing picture!

Dejanović Igor
Full Professor

Missing picture!

Okanović Dušan
Assistant Professor

Missing picture!

Ivković Željko
Assistant - Master

Computational classes
Missing picture!

Vuković Željko
Assistant Professor

Computational classes