AU CSHenrik Bærbak Christensen1 dSoftArk E2014 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

WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
McGraw-Hill/Irwin © 2006 The McGraw-Hill Companies, Inc. All rights reserved BUSINESS DRIVEN TECHNOLOGY Chapter Nineteen: Building Software to Support.
BUSINESS DRIVEN TECHNOLOGY
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.
introduction to MSc projects
BORIS MILAŠINOVIĆ FACULTY OF ELECTRICAL ENGINEERING AND COMPUTING UNIVERSITY OF ZAGREB, CROATIA Experiences after three years of teaching “Development.
DAIMI(c) Henrik Bærbak Christensen1 JUnit A tool for test case management.
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.
COMPUTER SCIENCE LYNDA THOMAS – SENIOR LECTURER, ACADEMIC ADVISOR.
1 Design and Integration: Part 1 Nuggets about Design vs Project Management.
ITEC 370 Software Engineering Dr. Andrew Ray. Introduction Objectives Introductions (Me + You) Engineering Class.
Michael Burnside Blog: Software Quality Assurance, Quality Engineering, and Web and Mobile Test.
CE0825 Object-Oriented Programming 2 © Allan C. Milne Abertay University v
Callis ApS, Copyright © Reviewer Training Material Callis Reviewer version 1.1.
Teaching Programming Strathclyde’s way. A second year course in ADS in Java A 2nd year course algorithms and data structures about 200 students Java 2.
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
EECE 310 Software Engineering Lecture 0: Course Orientation.
Prof. Matthew Hertz SH 1029F /
Course Introduction Software Engineering
ETICS2 All Hands Meeting VEGA GmbH INFSOM-RI Uwe Mueller-Wilm Palermo, Oct ETICS Service Management Framework Business Objectives and “Best.
Prof. Matthew Hertz WTC 207D /
EEL4712 Digital Design. Instructor Dr. Greg Stitt Office Hours: TBD (Benton 323) Also, by appointment.
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.
Revision Techniques. Get serious and Start Planning.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Introduction.
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.
A Framework for Integrating Technology Mark Grabe.
HotCiv Project Starting up!. Henrik Bærbak Christensen2 HotCiv = Agile development Iterations of –product development –learning increments.
AU CSHenrik Bærbak Christensen1 dSoftArk E2015 Software Architecture Programming in the Large.
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,
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.
Test Driven Development Introduction Issued date: 8/29/2007 Author: Nguyen Phuc Hai.
First week. Catalog Description This course explores basic cultural, social, legal, and ethical issues inherent in the discipline of computing. Students.
Arkitektur og Dist. Systemer MIT SWK. AU CSHenrik Bærbak Christensen2 Me Henrik Bærbak Christensen Associate professor (lektor) since 2003 –Collaboration.
Mandatory 3 Test Stubs State Abstract Factory. Do not panic! dSoftArk is about Good analyzable design not about HotCiv! Henrik Bærbak Christensen2.
AU CSHenrik Bærbak Christensen1 dSoftArk E2013 Software Architecture Programming in the Large.
1 Requirements Engineering for Agile Methods Lecture # 41.
1 Welcome Alireza Humber College Lecture 1 Game 540 Alireza
Software Architecture in Practice Welcome to SAiP.
Hints - Mandatory 5 Blackbox Testing Pattern Hunting.
Website Development and Maintenance Is your Website losing your prospects to your competition?
COMP 7012: Foundations of Software Engineering
Exam A few notes and hints….
HotCiv Project Starting up!.
Mandatory 1 / AlphaCiv … Traps to be aware of ….
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
Gathering Systems Requirements
Topic 1: Introduction to the Module and an Overview of Agile
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 E2014 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

One piece of 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:312 AU CSHenrik Bærbak Christensen3

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 Christensen4

AU CSHenrik Bærbak Christensen5 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 Christensen6 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 Christensen7

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 Christensen8

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 Christensen9

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 Christensen10

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

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

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

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

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 Christensen15

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

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

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 Christensen18

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

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

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 Christensen21

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 Christensen22

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 Christensen23

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 Christensen24

New in 2014 Reorganize deliveries quite a lot in 2014 –Before: Do stuff, Tell about it in report Upload the code for review –Experiment this year Do stuff, Make screen cast, peer review code, rehearse exam… Upload the code for review AU CSHenrik Bærbak Christensen25 Spend time on process and skills! I will be learning how it works as we grow dSoftArk! Tell me!

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 Christensen26

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 Christensen27

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