Reliable Software and Architecture Course 1: Reliable Software DAIMI Henrik Bærbak Christensen 1 The lecturer Henrik Bærbak Christensen Associate professor (lektor) since 2003 – adjunkt and phd – Software developer/architect in industry, 91-94 – Ms.Sc. in Astrophysics Faglig koordinator for Master og Diplom (SWK) Owner of • Course development and consultancy • http://www.imhotep.dk DAIMI Henrik Bærbak Christensen 2 RSA The audience: – Master students: 1st of 3 courses • 1: Reliable Softare • 2: Reliable Architecture • 3: Project in RSA – Diploma students: Perspektivfag Consequence: – This course can stand alone. DAIMI Henrik Bærbak Christensen 3 The three courses 1: Reliable Software – High focus on application • Theory for the purpose of supporting practice – Large mandatory project • Includes software development in Java • Require tool support: Java, Ant, Junit – Oriented quite a lot towards implementation level DAIMI Henrik Bærbak Christensen 4 The three courses 2: Reliable architecture – (Contents not fully defined yet) – Theoretical • Research papers, book chapters, web resources • Reading, discussing, analyzing – Doubtful if the mandatory project will include real development • (on the other hand I would like to fire up 4 virtual machines on a virtual network and do something funny in VMWare ) DAIMI Henrik Bærbak Christensen 5 The three courses 3: Project – Contents defined by… you – Typical • Apply some of the techniques and reflect – Often inspired by work practice • Dig deeper into peculiar topic – More papers, analyze, compare, reflect DAIMI Henrik Bærbak Christensen 6 This course Reliability techniques – Testing • at the various levels: unit, subsystem, system • the various techniques • tools: JUnit and EMMA – Reviewing – ... and the context it is rooted in – Process and planning DAIMI Henrik Bærbak Christensen 7 Mandatory Project Two deliverables – Unit testing: [18th Sep] • test case design based upon black-box and white-box testing techniques • tool usage: JUnit and EMMA – Integration testing (system testing?) [2nd Oct] • Integrate your unit with other groups DAIMI Henrik Bærbak Christensen 8 Course layout The main elements – Seminars: I talk you to death; exercises; discussions – Week plan: Defines the course’s heartbeat – Mandatory project: Ensure your hearts beat • Learning is doing... Contact: – Me • Tricky questions – If interesting than I will post a summary on web-site • Process issues, exam, etc. • No forum this year… DAIMI Henrik Bærbak Christensen 9 Ilene Burnstein Practical Software Testing – Reasonable discussion of central techniques • a bit superficial from time to time – Heavily focused on process • TMM is her invention We will use it and “spice it up” with additional material... DAIMI Henrik Bærbak Christensen 10 Web site [Demo] – Schedule / week plan • Mandatory, cursory, optional – Lessons and exercises – anarchistic updating is my specialty... DAIMI Henrik Bærbak Christensen 11 Exam Exam is a pass/fail exam. Dates are on Web. It is an oral exam without preparation Focus – terminology and concepts – ability to apply them on concrete small examples – combine and relate topics DAIMI Henrik Bærbak Christensen 12 Practical information Access to DAIMI machines – You have all been added as users on DAIMI machines • Access to ACM/IEEE libraries • Common repositories for development – Passwords are provided by Marianne Dammand, course secretary... • dammand@cs.au.dk DAIMI Henrik Bærbak Christensen 13