420 likes | 627 Views
Systemanalyse og design. Analyse af Anvendelsesområdet. Dagsplan. 9.00 – 9.30: Spørgetime 9.30 – 10.00 Analyse af anvendelsesområdet 10.10 – 11.10 Øvelse i brugsmønstre 11.10 – 11.40 Øvelse: resume analyse aktiviteterne 11.40 - 12.10 Frokost 12.10 – 12.40 Arkitekturmønstre
E N D
Systemanalyse og design Analyse af Anvendelsesområdet SAD design II
Dagsplan 9.00 – 9.30: Spørgetime 9.30 – 10.00 Analyse af anvendelsesområdet 10.10 – 11.10 Øvelse i brugsmønstre 11.10 – 11.40 Øvelse: resume analyse aktiviteterne 11.40 - 12.10 Frokost 12.10 – 12.40 Arkitekturmønstre 12.50 – 13.20 Arkitektur processen 13.20 -14.20 Øvelse: fra krav til arkitiektur 14.20 – 14.35 Øvelse: Grund arkitektur 14.35 -> Hvad så nu? Projektet, konsultation og systemmessen… SAD design II
Kursusdel i analyse af anvendelsesområdet Efter denne kursusgang og gennem jeres arbejde med emnerne i projektet inden system messe I skal I opnå at • forstå formålet med analyse af anvendelsesområdet • vide hvilke aktiviteter der indgår i analysen af anvendelsesområdet og hvordan de hænger sammen • kunne udføre analyse af anvendelsesområdet, særligt skal I forstå begreberne • anvendelsesområde, krav, aktør og brugsmønster – og deres indbyrdes sammenhæng Kunne • udvælge og beskrive aktører og brugsmønstre SAD design II
Analyse og design i projektet SAD design II
Knytter sig til dynamik Indbyrdes relaterede Men inden for forskellige domæner Hændelse:Fly melder klar til landing Brugsmønster: Klarmelding til landing (indeholder bl.a. kommunikation mellem pilot og flyveleder, krydscheck af andre flys positioner, vindretning mm) Hændelse og brugsmønster Hvad der sker i problem-området (virkeligheden) Hvad en aktør gør ved “skærmen” for at matche hændelsen SAD design II
System Def. grænseflader brug Funktioner krav SAD design II
Brug grænseflader Funktioner SAD design II
Arbejdsgang • Fastlæg aktører • Inspiration fra arbejdsdeling i A.O. • Beskriv aktører • Beskriv brugsmønstre • Inspiration fra arbejdsopgaver i A.O. • Udforsk mønstre • Vurder systematisk SAD design II
Aktør Flyveleder Kaptain Formål: Styrer starter og landinger i lufthavnen, så uheld undgås Karakteristik: Høj uddannede specialister – arbejder under stort pres Eksempler: Brugerne der påtager sig denne rolle er ret ens Formål: Styrer fly under start og landing Karakteristik: Høj uddannede specialister – arbejder under stort pres Eksempler: Brugerne der påtager sig denne rolle er ret ens En ROLLE – ikke en person eller en titel / ansættelse Knytter sig til et afgrænset arbejdsområde – ofte mindre end I tror F.eks. Kassedame, vareopsætter, lagermedarbejder I Visse købmand er disse funktioner delt mellem flere ansatte. SAD design II
Om brugsmønstre • Fastlægger systemets funktionalitet • Abstraktioner over INTERAKTIONER mellem system og aktør • Mange beskrivelses former og detalje niveauer passer ind forskellige steder ind i arbejdsprocessen • Overblik • ”navngivning” • brugsmønster diagram • brugsmønster specifikation • Detalje • tilstandsdiagram for brugsmønster • tabelform • Sequensdiagrammer • + fra DIEB SAD design II
Brugsmønsterdiagram Klarmelding til landing Landing Kaptain Klarmelding til start Flyveleder Start Overvåge luftrum SAD design II
Brugsmønster beskrivelse I Klarmelding til landing Brugsmønster: Når flyet kommer inden for landingszonen melder flyets katain til flyveledertårnet dets position og ønske om landing (tidspunkt etc). Flyvelederen i tårnet, checker om systemet har de korrekte oplysninger (og evt. opdaterer), optaget sig ansvaret for landingen og melder til flyet, hvordan det skal vente (højde mm), samt et forventeligt landingstidspunkt (alt dette registreres samtidigt i systemet). Kan landing ske umiddelbart fortsættes til brugsmønster ”landing” Objekter: Landing, Flyvende ting, Flyveleder SAD design II
Fejl i data Tilpas auto data / flymelding Melde sig til tårnet Check auto data Tilmelding modtaget Meldt til Landing placeret Tag ansvar Sæt i kø til landing Landing planlagt Planer meddelt Venteposition opnået Meddel opnået position Meddel planer Sæt i kø til landing Brugsmønster beskrivelse II Planlæg landing SAD design II
Så langt så godt • Men hvad med kravet om at få alle fly ned (ikke glemme nogen?) SAD design II
Vurder systematisk • Vurderingskriterier • BM skal være enkelt og sammenhængende helhed • Beskrivelse af aktører og BM skal fremme forståelse og overblik (+ detaljer) • BM skal kunne lede til identifikation af funktioner og grænseflade elementer • Eksperimenter og prototyper • Hvilke sociale forandringer medfører de? (og er det det brugeren vil med systemet) SAD design II
Vurder systematisk • Vurderingskriterier • BM skal være enkelt og sammenhængende helhed • Beskrivelse af aktører og BM skal fremme forståelse og overblik (+ detaljer) • BM skal kunne lede til identifikation af funktioner og grænseflade elementer • Eksperimenter og prototyper • Hvilke sociale forandringer medfører de? (og er det det brugeren vil med systemet) SAD design II
PAUSE 10 minutter – derefter øvelser SAD design II
Systemanalyse og design Arkitektur Et godt system er et system uden væsentlige mangler SAD design II
Læringsmål Efter denne kursusgang og gennem jeres arbejde med emnerne i projektet inden system messe I skal I opnå at • Forstå forskellen på analyse, kravspecificering og design • Forstå forskellen på design (som brugergrænseflade design) og design (som opbygningen af et IT-system) • Overordnet kende til interaktionen mellem ”arkitektonisk design” og ”detaljeret design” i design processen. • Vide hvordan designkriterier (og andre arkitektoniske krav) i metoden er tænkt som grundlag for design • Forstå designkriterierne (alle sammen) • Kunne vurdere og prioritere design kriterier • Kunne kortlægge og evaluere arkitektoniske krav SAD design II
Arkitektur • OOA&D - En strukturering af et system … Komponenter, processer… • Larman • En række af signifikante design beslutninger om organiseringen af systemet, strukturelle elementer, deres interfaces, deres ”opførsel”… Uanset hvad ”DE STORE LINIER” … SAD design II
Arkitektur processen Læg planer for HELHEDEN KRAV • Arkitektur produkter • Undervejs • Faktortabel • Tekniske memo’er • Kørende dele af systemet • Design beskrivelser af dele af systemet (seq-diag., kl-diag.) • Resultat – en række views /beskrivelser • Logisk • Process • Deployment • Data • Use case • Implementering • Flere? Prøve, undersøge, etc. Test på DELE VALG SAD design II
Delsys 1 Delsys 2 BGF SGF SGF BGF Funktion Funktion Model Model Eksempler på helhedsbeskrivelser af systemet Desuden: Design klasse diagrammer, samt System Architecture Document SAD design II
Eksempel på del beskrivelser Pseudo-kode Sequence diagram SAD design II
Mønstre for arkitektur • Inspiration • Afprøvede løsninger • Se om de løser netop jeres problem • Vi ser på 4 mønstre • Lagdelt arkitektur • Komponenter og delsystemer • ”grundarkitekturen” • Klient-server arkitektur SAD design II
Mønstre for arkitektur I Lag beskriver en komponents ansvar ved hvilke operationer der tilbydes op af, og hvilke der udnyttes ned af (interfaces) Lagdelt arkitektur • Åben: Kan anvende operationer i alle under- og over-liggende lag • Lukket: kan kun anvende laget lige under eller lige over • Streng: Kan kun anvende underliggende lag • Løs: kan anvende både over- og underliggende lag SAD design II
BGF SGF SGF BGF Model Model Mønstre for arkitektur II Komponenter og delsystemer Ingen væsentlig interaktion med andre dele Delsys 1 Delsys 2 Funktion Funktion SAD design II
Mønstre for arkitektur III Grundarkitekturen Afspejler opdelingen i problemområde og anvendelsesområde Åben streng lag arkitektur Standard-komponenter F.eks. Java swing SAD design II
Mønstre for arkitektur IV Klient-server Flere klienter kører på en eller flere servere over et netværk – de fleste systemer i dag • Kan fordeles efter mange hensyn • Oppetid • Datasikkerhed • Datareplikering • Hastighed • Eksisterende hardware • Mmm. SAD design II
Server SGF BGF SGF BGF BGF SGF Funktion Model Model Model Mønstre for arkitektur V Klient-server - eksempel Klient 2 Klient 1 Funktion Funktion Kunne være 2 detailhandel butikker med hver sit lager og et fælles lager hos hovedkontoret Kunne være 2 pc’er der har åbnet en hjemmeside for en internet butik SAD design II
Pause SAD design II
Analyse Dok. Komponent arkitektur Kriterier Proces arkitektur Arkitektur spec. SAD design II
Arkitektoniske krav/ faktorer og faktor tabel SAD design II
Arkitektoniske krav /faktorer • Kravspecifikationen fra analysen • Funktionelle (nogle) og IKKE-funktionelle krav (stort set alle) • Design kriterier … fra OOA&D • Tekniske muligheder for produktet • Udstyr (eksisterende og nyt, genbrugbare indkøbte eller freeware komponenter) • Udviklingsforhold • Folk (kompetencer og erfaring) • kram (adgang til passende værktøjer) • Organisatorisk (kontrakter, planer for videreudvikling) Samles i en FAKTOR-tabel (over faktorer der kan påvirke arkitekturen), beskrives, vurderes og prioriteres Udfra disse søges løsnings muligheder. SAD design II
Faktor tabel • For at kunne lave en arkitektur uden ”væsentlige svagheder” ved • at skaffe sig overblik • at undgå at glemme noget • at undgå at undervurdere noget • bevidst at kunne afveje alle faktorer SAD design II
Design kriterier • Hvordan skal disse klassiske hensyn vægtes i det kommende design? • Brugbart • Sikkert • Effektivt • Korrekt • Pålideligt • Vedligeholdbart • Testbart • Fleksibelt • Forståeligt • Genbrugbart • Flytbart • Integrerbart • Kan meget vel være modsatrettede krav SAD design II
Foreslå, undersøg og beskriv alternative løsninger SAD design II
Videnskab og kunst • Videnskaben er at finde og beskrive • Kunsten er at finde passende løsninger • Løsninger beskrives i tekniske memo’er: • Afvej hensyn • Afhængigheder (U-) • Alternativer SAD design II
Et eksempel SAD design II
Afvej hensyn, evaluer løsninger, afprøv arkitekturen, evaluer arkitekturen Afvejhensyn Uafvigelige krav og betingelser Forretningshensyn alle andre hensyn Evaluer del-løsninger • tekniske eksperimenter • Ekspertråd • reviews etc. Afprøv arkitekturen • vælg de dele af systemet som ”spænder arkitekturen ud” • Lav dem • Evaluer arkitekturen mhp. dem Evaluer arkitekturen Pick your battles – don’t goldpate SAD design II
Arkitektur OOA&D • Principper at udarbejde en arkitektur: • Fastlæg og prioriter kriterier /faktorer • Byg bro mellem kriterier/faktorer og teknisk platform • Afprøv designet så tidligt som muligt • Principper for et godt design • Et godt design har ingen væsentlige svagheder • Et godt design balancerer flere kriterier (ønskede egenskaber ved en arkitektur) • Et godt design er brugbart, fleksibelt og forståeligt SAD design II
Beskriv, så du selv kan huske og andre forstå SAD design II
Arkitektur beskrivelse • Fordi • Andre skal kunne sætte sig ind i dit system (Arbejdsdeling, Nye folk,Vedligehold) • Du selv skal kunne huske det • Det skal være muligt at kvalitetssikre designet • Beskrivelser: • Faktortabel – tilrettet hvis man ønsker det • Tekniske memo’er – tilrettet • Design af vigtige use-cases • Klassediagram • + Views: • Logisk: Opbygning i dele og deres interaktion • Use-cases: De arkitektur bærende Use-cases • Deployment: Placering på fysiske maskiner og netværk • Processer: Interaktionen mellem de kørende processer - tråde • Data: Hvordan håndteres data og persistens • Implementation: Organisering af leverancerne og koden SAD design II