Planering av datasystem (4sv) klass1 attribut1 operation1( ) operation2( ) Planering av datasystem (4sv) klass2 attribut1 operation1( ) operation2( ) klass3 attribut1 operation1( ) operation2( ) Objektorienterad analys (OOA)
Objektorienterad analys och design Innehåll i boken (Andra upplagan) Del I Bakgrund och metod s 15 1. Metod s 17 - 38 2. Systemval s 39 - 64 Del II Analys av problemområdet s 65 3. Klasser s 69 - 90 4. Struktur s 91 - 114 5. Beteende s 115 - 142 Del III Analys av användningsområdet s 143 6. Användning s 147 - 166 7. Funktioner s 167 - 180 8. Gränssnitt s 181 - 204 Del IV Arkitekturdesign 9. Kriterier 10. Komponenter 11. Processer Del V Komponentdesign 12. Modellkomponeneten 13. Funktionskomponenten 14. Förbindelser mellan komponenter Del VI Praktik 15. Strategi 16. Dokumentation s 341 - 354 17. Implementering 18. Notation s 371 - 394 Del VII Exempel De avsnitt som är märkt med blått gäller de två första perioderna Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design Syfte 1.Metod Att avtala krav på ett datasystem Att designa ett datasystem utan väsentliga osäkerheter Att förså ett datasystem, dess omgivning och villkoren för dess realisering Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design Begrepp 1.Metod Objekt: en helhet med identitet, tillstånd och beteende Klass: en beskrivning av en mängd objekt med samma struktur, beteendemönster och attribut Datasystem: en samling komponenter, som realiserar krav på modell, funktioner och gränssnitt Problemområde: den del av omgivningen som administreras, övervakas eller styrs med hjälp av ett datasystem Användningsområde: en organisation som administrerar, övervakar och styr ett problemområde Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design Principer 1.Metod Objekt som samlande begrepp En öppen metod En situationsbestämd strategi Återanvänd förebilder, mönster och komponenter En god design har inga väsentliga svagheter En kortfattad dokumentetion av hög kvalitet Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design Resultat 1.Metod Design- dokument Analysdokument och designdokument Analys- dokument I kapitel 16 finns det standarder för hur dokumentationen skall göras och dessa kommer vi att gå igenom Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design 1.Metod Analys Vad? Ser datasystemet “utifrån” Tar utgångspunkt på datasystemets omgivning och uppställer krav Analys tidsmässigt före designskedet Framställer dokument, som används i designarbetet Design Hur? Ser datasystemet “inifrån” utgår från tänkbara tekniska konstruktioner och fastslår hur kraven realiseras på den tekniska plattformen Design tidsmässigt efter analysskedet Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design Vad är en metod? 1.Metod En samling generella föreskrifter för hur man utför en aktivitet Anpassas till organisationen och projektet genom utarbetande av standarder strategier och planer Generella riktlinjer omvandlas till konkreta avtal, som bygger på kännedom om verksamheten och problemområdet Skilj mellan: metod , teknik och notation En metod är i bästa fall teknikoberoende Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Objektorienterat (OO) - ett tänkesätt 1.Metod Objekt används som grundläggande element Objekt beskriver fenomen i datasystemets omgivning Lönesystem Objekt: t.ex. anställda, avdelningar, avtal, arbetstid, lön... Objektens tillstånd: t.ex. anställningstid, avdelsningstillhörighet... Objektens beteende: t.ex. anställda arbetar övertid, anställda går på semester... En OO-metod tar fasta på: Krav på datasystem och omgivningens användning av datasystemet Användargrupper och angränsande system Vilka funktioner skall systemet tillhandahålla Datasystemets gränssnitt Med en OO-metod uttrycker vi kraven på användaren, funktioner och gränssnitt i termer av objekt och deras beteende Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design Planeringsmetoder 1.Metod Funktionsorienterat Omkring 1970 Fokusering på arbetsuppgifter och hur de skall lösas i datasystemet Genom dataflödesdiagram och processbeskrivningar hur data förflyttas och behandlas i systemet Dataorienterat Omkring 1980 Fokusering på databasdesignen Modellering av entiteter och relationer En central aktivitet är normalisering Modern strukturerad analys (funktionsorienterat + dataorienterat) Liksom i OO intresserar sig modern strukturerad analys för entiteter och tillståndsförändringar och händelser i användningsområdet I systemdesignen ligger fokuseringen på nedbrytning av funktioner i delfunktioner medan datastrukturen analyseras separat och görs genom en normaliseringsprocess funktionsoberoende, men samtidigt tillgänglig för många olika funktioner Fördelen är att data finns tillgängligt för många funktioner, men systemet blir komplext och låst och det är svårt att utvidga eller återanvända delar av system Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Planeringsmetoder (forts.) OOAD En av grundprinciperna i OOAD är inkapsling. Idén är att alla data knyts till de operationer som arbetar med dem, så att det omgivande systemet bara har tillgång till datastrukturerna via operationerna Datasystemet bryts ner i komponenter med snävast möjliga gränssnitt OOA och OOD är en förlängning av traditionella planeringsmetoder och ger nya möjligheter att lösa problem genom införandet av objektbegreppet Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design Fördelar med OO 1.Metod Objekt, tillstånd (attribut) och och beteenden (operationer) är generella begrepp, som lämpar sig väl att beskriva de flesta fenomen i vår omvärld Naturliga språk är redan uppbyggda på detta sätt Substantiv = Objekt, t.ex. människor och ting Adjektiv = Beskriver tillstånd eller egenskaper hos objekt, t.ex. utseende och kvalitet Verb = Betecknar objektets beteende, t.ex. handlingar eller verkningar OO-tankegång i följande sats: “Huset har blivit fint sedan Bo målade det” Objekt: Huset , Bo Händelse: Huset målat Ändrat tillstånd: Huset har blivit fint Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Fördelar med OO (forts.) 1.Metod OO-metoden ger bättre insikt i datasystemets omgivning OO-tankegången kan appliceras i alla skeden från analys till förverkligande OOA OOD OOP Objekt kan vara abstraktioner av: Personer, ekonomi eller organisatoriska förhållanden i verksamheten Funktioner, processer och komponenter i datasystemet Fönster, knappar och funktioner i användargränssnittet Det centrala begreppet i OOP Användarstyrt tänkesätt, som inte påtvingar en ensidigt teknisk synvinkel Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design 1.Metod Grundstenen är objektet OOA - för att strukturera vår uppfattning om omgivningen OOD - för att förstå och beskriva datasystemet Objekt: en helhet med identitet, tillstånd och beteende T.ex. Kund Objekt beskrivs i klasser Klass: en beskrivning av en mängd objekt med samma struktur, beteendemönster och attribut Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design Objekt (forts.) 1.Metod OOA Analysobjekt beskriver fenomen i datasystemets omgivning Fenomen utanför datasystemet är självständiga i förhållande till datasystemet och vi kan inte beordra dem att göra det ena eller det andra, utan måste nöja oss med att registrera deras beteende i form av händelser OOD Designobjekt beskriver fenomen i själva datasystemet Fenomen i datasystemet styr vi själva över och därför beskriver vi deras beteende som operationer, som vi vill få utförda Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Datasystem och dess omgivning 1.Metod Användarens uppfattning av problemområdet Objektsystem Datasystem Den del av omgivningen, som administreras, övervakas eller styrs med hjälp av datasystemet Användare En organisation som administreras, övervakas eller styr ett problemområde Problemområde Användningsområde Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Datasystem och komponenter 1.Metod Andra system Gränsnittskomponenten Kopplar samman systemet med dess omgivning Användare Gränssnitt Funktioner Modell Funktionskomponent De faciliteter som användare gör bruk av i sina arbetsuppgifter för att utnyttja och uppådatera modellkomponenten Datasystem En samling komponenter som realiserar krav på modell, funktioner och gränssnitt Modellkomponent En dynamisk modell av objektsystemet alltså datasystemets problemområde Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design Fyra perspektiv 1.Metod Utvecklingen av ett datasystem kräver att man arbetar utifrån flera perspektiv 1. Informationsperspektiv: Datasystemet skall tillhandahålla en användbar modell av problemområdet 2. Användarperspektiv: Datasystemet skall integreras i användarmiljön 3. Arkitektusperspektiv: Datasystemet skall köras på en bestämd teknisk plattform 4. Helhetsperspektiv: Datasystemet skall vara en väl fungerande helhet av samarbetande delar Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Huvudaktiviteter i OOA och OOD 1.Metod Analys av problem- område l Krav på använd- ning Analys av användnings- område l Modell Design av komponenter Spec. av kompo- nenter Analysen tar fasta på de aktivteter som finns inom den blåa streckade linjen Spec. av arki- tektur Design av arkitektur Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Analys av problemområde 1.Metod Aktivitet Innehåll Begrepp Klasser Vilka objekt och händelser ingår i systemet? Klass, objekt, händelse Struktur Hur hänger klasser och objekt begreppsligt samman? Generalisering,aggregat, associationer och kluster Beteende Vilka dynamiska egenskaper har objekten? Händelseförlopp, beteendemönster och attribut Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Analys av användningsområde 1.Metod Aktivitet Innehåll Begrepp Användning Hur samspelar systemet med personer och system i omgivningen? Användningsmönster, aktör Funktioner Vilka är datasystemets innehållsmässiga användnings- egenskaper? Vad skall systemet användas till? Funktion och funktionstyp Gränssnitt Vilka krav ställs på data- systemets användargränssnitt? Gränssnitt, användargränss- snitt, systemgränssnitt och användningsmiljö Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design Design av arkitektur 1.Metod Aktivitet Innehåll Begrepp Kriterier Hur prioriteras kraven på systemet? Kriterium Komponenter Hur struktureras datasystemet i komponenterna? Komponentarkitektur och komponenter Processer Vilka problem är förknippade med att strukturera datasystemets processer? Processarkitektur, process och aktivt objekt Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design Design av komponenter 1.Metod Aktivitet Innehåll Begrepp Modellkomponenet Hur representeras objektsystemet som klasser i datasystemet? Modellkomponent och attribut Funktionskomponent Hur realiseras funktionerna på grundval av systemets modellkomponenet? Funktionskomponent, funktionstyp och operation Gränssnittkomponenet Hur realiseras interaktionen med omgivningen? Gränssnitt, användar- gränssnitt och system- gränssnitt Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Metodologiska principer 1. Modellera omgivningen För att göra ett bra system måste du kunna användnings- och problemområdet 2. Betona arkitekturen En genomtänkt och flexibel arkitektur underlättar systemets förverkligande och minskar på underhållskostnaderna. 3. Återanvänd mönster Bygg på väletablerade idéer och förtestade komponenter 4. Anpassa metoden till projektet Varje utvecklingsarbete är unikt OOA och OOD måste asnpassas til de specifika behoven i en given analys- och designsituation Viktig sammanfattning av principerna Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Angreppssätt – Traditionell ”Top Down” 1.Metod Analys- dokument Analys av PO Analys av AO Design- dokument Arkitekturdesign Komponentdesign Programmering Kvalitetssäkring Programvara Fas 1 Fas 2 Fas 3 Tid Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Angreppssätt – Användarfallsdriven 1.Metod Analys av PO Analys av AO Arkitekturdesign Komponentdesign Programmering Kvalitetssäkring Programvara versio 1 Programvara versio n Fas 1… … …Fas n Tid Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Syfte, Begrepp, Principer, Resultat 2. Systemval Syfte: Att komma överens om systemets övergripande egenskaper Begrepp: Systemdefinition – en koncis beskrivning av ett datasystem skrivet för systemanvändaren och uttryckt på naturligt språk Principer: (1) Bedöm situationen (2) Odla nya idéer (3) Definiera alternativa system Resultat: En systemdefinition som uppfyller VATOFA-kriteriet Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Delaktiviteter i valet av system 2. Systemval Situation Idéer l System Systemdefinition Se figur 2.1 i boken Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Rik bild – ett sätt att beskriva situationen 2. Systemval Använd de viktiga nyckelbegrepp som verksamheten bygger på och som är viktiga för den situation som du skall analysera Ett exempel på en rik bild finns i boken figur 2.3 Praktiska råd: För att vara användbara bör rika bilder: innehålla mycket information och vara öppen för tolkningar framställa processer och strukturer på ett överskådligt sätt visa åtminstone ett problematiskt område peka på flera relevanta datasystem innehålla mycket information, men inte kaotiskt belysa nyckelaspekter som befrämjar förståelsen på många nivåer det är ingen systemteknisk beskrivning och den skall inte representera data och databehandling Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design Definiera systemet 2. Systemval l Systemdefinition 1 l Systemdefinition 2 Situation l Systemdefinition 3 Flera systemdefinitioner ger olika sätt att se en situation Se figur 2.6 i boken Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design
Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design VATOFA-kriteriet 2. Systemval VATOFA-kriteriet består av sex delområden Villkor – De villkor under vilka systemet kommer att utvecklas och användas Användningsområde – Begreppet borde vara bekant – repetera slide 16 om du inte vet Teknologi – Både den teknologi som används för att utveckla systemet och den teknologi på vilken systemet kommer att exekveras Objekt – De viktigaste objekten i problemområdet (slide 16) Funktionalitet – De systemfunktioner som understöder uppgifterna inom användningsområdet Ansvar – Systemets övergripande ansvar i förhållande till sin omgivning Vaasa Polytechnic / T-KNO September 2002 Källa: Lars Mathiassen m.fl. (1998) Objektorienterad analys och design