Download doc - Mathiassen Sammanfattning

Transcript
Page 1: Mathiassen Sammanfattning

Inledning + kapitel 1 MetodAnalysdokument en kortfattad men fullständig beskrivning av kraven på systemet.

Designdokument kortfattad beskrivning som ger en överblick över systemets delar och deras samspel samt ger svar på de viktigaste designfrågorna.

Systemdefinition identifierar och avgränsar uppgiften. Fungerar som ett avtal mellan användare och systemutvecklare.

Analys utgår från datasystemets omgivning och ställer med det som utgångspunkt krav på systemets externa observerande beteende.

Design utgår från tänkbara tekniska lösningar och fastställer hur kraven ska realiseras på den tekniska plattformen.

Metod en samling generella föreskrifter för hur man utför en aktivitet. Den anpassas normalt till den organisation och det projekt som den används inom.

Anpassning utarbetade standarder, strategier och planer. Riktlinjer blir konkreta planer för i vilken ordning aktiviteterna skall utföras.

Fördelar med objektorienterad analys och design- lättare att underhålla och utveckla- samlad beskrivning av objekt och deras tillstånd och beteendemönster- inkapsling av data data knyts till de operationer som använder dem och inte till

funktionerna.

Praktiska tillämpningar- bättre insikt i datasystemets omgivning, ska stödja sakbehandling, kommunikationen och

samordning - sambandet mellan objektorienterad analys och design, användargränssnitt och

programmering. De använder alla samma grundläggande begrepp och tankesätt men olika fokus.

Objekt har identitet, tillstånd och beteende

Klass beskrivning av en mängd objekt med samma struktur, beteendemönster och attribut

Analysobjekt beskriver formen i datasystemets omgivning. Identiteten uttrycker hur användaren skiljer det från andra objekt och beteendet uttrycks genom de händelser som objektet utför eller utsätts för.

Designobjektet beskriver formen i datasystemet. Identiteten uttrycker hur andra objekt i datasystemet kan känna till och därmed få tillgång till objektet. Beteendet uttrycks genom de operationer objektet kan utföra och därmed ställa till förfogande för andra objekt i datasystemet.

Problemområde den del av omgivningen som administreras, övervakas eller styrs av datasystemet.

Page 2: Mathiassen Sammanfattning

Användningsområde en organisation som administrerar, övervakar eller styr över ett problemområde.

På grund av fokuseringen på objektsystemet är objektorienterad analys och design bäst på att utveckla datasystem som till största delen är en dynamisk modell av problemområdet, det vill säga alla typer av datasystem för administration, övervakning och styrning.

Datorsystem en samling komponenter som realiserar krav på modell, funktioner och gränssnitt.

Komponent en samling av klasser och objekt

Olika sorters komponenter- modellkomponent en strukturerad överensstämmelse med objektsystemet. Den

uppdateras dynamiskt allt eftersom betydelsefulla händelser inträffar i problemområdet.- funktionskomponent de funktioner som datasystemets användare har till sitt

förfogande för att utnyttja och uppdatera modellkomponenter genom att utföra sina arbetsuppgifter.

- gränssnittskomponent kopplar samman systemet med omgivningen, dels nya bildskärmar, utskrifter med mera, dels direkta förbindelser med andra tekniska system.

- hantering av parallellism- hantering av dataöverföring

AktiviteterPerspektiven fokuserar på systemet- informationsinnehåll datasystemet ska ge en användbar modell av problemområdet.- användning kunna administrera, övervaka eller styra fenomen i problemområdet- delar

o användarperspektivet personer, apparater och datasystemets som systemet ska fungera tillsammans med.

o arkitekturperspektivet datasystemets tekniska plattform det vill säga processer, enheter och förbindelser, belastning med mera

- helhet datasystemet ska vara en väl fungerande helhet av samarbetande delar

De olika perspektiven täcks in med hänvisning av de fyra huvudaktiviteterna. Ordningsföljden och riktningen av aktiviterna styrs av det perspektiv som väger tyngst. Iterationer förutses ske.

HuvudaktiviteterAnalys av problemområdet beskriver objektområdets fokus på avgränsning och dynamiska egenskaper.

o VAD ska datasyetemet handla omo VAD ska datasystemet användas till

Består av tre aktiviteter, del- helhet- del, varje aktivitet beskriver klasser av objektet, deras inbördes relationer och objektens dynamiska egenskaper.

Analys av användningsområde identifierar kraven på datasystemets o användningo funktioner o gränssnitt

Page 3: Mathiassen Sammanfattning

Design av arketektur jämför kraven på datasystemet med vad som är möjligt på den tekniska plattformen. Tre aktiviteter:

o kriterier prioritering av kraveno komponenter strukturera klasserna i komponentero processer förhållandet mellan de aktiva objekten i datasystemet

