590 likes | 762 Views
WARNING. These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010. They may not show up well on other PowerPoint versions . You can download PowerPoint 2010 viewer from here .
E N D
WARNING • These slides are not optimized for printing or exam preparation. These are for lecture delivery only. • These slides are made for PowerPoint 2010. They may not show up well on other PowerPoint versions. You can download PowerPoint 2010 viewer from here. • These slides contain a lot of animations. For optimal results, watch in slideshow mode.
A success story:Damien is working for a technology startup. He is part of a 5-member team, all good buddies of each other and work was fun. It was a critical project for a major overseas client. The product is a novel proof-of-concept proxy server. As the team enters the last two weeks of the project, they are one week ahead of schedule and has one week allocated for integration and testing. i.e., they have two weeks to do the work of one week. They decide to do a quick integration and take the extra week off to celebrate the first release…
UI UI MSLogic History MSLogic History Storage Storage
How to Avoid a Big Bang: Integrating Software Components CS2103/T, Lecture 6, Part 2, [Feb 21, 2014]
How to Avoid a Big Bang: Integrating Software Components CS2103/T, Lecture 6, Part 2, [Feb 21, 2014]
How to Avoid a Big Bang: Integrating Software Components An approach A tool
[Extra]Integration Work in parallel Integrate UI UI Logic Search Logic Search Cache Storage Storage Cache
Lateand one-time Integration UI UI UI UI Logic Search Logic Search Logic Search Logic Search Cache Storage Storage Cache Storage Cache Storage Cache
Early and frequent Integration UI UI UI Logic Search Logic Search Logic Search Storage Cache Storage Cache Storage Cache
Lateand one-time Integration • Early and frequent Integration
Lateand one-time Integration • Early and frequent Integration ?
Late and one-time Integration • Early and frequent Integration
Late and one-time Integration • Early and frequent Integration
Late and one-time Integration • Early and frequent Integration Continuous
UI UI UI Logic Search Logic Search Logic Search Cache Storage Storage Storage Cache Cache
[Extra]Top-down Integration UI UI Logic Search Logic Search Cache Storage Storage Storage Cache Cache Stubs
[Extra]Bottom-up Integration UI UI Driver Logic Search Logic Search Storage Storage Cache Cache
[Extra]Sandwich Integration UI UI Logic Search Logic Search Search Driver Storage Storage Cache Cache
[Extra]Big bang Integration UI Logic Search Storage Cache
Incremental • (top-down, bottom-up, sandwich) • NOT big bang
Incremental • (top-down, bottom-up, sandwich) • NOT big bang
Incremental ly, early , frequently • NOT big bang
How to Avoid a Big Bang: Integrating Software Components An approach A tool
RCS Remote repo
RCS Remote repo
RCS Centralized Remote repo CVS Subversion
RCS Centralized Distributed Remote repos Remote repo Hg Git Bazaar CVS SVN
RCS Centralized Distributed Remote repos Remote repo Hg Git Bazaar CVS SVN
Google Code repo push C:\CityConnect>hg push https://john@code.google.com/p/2012-w16-2j/ pushing to https://john@code.google.com/p/2012-w16-2j/ searching for changes http authorization required realm: Google Code hg Repository user: john password: remote: Success. C:\CityConnect> init John
Google Code repo push clone C:\>hg clone https://jean@code.google.com/p/2012-w16-2j/ CityConnect requesting all changes adding changesets adding manifests adding file changes added 2 changesets with 6 changes to 6 files updating to branch default 5 files updated, 0 files merged, 0 files removed, 0 files unresolved. C:\> init John Jean
Google Code repo push clone C:\CityConnect>hg commit -m "added add feature" init John Jean
Google Code repo push clone C:\CityConnect>hg commit -m "added add feature" C:\CityConnect>hg push https://jean@code.google.com/p/2012-w16-2j/ init John Jean
Google Code repo push pull C:\CityConnect> hg pull https://john@code.google.com/p/2012-w16-2j/ pulling from https://damith@code.google.com/p/2012-w16-2j/ searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (run 'hg update' to get a working copy) init John
Google Code repo push pull C:\CityConnect> hg pull https://john@code.google.com/p/2012-w16-2j/ pulling from https://damith@code.google.com/p/2012-w16-2j/ searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (run 'hg update' to get a working copy) C:\CityConnect> hg update 1 files updated, 0 files merged, 0 files removed, 0 files unresolved init update John
Google Code repo push pull init /merge update John
Remote repo clone push pull init /merge commit update
How to Avoid a Big Bang: Integrating Software Components An approach A tool