Systemmodeller In 140 Sommerville kap 7 Ml Forst

  • Slides: 29
Download presentation
Systemmodeller In 140 Sommerville kap. 7

Systemmodeller In 140 Sommerville kap. 7

Mål Forstå hensikten med kontekstmodell n Forstå ideene bak n – oppførselsmodellering – datamodellering

Mål Forstå hensikten med kontekstmodell n Forstå ideene bak n – oppførselsmodellering – datamodellering – objektmodellering n Bli introdusert til noen UML-notasjoner og bruke dem i systemmodellering n CASE og systemmodellering

Introduksjon n Systemmodellering brukes til – presisering av kravspesifikasjon – overgang mellom spesifikasjon og

Introduksjon n Systemmodellering brukes til – presisering av kravspesifikasjon – overgang mellom spesifikasjon og design – hjelpemiddel i analysefasen • øke forståelsen for eksisterende system • spesifisere ønsket system – perspektiver • Ytre • Oppførsel • Strukturelt – system eller data n Strukturert analyse – svakheter – Svak på ikke funksjonelle krav – Vanskelig å sette grenser – For mye dokumentasjon og detaljer

n En modell er en forenkling n Mulige modeller – Databehandling – Dataflytdiagrammer –

n En modell er en forenkling n Mulige modeller – Databehandling – Dataflytdiagrammer – Arkitekturmodell – Viser relasjoner mellom delsystemer – Objektklasse/arvemodeller – Stimulus/Responsmodeller Tilstandsdiagrammer

Kontekstmodeller Viser systemet i sin sammenheng n Klargjøre grensene for systemet n – kan

Kontekstmodeller Viser systemet i sin sammenheng n Klargjøre grensene for systemet n – kan være klar - fht. eksisterende systemer – eller vanskelig • ikke tekniske faktorer Vise avhengighet mellom system og omgivelser n Overordnet arktitekturmodell n

Kontekstmodeller n Prosessmodell

Kontekstmodeller n Prosessmodell

Oppførselsmodeller (Behavioural models) n Dataflytmodeller – Viser hvordan data behandles av systemet – Passer

Oppførselsmodeller (Behavioural models) n Dataflytmodeller – Viser hvordan data behandles av systemet – Passer for de fleste systemer n Tilstandsmaskinmodeller – Viser hvordan systemets tilstand reagerer på hendelser – Passer til sanntidssystemer – Kan også brukes på GUI-systemer

Dataflytmodeller (De Marco 1978) n Intuitiv viser data og behandlingsoperasjoner n Behandlingstrinn Data inn

Dataflytmodeller (De Marco 1978) n Intuitiv viser data og behandlingsoperasjoner n Behandlingstrinn Data inn – design ved programfunksjoner – analyse også manuelt n God Behandling Data ut Datalager, kilde eller sluk dokumentasjon av hva som skjer n Lette å forstå for kunde og utvikler n Støtter splitt og (be)hersk n Funksjonelt n Også brukbart som kontekstdiagram

Dataflytmodeller

Dataflytmodeller

Dataflytmodeller

Dataflytmodeller

Tilstandsmaskinmodeller n Viser systemets reaksjon på hendelser n Systemet kan skifte tilstand som reaksjon

Tilstandsmaskinmodeller n Viser systemets reaksjon på hendelser n Systemet kan skifte tilstand som reaksjon på hendelse n Sanntidssystemer n GUI n Del av UML (Finnes under SDL i visio)

Mikrobølgeovnmodell

Mikrobølgeovnmodell

Microbølgeovn tilstandsbeskrivelse

Microbølgeovn tilstandsbeskrivelse

Tilstandsmaskinmodell i GUI

Tilstandsmaskinmodell i GUI

Datamodeller n n n Databaser i de fleste informasjonssystemer Relasjonsdatabaser – 3. normalform Entity-Relation-Attribute

