Statische systeemstructuur Domeinmodel modelleren in UML OOA: statische systeemstructuur
Klassen OOA: statische systeemstructuur Twee compartimenten: Naam van de klasse Attributen Naam van de klasse: zelfstandig naamwoord met hoofdletter. Attributen: kleine letter bijv. rekeningEigenaar datatype en eventuele constraints
Constraints bij klassen Bij attributen {> 0 and <=100}    bereik van een geheel getal {geregistreerd, in behandeling, afgewerkt}    mogelijke waarden Klasseninvarianten als aparte tekst {Self.noOfStudents > 50 implies (not (self.room = 3317))}    als het aantal ingeschreven voor de module groter is dan 50, kan het lokaal niet 3317 zijn (bijvoorbeeld omdat dit lokaal maximaal 50 studenten kan bevatten. Als &quot;note&quot; Via enumeratieklasse OOA: statische systeemstructuur
OOA: statische systeemstructuur
OOA: statische systeemstructuur
Associaties OOA: statische systeemstructuur
Klassendiagrammen op alle niveaus Analyseniveau: domeinmodel. Ontwerpniveau: operatie toevoegen, associaties implementeren, klassen toevoeven (control classes, boundary classes). Implementatieniveau: weerspiegeling van de code. OOA: statische systeemstructuur
Analyseniveau Algemene datatypes. Geen operaties. Geen richting van de associaties. Geen verwijssleutels. Geen afgeleide associaties. Enkel domeinklassen. OOA: statische systeemstructuur
Objecten en klassen identificeren Probleem analyseren en domeinobjecten identificeren.. Datagerichte aanpak op basis van tekstanalyse. Alternatief: verantwoordelijkheidgestuurde aanpak met CRC-kaarten ==> wij niet OOA: statische systeemstructuur
Tekstanalyse Alle zelfstandige naamwoorden zijn kandidaat-klassen. Schrap daarna de kandidaten die niet geschikt zijn en controleer op synoniemen en homoniemen. OOA: statische systeemstructuur
Argumenten om kandidaten te schrappen: redundant vaag een event (gebeurtenis) of een operatie metataal buiten het kader van het systeem een attribuut Informatiedrager subject OOA: statische systeemstructuur
Voorbeeldoefening &quot;In een bedrijf kunnen klanten per fax of per e-mail orders plaatsen. Die worden in de verkoopafdeling door een verkoopmedewerkster in het systeem ingevoerd. Klanten kunnen hun orders later eventueel meermaals wijzigen en ze eventueel schrappen. Per order kunnen verschillende producten worden besteld. Voorbeelden van producten zijn boeken, cd's en videocassettes. Van een order kan de leveringsdatum gewijzigd worden. Van bestelde producten kan de bestelde hoeveelheid verhoogd of verlaagd worden.&quot; OOA: statische systeemstructuur
Associatieklasse OOA: statische systeemstructuur
Associatieklasse wegwerken OOA: statische systeemstructuur
Bestaansafhankelijkheid ( existence dependency) Een object A is bestaansafhankelijk van B: Als het leven van A ingebed is in dat van B. Bij zijn ontstaan is A afhankelijk van B. A blijft heel zijn leven afhankelijk van B. OOA: statische systeemstructuur
OOA: statische systeemstructuur Geen order zonder klant. Order 987 blijft altijd van dezelfde klant.
OOA: statische systeemstructuur Klant “Karel de Grote” Order 987 Order 564 Order 123 Levenslijn van de objecten Order is bestaansafhankelijk van Klant
Eis van bestaansafhankelijkheid Elke associatie moet een  bestaansafhankelijkheidsrelatie voorstellen. OOA: statische systeemstructuur Anders: relatie verzelfstandigen  tot een klasse.
OOA: statische systeemstructuur Een student is niet bestaansafh. van zijn klas
Aggregatie Deel – geheel / 'bestaat uit ' Compositie: sterke aggregatie OOA: statische systeemstructuur
Xor-constraint OOA: statische systeemstructuur
Generalisatie In een context waarin een lid van een meer algemene class wordt verwacht , kan een object van een gespecialiseerde class worden gesubstitueerd voor een object van de meer algemene class, maar het omgekeerde is niet mogelijk. Abstracte klassen    geen objecten van die klasse. OOA: statische systeemstructuur
Generalisatie OOA: statische systeemstructuur
OOA: statische systeemstructuur
OOA: statische systeemstructuur

H4statischtransp

  • 1.
    Statische systeemstructuur Domeinmodelmodelleren in UML OOA: statische systeemstructuur
  • 2.
    Klassen OOA: statischesysteemstructuur Twee compartimenten: Naam van de klasse Attributen Naam van de klasse: zelfstandig naamwoord met hoofdletter. Attributen: kleine letter bijv. rekeningEigenaar datatype en eventuele constraints
  • 3.
    Constraints bij klassenBij attributen {> 0 and <=100}  bereik van een geheel getal {geregistreerd, in behandeling, afgewerkt}  mogelijke waarden Klasseninvarianten als aparte tekst {Self.noOfStudents > 50 implies (not (self.room = 3317))}  als het aantal ingeschreven voor de module groter is dan 50, kan het lokaal niet 3317 zijn (bijvoorbeeld omdat dit lokaal maximaal 50 studenten kan bevatten. Als &quot;note&quot; Via enumeratieklasse OOA: statische systeemstructuur
  • 4.
  • 5.
  • 6.
  • 7.
    Klassendiagrammen op alleniveaus Analyseniveau: domeinmodel. Ontwerpniveau: operatie toevoegen, associaties implementeren, klassen toevoeven (control classes, boundary classes). Implementatieniveau: weerspiegeling van de code. OOA: statische systeemstructuur
  • 8.
    Analyseniveau Algemene datatypes.Geen operaties. Geen richting van de associaties. Geen verwijssleutels. Geen afgeleide associaties. Enkel domeinklassen. OOA: statische systeemstructuur
  • 9.
    Objecten en klassenidentificeren Probleem analyseren en domeinobjecten identificeren.. Datagerichte aanpak op basis van tekstanalyse. Alternatief: verantwoordelijkheidgestuurde aanpak met CRC-kaarten ==> wij niet OOA: statische systeemstructuur
  • 10.
    Tekstanalyse Alle zelfstandigenaamwoorden zijn kandidaat-klassen. Schrap daarna de kandidaten die niet geschikt zijn en controleer op synoniemen en homoniemen. OOA: statische systeemstructuur
  • 11.
    Argumenten om kandidatente schrappen: redundant vaag een event (gebeurtenis) of een operatie metataal buiten het kader van het systeem een attribuut Informatiedrager subject OOA: statische systeemstructuur
  • 12.
    Voorbeeldoefening &quot;In eenbedrijf kunnen klanten per fax of per e-mail orders plaatsen. Die worden in de verkoopafdeling door een verkoopmedewerkster in het systeem ingevoerd. Klanten kunnen hun orders later eventueel meermaals wijzigen en ze eventueel schrappen. Per order kunnen verschillende producten worden besteld. Voorbeelden van producten zijn boeken, cd's en videocassettes. Van een order kan de leveringsdatum gewijzigd worden. Van bestelde producten kan de bestelde hoeveelheid verhoogd of verlaagd worden.&quot; OOA: statische systeemstructuur
  • 13.
  • 14.
    Associatieklasse wegwerken OOA:statische systeemstructuur
  • 15.
    Bestaansafhankelijkheid ( existencedependency) Een object A is bestaansafhankelijk van B: Als het leven van A ingebed is in dat van B. Bij zijn ontstaan is A afhankelijk van B. A blijft heel zijn leven afhankelijk van B. OOA: statische systeemstructuur
  • 16.
    OOA: statische systeemstructuurGeen order zonder klant. Order 987 blijft altijd van dezelfde klant.
  • 17.
    OOA: statische systeemstructuurKlant “Karel de Grote” Order 987 Order 564 Order 123 Levenslijn van de objecten Order is bestaansafhankelijk van Klant
  • 18.
    Eis van bestaansafhankelijkheidElke associatie moet een bestaansafhankelijkheidsrelatie voorstellen. OOA: statische systeemstructuur Anders: relatie verzelfstandigen tot een klasse.
  • 19.
    OOA: statische systeemstructuurEen student is niet bestaansafh. van zijn klas
  • 20.
    Aggregatie Deel –geheel / 'bestaat uit ' Compositie: sterke aggregatie OOA: statische systeemstructuur
  • 21.
  • 22.
    Generalisatie In eencontext waarin een lid van een meer algemene class wordt verwacht , kan een object van een gespecialiseerde class worden gesubstitueerd voor een object van de meer algemene class, maar het omgekeerde is niet mogelijk. Abstracte klassen  geen objecten van die klasse. OOA: statische systeemstructuur
  • 23.
  • 24.
  • 25.