Ontwerp van Informatiesystemen

Vergelijkbare documenten
Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

1ste bach TEW. Informatiesystemen. samenvatting + minicases. uickprinter Koningstraat Antwerpen 3.

Java. Basissyllabus. Egon Pas

Overerving & Polymorfisme

IMP Uitwerking week 13

Hoofdstuk 1: Inleiding. Hoofdstuk 2: Klassen en objecten Datahiding: afschermen van implementatiedetails. Naar de buitenwereld toe enkel interfaces.

Tentamen Object Georiënteerd Programmeren TI oktober 2014, Afdeling SCT, Faculteit EWI, TU Delft

Programmeren in Java 3

Noties Informatica. In java fungeren objecten als een model voor de elementen waarin een probleem kan worden opgesplitst

Datastructuren en algoritmen

Python (gem=1,86) Java (gem=1,57) Enquete cursus informatica 1e bachelors oefeningen beter aansluiten bij project?

Abstracte klassen & Interfaces

Modulewijzer Tirdat01

SYNTRA-WEST. Cursus OOP. Deel

Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele

Zelftest Programmeren in Java

Modelleren en Programmeren

Vakgroep CW KAHO Sint-Lieven

OBJECT SPAGHETTI : PATTERNS BIEDEN UITKOMST? Wat is het probleem nou eigenlijk? public class CoffeeDrinker { private CoffeeProducer mycoffeeproducer;

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Programmeren in Java les 3

Kleine cursus PHP5. Auteur: Raymond Moesker

Modelleren en Programmeren

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Beginselen van programmeren Practicum 1 (Doolhof) : Oplossing

Modelleren en Programmeren

Modelleren en Programmeren

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.

Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction

Ingebouwde klassen & methodes

Programmeren in Java 3

Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur

Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction

Object-oriented programmeren met BlueJ en Visual Studio

Modulewijzer tirprog02/infprg01, programmeren in Java 2

Deeltentamen Grammatica s en ontleden 22 december 2005

Modelleren en Programmeren

1 Ontwerppatronen. 1.1 Het Command patroon

Programmeren Blok B. Onderwerpen. wstomv/edu/2ip05/ College 8. Tom Verhoeff

Polymorfie 142. PersonalityObject. + PersonalityObject( ) + speak( ): String. OptimisticObject ExtrovertedObject PessimisticObject IntrovertedObject

Design patterns.

Project network. Gebaseerd op paragrafen , uit het boek. We simuleren een sociaal netwerk

Objectgeoriënteerd programmeren in Java 1

Inhoud leereenheid 7c. JavaScript: Objecten en functies. Introductie 59. Leerkern 60. Samenvatting 82. Opdrachten 83. Zelftoets 89.

Modeleren. Modelleren. Together UML. Waarvan maken we een model? overzicht les 14 t/m 18. ControlCenter 6.2

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

Module 1 Programmeren

Introductie in C++ Jan van Rijn. September 2013

VI. Klassen en objecten

public Paneel() { knop = new JButton( Klik ); knop.addactionlistener( new KnopHandler() ); tekstvak = new JTextField(10); add(knop); add(tekstvak);

VAN HET PROGRAMMEREN. Inleiding. Het spiraalmodel. De programmeertaal. vervolgens de berekening van het totale bedrag, incl. BTW:

Programmeren (1) Examen NAAM:

De Vergeten Abstracties

Derde deeltentamen Gameprogrammeren Vrijdag 7 november 2014, uur

Objectgericht programmeren 1.

Hoofdstuk 0. Van Python tot Java.

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

Scala. Korte introductie. Sylvia Stuurman

Lessen Java: Reeks pag. 1

Inleiding programmeren

HOGESCHOOL VAN AMSTERDAM Informatica Opleiding. CPP 1 van 10

{ specificatie (contract) en toelichting }

public boolean equaldates() post: returns true iff there if the list contains at least two BirthDay objects with the same daynumber

SPOJ oplossingen Gilles Callebaut 7 augustus 2015

Java spiekbrief. Commentaar. Definitie van een methode. Types. Variabelendeclaratie. Definitie van een klasse. Namen. Definitie van een veld

2de bach HIB. Systeemanalyse. Volledige samenvatting. uickprinter Koningstraat Antwerpen ,70

C++ C++ als een verbetering van C. Abstracte datatypen met classes. Constructoren en destructoren. Subklassen. binding van functies

Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld

Programmeren in C# Samenvatting van C#

Zelftest Inleiding Programmeren

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

Informatica. Deel II: les 2. Leibniz - erven - digitaal. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction

Elementary Data Structures 3

Toegepaste notatiewijzen DLA software

VAN HET PROGRAMMEREN. Inleiding

Modelleren en Programmeren

SYNTRA-WEST. Initiatiecursus JAVA. Deel

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

NAAM: Programmeren 1 Examen 29/08/2012

Deel II: Modelleren en software ontwikkeling. Hoofdstuk 7 Software ontwikkeling - Overzicht. Naïeve benadering

Modelleren en Programmeren

Stacks and queues. Hoofdstuk 6

Java spiekbrief. Commentaar. Definitie van een methode. Types. Variabelendeclaratie. Definitie van een klasse. Namen. Definitie van een veld

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

HBO5 Informatica Netwerkbeheer (90 studiepunten) In deze module leer je projecten op te stellen en te programmeren in de VB.NET-omgeving.

Inhoudstafel. UML (Unified Modeling Language)

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, uur

Wat is een grafische gebruikersinterface (GUI)?

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI

Een unit test is geen integratie test. Niet het hele systeem, maar onderdelen van een systeem worden getest.

Tentamen Inleiding Programmeren in Java

Windows applicaties met VB.NET VB Express 2010

Tentamen Imperatief Programmeren

UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS

Tentamen in2705 Software Engineering

Programmeren in C++ (deel 1)

Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 6 november 2015, uur

Versie 2: B C D D A C D A C C. Versie 3: C D A A B D A B D D. Versie 4: A D C C B D C B D D. Versie 5: B A D D C A D C A A

Klassen. Hoofdstuk Klassen

Transcriptie:

1ste bach HIB Ontwerp van Informatiesystemen Prof. Verelst Q www.quickprinter.be uickprinter Koningstraat 13 2000 Antwerpen 112 2,50

Online samenvattingen kopen via www.quickprintershop.be

Table of Contents Ontwerp van Informatiesystemen Hoofdstuk 1: Wat is systeemontwerp?... 3 Inleiding... 3 Informatiesystemen... 3 Organisaties en IS... 3 Software engineering... 4 Watervalmodel... 5 Analyse... 5 Ontwerp... 5 Implementatie... 5 Testen... 6 Onderhoud... 6 Nuancering... 6 Methodologieën... 7 Gestructureerd vs object-georiënteerd ontwerp... 7 Hoofdstuk 2: Variabelen en Datastructuren... 8 Constanten... 8 Variabelen... 8 Declaratie... 8 Initialisatie... 9 Toekenning... 9 Basistypes... 9 Integer... 9 Real... 10 Char en string... 10 Boolean... 10 Datastructuren... 10 Arrays... 10 Records... 11 Hoofdstuk 3: Basisstructuren... 11 Sequentie... 11 Iteratie... 11 For next... 12 Repeat until... 12 While... 12 Selectie... 12 If then... 12 Switch... 13 Hoofdstuk 4: Procedures... 13 Wat zijn procedures... 13 Functie... 13

Globale en lokale variabele... 13 Parameters... 14 Recursiviteit... 14 Voordelen van procedures... 14 Hoofdstuk 6: Softwarekwaliteit... 15 Kwaliteit... 15 Kwaliteitseisen... 15 Afweging tussen kwaliteitseisen... 16 Verband met onderhoud... 16 Verband met architectuur... 17 Hoofdstuk 7: Modules... 17 Modules... 17 Definitie... 17 Communicatie... 18 Kenmerken... 18 Ontwerpen met modules: Voordelen... 18 Bepalen van modules... 19 IVO-architectuur... 19 Koppeling... 19 Cohesie... 21 Hoofdstuk 9: Inleiding tot Object-oriëntatie... 22 Inleiding... 22 Abstract Data Type (ADT)... 22 Object-Oriëntatie... 22 Objecten en Klassen... 22 Attributen en methoden... 23 Voordelen van OO... 23 Inkapseling... 23 Parameters in Java... 24 UML... 24 Objecten identificeren... 24 Modulariteit en object-oriëntatie... 24 Hoofdstuk 10: Relaties tussen klassen... 26 Associatie... 26 Generalisatie... 26 Aggregatie... 27 Hoofdstuk 11: Eigenschappen van Object-oriëntatie... 27 Overerving... 27 Polymorfisme... 28 Statische Attributen en Methoden... 29 Hoofdstuk 12: Patronen... 29 Ontwerppatronen... 29 Voordeel... 30 Voorbeelden... 30 2 Klaas Van Hoeck 2017-2018

o Subklasse erven methode over maar moeten ze wel schrijven o Abstracte klasse kan concrete methode bevatten niet andersom Interfaces o Een pure abstracte klasse o Enkel abstracte methode o Fungeert als template o Definieert welk methoden subklasse moeten bezitten o Overerving van meerdere interfaces kan wel Overloading o 2 de voorbeeld van polymorfisme o Geld voor methode binnen dezelfde klasse o Methode met dezelfde naam, maar verschillende parameterlijst Bv constructen met verschillende parameters (eens naam niet meegeven want niet nodig) o Courant gebruikt bij constructor o De signature moet verschillen Parameters moet verschillen Type van parameters moet verschillen o Handig let op cohesie! Statische Attributen en Methoden Attributen en methode van klasse zijn mogelijk o Bv hoeveel objecten per klasse o Methode/attribuut aanroepen op de klasse geen object voor nodig o Statisch attribuut lijkt op globale variabele pascal Maar enkel bruikbaar in de klasse Waarom dan Public static void main(string[] args) o Public moet mainprogramma kunnen opstarten o Static moet nog geen object hebben o Void geen returnwaarde Hoofdstuk 12: Patronen Ontwerppatronen Oplossing voor veelvoorkomend ontwerpprobleem Kwaliteit empirisch bewezen Eigenschappen o Naam 29 Klaas Van Hoeck 2017-2018

o Probleem o Oplossing o Gevolgen Basiswerk o Gamma 23 oplossingen Nieuwe patronen voortdurend voorgesteld Kennis van patronen is een essentieel onderdeel van de kennis van de programmeur Voordeel Onderhoudbaarheid Hergebruikbaarheid Correctheid o Is al veel gebruikt en is dus correct Programmeertaalonafhankelijk Communicatie Voorbeelden Creational: aanmaak van objecten Structural: objecten samenvoegen Behavioral: communicatie en gedrag van objecten Singleton Probleem: 1 en slechts 1 object van een klasse aanmaken o Vb. Drie pc willen iets afprinten te gelijk printer drukt pagina s willekeurig af Oplossing singleton o 1 ste aanroep: creëert object o 2 de aanroep: krijgt 1 ste object terug want er mag maar 1 object zijn vb. Maar 1 printer Facade Probleem: onoverzichtelijke verbanden tussen klassen o Vb. Software voor bankautomaat Alle controles moeten uitgevoerd worden Oplossing o Facadeklasse: Extra klasse o Roept alle controles aan Als er extra controles bijkomen geen verandering in main Enkel extra aanroep in facadeklasse Observer Objecten die moeten reageren bij statuswijziging aan een ander object Oplossing 30 Klaas Van Hoeck 2017-2018

o Niet elke seconde vragen of er een verandering is o Wel programma een notify laten sturen als data veranderd o Koppeling 31 Klaas Van Hoeck 2017-2018