OOA&D, kap. 1-5
Fiktiv case Det supermarked I dagligt handler i, skal have et integreret kasse-, lagerstyrings- og EDI-system. Systemet skal gøre det muligt at sænke varebeholdningen uden at der kommer tomme hylder i butikken. I tilgift skal systemet forbedre kundeservice derved at oplysninger om varerne bliver lettere tilgængelige for kunderne. Start med en lille del af dette
Eksempel Beggars and philanthropists Simuler budgetterings- ansøgnings- og bevillingsprocesser som angivet i dokument. Undersøg om de simulerede processer giver en bestemt kurve over bevillingsdifferencer
Analyse, problemområde, anvendelsesområde
Kap 2 1. Lav et 'rigt billede' som grundlag for en systemdefinition (24)
Kapitel 2 2. Lav et BATOFF dokument der definerer systemet (37) Betingelser: Ikke-financieret forskningsaktivitet. Anvendelsesområde Verificering af samfundsvidenskabelig forskning i ikke-lineære dynamiske systemer. Bruges af forskere. Teknologi Objekter Skal køre på Windows-platform Tiggere, Filantroper, ansøgninger, budgetter, bevillinger Funktioner Filosofi muliggøre eksperimenter med og ændringer af modellen (parametre) visualisere budgetteringsforløb (kurver og animationer) Skal producere csv-filer der kan behandles i statistikprogrammer (måling af data og udskrift her af) Skal repræsentere den samfundsvidenskabelige teori korrekt
Kap 3 3. Lav en foreløbig liste over klasser i problemområdet (53) Klasse: en beskrivelse af en samling objekter med fælles struktur, adfærd og attributter Objekt: noget der har identitet, tilstand og adfærd Led efter navneord i problemområdet (ting, personer, steder, organisationer, ) Tigger, filantrop, budget, ansøgning, bevilling Rum, naboskab
Kap 3 4. Lav en foreløbig liste over hændelser i problemområdet (55) Kig efter verber (transportere, forbruge fødes, dø, kontrahere,planlægge ) Begivenhed: øjeblikkelig hændelse der involverer én eller flere klasser Lave budget, vælge filantrop, sende ansøgning. Modtage ansøgning, skære ned, bevilge beløb, sende bevilling Modtage bevilling, bruge bevilling, gå bankerot.
Kap 3 5. Lav en hændelsestabel over hvilke klasser der deltager i hvilke hændelser (48)
Hændelesestabel Tigger Filantrop Budget Ansøgning Bevilling Lave budget A O Vælge filantrop A O Sende ansøgning A D O Modtage ansøgning S A O Skære ned A O Bevilge B A O Sende bevilling D A O Modtage bevilling A O Bruge bevilling A O Gå bankerot A A = agent, O = Objekt, S = source, D = destination, B = Beneficiary
DO IT
Kap 4 6. Lav et diagram over relationerne mellem klasserne. Brug specialisering, aggregering og associationer.(67 ff) Relationer mellem klasser: uforanderlige under kørslen: generalisering/ specialisering Test: En lastbil er en bil Relationer mellem objekter: foranderlige under kørslen Aggregering. Test: en motor er del af en bil, en bil er fejlbehæftet uden motor. En indkøbskurv indeholder varer. Associationer: mere løse relationer.
OOogSQL #$# "#$# & %& ( ) '
Beggars and philanthropists
Beggars and philanthropists class Document: ''' superclass for grants and budgetproposals''' def init (self, applicant = None, foundation = None, amount = 0): self.applicant = applicant self.foundation = foundation self.amount = amount class BudgetProposal(Document): ''' the budgetproposal sent by a beggar''' def init (self, applicant, foundation, amount): Document. init (self, applicant, foundation, amount) self.isreviewed = False
Mønstre A design pattern has a name to facilitate communication about programs in terms of patterns, a description of the problems for which the pattern is applicable, an analysis of the forces (important concerns) addressed by the pattern, and the important considerations and consequences of using the pattern, a sample implementation of the pattern s solution, and references to known uses of the pattern and to other patterns to which it is related.
Composite mønstret
Rolle mønstret En person kan optræde i flere roller og kan skifte roller under kørslen. Subklassificering duer ikke, for den er statisk. Et objekt kan ikke skifte klasse. * + ' Aggrering er bedre ) ( + ' *
Observer: vinduerne og selve simuleringen
Kap 5 7. Beskriv klassernes adfærd ved hjælp af tilstandsdiagrammer. (89 ff)
Beggars and philanthropists Tigger Filantrop 2" "',$ *"11, - "11',$.'11/' Fælles handlinger.'0/'.'' /' - ',$.''/' ' - - Fælles handlinger - -.*/'.'' /' % '