Programmeringsstrategi

Nedan beskrivs en generell metod som underlättar när man vill skriva välstrukturerade program. För större program är den mer eller mindre ett krav för att slippa utvecklingsproblem. För mindre program ökar den framför allt förståelsen för programmet, vilket underlättar utveckling i grupp och en slutlig presentation.

Momenten 1-5 genomförs med fördel utan dator. Ibland underlättar det att byta plats på momenten 4 och 5 alternativt att upprepande hoppa mellan dem.

  1. Grovt sett/identifiera problemet.
    Skumma igenom uppgiftslydelsen/problemställningen för att få ett hum vad det handlar om.

  2. Skärm/användargränssnitt.
    Titta på exekveringsexempel eller bestäm hur skärmen skall se ut vid exekvering av programmet.

  3. Markering.
    Läs igenom lydelsen igen, samtidigt som du markerar (gärna med olika färger) alla

  4. Minne/datastrukturer.
    Datastrukturerna beskriver vilka data programmet kommer ha att jobba med. Innan man kan bestämma vad man vill göra måste man reda ut vad som finns att göra något med!
    1. Identifiera vilka av substantiven som:
      • består av flera egenskaper. Dessa kommer utgöra klasser.
      • utgörs av en enklare datatyp, till exempel ett tal eller en textsträng. Dessa utgör variabler av primitiv typ eller inbyggd klass (lokala eller i instanser). Tänk på om en vektor eller motsvarande behövs.
      • används tillfälligt. Dessa kommer troligen utgöra lokala variabler i någon metod.
    2. Rita minnesexempel/skiss med instanser av klasser, variabler samt referenspilar. Bestäm vilka namn som skall användas. Namnen skall vara beskrivande!

  5. Algoritm.
    En algoritm är en stegvis beskrivning över lösningen av ett problem. I detta fall är problemet en programmeringsuppgift. Notera att problem väldigt ofta kan brytas ned i mindre delproblem som i sin tur har en lösning i form av en "mindre översiktlig" algoritm.
    1. Undersök lydelsen och exekveringsexemplet. Titta på alla verb samt identifiera vilka delar som hör till programmets början, mitt och slut. Notera speciellt sådant som upprepas. Sätt beskrivande namn på det som utförs. Dessa namn kommer utgöra metoder, så var noga med namnvalet!
    2. Fundera om några av metoderna behöver hjälpmetoder och/eller likartade metoder i flera klasser. Fundera om vissa metoder inte behövs eller om de redan finns i språket.
    3. Komplettera eller rita om minnesexemplet för att också beskriva var metoderna ligger (d v s lägg in metoddeklarationshuvudena i respektive klass). Glöm inte konstruktormetoderna!

  6. Implementering.
    Fram till hit kan man vara utan dator. I verkliga livet är det här som valet av programmeringsspråk blir definitivt. Fortsättningen är alltså själva skrivandet av programmet vilket fackfolk kallar att implementera.
    1. Skriv skelettet till programmet. Skriv metoden main(). Kompilera och provkör. Börja med att lägga in spårutskrifter.
    2. Lägg till anropen i metoden main() ett efter ett. Lägg till alla variabler och metoder som krävs för att anropet skall fungera. Utnyttja att du kan returnera påhittade värden istället för att göra komplicerade beräkningar.
    3. Bygg vidare till dess programmet har nått önskad funktionalitet (d v s till dess att programmet uppfyller lydelsen).

^ Upp till kurssidan.


Sidansvarig: <efo@nada.kth.se>
Senast ändrad 16 oktober 2002
Tekniskt stöd: <webmaster@nada.kth.se>