Design av komponenter med utgångspunkt från arkitekturen och objektsystemet visa hur datasystemet ska representeras tekniskt.

o modellkomponenter vilka klasser består objektsystemet avo funktionskomponenter baserat på modellkomponenter, hur realiseras

funktionernao gränssnittskomponenter hur realiseras interaktionen med omgivningen,

gränssnitt, användargränssnitt och systemgränssnitt

Metodens principer- Objekt som ett samlande begrpp; det används både i analys och design, har samma

betydelse men bearbetas utifrån olika perspektiv.- En öppen metod; aktiviteterna kräver kreativa insatser, en blandning av experiment och

rationella överväganden med fokus på specifika problem och behov.- En situationsbestämd strategi; prioritering och planering av aktiviteter är beroende av

situationen.- Återanvänd förebilder, mönster och komponenter

o försbild ett känt system eller fenomen som kan användas som insperationskälla, ex ett biljettbokningssystem

o mönster mall som kan användas som utgångspunkt för analys och design, ex stackar och köer för datastrukturer

Återanvändning kräver diciplinerade arbetsprocesser som är ordentligt förankrade lokalt i systemutvecklings processen- En bra design har inga väsentliga svagheter; en design ska vara begriplig, flexibel och

användbar.- En kortfattad dokumentation av hög kvalitet; dokumentationen är ett arbetsverktyg som

skall användas somo referens av utvecklarnao styrningsverktyg för att samla och hålla ordning på delresultateto avtalsverktyg som beskriver avtalet om systemets utformning mellan deltagarna i

projektetDokumentationen är viktig för att skapa sammanhang i systemutvecklingsprocessen. Därför måste den vara av hög kvalitet , men samtidigt kortfattad annars tar den för mycket tid och tappar överskådligheten.

Page 4: Mathiassen Sammanfattning

Kapitel 2 Systemval

TillvägagångssättSystemutvecklarn analyserar, formulerar och värderar förslag till lösningarKunden/användaren gör det avgörande valet av datalösning

Situation och systemdefinitionSituationen processer, strukturer och ideér knutna till utvecklingen och användningen av datateknik i en organisation.Problematik allt ifrån att ett problem har pekats ut och beskrivits till att någonting bara upplevs vara möjligt att förändra till det bättre

Krav och ideér uttrycks i systemdefinitionerSystemdefinition en kortfattad och precis beskrivning av en datalösning i naturligt språk.

En systemdefinition- slår fast …….. i utvecklingen och användningen av ett visst datasystem- kan hjälpa till att behålla överblicken, den sammanfattar de grundbeslut som hör till en

viss möjlig datorlösning- underlätta jämförelse mellan olika förslag- endast en lösning/systemdefinition- ger en gemensam och relevanskriterium för fortsatt analysarbete- klargör avgränsningar som gjorts för en lösning- kan användas som utgångspunkt för de första objektorienterade analysaktiviteterna

För att kunna ge dessa fördelar måste en systemdefinition uppfylla två kriterier- kortfattad och precis- innehålla de mest grunläggande besluten med anledning på datasystemets utrdening och

användning

En systemdefinition skall innehållaV Villkoren för datsystemets utveckling och användningA Användnngsområde för systemetT Teknologin som styr systemets utveckligO Objektsystemet, blivande användares uppfattning av problemområdeF Funktionalitet, de huvudfunktioner som systemet erbjuderF Filosofin som ligger bakom datasystemet

Utgå från användarsituationen var kritisk mot formuleringen av uppgiften.

SituationIdéer

System

Systemdefinition

Rika bilder

Nya idéer för design av datorsystem

Page 5: Mathiassen Sammanfattning

VATOFFs två användningsområden- stödja framtagande av systemdefinition- kontroll att en systemdefinition innehåller de 6 olika delarna i tillräckligt stor omfattning

Analys1. Beskriv situationen

- Använd rika bilder för att få en överblick, fungerar som ett handlingsunderlagg och skapar debatt

Två typer av rika bilder- fokus stabilitet beskriver en enskild situation- fokus förändring transformation från ett tillstånd till ett annat tillståndKomponenter i en rik bild- människor- fysiska objekt- platser- organisationer- roller och uppgifterKomplettera med intervjuer

2a. Beskriv sambandet mellan ingående delarna i den rika bilden- processer beskriver omständigheter i en situation som uppfattas som förändringar,

utveckling eller insabila exempel, arbete, produktion, informationsbehandling, planering, styrning, utvecklingsprojekt, organisationsförändring

FOKUS: Informationens syfte, betydelse och konsekvenser. VARFÖR produceras information. Dess funktion vid beslut.

2b. Avgränsa strukturer i de rika bilderna- samband och relationer mellan delarna i bilden- beskriver förhållanden i en situation, om de uppfattas som stabila eller föränderligaEXEMPEL: produktion, användning, kommunikation, avtal, ägarförhållanden, tillhörighet, maktNOTERA: Rollfördelning, tillhörighet och makt måste man skaffa sig insikt om genom att dra slutsatser, aldrig genom att fråga.

