Presentation is loading. Please wait.

Presentation is loading. Please wait.

WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.

Similar presentations


Presentation on theme: "WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010."— Presentation transcript:

1

2 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.here These slides contain a lot of animations. For optimal results, watch in slideshow mode.

3 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…

4

5 UI MSLogic Storage History UI MSLogic Storage History

6

7

8 Due to miscom

9

10 How to Avoid a Big Bang: Integrating Software Components CS2103/T, Lecture 6, Part 2, [Sep 19, 2014]

11 How to Avoid a Big Bang: Integrating Software Components CS2103/T, Lecture 6, Part 2, [Sep 19, 2014]

12 How to Avoid a Big Bang: Integrating Software Components An approachA tool

13

14 [Extra] Integration Work in parallel Logic UI Search Cache Storage

15 [Extra] Integration Work in parallel Logic UI Search Cache Storage Integrate Search Logic Cache Storage UI

16 Logic UI Search Cach e Storage Logic UI Search Cache Storage Logic UI Search Cache Storage Search Logic Cache Storage UI Late and one-time Integration

17 Logic UI Search Cach e Storage Logic UI Search Cache Storage Logic UI Search Cache Storage Early and frequent Integration

18 Late and one-time Integration

19 Early and frequent Integration Late and one-time Integration ?

20 Early and frequent Integration Late and one-time Integration

21 Early and frequent Integration Late and one-time Integration

22

23 Logic Search Cache Storage UI Logic Search Cache Storage UI Search Logic Cache Storage UI

24 [Extra] Top-down Integration Logic Search Cache Storage UI Logic Search Cache Storage UI Cache Storage Stubs

25 [Extra] Bottom-up Integration Logic Search Cache Storage UI Logic Search Cache Storage UI Driver

26 [Extra] Sandwich Integration Logic Search Cache Storage UI Logic Search Cache Storage UI Search Driver

27 [Extra] Big bang Integration Logic Search Cache Storage UI

28 [extra] Boom!

29

30 Incremental NOT big bang ( top-down, bottom-up, sandwich )

31

32 Incremental NOT big bang ( top-down, bottom-up, sandwich )

33 Incremental NOT big bang ( top-down, bottom-up, sandwich )

34 Incremental ly, early, frequently NOT big bang

35

36

37 How to Avoid a Big Bang: Integrating Software Components An approach A tool

38

39 RCS Remote repo

40 RCS Remote repo

41 RCS Remote repo Centralized CVS SVN (Subversion)

42 RCS Remote repo Centralized Distributed CVS SVN Hg Git Bazaar Remote repos

43 RCS Remote repo Centralized Distributed CVS SVN Hg Git Bazaar Remote repos

44 Git commandline C:\CityConnect>git remote add origin 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> push John init add remote GitHub repo

45 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:\> push JohnJean clone init GitHub repo

46 Git commandline C:\CityConnect>git commit -a -m "added support for add feature" push JohnJean clone init GitHub repo

47 Git commandline C:\CityConnect>git commit -a -m "added support for add feature" C:\CityConnect>git push origin master push JohnJean clone init GitHub repo

48 Git commandline Git repo C:\CityConnect> git fetch origin push John fetch init

49 Git commandline C:\CityConnect> git merge origin/master push John fetch merge init GitHub repo (pull ≈ fetch + merge) C:\CityConnect> git pull

50 push John fetch merge init GitHub repo

51 Remote repo push fetch clone commit init merge

52

53

54 How to Avoid a Big Bang: Integrating Software Components An approach A tool

55 How to Avoid a Big Bang: Integrating Software Components An approach A tool

56

57 UI MSLogic Storage History Start with a ‘walking skeleton’

58 UI MSLogic Storage History Start with a ‘walking skeleton’

59 UI MSLogic Storage History Adopt RCS gradually

60 Pull request Branches Pull request

61

62

63 How to Avoid a Big Bang: Integrating Software Components An approach A tool

64


Download ppt "WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010."

Similar presentations


Ads by Google