Presentation is loading. Please wait.

Presentation is loading. Please wait.

AU CSHenrik Bærbak Christensen1 dSoftArk Software Architecture Programming in the Large.

Similar presentations


Presentation on theme: "AU CSHenrik Bærbak Christensen1 dSoftArk Software Architecture Programming in the Large."— Presentation transcript:

1 AU CSHenrik Bærbak Christensen1 dSoftArk Software Architecture Programming in the Large

2 AU CSHenrik Bærbak Christensen2 The lecturer Henrik Bærbak Christensen Associate professor (lektor) since 2003 –Software developer/architect in industry, 91-94 –Collaboration with many Danish IT companies Systematic, Jyske Bank, Terma, B&O, KMD, Danfoss, … Faglig koordinator for Master og Diplom (SWK) Owner of Course development and consultancy http://www.imhotep.dk

3 One piece of secret information Due to copyright issues I cannot publish slides. Solution 1 –Use CourseAdmin manual: loop{”I press here, browse here, press OK”} Solution 2 –Use pwd protected folder Automatic: svn commit USER: dsoftarkPWD:hotciv AU CSHenrik Bærbak Christensen3

4 From nothing to something How do we develop software? AU CSHenrik Bærbak Christensen4

5 [ Growing or Building] AU CSHenrik Bærbak Christensen5

6 OLD SLIDES AU CSHenrik Bærbak Christensen6

7 This is where... The intro on the web continued with 28 slides of really really correct information about the course, book, web site, exam, lectures,... However... Q: Is this a school or a study? (and what is the difference?) AU CSHenrik Bærbak Christensen7

8 The dSoftArk Study... I assume you can read a web page... –For pretty correct and almost up to date information... Meanwhile Let’s get talk and study a bit... AU CSHenrik Bærbak Christensen8

9 Tradition: Emperical Evidence No QEDs – sorry! dSoftArk techniques and industry –These techniques are in use or the companies work to introduce them! First scientific result showing C++ is better than C appeared in year –? AU CSHenrik Bærbak Christensen9

10 The Book Buy it before your mates ! –You will need it –Even after graduating! Keywords –Flexible –Reliable –Patterns –Agile development AU CSHenrik Bærbak Christensen10

11 A bit about agile development and reliable software AU CSHenrik Bærbak Christensen11

12 Make it reliable – or else... http://www.youtube.com/watch?v=UlUIjxoO2vc Start http://www.youtube.com/watch?v=pPTegBMzfF E&NR=1&feature=endscreenhttp://www.youtube.com/watch?v=pPTegBMzfF E&NR=1&feature=endscreen Ca 12 min AU CSHenrik Bærbak Christensen12

13 Would you like...... to put your latest programming project to an audience of ~ 5.000 spectators?... live – on stage? or ~ 5.000.000 users? AU CSHenrik Bærbak Christensen13

14 Reflections... How many of you... –Play Blizzard games regularly –Average # of hours per week –For how many months SCII released 2010 WoW released 2004 D3 released 2012 How many have experienced a bug? How is such a system built? AU CSHenrik Bærbak Christensen14

15 Development Process http://www.youtube.com/watch?v=H3R6ZqVQ3 WEhttp://www.youtube.com/watch?v=H3R6ZqVQ3 WE Video /Art and Technology / – at 18.20 AU CSHenrik Bærbak Christensen15

16 Discussions Is there an intrinsic strict sequence in which features/code must be developed? –Race A before race B? –I cannot make explosions before ’creep’ developed? –’destruction sequence’ require ’unit movement’ Software building versus Bridge building? Features that take a ’long time’ before verification? –’feature X cannot be tested until 3 months later’? Can we experiment with features? –i.e. Pull them out if we find them less desirable AU CSHenrik Bærbak Christensen16

17 Discussions What is the value of ’old versions’ –If any? How do we validate such systems –Formal models ? –Manual testing ? –Automatic testing ? –Reviewing code ? What does Blizzard do? AU CSHenrik Bærbak Christensen17

18 A bit about flexible software... AU CSHenrik Bærbak Christensen18

19 Demo... [Demo ’swpt’ from Backgammon project] Class Game { // move checker, return false is not valid move boolean move(Location from, Location to) // roll the dice, and make the turn go over... void nextTurn() } Consider... What can these two method’s code look like Can you validate their behaviour without first implementing a full board class to store and move the checkers? AU CSHenrik Bærbak Christensen19

20 Morale We can do it in a number of ways… –Some of them are plainly wrong –Some are good short-term solutions that turn out to become night mares in the long run (and you would not discover it you do not write code that lasts much longer than 7 weeks before it dies!) –Very few are pretty good solutions that can stand the test of time AU CSHenrik Bærbak Christensen20

21 Summary We are going to build complex systems that are flexible and reliable We hypothesize this is best made in an evoluationary way –Grow flexible, testable, software –Learn as we go, prepare to get wiser –Agile manifesto We need production quality tools to do so –JUnit, Ant, Subversion, IDEs,... –Start right away... AU CSHenrik Bærbak Christensen21

22 Summary Your learning will –Resemble industrial strength development Long term maintenance (> 1 week!) Customer requirements driven Focused on one single project Read the intro page about the mandatory project!!! AU CSHenrik Bærbak Christensen22

23 Summary I love strategy games –Mandatory Project: Tribute to the classic... AU CSHenrik Bærbak Christensen23


Download ppt "AU CSHenrik Bærbak Christensen1 dSoftArk Software Architecture Programming in the Large."

Similar presentations


Ads by Google