2c. Rika bilder vid förändring problemelement identifieras- problem uttrycker/sammanfattar generellt missförhållanden, konflikter och

motsättningar i relation mellan process och strukturBALANSGÅNG Problem LösningBeskriv hur problemet upplevs – annars medför problemställningen även ett val av lösning.

Bedömningskriterier för rika bilder- de ska innehålla mycket information och vara öppna för tolkningar- det bör finnas en väl avvägd och sammanhängande uppsättning processer och

strukturer- det bör finnas minst ett problematiskt område- de ska ge en möjlighet att peka på fler möjliga datasystemlösningar- de skall vara rika bilder – inte kaotiska- de skall tillsammans visa på alla omständigheter som är av vikt att förstå- de ska inte bara fokusera på data och databehandling

Page 6: Mathiassen Sammanfattning

DesignSkapa nya idéerFör att få nya idéer, utvärdera och anpassa dem till situationen, till det finns tre hjälpmedel

- förebilder titta på befintliga datasystem som liknar det som användaren vill ha, kolla på standardsystem

- metaforer se en användarorganisation eller ett önskat datasystem som något annat än det är, ex Windows Skrivbord, bibliotek lager

- experiment en planerad undersökning av en eller flera egenskaper hos en datorlösning, ex prototyper

Definiera systemSystem en helhetsorienterad syn på en problemlösning (datalösning)

- ett uttryck för en tolkning- någonting som används för att beteckna en helhet- ett sätt att spegla en bestämd avgränsning

Stöd för utformning av en systemdefinition- beskriv systemet övergripande – fokus på helhetsegenskaper- systemet är en uppfattning – fokus på idéer och önskemål, ej situationen- en systemdefinition är en kort och precis men rik på information- vad som är relevant för ett system vet man aldrig förrän i urvalsprocessen- osäkerhet om avgränsningen av datasystemet experiment med flera

systemdefinitioner- flera systemdefinitioner kan skapa nytänkande och medföra att man frångår

traditioner och gamla vanor

Värderingar och valValet av systemdefinition som skall tillämpas sker tidigt, tänk på

- att vald systemdefinition kan omförhandlas vid ett senare tillfälle- att under urvalsprocessen återuppta delaktiviteter i systemvalet- att inte alla vet om att de gör ett val. Var noga med att alla ska veta att de gör ett val

och är med och fattar ett beslut

Var observant på- alla skall veta att de medverkar i en förhandling där alla får framföra synpunkter inför

valet av system- argumentationen ska grunda sig på tillförlitlig information och dokumenterade

erfarenheter- systemutvecklarens roll är främst att organisera och stödja urvalsprocessen

NOTERA: Ett sätt att granska hållbarheten på argument är att kortfattat skriva ner dem. De övergripande synpunkterna gäller beskrivningen av situationen samt skapandet och värderingen av idéer.

Principer (Sammanfattning)- utgå från användarens situation men var kritisk mot formuleringen av uppgiften- använd rika bilder för att få överblick över situationen- använd förebilder, metaforer och experiment för att skapa nya design idéer- låt användaren välja lösning utifrån olika alternativa systemdefinitioner

Page 7: Mathiassen Sammanfattning

Kapitel 3 Klasser

Modell en beskrivning av ett objektsystems klasser, objekt, strukturer och beteende

Två principer för modeller- beskriver verkligheten som de framtida användarna skall se den- prioritera överblick framför detaljer

Klass sammanfattar bestämda typer av objekt

Objekt utsätts för eller utför händelser

Forma klasser – klassificera och välj- ta fram klass/händelsetabell

o peka ut konkreta fenomen inom problemområdeto gruppera objekt och händelser i klassero rita klass/händelse

- klassificera objekt och händelsero klargör vad begrepp står för och innefattar, detta för att enas om tolkningar

KlassBeskriver en mängd objekt med samma struktur, beteendemönster och attribut. Objekt som ingår i en klass kallas instanser eller förekomster av klassen

ObjektEtt objekt byggs upp av tre nyckelbegrepp

- identitet det måste vara möjligt att unikt identifiera ett objekt- tillstånd både statiska och dynamiska egenskaper som kännetecknar objektet och

de dynamiska eller statiska värden som egenskaperna tilldelas- beteende de händelser som objektet utsätts för eller utför

HändelseEn händelse representerar en aktivitet eller process i ett problemområde. De betraktas som momentana och måste vara atomär (går inte brytas ner i delhändelser) och speglar därmed problemområdet.

1. hitta klasser2. hitta händelser3. värdera klasser och händelser systematiskt4. gör en klass/händelse tabell

