Source Code Management, Configuration Management-Software Engineering-Lecture Slides, Slides of Software Engineering

Software Engineering one of core subject in Computer Science. This lecture was delived by Dr. Shrya Gopal at Bengal Engineering and Science University as one of lecture from lecture series on course. This lecture includes: Source, Code, Configuration, Management, Tools, Development, Files, Archive, Updating, Concurrent, Development, Record, Revision, Automated

Typology: Slides

2011/2012

Uploaded on 08/26/2012

parveen
parveen 🇮🇳

4.6

(9)

88 documents

1 / 21

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Source Code Management
Or
Configuration Management: How
I learned to Stop Worrying and
Hate My Co-workers Less
docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15

Partial preview of the text

Download Source Code Management, Configuration Management-Software Engineering-Lecture Slides and more Slides Software Engineering in PDF only on Docsity!

Source Code Management

Or

Configuration Management: How

I learned to Stop Worrying and

Hate My Co-workers Less

Source Code Management

  • Also known as Configuration Management
  • Source Code Managers are tools that:
  • Archive your development files
  • Serve as a single point of entry/exit when adding or updating development files

Source Code Management Tools

Are Not

  • A substitute for project management
  • A replacement for developer communication

How They Work

  • Central database of source code, documentation, build tools
  • Each file stored only once - all other versions are diffs of that one copy
  • To Make a Change
  • Check out the latest version of a file
  • Make the changes
  • Update the database

Version Control

  • Companies ship several products from the same source base (ie Win NT and Windows 2000 versions of MS Office)
  • When tracking down bugs you want to examine the code as it was when the product shipped

Code Sharing

  • Multiple people can work on the same source base without colliding
  • (1) Locks individual files so only one person at a time can modify it OR
  • (2) Allows multiple people to modify a source file and the system will automatically merge the changes (usually)

Merging

  • Several people can work on a file at once
  • Before committing changes, each user merges their copy with the latest copy in the database
  • This is normally done automatically by the system and usually works, but you should not blindly accept the result of the merge

Labelling

  • Label all the files in the source base that make up a product at each milestone
  • Just before and just after a major change (eg. changing several interfaces)
  • When a new version ships

Branching

  • When a new version ships, typically create a branch in the version tree for maintenance
  • Double update: fix a defect in the latest version and then merge the changes (often by hand) into the maintenance version
  • Also create personal versions so you can make a change against a stable source base and then merge in the latest version later

Examples

• RCS

  • Solaris: man rcsintro
  • CVS
  • Solaris: man cvs
  • www.cyclic.com/cvs/info.html
  • Visual SourceSafe
  • msdn.microsoft.com/SSAFE
  • ClearCase
  • www.rational.com docsity.com

CVS

  • Built on top of RCS
  • Therefore little support for binaries
  • Database can be remote
  • No locking: merge before commit
  • Fast
  • Integrates with emacs

SourceSafe

  • Microsoft’s entry into the field
  • Project-based
  • Checkout-edit-checkin model
  • Built-in web site creation tools
  • Integrates with MSDEV

Clearcase Features

  • Distributed System
  • Several groups at different locations can work on the same database
  • Can install triggers
  • Example: e-mail the author of a file when some one makes a change to it
  • Uses merging model like CVS, but can also lock files

More Clearcase Features

  • Integrates with MSDEV
  • Build Management
  • Knows to rebuild out-of-date files even if your makefile doesn’t
  • Slow and a bit buggy