Systemmodeller In 140 Forelesning nr. 9 Sommerville kap. 7
Mål Forstå hensikten med kontekstmodell Forstå ideene bak –oppførselsmodellering –datamodellering –objektmodellering Bli introdusert til noen UML-notasjoner og bruke dem i systemmodellering –Datamodell – Viser datastrukturen CASE og systemmodellering
Introduksjon Systemmodellering brukes til –presisering av kravspesifikasjon –overgang mellom spesifikasjon og utforming –hjelpemiddel i analysefasen øke forståelsen for eksisterende system spesifisere ønsket system –perspektiver Ytre Oppførsel Strukturelt – system eller data Strukturert analyse – svakheter –Svak på ikke funksjonelle krav –Vanskelig å kjenne grenser –For mye dokumentasjon og detaljer
En modell er en forenkling Mulige modeller –Databehandling – Dataflytdiagrammer –Arkitekturmodell – Viser undersystemer –Objektklasse/arvemodeller –Stimulus/Responsmodeller - Tilstandsdiagrammer
Kontekstmodeller Viser systemet i sin sammenheng Klargjøre grensene for systemet –kan være klar - fht. eksisterende systemer –eller vanskelig ikke tekniske faktorer Vise avhengighet mellom system og omgivelser Overordnet arktitekturmodell
Prosessmodell Kontekstmodeller
Oppførselsmodeller (Behavioural models) Dataflytmodeller –Viser hvordan data behandles av systemet –Passer for de fleste forretningssystemer Tilstandsmaskinmodeller –Viser hvordan systemets tilstand reagerer på hendelser –Passer til sanntidssystemer –Kan også brukes på GUI-systemer
Dataflytmodeller (De Marco 1978) Intuitiv viser data og behandlingsoperasjoner Behandlingstrinn –design ved programfunksjoner –analyse også manuelt God dokumentasjon av hva som skjer Lette å forstå for kunde og utvikler Støtter splitt og (be)hersk Funksjonelt Også brukbart som kontekstdiagram Data inn Be- handling Data ut Datalager, kilde eller sluk
Dataflytmodeller
Tilstandsmaskinmodeller Viser systemets reaksjon på hendelser Systemet kan skifte tilstand som reaksjon på hendelse Sanntidssystemer GUI Del av UML (Finnes under SDL i visio)
Mikrobølgeovnmodell
Microbølgeovn tilstandsbeskrivelse
Tilstandsmaskinmodell i GUI
Datamodeller 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 et ordresystem
Objektmodeller Objektorientering på vei inn: –Kravspesifikasjon –Utforming –Utvikling –java C++ Objektmodeller for –Data –Behandling Objektmodeller i analyse –Lettforståelig for fysiske objekter –Vanskeligere for begreper –Letter overgang til utforming –Vanskelige å fatte for vanlige brukere –Supplere med dataflytdiagrammer
Objektmodeller i analysefasen Objektklasse – en abstraksjon Instansiering Objektklasser og sammenheng mellom dem Modellering av virkeligheten med objektklasser – ikke objekter Modellering av arv, aggregering, interaksjon UML – objektklasse vises som tredelt rektangel –Navn –Attributter –Operasjoner
Klassehierarki for bibliotekssystemer
Arvemodeller Klassifisering som viser felles attributter og operasjoner 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
UML Mange forslag til standarder for OOA OOD Standardkrig Tre av hovedmetodene ble slått sammen til UML i 1999 –3 amigos Booch, Rumbaugh, Jacobson
Multippel arv Arv fra flere foreldreklasser –Attributter –Operasjoner Problematisk –Unødvendig arvegods –Mindre robust for forandring –Navnekollisjoner
Objektaggregering Objekter satt sammen av andre objekter Symboliseres med rombe
Objekthandlingsmodellering Hensikten er å vise hvordan et use case kan gjennomføres ved at objekter samhandler. Scenarier med sekvensdiagram Samarbeidsdiagram (Collaboration d.)
Object behaviour modelling A behavioural model shows the interactions between objects to produce some particular system behaviour that is specified as a use-case Sequence diagrams (or collaboration diagrams) in the UML are used to model interaction between objects
Utlevering av elektronisk materiale
CASE workbench
Sammendrag En modell er en abstrakt framstilling av systemet. Forskjellige modeller gir forskjellig informasjon Kontekstmodeller viser systemet i sin sammenheng. Dataflytmodeller kan brukes til å vise hvordan data bearbeides i systemet Tilstandsmaskinmodeller viser hvordan systemet reagerer på stimuli.
Sammendrag Datamodeller viser hvordan data er strukturert Objektmodeller viser hvordan systemet kan bygges opp av objekter og hvordan objektene henger sammen. CASE workbencher kan støtte oppbyggingen av systemmodeller.