Hitta klasser1. Rika bilder och andra användar beskrivningar

Intervjuer med användare Observera arbetet Diskutera med användare

2. Skriv en omfattande och rik lista på klass kandidater, hjälpmedel för att finna klasser är Generella typer i datasystemet Titta på andra liknande system Leta i facklitteratur efter anvisningar

Page 8: Mathiassen Sammanfattning

3. Namnge klasserna Använd enkla beteckningar Beteckningar från objektsystemet Använd singular form

Det bör finnas ett direkt och klart samband mellan de valda klasserna och de begrepp som användaren skall använda i det nya datasystemet

Hitta händelserHändelserna grupperas i processer

1. Skriv upp tänkbara händelser, skall vara omfattande2. Skriv upp processer med tillhörande händelser3. Namnge händelser

Värdering av utfört arbeteFör att kunna värdera om det som ska finnas med i ett datasystem innefattas av klasser och händelser utgår man från vissa värderingskriterier, det vill säga vad som skall ingå i objektsystemet och vad som skall lämnas utanför.

Generella värderingskriterier en klass eller händelse ska ingå i modellen om datasystemet ska innehålla funktioner som utnyttjar information knuten till klassen eller händelsen

Värderingskriterier för klasser – följande skall gå att besvara jakande- omfattar klassen objekt- kan man identifiera objekt från klassen- har klassen en överskådlig mängd händelser- innehåller klassen unik information

Kommentarer klasser- objekt måste gå ett identifiera unikt ur klassen- händelser som hör till klassen bör vara sammanhängande och överskådliga- varje klass ska i analysen representera en lämplig mängd unik information

Värderingskriterier för händelser - följande skall gå att besvara jakande- är händelsen momentan- kan händelsen identifieras när den ägde rum- är händelsen atomär

Kommentarer händelser- momentan det ska gå att avgöra om en händelse har startat, avslutats eller inträffat- atomär om en händelse går att bryta ner i delhändelser ska var och en av dessa

redovisas- identifieras det ska vara möjligt att identifiera när en händelse ägt rum

Principer (sammanfattning)- klassificera objekt i problemområdet- klassificera objekt genom deras händelser- var öppen – välj kritiskt

Page 9: Mathiassen Sammanfattning

Kapitel 4 StrukturerKlassaktiviteten bestämmer man vilka klasser som representerar objektsystemetStrukturaktiviteten tar reda på sambanden mellan klasserna i objektsystemetKlassaktiviteten skiljer på klasser och objektStrukturaktiviteten skiljer på abstrakt och konkretnivån

AbstraktnivåSambandet mellan två eller flera klasser

- generaliseringsstruktur flera klasser är specialfall av en mer generell klass- klusterstruktur flera klasser som är inbördes förenade

KonkretnivåSambandet mellan objekt

- aggregatstruktur relationen mellan ett objekt och de objekt som är dess specialisering

- associationsstruktur en relation mellan två sidoordnade objekt

Tillvägagångssätt vid strukturering

Hitta struktur identifiera flera potentiella relevanta kandidater till strukturella samband mellan klasser och objekt

Värdera systematiskt värdera alternativen och välj de nödvändiga strukturella sambanden

Strukturer mellan klasserGeneraliseringsstrukturer samlar gemensamma egenskaper och beteendemönster från olika klasser i generella superklasser

Kluster överblick genom att samla flera klasser under ett begrepp

Generalisering en struktur där en generell klass (superklass) beskriver egenskaper och beteendemönster som är gemensamma för ett antal speciella klasser (subklasser) och går i arv till dessa.

Händelsetabeller

Hitta kandidat till struktur

Värdera och välj systematiskt

Klassdiagram

Personbil

Taxi Privatbil

Page 10: Mathiassen Sammanfattning

Generalisering medför möjlighet till arv.

Multipelt arv Då en klass ärver egenskaper från flera superklasser

Klusterstruktur samlingsklass som är inbördes sammanlänkade, används för att dela upp ett problemområde i flera delar. Klasser som ingår i kluster är sammanlänkade via en generaliserings eller aggregatstruktur

Strukturer mellan objektAggregatstruktur ett överordnat objekt (helheten) består av ett antal underordnade objekt (delarna). Betecknas med ett streck och en romb vid helhetssidan. Uttryck med har/består av/ingår i relationer. Multipliciteten anges med ett enkelt tal eller ett talintervall och läses från mitten och utåt.

Konto

Bankbok Checkkonto Lån

Servicekonto

”En bil består av en kaross, en motor och 4 eller fler hjul. En motor består av 1 eller flera kamaxlar och 2 eller flera cylindrar. Cylindrar och kamaxlar ingår i en motor som ingår i en bil”

Bil

Kaross HjulMotor

Kamaxel Cylindrar

1,4…*

1,2..*1,1..*

Bil

Motor Personbil

