Skip to main content
Skip header

Software Project Management

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code460-2075/01
Number of ECTS Credits Allocated3 ECTS credits
Type of Course Unit *Optional
Level of Course Unit *First Cycle
Year of Study *Second Year
Semester when the Course Unit is deliveredSummer Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites Course succeeds to compulsory courses of previous semester
Name of Lecturer(s)Personal IDName
HRB33Ing. David Hrbáč
Summary
Learning Outcomes of the Course Unit
The aim of this course is to acquaint students with the basic techniques and technologies used in the field of "Configuration Management". Students will gain knowledge of basic concepts and techniques used for source code management. Furthermore, students will get acquainted with techniques for build, build management, environment configuration, change management and documentation.
Within the course, they will practically encounter tools that are used for the mentioned areas of configuration management such as Git, Maven, Jenkins, Docker, Gitlab, Github or Vagrant.
After completing the course, students will be able to share code with other developers using the Git repository, create changes in independent branches, project changes to the main development branch and resolve simple conflicts. Students will be able to build software in a unified way using the Maven tool and ensure easy software deployment using the Jenkins tool. They will also be able to run the software in a unified environment through the Docker container. Students will also be able to use Github / Gitlat tools for project management needs. Skills will also include the ability to create project documentation using the Markdown markup language and then create its HTML representation.
Course Contents
Contents of lectures:
• Basics of source code management and working with Git.
• Build engineering and use of the Maven tool.
• CI using Jenkins / Gitlab,
• Project management using Github / Gitlab.
• Markdown language Markdown and creation of HTML documentation.
• Manage your environment with Docker and Vagrant.
• DevOps principles.

Exercises are based on the main topics of the subject in the computer room: trying out the various principles and technologies. The goal is to acquire the following student skills: version the source code, compile, deploy, create a unified runtime environment, etc.

Exercise content:

The aim of the exercise is to demonstrate on practical examples the issues presented in lectures, the student will try the various principles and technologies, creating a Git repository and downloading it, creating a branch, projecting changes to the repository, publishing a repository, building, creating a runtime environment.

Exercise schedule:
• Introduction to source code versioning. Working with Git - Creating, downloading and publishing a Git repository. Writing changes to the repository - commit, switching between commits, push, pull, .gitignore. Upload your changes to a remote repository and update from the server.
• Independent branches - creation, switching, publishing, synchronization with a remote server. Merge, rebase, conflict resolution. File recovery from repository - checkout, reset.
• Build software, dependency management.
• Continuous Integration (CI) - Jenkins tool.
• Use of Gitlab / Github: work with repositories, SW project management, work with tickets,
• Work with integration requirements (Merge request / Pull request) and CI in Gitlab.
• Creating documentation using the Markdown language. Tools for creating HTML from Markdown documents. Pages using Gitlab / Github.
• Securing the runtime with Docker: Launching containers and managing them - list, stop, start, run.
• Mapping of external dependencies to the Docker container - directories, files, TCP / IP ports.
• Parameterization of virtualization using Vagrant and VirtualBox of the virtualization environment.
Recommended or Required Reading
Required Reading:
• COMPANY, Sonatype, 2008. Maven: The Definitive Guide: The Definitive Guide. 1st Edition. Beijing: O’Reilly Media. ISBN 978-0-596-51733-5.
• CONE, Matt, 2020. The Markdown Guide. B.m.: Independently published. ISBN 9798656504492.
• EVERTSE, Joost, 2019. Mastering GitLab 12: Implement DevOps culture and repository management solutions. B.m.: Packt Publishing. ISBN 978-1-78953-128-2.
• CHACON, Scott a Ben STRAUB, 2014. Pro Git. 2nd Edition. B.m.: Apress.
• LESZKO, Rafał, 2019. Continuous Delivery with Docker and Jenkins: Create secure applications by building complete CI/CD pipelines, 2nd Edition. 2nd Edition. B.m.: Packt Publishing.
• TSITOARA, Mariot, 2019. Beginning Git and GitHub: A Comprehensive Guide to Version Control, Project Management, and Teamwork for the New Developer. 1st ed. Edition. B.m.: Apress. ISBN 978-1-4842-5312-0.
• COMPANY, Sonatype, 2008. Maven: The Definitive Guide: The Definitive Guide. 1st Edition. Beijing: O’Reilly Media. ISBN 978-0-596-51733-5.
• CONE, Matt, 2020. The Markdown Guide. B.m.: Independently published. ISBN 9798656504492.
• EVERTSE, Joost, 2019. Mastering GitLab 12: Implement DevOps culture and repository management solutions. B.m.: Packt Publishing. ISBN 978-1-78953-128-2.
• CHACON, Scott a Ben STRAUB, 2014. Pro Git. 2nd Edition. B.m.: Apress.
• LESZKO, Rafał, 2019. Continuous Delivery with Docker and Jenkins: Create secure applications by building complete CI/CD pipelines, 2nd Edition. 2nd Edition. B.m.: Packt Publishing.
• TSITOARA, Mariot, 2019. Beginning Git and GitHub: A Comprehensive Guide to Version Control, Project Management, and Teamwork for the New Developer. 1st ed. Edition. B.m.: Apress. ISBN 978-1-4842-5312-0.
Recommended Reading:
• AIELLO, Bob, 2010. Configuration Management Best Practices: Practical Methods that Work in the Real World: Practical Methods that Work in the Real World. 1st edition. Upper Saddle River, NJ: Addison-Wesley Professional. ISBN 978-0-321-68586-5.
• QUIGLEY, Jon M., 2019. Configuration Management, Second Edition. 2nd edition. Boca Raton: Routledge. ISBN 978-0-367-13725-0.
• WATTS, Frank B., 2011. Engineering Documentation Control Handbook: Configuration Management and Product Lifecycle Management. 4th edition. Oxford: William Andrew. ISBN 978-1-4557-7860-7.
• AIELLO, Bob, 2010. Configuration Management Best Practices: Practical Methods that Work in the Real World: Practical Methods that Work in the Real World. 1st edition. Upper Saddle River, NJ: Addison-Wesley Professional. ISBN 978-0-321-68586-5.
• QUIGLEY, Jon M., 2019. Configuration Management, Second Edition. 2nd edition. Boca Raton: Routledge. ISBN 978-0-367-13725-0.
• WATTS, Frank B., 2011. Engineering Documentation Control Handbook: Configuration Management and Product Lifecycle Management. 4th edition. Oxford: William Andrew. ISBN 978-1-4557-7860-7.
Planned learning activities and teaching methods
Lectures, Individual consultations, Tutorials, Project work, Other activities, Teaching by an expert (lecture or tutorial)
Assesment methods and criteria
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Graded creditGraded credit100 (100)51
        Domácí úlohyOther task type16 0
        1. test praktických znalostíWritten test40 0
        2. test praktických znalostíWritten test44 0