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 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 MSLogic History History Storage Storage
Due to miscom
Due to miscom
CS2103/T, Lecture 7, Part 3, [Sep 30, 2016] How to Avoid a Big Bang: Integrating Software Components CS2103/T, Lecture 7, Part 3, [Sep 30, 2016]
[Extra] Integration Work in parallel Integrate Search Logic Cache Storage UI UI Logic Search Cache Storage
Late and one-time Integration UI UI UI UI Logic Logic Search Logic Search Search Logic Search Cache Storage Cache Storage Cache Cache Storage Storage
Early and frequent Integration UI UI UI Logic Logic Search Logic Search Search Cache Storage Cache Cache Storage Storage
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 Late and one-time Integration
Late and one-time Integration Early and frequent Integration Continuous
Late and one-time Integration Early and frequent Integration Continuous We use Travis to perform Continuous Integrations
UI UI UI Logic Logic Search Search Logic Search Cache Storage Cache Cache Storage Storage
[Extra] Top-down Integration UI UI Logic Logic Search Search Cache Storage Cache Cache Storage Storage Stubs
[Extra] Bottom-up Integration UI UI Driver Logic Logic Search Search Cache Cache Storage Storage
[Extra] Sandwich Integration UI UI Logic Logic Search Search Search Driver Cache Cache Storage Storage
[Extra] Big bang Integration UI Logic Search Cache Storage
[extra] Boom!
(top-down, bottom-up, sandwich) Incremental (top-down, bottom-up, sandwich) NOT big bang
(top-down, bottom-up, sandwich) Incremental (top-down, bottom-up, sandwich) NOT big bang
Incremental ly, early , frequently NOT big bang
1. Do a small change + tests 2. Run tests 3. Fix any problems 4 1. Do a small change + tests 2. Run tests 3. Fix any problems 4. Rinse and repeat
1. Do a small change+ tests 2. Run tests 3. Fix any problems 4 1. Do a small change+ tests 2. Run tests 3. Fix any problems 4. Rinse and repeat
We use Gradle for build automation 1. Do a small change + tests 2. Run tests 3. Fix any problems 4. Rinse and repeat We use Gradle for build automation We can run GUI tests using headless mode Travis can run tests for the code pushed to repo
V0.1 : reach in small steps Git tag continue to evolve to V0.2 add Read LOTR Added “Pay phone bills” 1. Buy milk 2. Submit report 3. Return books 4. Pay phone bill Web page status bar