(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
Software Engineering - RS1
1. BLG 411E
Software
Engineering
Recitation 1
Source
Control
Terminology
Centralized vs.
Distributed
Requirements
Traceability
OSRMT
References
BLG 411E – Software Engineering
Recitation Session 1
Source Control and Requirements Traceability
Atakan Aral, Bilge Süheyla Akkoca
30.09.2014
2. BLG 411E
Software
Engineering
Recitation 1
Source
Control
Terminology
Centralized vs.
Distributed
Requirements
Traceability
OSRMT
References
Outline
1 Source Control
Terminology
Centralized vs. Distributed
2 Requirements Traceability
OSRMT
3 References
3. BLG 411E
Software
Engineering
Recitation 1
Source
Control
Terminology
Centralized vs.
Distributed
Requirements
Traceability
OSRMT
References
Definition
What is source control?
Revision control is the management of changes to a
collection of (usually textual) data over time.
Large documents
Books
Software source code
Source control tracks and provides control over
changes to source code.
as well as configuration and documentation files.
4. BLG 411E
Software
Engineering
Recitation 1
Source
Control
Terminology
Centralized vs.
Distributed
Requirements
Traceability
OSRMT
References
Motivation
Why do we need it?
Usually multiple versions of the software are developed
in different locations.
Trade-off between bugs and features
Single piece of code is edited by multiple team
members simultaneously.
Ownership of changes should be known.
Coding efforts should not be overwritten.
Rolling back should be allowed.
5. BLG 411E
Software
Engineering
Recitation 1
Source
Control
Terminology
Centralized vs.
Distributed
Requirements
Traceability
OSRMT
References
Terminology 1
Copies
Trunk (Baseline, Mainline, Master)
The unique line of develop-ment
that is not a branch
Branch (Fork) A copy of the trunk
that is created at a point in
time and developed
independently.
Tag (Label) An important
snapshot in time with a
user-friendly, meaningful
name or revision number.
Working copy (Sandbox) Local copy of
files from a repository.
6. BLG 411E
Software
Engineering
Recitation 1
Source
Control
Terminology
Centralized vs.
Distributed
Requirements
Traceability
OSRMT
References
Terminology 2
Operations
Check out To create a local working
copy from the repository.
Check in (Commit) To write or merge
the changes made in the
working copy back to the
repository.
Merge (Integration) An operation in
which two sets of changes
are applied to a file or set of
files.
During check in
During check out
During branch return
7. BLG 411E
Software
Engineering
Recitation 1
Source
Control
Terminology
Centralized vs.
Distributed
Requirements
Traceability
OSRMT
References
Terminology 3
Others
Conflict Changes to the same
document from different
members that can not be
merged by the system.
Resolve User intervention to address
a conflict.
Combine changes
Select one of the
changes
Repository (Depot) Location where
current and historical data of
the files are stored.
8. BLG 411E
Software
Engineering
Recitation 1
Source
Control
Terminology
Centralized vs.
Distributed
Requirements
Traceability
OSRMT
References
Centralized Revision Control
Server-client approach
There is a single shared data store, the repository.
Check-outs and check-ins done with reference to it
(slow).
Only the requested files are copied from the repository
during a check out (fast).
Both merging and locking mechanisms are available.
Typical example: Apache Subversion (SVN)
9. BLG 411E
Software
Engineering
Recitation 1
Source
Control
Terminology
Centralized vs.
Distributed
Requirements
Traceability
OSRMT
References
Distributed Revision Control
Peer-to-peer approach
Each working copy is a complete repository.
Check-outs and check-ins done with reference to local
repository (fast).
Push and pull operations are available to share
changes across repositories.
Users can work productively when not connected to a
network.
Users can keep early drafts private.
Initial pull (clone) downloads the whole repository
(slow).
There is no single point of failure, each repository acts
as a backup.
Locking mechanisms are not available for critical or
non-mergable files.
Typical example: Git
10. BLG 411E
Software
Engineering
Recitation 1
Source
Control
Terminology
Centralized vs.
Distributed
Requirements
Traceability
OSRMT
References
Definition
What is Requirements Traceability?
Requirements Management is:
the process of documenting, analyzing, tracing,
prioritizing and agreeing on requirements,
controlling change and communicating to relevant
stakeholders.
Requirements Traceability is a sub-discipline of
requirements management. It allows:
tracing each requirement in both directions,
tracking every change that was made to each
requirement,
detailed documentation and visualization.
Tracing beyond the requirements
Traceability matrix
11. BLG 411E
Software
Engineering
Recitation 1
Source
Control
Terminology
Centralized vs.
Distributed
Requirements
Traceability
OSRMT
References
Open Source Requirements Management Tool
OSRMT
Discontinued and obsolete (32-bit only)
A good tool to learn basics of requirements
management
Modern tools (including commercial ones) inherit many
concepts and features from it.
Designed for tracing beyond the requirements
For all artifacts in software development life-cycle
(features, requirements, design, implementation and
testing)
Allows requirements derivation, version control,
common or custom attributes, rationale, source, risk,
effort, etc.
12. BLG 411E
Software
Engineering
Recitation 1
Source
Control
Terminology
Centralized vs.
Distributed
Requirements
Traceability
OSRMT
References
References and Further Reading
http://git-scm.com/
https://github.com/
https://subversion.apache.org/
http://en.wikipedia.org/wiki/Revision_control
http://www.dwheeler.com/essays/scm.html
http://www.youtube.com/watch?v=4XpnKHJAok8
http://sourceforge.net/projects/osrmt/
http://www.ideastub.com/osrmt.php
http://www.ideastub.com/osrmt_docs/osrmt_user_manual.pdf
http://en.wikipedia.org/wiki/Requirements_management
http://en.wikipedia.org/wiki/Requirements_traceability
http://en.wikipedia.org/wiki/Traceability_matrix
http://www.youtube.com/watch?v=MfsAi0Rnemc