1 Software-ontwikkeling [Software Development] Universiteit Gent Faculteit Ingenieurswetenschappen 2de Bachelor Informatica 3de Bachelor Computerwetenschappen Master in de Toegepaste Informatica Academiejaar Bart DHOEDT
2 Course Objectives first course in “software engineering” software = programming + ???? basic software terminology (the language) basic methods additional concepts in programming “advanced Java” + coupling with software engineering concepts Starting point : basic knowledge of Java and algorithms End term : design, code and test a “simple” stand-alone software product, given user requirements.
3 When and where ? Lectures Thursday : 10 AM – 13 AM + 2 lectures on Friday morning (BC + MTI only) Lab Sessions BC1 MTI Friday : 8.30 AM – AM Plateau, PC-classes E + F Thursday : AM – AM Plateau, PC-class A Recommended ! BI2 Friday : 8.30 AM – AM Plateau, PC-classes E + F
4 Course material URL : distributed through website - annotated slides - assignments for lab sessions - Q & A - announcements
5 On feed back + forum : via minerva team :Olivier Van LaereStijn Verstichel Bruno Van Den Bossche Stijn Van Looy [MTI] Maria Chtepen Jan Hollez Kristof Lamont phone : Bart Dhoedt (09) Feed back = VERY important How to contact team ? additional info needed suggestions (typos, errors, more info, …) practical info...
6 How to find us ? NEW LOCATION Park Office ZUIDERPOORT
7 Exam BI2 + BC3 MTI (1) Written exam, closed book [60% of marks] (2) Project [40% of marks] -> in groups of 4 people -> start making groups -> send your group to Written exam, open book
8 Course Contents : lectures Software EngineeringAdvanced Java -Birds eye view on software life cycle -Graphical notation (UML) -Focus on technical aspects - design patterns - testing - components - … - Control frameworks, inner classes - Event driven programming - GUI’s (Swing) - RTTI - Exception handling - I/O - Java Beans - Multithreading W1 W12 W6 W7 MTI
9 Course Contents : lab sessions MTI focus on Java GUIs (4 sessions) 1 session on text files [Lab 0] starts Thursday 15 Feb [=today !] BI2/BC1 lab sessions addressing advanced JAVA + tools 4 meetings to report on project (life cycle and UML) project architecture project design project implementation DEMO
10 Course Contents : lab sessions “a small project” group of 4 persons all groups work on SAME project idea - small stand alone application : from problem definition to code (?) - use tools to assist (learn by doing) (e.g. javadoc, junit, UML-editor, debugger, IDE, …)
11 Where to find out more Martin Fowler, “UML Distilled”, 3 rd ed., Addison Wesley Hans Van Vliet, “Software Engineering : Principles and Practice”, 2 nd ed., Wiley Stephen Schach, “Classical and Object-Oriented Software Engineering With Uml and Java”, 4 th ed., McGraw-Hill Bruce Eckel, “Thinking in Java”, 3 rd ed., Prentice Hall. Freely downloadable at :
12 Course Schedule 1 (tentative) Week MTI BCBI 115/02/2007 LifeCycle/Frameworks ILab MTI 0LifeCycle/Frameworks I 16/02/ /02/2007 Frameworks II + IIILab MTI 1Frameworks II + III 23/02/2007 Swing I + II Lab BI 1 31/03/2007 OOA I + IILab MTI 2OOA I + II [Project Assignment] 2/03/2007 Lab BC 1 48/03/2007 OOD + OOPLab MTI 3OOD + OOP 9/03/2007 Swing III Swing III + Exceptions+FileIOLab BI 2 515/03/2007 Lab MTI 4 Patterns I +FileIO II [Serialisation + Sockets] 16/03/2007 Lab BC 2 / Project architectuurProject architectuur 622/03/2007 *** Patterns II + Multithreading 23/03/2007Dies Natalis***
13 Course Schedule 2 (tentative) 729/03/2007 *** Project Design 30/03/2007 *** Lab BC3Project Design 5/04/2007Paasvakantie*** 6/04/2007Paasvakantie*** 12/04/2007Paasvakantie*** 13/04/2007Paasvakantie*** 819/04/2007 *** JavaBeans I + Patterns III 20/04/2007 *** 926/04/2007 *** [Collections] + Patterns IV + JavaBeans II 27/04/2007 *** Lab BC 4, Project ImplementatieLab BI 3, Project Implementatie 103/05/2007 *** Generics I + C# 4/05/2007 *** Lab BC 5Lab BI /05/2007 *** Generics II + AOP 11/05/2007 *** Lab BC /05/2007 *** *** [Hemelvaart] 18/05/2007 *** *** [Hemelvaart] 22/05/2007Inhaalweek*** Project Demo 23/05/2007Inhaalweek*** Project Demo