Cylinder Taxi

Kluster bilar

Ägare

Handläggare

Kluster personer

Page 11: Mathiassen Sammanfattning

Associationsstrukturer en relation mellan två eller fler objekt där de ingående objekten är sidoordnade. Betecknas med ett streck mellan objekten som läggs på samma nivå. Uttryck med känner till/ är knutet till. Multipliciteten anges som vid aggregat.

Hitta strukturÖverväg generaliseringsstrukturer undvik överdriven användning av generaliseringar

Överväg aggregatstruktur analysera om en klass är en nedbrytning av en annan klass

Överväg associationsstruktur finns det klasser som har med varandra att göra, utan att vara under eller överordnade till varandra

Överväg klusterstruktur används för att göra ett diagram mer överskådligt, eller för att visa vilka delar som ett problemområde kan delas upp i

Värdera systematiskt- strukturtyperna skall användas på ett riktigt sätt

o kan objekten existera oberoende av varandrao är objekten sidoordnadeo kan förbindelser flyttas

- strukturen skall främja förståelsen och ge en bättre överblick- strukturen skall vara begreppstrogen- strukturen skall vara enkel- strukturen skall avspegla dynamiken

o generalisering statisko association dynamisko aggregat dynamiskto arv statiskt

Principer- betrakta abstrakta, statiska samband mellan klasser- betrakta konkreta, dynamiska samband mellan objekt- ta bara med de mest nödvändiga strukturella sambanden

Page 12: Mathiassen Sammanfattning

Kapital 5 Beteende

- klasser används för att definiera och avgränsa objektsystemet- händelser används för att definiera och avgränsa objekt

Beteendeanalysen resulterar i en beskrivning av ingående händelsers tidsordning och datainnehållet för vart och en av klasserna i objektsystemet.

- beteendet hos ett objekt beskrivs genom dess händelseförlopp.o Händelseförlopp en konkret följd av händelser som ett objekt är

inblandat i under en viss tidsrymd- Beteendet hos alla ingående objekt bestämmer tillsammans objektformens dynamik.

Dynamiken beror avo Objektets beteende genom dess klass och beteendemönstero Samordningen mellan olika objekt uttrycks genom gemensamma händelser

som involverar fler objekto Gemensamma händelser uppträder i de enskilda klassernas

beteendemönster

För att avgränsa och definiera objekt beskriver man händelser som är knutna till dem. Resultatet blir en beskrivning av händelsernas tidsordning och datainnehållet för alla klasser i objektsystemet.

Beteendet hos objektet i objektmodellen skall se till att tillståndsförändringarna hos olika objekt i objektssystemet registreras och att kopplingar mellan dem i mellan koordineras

Händelseförlopp tidsordning som händelser för ett objekt förekommer

Beteendemönster används för att beskriva faktiska beteenden, de slår fast händelsernas tidsordning med hjälp av

- sekvenser- selektioner- iterationer

Utgångspunkt är syftet med datasystemet, övervakning, styrning eller administration

Tillståndsdiagram

Attribut beskriver klassens och händelsens egenskaper de är sedan en del av beskrivningen av datasystemets funktioner. 4 olika typer:

- data registreras med hänsyn av attribut som är knutna till en speciell händelse- attributet kan knytas till ett speciellt objekt på grund av att det är resultat av flera

händelser - attributet innehåller basinformation om ett objekt- attributet kan vara ett nyckelvärde en tydlig identifiering av ett objekt

Page 13: Mathiassen Sammanfattning

Aktiviteter

1. Beteendemönster för varje klass i objektsystemet2. Arbetet medför behov av nya klasser och strukturer3. Slå fast de väsentliga attributen hos alla händelser och klasser

Notation för beteendemönsterSekvens +

Selektion |

Iteration *

Kontoöppnat + (belopp insatt | belopp uttaget)* + konto avslutat

Andra notationsformerTillståndstabell beskriver till vilket tillstånd ett objekt för när en viss händelse inträffar

Naturligt språk beteendemönster beskrivs med hänsyn att en strukturerad form av naturligt språk. Används då objektsbeteende skall diskuteras med andra som inte kan tillståndsdiagram

Sekvensdiagram används när flera objekt från en eller flera klasser är inblandade i samma händelse

Beskriv beteendemönster

Överväg struktur & klasser

Beskriv attribut

Händelsetabell & klassdiagram

Beteendemönster och attribut

Page 14: Mathiassen Sammanfattning

Beskriv beteendemönsterBeskriver gemensamma drag hos händelseförloppen för alla objekten i en klass. Sambandet presenteras i en händelsetabell vid en såkallad födelse/dödsanalys.

Arv och dynamiska egenskaper- en subklass ärver alla händelser som objektet från en superklass kan vara inblandat i- en subklass beteendemönster måste hålla sig inom ramen för de händelseförlopp som

