|
|
| (8 mellanliggande versioner av samma användare visas inte) |
| Rad 17: |
Rad 17: |
| | | | |
| | | | |
| − | = <b><span style="color:#931136">Objektorienterad modellering i fyra steg</span></b> = | + | = <b><span style="color:#931136">5.1 Introduktion till databaser</span></b> = |
| | <div class="ovnC"> | | <div class="ovnC"> |
| − | <big> | + | <big><big> |
| − | <b><span style="color:red">Steg 1</span></b> <b>Förstå problemet:</b> Läs kundens kravspecifikation (rutan ovan) om och om igen! | + | :Bläddra igenom PowerPointen i PDF (2 sidor)<span>:</span> |
| − | | + | <math> \qquad\;\;\, </math><div class="smallBox">[http://www.taifun.se/images/stories/5_1_Intro_databaser.pdf <b><span style="color:blue">Vad är en databas?</span></b>]</div><math> \qquad\;\;\, </math> |
| − | <b><span style="color:red">Steg 2</span></b> <b>Identifiera problemets <span style="color:red">nyckelbegrepp:</span></b> | + | </big></big> |
| − | | + | |
| − | :: <div class="smallBoxVariant">Saker som är relevanta för verksamheten, som man behöver lagra information om.</div>
| + | |
| − | | + | |
| − | :: Vid implementeringen kommer nyckelbegrepp att bli programmets <b><span style="color:red">klasser.</span></b>
| + | |
| − | | + | |
| − | <b><span style="color:red">Steg 3</span></b> <b>Identifiera <span style="color:red">datamedlemmar</span> till varje klass:</b> Vad består den av? Testa "Har"-relationen!
| + | |
| − | | + | |
| − | <b><span style="color:red">Steg 4</span></b> <b>Identifiera <span style="color:red">metoder</span> till varje klass:</b> Vad gör den eller vad kan man göra med den?
| + | |
| − | | + | |
| − | :: Vilka operationer är relevanta, karakteristiska eller typiska för den?
| + | |
| − | | + | |
| − | Läs mer om modellering i fyra steg i kursboken, sid 133-135.
| + | |
| − | </big> | + | |
| | </div> | | </div> |
| | | | |
| | | | |
| − | = <b><span style="color:#931136">Klassdiagram</span></b> = | + | = <b><span style="color:#931136">5.2 Relationsdatabaser</span></b> = |
| | <div class="ovnA"> | | <div class="ovnA"> |
| − | === <b><span style="color:#931136">Resultat av modelleringen:</span></b> ===
| + | <big><big> |
| − | | + | :Bläddra igenom PowerPointen i PDF (11 sidor)<span>:</span> |
| − | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Klassdiagrama.jpg]]</div> | + | <math> \qquad\;\;\, </math><div class="smallBox">[http://www.taifun.se/images/stories/5_2_Rel_databaser.pdf <b><span style="color:blue">Relationsdatabasmodellen</span></b>]</div><math> \qquad\;\;\, </math> |
| − | | + | </big></big> |
| − | <big>
| + | |
| − | Följer regler enligt det objektorienterade modelleringsspråket <b>Unified Modeling Language (UML)</b>:
| + | |
| − | | + | |
| − | Varje <b>klass</b> modelleras i en ruta som innehåller klassens datamedlemmar och metoder.
| + | |
| − | | + | |
| − | Minustecknen står framför <b>datamedlemmarna</b> och plustecknen står framför <b>metoderna</b>.
| + | |
| − | | + | |
| − | I de högra kolumnerna står datamedlemmarnas <b>datatyper</b> resp. metodernas <b>returtyper</b>.
| + | |
| − | </big> | + | |
| | </div> | | </div> |
| | | | |
| | | | |
| − | <div class="border-divblue">
| + | = <b><span style="color:#931136">Mängdlära</span></b> = |
| − | <big>
| + | |
| − | Modellen är projektets <b><span style="color:red">arkitektur</span></b> och därför logiskt primär.
| + | |
| − | | + | |
| − | Modellen är <b><span style="color:red">oberoende</span></b> av programmeringsspråket.
| + | |
| − | | + | |
| − | Modellen måste vara objektorienterad för att programmet ska bli objektorienterat.
| + | |
| − | | + | |
| − | Omvandlingen av modell till kod kallas <b><span style="color:red">implementation</span></b>.
| + | |
| − | | + | |
| − | Modellen "planteras", koden växer ur den.
| + | |
| − | </big>
| + | |
| − | </div>
| + | |
| − | | + | |
| − | | + | |
| − | = <b><span style="color:#931136">Implementation av modellen</span></b> = | + | |
| | <div class="ovnE"> | | <div class="ovnE"> |
| − | === <b><span style="color:#931136">Klassen Time</span></b> ===
| + | <big><big> |
| − | [[Image: Time.jpg]] | + | :Bläddra igenom PowerPointen i PDF (8 sidor)<span>:</span> |
| − | | + | <math> \qquad\;\;\, </math><div class="smallBox">[http://www.taifun.se/images/stories/Mangder.pdf <b><span style="color:blue">Mängder och mängdoperationer</span></b>]</div><math> \qquad\;\;\, </math> |
| − | === <b><span style="color:#931136">Klassen Employee</span></b> ===
| + | </big></big> |
| − | [[Image: Employeea.jpg]]
| + | |
| − | | + | |
| − | <big> | + | |
| − | För enkelhetens skull deklareras klassernas datamedlemmar som public.
| + | |
| − | | + | |
| − | Därför definieras inte heller någon konstruktor. I en skarp version borde datamedlemmarna vara private.
| + | |
| − | </big> | + | |
| | </div> | | </div> |
| − |
| |
| − |
| |
| − | = <b><span style="color:#931136">Skrivning till fil</span></b> =
| |
| − | <div class="ovnC">
| |
| − | === <b><span style="color:#931136">Klassen WriteFile</span></b> ===
| |
| − | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: WriteFilea.jpg]]</div>
| |
| − | </div>
| |
| − |
| |
| − |
| |
| − | = <b><span style="color:#931136">Huvudprogrammet EmploTest</span></b> =
| |
| − | <div class="ovnE">
| |
| − | [[Image: EmploTest.jpg]]
| |
| − | </div>
| |
| − |
| |
| − |
| |
| − | = <b><span style="color:#931136">Ett körexempel</span></b> =
| |
| − | <div class="ovnA">
| |
| − | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: EmploKorres.jpg]]</div>
| |
| − | </div>
| |
| − |
| |
| − |
| |
| − | = <b><span style="color:#931136">Läs om Objektorienterad modellering och implementation i [http://www.mathonline.se/Progr_3/2%20Boken%20Progr_3_Cs.pdf <span style="color:blue">kursboken</span>], sid 133-141. </span></b>=
| |
| | | | |
| | | | |