590 likes | 840 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, [Sep 19, 2014]
How to Avoid a Big Bang: Integrating Software Components CS2103/T, Lecture 6, Part 2, [Sep 19, 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 SVN (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
GitHub repo add remote push Gitcommandline C:\CityConnect>git remote addorigin https://github.com/cs2103jan2014-w09-1j/main.git C:\CityConnect>git push master origin Username for 'https://github.com': damithc Password for 'https://damithc@github.com': Counting objects: 3, done. Writing objects: 100% (3/3), 225 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To https://github.com/cs2103jan2014-w09-1j/main.git * [new branch] master -> master C:\CityConnect> init John
GitHub repo push clone C:\>git clone https://github.com/cs2103jan2014-w09-1j/main.git CityConnect Cloning into ‘CityConnect'... remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. C:\> init John Jean
GitHub repo push clone Gitcommandline C:\CityConnect>git commit -a -m "added support for add feature" init John Jean
GitHub repo push clone Gitcommandline C:\CityConnect>git commit -a -m "added support for add feature" C:\CityConnect>git push origin master init John Jean
Gitrepo push fetch Gitcommandline C:\CityConnect> git fetch origin init John
GitHub repo push fetch Gitcommandline (pull ≈ fetch + merge) C:\CityConnect> git merge origin/master C:\CityConnect> git pull init merge John
GitHub repo push fetch init merge John
Remote repo clone push fetch init commit merge
How to Avoid a Big Bang: Integrating Software Components An approach A tool