definierats i beteendemönstret för superklassen- vid multipelt arv ärver subklassen unionen av de händelser som superklassen omfattar.

Om samma händelse ärvs från flera superklasser måste beteendemönstret för subklassen hålla sig inom alla de ramar för händelsen som fastslås av superklasserna

Överväg strukturerStrukturer och beteendemönster är två sidor av samma mynt. Därför kan man välja en av dem för att kontrollera att man har hittat alla samband i den andre.

Aggregatstrukturen anger att objektet har starka relationer till andra objekt, de är en del av en helhet

Associationsstrukturer är mycket lösare strukturell relation mellan objekt från två klasser

Nya kandidater till händelserAlla klasser som är förbundna med varandra har nästan undantagslöst en eller flera händelser gemensamt

Generalisering när samma händelse ingår i beteendemönstret för två eller flera klasser, de har gemensamma händelser

Generaliseringsstrukturen subklasserna ärver samtliga gemensamma egenskaper från superklassen

Överväg klasserDå händelseförlopp är sammanflätande eller parallella, blir de omöjliga att beskriva i händelsediagrammet. Problemet går att lösa genom att skapa nya klasser.

Beskriv attributenAttribut en beskrivande egenskap hos en klass eller händelse. Det visar tillståndet som skall gå att läsa ut ur modellens objektsystem. Ett attribut skall tas med i beskrivningen om det används minst en gång.

Principer- beskriv beteendet hos objektet genom beteendemönster för klassen

o beteendemönster för varje klasso tillåtna händelseförloppo bestäm ramarna för i vilken ordning händelserna kan inträffa

- överväg händelser som är gemensamma för flera objekto de pekar på väsentliga dynamiska samband i modelleno titta närmare på klasserna och deras strukturella relationer

- härled klasserna attribut från dess beteendemönstero klassdefinitionen och beteendemönstret

Page 15: Mathiassen Sammanfattning

Kapitel 6 AnvändningAnalys av användningsområdetSyfte slå fast användaregenskaperna hos ett datasystem

BegreppAnvändningsområde en organisation som administrerar, övervakar eller styr ett problemområde

Principer- skall innehålla form och hänga ihop- experiment krävs för att slå fast kraven- kraven skall vara fullständiga och ge överblick

ResultatEn fullständig lista med övergripande krav på datasystemet

Analys av användningsområde går ut på att studera användningsområde för att besluta vilka krav som skall ställas på datasystemet. Inom objektorientering fokuserar man på VAD datasystemet skall handla om.

Analys av problemområde ska ge en modell av objektsystemet. Fokus på objektmodell istället på funktioner i objektorientering.

Statiska egenskaper Flyktiga egenskaper

Modell Funktioner Gränssnitt

Aktiviteterna i analysen av

Användning1. Analysera arbetsuppgifter2. Hitta aktörer och användarmönster

Identifiera aktörer och beskriv dem Beskriv användningsmönster

3. Strukturera användningen beskriv strukturen mellan användningsmönster och aktörer beskriv strukturer mellan aktörer beskriv strukturen mellan användningsmönster

4. Värdera kritiskt (3 olika sätt) systematisk värdering, experimentell (prototyp) , ändringar i användningsområde

Användningsområde

Gränssnitt

Funktioner

Systemdefinition och modell

KRAV

Page 16: Mathiassen Sammanfattning

Aktör en roll som omfattar användare eller andra datasystem med samma användningsområde

Användningsmönster mönster för en avgränsad interaktion mellan ett datasystem och aktörer inom användningsområde

Målet från analysen av ett användningsområde- minimera riskerna för att användare anpassar sitt arbete till datasystemet- försöka undvika oavsedda och dyra förändringar av andra datasystem och utrustning

Användningsområde omfattar- användare- andra datasystem- annan utrustning

Ett datasystem skall hjälpa användaren i arbetet med att administrera, övervaka eller styra i problemområdet

Fokus vid analysen av användningsområde är de mönster som upprepas vid användandet av systemet. Det skall beskrivas på en lämplig detaljnivå

Analysera arbetsuppgifter- till vilka arbetsuppgifter kommer datasystemet att användas

o avgränsas av systemdefinitioneno generella arbetsbeskrivningaro egna studier av arbeteto intervjua aktörer

Hitta aktörer och användningsmönster- identifiera aktörer- beskriv aktörerna

o arbetsspecifikationer

Beskriv användningsmönster- hur interagerar man med datasystemet

o tillståndsdiagramo användarmönsterspecifikationer

Strukturera användningen- beskriv strukturen mellan användarmönster och aktörer

o aktörstabello användarmönsterdiagram

- beskriv strukturen mellan aktörero specialiseringo kluster

- beskriv strukturen mellan användningsmönstero specialisering av ett annat användarmönstero ett aggregat av flera användarmönstero använd mönstergrupper för att göra ett diagram mer överskådligt

