Upload
berenice-randall
View
215
Download
1
Embed Size (px)
DESCRIPTION
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
Citation preview
AU CS Henrik Bærbak Christensen 1
dSoftArk E2015
Software ArchitectureProgramming in the Large
AU CS Henrik Bærbak Christensen 2
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
School or Study?
I assume you can read a web page...– For pretty correct and almost up to date information...
Meanwhile...
What is dSoftArk reallyabout?
AU CS Henrik Bærbak Christensen 3
AU CS Henrik Bærbak Christensen 4
There Will Be Code
Knowledge versus Skills
What knowledge, what skills are required for ?– Doing hearth surgery Flying F16 in
combat– Developing the Twitter software and architecture
AU CS Henrik Bærbak Christensen 5
KnowledgeSkills
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 CS Henrik Bærbak Christensen 6
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 CS Henrik Bærbak Christensen 7
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 CS Henrik Bærbak Christensen 8
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 CS Henrik Bærbak Christensen 9
Complex constructions
Two examples...
AU CS Henrik Bærbak Christensen 10
The question is then...
How best to get from nothing to something?
AU CS Henrik Bærbak Christensen 11
Software Engineering?
Best way: Building or Growing
AU CS Henrik Bærbak Christensen 12
Parameters
Consider:– Time span before useful– Revenue generation– Risk– Time before misunderstandings
are detected
AU CS Henrik Bærbak Christensen 13
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 CS Henrik Bærbak Christensen 14
AU CS Henrik Bærbak Christensen 15
StarCraft II: Built or Grown?
Development Process
http://www.youtube.com/watch?v=H3R6ZqVQ3WE
Video /Art and Technology / – at 18.20 to ~ 21.20
AU CS Henrik Bærbak Christensen 16
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 CS Henrik Bærbak Christensen 17
How would Bjarne feel?
My own experience– ”Do not worry, the planes have fuel for another two hours...”
AU CS Henrik Bærbak Christensen 18
Morale
Software must work!!!
AU CS Henrik Bærbak Christensen 19
dSoftArk
Software– Flexible
• configurable
– Reliable• it works!
– Agile development• software is reliably grown
– Patterns The book !
– You will need it– Even after graduating!
AU CS Henrik Bærbak Christensen 20
Learning and Teaching...
You learn when– You are exited but not scared!– You are challenged but not overwhelmed!– You feel like a success not a failure!– You extend knowledge and skills from what they are
Thus– Moving from 10 to 12 is great!– Moving from 00 to 4 is great!– Moving from 00 to 12 is probably not possible!
Morale: I and TAs should encourage and help, not intimidate, discourage nor scare you!
AU CS Henrik Bærbak Christensen 21
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 CS Henrik Bærbak Christensen 22
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 CS Henrik Bærbak Christensen 23
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 CS Henrik Bærbak Christensen 24
Spend time on process
and skills!
Screencasts need structure as well.More structure will be provided in 2015
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 CS Henrik Bærbak Christensen 25
New in 2015
Blackboard is still relatively new to me
Expect some hickups…
AU CS Henrik Bærbak Christensen 26
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 CS Henrik Bærbak Christensen 27
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 CS Henrik Bærbak Christensen 28
Summary
I love strategy games – Mandatory Project: Tribute to the classic...
AU CS Henrik Bærbak Christensen 29