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

Slides:



Advertisements
Similar presentations
Course in software testing - from bachelor to master, from Skopje to Novi Sad (and beyond) Anastas Mishev Katerina Zdravkova Sashko Ristov Hristina Mihajloska.
Advertisements

Computers in Principle & Practice I - V Deena Engel Computers in Principle and Practice I V , Sections 1 & 2 Fall, 2009 Deena Engel .
DAIMIHenrik Bærbak Christensen1 Reliable Software and Architecture Course 1: Reliable Software.
General information CSE 230 : Introduction to Software Engineering
IS 421 Information Systems Management James Nowotarski 16 September 2002.
1 Course Intro Construction & Evolution CSSE 375 Steve Chenoweth.
BORIS MILAŠINOVIĆ FACULTY OF ELECTRICAL ENGINEERING AND COMPUTING UNIVERSITY OF ZAGREB, CROATIA Experiences after three years of teaching “Development.
HENRIK BÆRBAK CHRISTENSEN ASSOCIATE PROFESSOR AARHUS UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE 1 Experimental Software Architecture Kandidat orientering.
DAIMIHenrik Bærbak Christensen1 SRaT Software Reliability and Testing.
Copyright © 2014 ASTQB Presented by Rex Black, CTAL Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further.
Video Blog Volume #1 Episode # Out of Ideas? A simple 3 step process to come up with a great startup idea! Teaching you how.
INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska.
Michael Burnside Blog: Software Quality Assurance, Quality Engineering, and Web and Mobile Test.
Paul Bourke DT211/3 & DT228/3 Team Project Paul Bourke Module Web Page:
GROUP PROJECTS IN SOFTWARE ENGINEERING EDUCATION Jiang Guo Department of Computer Science California State University Los Angeles April 3-4, 2009.
CSE 436 Software Engineering Workshop Course Overview Christopher Gill CSE 436 January 2007 Department of Computer Science and Engineering.
Software Specification and Design Sirisin Kongsilp & James Brucker.
Learning Challenge Online versus Classroom I hear, and I forget. I see, and I remember. I do, and I understand. -- Chinese Proverb.
Essays for TDT4235 Tor Stålhane IDI / NTNU. Intro The essay counts for 30 of the 100 points used to grade the students of this course The essay must be.
17-Dec-03 Intro to CIT 594 ~matuszek/cit594.html.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Introduction.
1 CNT 4704 Analysis of Computer Communication Networks Cliff Zou Department of Electrical Engineering and Computer Science University of Central Florida.
Test Stubs... getting the world under control. TDD of State Pattern To implement GammaTown requirements I CS, AUHenrik Bærbak Christensen2.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Henrik Bærbak Christensen1 Test Driven Development “TDD” Summary.
Exam starts right now! Great – no stress!. The Tenets Central Tenets about Exam –Alignment between learning goals and evaluation Evaluation DevOps work.
CSCE 315 Programming Studio Spring 2013 John Keyser.
HotCiv Project Starting up!. Henrik Bærbak Christensen2 HotCiv = Agile development Iterations of –product development –learning increments.
Deriving State…...and an example of combining behaviour.
All the dSoftArk Tools Getting started!. Tools dSoftArk is a semi-realistic, agile, development project –Industrial strength software (programming, TDD,
Allvision Implementation Strategy Results Online Arbitration Agreement Drafting Aid - The next step in Marketing? Andrew Haslam Project Co-ordinator.
Winter 2016CISC101 - Prof. McLeod1 CISC101 Elements of Computing Science I Course Web Site: The lecture outlines.
Data Structures and Algorithms in Java AlaaEddin 2012.
CPSC 315 Programming Studio Spring 2009 Frank Shipman.
Mandatory 1 / AlphaCiv … Traps to be aware of …. Warn or not? I once asked Kent Beck the following –I have a lot of students in a course in design patterns.
Refactoring and Integration Testing or Strategy, introduced reliably by TDD The power of automated tests.
AU CSHenrik Bærbak Christensen1 dSoftArk Software Architecture Programming in the Large.
AU CSHenrik Bærbak Christensen1 dSoftArk Software Architecture Programming in the Large.
AU CSHenrik Bærbak Christensen1 dSoftArk E2014 Software Architecture Programming in the Large.
Arkitektur og Dist. Systemer MIT SWK. AU CSHenrik Bærbak Christensen2 Me Henrik Bærbak Christensen Associate professor (lektor) since 2003 –Collaboration.
1 Sobah Abbas Petersen Adjunct Associate Professor, NTNU Researcher, Sintef TDT4252 Modelling of Information Systems Advanced Course TDT4252,
Learning Technology Services Inspiring Innovation. Learn more at
AU CSHenrik Bærbak Christensen1 dSoftArk E2013 Software Architecture Programming in the Large.
Introduction to Software Engineering Muhammad Nasir Agile Software Development(2)
Software Architecture in Practice Welcome to SAiP.
Website Development and Maintenance Is your Website losing your prospects to your competition?
Peer Computing Expert Training Lesson 1 Overview of SPARC and Goals
Information Systems in Organizations Course Introduction Steve Sclarow
Exam A few notes and hints….
HotCiv Project Starting up!.
Mandatory 1 / AlphaCiv … Traps to be aware of ….
Information Systems in Organizations Course Introduction Steve Sclarow
Information Systems in Organizations Introduction: Carey O’Donnell
Information Systems in Organizations Introduction Carey O’Donnell
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Gathering Systems Requirements
EE422C Software Design and Implementation II
Information Systems in Organizations Introduction Carey O’Donnell
Information Systems in Organizations Introduction Mary Muldoon
Information Systems in Organizations Introduction: Carey O’Donnell
Information Systems in Organizations Introduction Steve Sclarow
Information Systems in Organizations Introduction Steve Sclarow
CSCE 315 Prof. Lupoli.
Gathering Systems Requirements
Container technology, Microservices, and DevOps
Software Engineering and Architecture
Software Engineering and Architecture
CSCE 315 Programming Studio
Software Engineering and Architecture
Software Engineering and Architecture
Presentation transcript:

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

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

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

AU CSHenrik Bærbak Christensen4 There Will Be Code

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

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 hours of training to become experts! AU CSHenrik Bærbak Christensen6

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

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

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

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

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

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

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

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

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

Development Process WEhttp:// WE Video /Art and Technology / –at to ~ AU CSHenrik Bærbak Christensen16

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

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

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

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

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

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

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

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

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

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

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

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

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