1 Uit ons domein: Verzameling programmatuur voor het toewijzen van afstudeerders aan examinatoren. Invoer van voorkeuren Toewijzen Overzichten Practicum
2 afstudkeuzes : Client-Server doelgroep : docenten DocControl : standalone doelgroep : coördinator afstuderen gebruikt Refactorisatie invoer
3 Opslag: Nu: platte files Hierna ook een database (dbms: MS-Access) Overige programma's blijven de platte files gebruiken. Refactorisatie invoer
4 details: Nu Unix, hierna ook Windows documentatie : afwezig Refactorisatie invoer
5
6 definitie doelen historie positionering hergebruik en design patterns vuistregels voor initiatie hergebruik voorbeelden van hergebruik categorieën van patterns Hergebruik en design patterns
7 Een pattern is een van een naam voorziene beschrijving van een probleem, een oplossing en een advies hoe het pattern kan worden toegepast in een nieuwe context en beschrijvingen van de voor- en nadelen. (blz. 218) Definitie
8 Naam: strategy Probleem: voor een probleem moeten diverse algoritmes kunnen worden toegepast Oplossing:maak voor elk algoritme een class; de classes hebben een identieke interface Context:Bijv. prijsberekening, sorteren Voor- en nadelen:... Voorbeeld
9 standaardisatie van vocabulaire gegarandeerde kwaliteit verhoging van de efficiëncy vereenvoudiging van het onderhoud Doelen
10 1977 Pattern in de architectuur Christopher Alexander 1987 Toepassing in Smalltalk Ward door Cunningham 1991 Eerste pattern catalogus voor C++ door J. Coplien 1994 Publicatie Design Pattern door GoF (Erich Gamma,… ) Historie
11 ProcesObject oriëntatiehergebruik ProbleembeschrijvingMentale modellenLeren/ervaring Analyse/ontwerpOO methodieken en techniekenDesign patterns RealisatieOO talen C++, Java, SmalltalkClass libraries, packages, componenten Testen??testsets Positionering hergebruik en design patterns
12 Hergebruik vergt een kwart van de kosten t.o.v. van scratch af beginnen. Het is rendabel voor hergebruik te ontwikkelen, indien de software 3 – 5 keer zal worden hergebruikt. Het maken van een herbruikbaar component kost 1.5 – 3 keer zoveel tijd t.o.v. de ontwikkeling voor eenmalig gebruik. Het kost 2 – 3 product cycles voordat hergebruik profijtelijk is. Vuistregels voor initiatie hergebruik
13 Hergebruik is niet alleen een technologisch probleem, maar (vooral) ook een organisatorisch probleem. Vuistregels voor initiatie hergebruik
14 1. Componenten 1.1. Com 1.2. Beans 2. Frameworks 2.1. Gui : Java Swing, X 2.2. C++, STL (Standaard Template Library), MFC Voorbeelden van hergebruik
15 1. Architectuur Beschrijft de fundamentele organisatie van de software. Het beschrijft een aantal predefined subsystems met hun verantwoordelijkheden tier 1.2. pipes and filters 1.3. blackboard 1.4. broker 1.5. mvc Categorieën van patterns
16 2. Design pattern Verfijnt een subsysteem of een component Facade 2.2. Strategy 2.3. GoF patterns 2.4. Proxy Categorieën van patterns
17 3. Idioms Een low-level pattern die specifiek is voor een programmeertaal Singleton 3.2. ODBC koppeling met een database 3.3. Inlezen en weergeven van een afbeelding Categorieën van patterns