Page 17: Mathiassen Sammanfattning

Värdera kritisktFör att få ett bra slutresultat måste man utvärdera resultatet av arbetet med aktörer och användningsmönster

- systematisk värdering leta fel och brister i beskrivningarna- experiment med prototyper testar om de håller i praktiken- ändringar i användningsområdet Hur påverkar användarmönstret arbete inom

arbetsområdet

Principer- ett datasystems användningsområde bestäms av dess användningsmönster- användarmönstren värderas med hänvisning av prototyper i samarbete med blivande

användare- värdera datasystemets inverkan på användningsområdet

Page 18: Mathiassen Sammanfattning

Kapitel 7 Funktioner- Kraven på datasystemets användning fokuseras på HUR systemet skall användas- Kraven på datasystemets funktioner fokuserar på VAD det är systemet skall göra.

Dessa går hand i hand men delar upp arbetet med systemet i två olika delar, eftersom båda omfattar mycket och utgår från olika principer.

Datasystemets funktionerFrån en analogisk synvinkel är det bästa med funktioner att de på ett enkelt sätt uttrycker avsikten med datasystemet ur användarens synvinkel.

Traditionell analys relationen mellan in- och utdata, utan att beskriva omvandlingen som sker där emellan.

Objektorienterad analys traditionell analys och hur omvandlingen där emellan sker. En funktion aktiveras, utförs och ger ett resultat. En funktion är ett krav, en abstrakt egenskap hos ett datasystem. Funktionerna realiseras med hänsyn av operationer som är konkret program.

Funktion en resurs som ställs till förfogande för aktörerna, som medför att en modellkomponent används då en arbetsuppgift utförs inom arbetsområdet.

Funktionstyp en grupp av funktioner som kommer från samspelet mellan datasystemets komponenter och dess omgivning,

Klassificering av funktioner - varje funktionstyp har en bestämd relation till datasystemets omgivning och modellen

av datasystemet- varje funktionstyp har särdrag som gör det lättare att identifiera funktioner som hör

ihop

Fyra grunläggande typerFunktionstyp Aktiveras Resultat Initiativtagare

Uppdatering I samband med en händelse i problemområdet

Tillståndsförändring i modellen

Användarområdet, problemområdet

Signalering Vid en förändring av tillståndet i modellen

En reaktion i omgivningen, information till aktör eller direkt styrning inom problemområde

Modellen

Avläsning Av ett informationsbehov i en aktörs uppgifter

Datasystemet visar aktören modellers tillstånd i aktuella delar

Användningsområde

Beräkning Av ett informationsbehov i aktörens arbetsuppgift

Datasystemet visar aktören resultatet av beräkningen

Användningsområde

Page 19: Mathiassen Sammanfattning

Analys av funktioner sker i tre steg- bestäm vika funktioner som datasystemet består av- beskriv komplicerade funktioner i detalj- värdera funktionerna kritiskt

Funktionsaktiviteten ska vara fullständig och bestäms i samband med användningsmönstren

Bestäm vilka funktioner som skall ingå i datasystemet

Två viktiga aspekter- källorna till funktioner

o problemområde klasser, händelsero användningsområde användningsmönster

- detaljeringsgradeno beror på utvecklarnas och användarens erfarenhet

En systematisk analys med utgångspunkt i de fyra funktionstyperna underlättar definieringen av funktioner

Uppdateringsfunktioner knutna till händelser

Avläsningsfunktioner knutna till informationsbehovet, återfinns i användningsmönstret och innehållet i modellen

Beräkningsfunktioner avgränsningarna går att hitta i användningsmönstren

Signaleringsfunktionen knutna till kritiska tillstånd i modellen, en kombination av tillstånd hos fler objekt i modellen. Svårigheten är att säkerställa att signaleringen fungerar

ResultatEn fullständig lista på kundens och aktörens funktionella krav

SystemdefinitionModell

Användningsmönster

Funktionslista

Slå fast funktioner

Beskriv komplicerade funktioner i detalj

Värderingskriterier

Funktionens namn

Funktion Komplexitet Funktionstyp

Page 20: Mathiassen Sammanfattning

Beskriv komplexa funktioner i detaljArbetet genomförs endast i undantagsfall. Detaljspecifikationen skall vara så kortfattad och precis som möjligt och kan ta sig i uttryck på olika sätt

- mattematiska uttryck- pseudokod- Ytterliga funktionell uppdelning

Värdera systemetFunktionslistan ger en möjlighet att kontrollera modellen. Man måste försäkra sig om att

- den totala funktionaliteten stämmer överens med listan över funktioner- funktionerna är inbördes förenliga- varje funktion ligger på rätt abstraktionsnivå

Tre sätt att kontrollera modellen1. Experiment med prototyper tillsammans med användare, jämföra funktioner och användarmönster2. Kontrollera funktionslistan i förhållande till frågeställningarna angående