Datamodeller n n n Databaser i de fleste informasjonssystemer Relasjonsdatabaser – 3. normalform Entity-Relation-Attribute ERA modeller (Chen 1976) UML-datamodell som utvidelse av klassediagram Gjerne supplert med datakatalog – – – alfabetisk liste over E, R og A, med beskrivelse Sammensatte av hvem, når Navnadministrasjon Felles lagersted for informasjon om systemet Gjerne CASE-støttet

Datamodell for CASE-system

Datamodell for CASE-system

Datamodell for et ordresystem

Datamodell for et ordresystem

Objektmodeller n Objektorientering på vei inn: – Kravspesifikasjon – Design – Utvikling –java C++

Objektmodeller n Objektorientering på vei inn: – Kravspesifikasjon – Design – Utvikling –java C++ n Objektmodeller for – Data – Behandling n Objektmodeller i analyse – – – Lettforståelig for fysiske objekter Vanskeligere for begreper Letter overgang til design Vanskelige å fatte for vanlige brukere Supplere med dataflytdiagrammer

UML n Mange forslag til standarder for OOA OOD n Standardkrig n Tre av

UML n Mange forslag til standarder for OOA OOD n Standardkrig n Tre av hovedmetodene ble slått sammen til UML i 1999 – 3 amigos Booch, Rumbaugh, Jacobson

Objektmodeller i analysefasen n n n Objektklasse – en abstraksjon Instansiering Objektklasser og sammenheng

Objektmodeller i analysefasen n n n Objektklasse – en abstraksjon Instansiering Objektklasser og sammenheng mellom dem Modellering av virkeligheten med klasser – ikke objekter Modellering av arv, aggregering, interaksjon UML – objektklasse vises som tredelt rektangel – Navn – Attributter – Operasjoner

Klassehierarki for bibliotekssystemer

Klassehierarki for bibliotekssystemer

Arvemodeller n Klassifisering som viser felles attributter og operasjoner n Arvehierarkier – De mest

Arvemodeller n Klassifisering som viser felles attributter og operasjoner n Arvehierarkier – De mest generelle øverst – Arv av attributter og tjenester – Spesialisering med egne attributter og tjenester – Pilretning – Arv i UML Generalisering – Vanskelig kunst – krever områdekjennskap

Multippel arv n Arv fra flere foreldreklasser – Attributter – Operasjoner n Problematisk –

Multippel arv n Arv fra flere foreldreklasser – Attributter – Operasjoner n Problematisk – Unødvendig arvegods – Mindre robust forandring – Navnekollisjoner

Objektaggregering n Objekter satt sammen av andre objekter n Symboliseres med rombe

Objektaggregering n Objekter satt sammen av andre objekter n Symboliseres med rombe

Objekthandlingsmodellering n Hensikten er å vise hvordan et use case kan gjennomføres ved at

Objekthandlingsmodellering n Hensikten er å vise hvordan et use case kan gjennomføres ved at objekter samhandler. n Scenarier med sekvensdiagram n Samarbeidsdiagram (Collaboration d. )

Utlevering av elektronisk materiale

Utlevering av elektronisk materiale

CASE workbench

CASE workbench

Sammendrag En modell er en abstrakt framstilling av systemet. Forskjellige modeller gir forskjellig informasjon

Sammendrag En modell er en abstrakt framstilling av systemet. Forskjellige modeller gir forskjellig informasjon pga ulike perspektiver n Kontekstmodeller viser systemet i sin sammenheng. n Dataflytmodeller kan brukes til å vise hvordan data bearbeides i systemet n Tilstandsmaskinmodeller viser hvordan systemet reagerer på stimuli. n

Sammendrag n Datamodeller viser hvordan data er strukturert n Objektmodeller viser hvordan systemet kan

Sammendrag n Datamodeller viser hvordan data er strukturert n Objektmodeller viser hvordan systemet kan bygges opp av objekter og hvordan objektene henger sammen. n CASE workbencher kan støtte oppbyggingen av systemmodeller.