Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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

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

3 School or Study? I assume you can read a web page... –For pretty correct and almost up to date information... Meanwhile... What is dSoftArk really about? AU CSHenrik Bærbak Christensen3

4 AU CSHenrik Bærbak Christensen4 There Will Be Code

5 Knowledge versus Skills What knowledge, what skills are required for ? –Doing hearth surgeryFlying F16 in combat –Developing the Twitter software and architecture AU CSHenrik Bærbak Christensen5 Knowledge Skills

6 Discussion Of course, we need both to be experts! –Deep knowledge of anatomy and physiology of the hearth Books! Papers! Discussions! –Skilled craftsmanship in doing hearth surgery Training-training-training! Reflections over experience! Emperical studies show we need 5.000-10.000 hours of training to become experts! AU CSHenrik Bærbak Christensen6

7 dSoftArk emphasize… Skills! The Strategy patterns is defined by Gamma as... Fine, but I prefer to see... This code would benefit by introducing the Strategy pattern and in Java I will code it like this : private WinnerStrategy ws = new PlayerWithMostArmiesStrategy();... AU CSHenrik Bærbak Christensen7

8 How do we emphasize skills? The schedule reads ”TØ” The term ”Teoretiske Øvelser” is banned in dSoftArk! We have a three hour lab where you hone your skills in developing reliable and flexible software using agile processes! (Using the knowledge you gain by reading the book ) AU CSHenrik Bærbak Christensen8

9 Exam in Skills... Different! Scary? At the dSoftArk exam you will be asked to read code, design architecture, implement it! –… and you will train the exam form during our Labs! Morale: Train coding and reflect the next 10 weeks! AU CSHenrik Bærbak Christensen9

10 Complex constructions Two examples... AU CSHenrik Bærbak Christensen10

11 The question is then... How best to get from nothing to something? AU CSHenrik Bærbak Christensen11

12 Software Engineering? Best way:BuildingorGrowing AU CSHenrik Bærbak Christensen12

13 Parameters Consider: –Time span before useful –Revenue generation –Risk –Time before misunderstandings are detected AU CSHenrik Bærbak Christensen13

14 Example: StarCraft II More than 3 million copies sold first month Large e-sports community –DreamHack: Over 100.000 live streams during the final AU CSHenrik Bærbak Christensen14

15 AU CSHenrik Bærbak Christensen15 StarCraft II: Built or Grown?

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

17 Morale In dSoftArk we will train to grow software! “Growing” does not mean we cannot have a plan nor a design.. –Or that some things, like algorithms, cannot be “constructed” It means we are agile and prepared to change the plans (even dramatically) as we learn from growing the software! AU CSHenrik Bærbak Christensen17

18 How would Bjarne feel? My own experience –”Do not worry, the planes have fuel for another two hours...” AU CSHenrik Bærbak Christensen18

19 Morale Software must work!!! AU CSHenrik Bærbak Christensen19

20 dSoftArk Software –Flexible configurable –Reliable it works! –Agile development software is reliably grown –Patterns The book ! –You will need it –Even after graduating! AU CSHenrik Bærbak Christensen20

21 Learning and Teaching... You learn when –You are exitedbut not scared! –You are challengedbut not overwhelmed! –You feel like a successnot a failure! –You extend knowledge and skillsfrom what they are Thus –Moving from 10 to 12is great! –Moving from 00 to 4is great! –Moving from 00 to 12is probably not possible! Morale:I and TAs should encourage and help, not intimidate, discourage nor scare you! AU CSHenrik Bærbak Christensen21

22 The exam again... If you aim for industrial software development... –You should strive to do well in dSoftArk If you aim for research in security, algorithms, physics, or for management... –You will want just to pass the exam There will be a link to ‘How to pass dSoftArk” AU CSHenrik Bærbak Christensen22

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

24 New in 2014 Reorganize delivery contents quite a lot in 2014 –Before: Do stuff, Tell about it in report Upload the code for review –In 2014 Do stuff, Make screen cast, fill report template, rehearse exam… Upload the code for review AU CSHenrik Bærbak Christensen24 Spend time on process and skills! Screencasts need structure as well. More structure will be provided in 2015

25 New in 2015 Reorganize delivery process in 2015 –Before Hand-in chunk of several exercises at fixed deadline Wait for the class’s TA to go over all handins Re hand-in bad material Wait for TA –This year Hand-in each exercise as soon as possible Some TA feedback in one or max. two days –Worked very well in my master course ‘CloudArch’ –Experiment: Please tell me what you think… AU CSHenrik Bærbak Christensen25

26 New in 2015 Blackboard is still relatively new to me  Expect some hickups… AU CSHenrik Bærbak Christensen26

27 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 Christensen27

28 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 Christensen28

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


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

Similar presentations


Ads by Google