funktionstypval3. Jämföra funktionslistan med systemdefinitionen och modellen

Principer- funktionaliteten ska vara fullständig och bestäms i samband med

användningsmönstren - funktionen formuleras övergripande, endast komplicerade funktioner specificeras i

detalj

Funktionsklassnamn

Funktionens namn

Delfunktion Komplexitet Funktionstyp

Page 21: Mathiassen Sammanfattning

Kapitel 8 Gränssnitt

Gränssnitt hjälpmedel som aktörerna har för att kunna använda datasystemet. Delas in i användargränssnitt och systemgränssnitt

Användargränssnitt bestämmer användarens interaktion med systemet

Systemgränssnitt bestämmer datasystemets interaktion med andra datasystem och apparatur

Ett bra användargränssnitt är anpassat till användarnas arbetsuppgifter och användarens möjlighet att förstå datasystemet

Användarvänlighet kvaliteten på användargränssnittet- Styrs av vilka användarna är och situationen där det används

Användarmiljön Användarområdet beskrivet genom aktör och användningsmönster

Sambandet mellan användningsmiljön, kraven på egenskaper och teknologier.

Användarmiljö Önskvärda egenskaper Teknologi- rutinuppgifter- fasta välstrukturerade

uppgifter

- snabb hantering- säker hantering

- aktivering av funktioner- fast definierad dialog- meny och kommandostyrd

manipulation- enkla bildskärmar

- sakbehandling- varierande

problemlösande uppgifter

- flexibelt i användningen- lätt att läsa nya funktioner

- manipulering av objekt- låst definierad dialog- direkt manipulation- grafiska bildskärmar

Rutinuppgifter traditionell databehandlingSakhantering objektorienterad databehandling

Kraven på systemets gränssnitt baseras på - övriga resultat från analysen- modellen av objektsystemet- kraven på funktioner- användningsmönster- resultat av tester

Resultatet av analysen är- val av represenationskrav och dialogform- fullständig lista över element- skiss av några typiska element- beskrivning av gränssnitt till andra system och maskiner

Page 22: Mathiassen Sammanfattning

Studera användningsmiljönStudier av användningsmiljön består av att analysera användningsmönster och mänskliga aktörer i användningsområdet.

Välj dialogformDe fyra vanligaste dialogformerna

Menyval lista av valmöjligheter, lätt att lära men blir långsam

Blanketter användaren skriver in data genom att flytta sig mellan fält

Kommandospråk kommandon via tangentbord, snabbt men kräver vana användare

Direkt manipulation representation av objekt, väljer objekt och funktionerna utförs direkt, resultatet visas direkt

Valet av dialogform innebär att välja rätt blandning av de fyra arbetssätten och kombinera dem så att arbetet underlättas

Kriterier för användargränssnitt- enkelt, naturligt och konsekvent dialog- kravet på användarens minne skall vara minimerat- feedback ska vara informativ och konsekvent- förebygga fel

Studera användarmiljön

Välj dialogform

Bestäm presentation av modeller och funktioner

Testa användargränssnittet

Beskriv systemgränssnittet Krav på gränssnittet

Modell

Funktioner

Användningsmönster

Page 23: Mathiassen Sammanfattning

Bestäm presentationen av modell och funktionerPresentationen skall vara överskådlig, begriplig och enhetlig- bestäm hur ikoner skall se ut- bestäm hur funktioner skall presenteras

o menyero kommandospråko direkt manipulation

- bestäm enhetligheten

Testa användargränssnittetTest av användargränssnittet sker med prototyper. Processen består av fem delaktiviteter.- planering viktigt att förbereda utvecklaren och användaren- utveckling sker snabbt utan omfattande tekniska konstruktioner- förberedelse beslut om samarbete, realism och urval- testning användare utvärderar gränssnitt- sammanfattning resultatet av tester relaterat till syftet med experimentet

Beskriv systemgränssnittetSyftet med analysen av systemgränssnittet är att förvissa sig om det beskrivna datasystemets tekniska kopplingar kan realiseras- vilken information skall datasystemet skicka till andra datasystem- vilken information skall datasystemet ta emot från andra datasystem

De samlade kraven på gränssnitt ska innehålla en tillräcklig beskrivning av kopplingar till andra system och gränssnitt. Tre frågor ska besvaras.- vilka andra system ska datasystemet kopplas till och utbyta information med- ska datasystemet kopplas direkt till problem området genom andra system- hur realiseras de direkta kopplingarna

Principer- användarvänlighet är relativt till användningsmiljön, den kräver kännedom om

användarna och vilken miljö datasystemet skall användas i.- Samarbeta med användarna med prototyper, samspelet dator – människa är komplicerat.

Använd prototyper för att experimentera fram användargränssnittet.