Skip to main content
Skip header

Software Project Management

Type of study Bachelor
Language of instruction Czech
Code 460-2075/01
Abbreviation SSP
Course title Software Project Management
Credits 3
Coordinating department Department of Computer Science
Course coordinator Ing. Jan Kožusznik, Ph.D.

Subject syllabus

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.

E-learning

Literature

• 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 .

Advised literature

• 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 .