Program
utveckling

Framsida
Utvecklingsmodeller
Analys & undersökning
Design
Utveckling & testning
Implementation
Underhåll
Demo

Design

Design innebär det som användaren ser när den navigerar runt i programmet. När man skall börja att planera designen är det viktigt att man först ta och sätter sig ner med slutanvändaren/kunden och diskuterar kraven som kunden har på programmet, och presenterar en skiss för kunden. När detta är klart så är det dags att börja tänka över hur man skall kunna uppfylla kundens krav.

Jag skall nu redogöra för de olika stegen inom objektorienterad design. I objektorienterad design ingår:

  • Human Interaction Component (HIC)
  • Problem Domain Component (PDC)
  • Task Management Component (TMC)
  • Data Management Component

Human Interaction Component (HIC)

Hanterar bla:

  • Vilka olika fönster man skall ha (windows miljö)
  • Menyer
  • Färgsättning
  • Ljud , ljus bild effekter

När man håller på med HIC så är det viktigt att slutanvändaren får vara med på ett tidigt stadium, och att man gör prototyper som han kan testa.

Menyer

När man tar fram menyer är det viktigt att dom inte blir för svåra för användare att förstå, dom skall kännas naturliga, och det skall vara lätt att komma ihåg dom olika kombinationerna. Detta testar man genom att bygga upp prototyper. Man skall även kunna ersätta meny valen med snabbtangenter som den mer vana användaren kan använda sig av.

Fönster

När man utvecklar designen till ett fönster är det vikigt var man placerar information i fönstret, det skall kännas naturligt. Det är även viktigt hur användaren fyller i viss information , tex. skriver ren text ,eller kryssar i olika alternativ. I vissa fall är det viktigt att fönstret är likt det traditionella manuella formuläret som användes innan datorn användes. Detta ökar säkerheten att rätt information fylls i.

Några designkriterier

  • Ett kommando betyder alltid samma sak
  • Layouterna på fönsterna är likartade
  • Förkortningar gör på samma sätt i hela systemet.
  • Bra feedback till användaren, så att den vet vad som pågår. Tex. att filen har sparats.
  • Gör ett förlåtande interface (Undo-funktioner)
  • Välj ett bra sätt att få användares uppmärksamhet , tex. ljud, blinkning.
  • Minimera belastningen på användarens dator.
  • Utnyttja att färgen innebär information tex. röd betyder varning. Använd inte för mycket färger

Problem Domain Component

En viktigt del här är att man skall undersöka om man kan återanvända saker från tidigare byggda system för att tjäna tid och pengar. När man använder sig av gamla objekt är det viktigt att tänka på om det finns mycket onödig kod i objekten som kommer att sluka mycket minne. Man kollar även om man fått med objekt i programmet som är Orelevanta för systemet, eller om man har samma objekt mer än en gång. En bra sak med detta är också att man kan gå tillbaka till gamla system och se hur lång tid det tog, och då få en bra grund att tidsplanerna på .

Task Management Component

Denna komponent hanterar de förändringar som systemets objekt utsätts för hela tiden. Man ställer sig frågor som:

  • Hur skall en process hanteras.
  • Vilka informationsmängder dom berör.
  • Vilka mellan resultat som behöver beräknas.
  • I vilken ordning deloperationerna skall utföras.

När man ser till att programmet gör saker och ting i rätt ordning kallar man det för att man synkroniserar programmet, detta ingår i den dynamiska delen. För att förenkla för sig så brukar man skriva upp s.k. tillstånddiagram där man skriver upp allt som händer om man t ex trycker på en knapp. I denna del skiljer man mellan händelsestyrda och klockstyrda processer. Ett exempel på händelse styrda processer är t ex att du trycker med musen på ett ställe och något händer. Klockstyrda processer kan vara att ett larm går igång vid en viss tid och ger ifrån sig ett ljud, eller att programmet gör en säkerhetskopia t ex varannan minut. Man har även en del som beskriver hur uträkningarna skall göras. Denna del kallas för den algoritmiska delen.

Data Management Component

I denna del går man igenom hur man skall kunna lagra informationen som man matat in smidigt. Man kan t ex spara den i en databas eller i en fil. Det du sparar kan vara ren text, bilder, ljud. I nätverk så är detta en viktigt del för där måste man ta tänka på att det kan vara flera som är och redigerar i en fil, och det ställer ju till en hel del problem.