Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
266 views17 pages

Concurrent and Open Source Software Development: Anthony N. Ilukwe SWE 4103 Seminar 2 November 18, 2009

Concurrent software development involves multiple individuals or teams simultaneously working on development activities for a project to improve efficiency and delivery speed. Open source development is non-commercial with free licensing and access for concurrent collaboration globally. The Concurrent Versioning System (CVS) aids open source concurrent development by centralizing source code and allowing simultaneous file modifications without locking. CVS resolves conflicts through merges and users can rollback to previous versions. Communication challenges in concurrent development can be addressed through tools like instant messaging, Internet Relay Chat channels, and wikis.

Uploaded by

aithe1
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
266 views17 pages

Concurrent and Open Source Software Development: Anthony N. Ilukwe SWE 4103 Seminar 2 November 18, 2009

Concurrent software development involves multiple individuals or teams simultaneously working on development activities for a project to improve efficiency and delivery speed. Open source development is non-commercial with free licensing and access for concurrent collaboration globally. The Concurrent Versioning System (CVS) aids open source concurrent development by centralizing source code and allowing simultaneous file modifications without locking. CVS resolves conflicts through merges and users can rollback to previous versions. Communication challenges in concurrent development can be addressed through tools like instant messaging, Internet Relay Chat channels, and wikis.

Uploaded by

aithe1
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 17

Concurrent and Open Source

Software Development
Anthony N. Ilukwe

SWE 4103 Seminar 2


November 18th, 2009.
Outline

• Introduction to Concurrent Development.


• Concurrent Development and Open Source
Development
• Concurrent Versioning System (CVS)
• Concurrent Development Scenarios
• Issues and Factors Affecting Concurrent
Development
• Concurrent vs Agile vs Traditional
Concurrent Software Development
• Two or more individuals or teams
simultaneously working on a number of
development activities in a project.
• More efficiency in meeting software
requirements.
• Fast delivery of product.
• Keeping pace with rapid software evolution.
Open Source Software
• Non-commercial software with free license and
distribution.

• Open access to users for concurrent,


collaborative development and access.

• Development involves individuals and teams in


multiple cities and countries all over the globe.
Open Source Development Principles

• Availability: Source code is accessible to the


whole world.
• Maximal scope of end users
• Free implementation
• All developers are equal. No discrimination.
Open Source Development Principles

• Open source Implementation can be offered


as extensions or subsets.
• Collaboration and concurrent development to
continually improve software product.
• Freedom to create good product without
external pressure.
CVS: Concurrent Versioning System
• Developed to aid concurrent development.
• Centralization of source code in remote
repository.
• Ability to rollback code to previous state in
saved history.
• Simultaneous file modification among any
number of individuals without “locking”.
CVS Terminology
• Working Copy
• Master Copy
• ‘Update’
• ‘Checkout’
• ‘Commit’
• ‘Diff’
• Trunk
• Branch
• ‘Merge’
• Tags
Merge vs Update
• Update
CVS compares working copy to repository.
Branch Tip (modified code)
Merge

Branch Root (repository state)


Trunk

• Merge
CVS compares branch tip to branch root.
Concurrent Open Source Development with CVS
Scenario: Franz and Sally

• Seattle
• Frankfurt

• Rio de Janeiro
• Sydney
Scenario: Franz and Sally
Saves his Continues with
Franz working his working
checkout copy, goes copy. Commits
to bed. his changes.

Work 3hrs Work 4hrs

8pm Frankfurt 11pm Frankfurt Midnight Frankfurt 6am Frankfurt 7am-11am Frankfurt
6am Sydney 9am Sydney 10am Sydney 4pm Sydney 5pm-9pm Sydney

Saves her
Sally working
checkout copy and
commits

Work 6hrs
CVS ‘Diff’ View
Method add(int a, int b)
{
Sally commit a + b; Committed to master copy
4pm (Sydney) }
//last modified by Sally

Method add(int a, int b)


{
Franz working
b + a; Conflict needs to be resolved
copy
}
9pm (Sydney)
Print(add(6,7));

//last modified by Franz


CVS ‘Diff’ View
Method add(int a, int b)
{
a + b; Committed to master copy
}
//last modified by Sally

Method add(int a, int b)


{
b + a; Conflict needs to be resolved
}

Print(add(6,7));

//last modified by Franz


CVS ‘Diff’ View
Method add(int a, int b)
{
a + b;
}
//last modified by Sally

Method add(int a, int b)


{
b + a;
}

Print(add(6,7)); Applied to committed code

//last modified by Franz


Concurrent Software Development
Communication - language barrier?

• Instant Messaging
• IRC: Internet Relay Chat (Channels)
• e-Mailing Lists: Google-groups, Yahoo-groups.
• Wikis
• Bug-tracking tools
Concurrent Software Development
Human Factor

• “Bazaar style”: no formal project leader.


• Sharing of knowledge and ideas among individuals.
• Open to easy application of most up-to-date tools
and techniques
• Recognition within Open Source community over
financial reward or promotion.
Questions?

You might also like