2.1 Define software configuration management in one sentence.
SCM is a project function and a set of disciplines and techniques for initiating, evaluating and controlling changes to software.
2.2 What are the three basic blocks of software configuration management?
Versions controll, change management & release management
2.3 Name three key benefits of using scm tools and techniques.
Cost reduction by having detailed knowledge of all the elements of your configuration, avoiding wasteful duplication of your technology assets.
No lose of progress through vc and easy to merge progress of different devs
time saving (for example for releasing a new version of a software)
Versioning
2.4 Name at least five activities in scm.
1. Configuration item identification
2. Version promotion
3. Change management
4. Branch and merge management
5. Build and release management
2.5 When would you use scm (name three resons)?
Always, even for a standalone dev, scm is important at least in some aspects like version control. Later on scm Is needed for large scale projects to control the state of the development, merge changes, release and test the software properly, establish standards (formilazation).
(Kurze Antwort: Standalone dev, cost reduction, time)
2.6 What is a configuration item (name three examples)?
Hardware/Devices
Software
Databases
2.7 What is the difference between a version and a release?
A Version of a software is a copy of that software at a specific time, identified by a version number, for example 1.3.1
A Release is a version of the software published after being tested and went through all the development cycles, and supposed to be deployed to customers. (Version delivered to a customer)
2.8 What is the difference between a version and a revision?
Revision is more of an internal term that matches up with the unique identifier of a check-in or build. Version is a label of a released product so that you know whether the version is newer or not than what you have. (kürzer)
2.9 Name four examples for items that will typically be under version control.
Source code
Requirement analysis and solution design documents
Manuals
Tool configurations
2.10 Describe the concept of version promotion in one sentence.
Versions promotion is the process of moving a version/artifact from one stage to another stage to make it available for a new group of people
2.11 What is a stage in the context of scm?
A stage is an environment with a specific configuration of system
2.12 Define change management in the context of scm in one sentence.
Handling, approval and tracking of change requests
2.13 Name four examples for change policies in scm.
2.14 What are three key benefits of using a version control system?
2.15 What are the three general types of version control systems?
Local, Centralized, Destributed
2.16 Name two version control systems (one centralized and one decentralized), describe them in one sentence and name three key differences.
cenntralized: Centralized Version Control (CVC) Single server contains all versions and files and Operates on directories and files; supports branches and tags
decentralized: Distributed Version Control (Git) Each developers machine mirrors changes & Operates on directories and files; supports branches and tags; fully distributed work (Auf Semikolondinger kann man verzichten)
2.17 Describe the SVN versioning system in one sentence.
SVN is an open source centralized version control system.
2.18 Describe Git in one sentence.
Git is a decentralized version control system.
2.19 What are three major differences between decentralized and centralized version control systems?
Centralized: Connection needed to work, Changes are commited in bulk, no merge history
By decentralized vise versa.
Daten spiegeln
2.20 Define ‘branch’ in the context of version control systems in one sentence.
Split off one timeline (dev, feature, release, fix, master, etc.)
Enables multiple versions to be maintainez
2.21 Define ‘merge’ in the context of version control systems in one sentence.
Reconciliation of changes
2.22 What is a branching and merging strategy and what is its purpose (two sentences)?
To encapsolate different indepent parts of a development process on so called branches. Later on the different parts will merged together (on the main branch) and will form the software.
2.23 Name and describe an example for a branching strategy. What are three major benefits to this strategy?
Git-Flow
2.24 Name three major benefits in using a decentralized version control system.
Works without connection to server, commit history to overlook who does what and when, real branch support
2.25 Name and describe three commands of git.
pull: Downloads and merges from remote
add: Add changes from working copy to staging
commit: Saves selected changes of staging to local
2.27 Define git flow in one sentence and draw the process of resolving using an UML activity diagram.
Git flow is the concept of encupsulating different stages of software developement into persistent branches which results in bigger commits and a trunk based development. (UML Diagramm with diffrent Branches: like Master/Hot-Fix/release branch/develop/feature branch & the flow is the time)
2.28 What is the difference between change management in the context of scm and in the context of individuals and organizations.
In SCM change manegement is the Handling, approval and tracking of changes & requests for a software, while change management in organizations usually means the implementation of selected measures to change departments or the entire organization profoundly and to move from an initial state to a defined target state. (kürzer)
2.29 What would be the impact (three bullets) on your build and deployment pipeline when choosing a local versioning control system?
local versioning operates only on files and not on projects and just locally
you can acces the repository only from one machine, otherwise you have to copy it manually
you probably can build the project just on the plattform if the local machine
hard to implement automated tests and builds
Last changed2 years ago