Understanding Quality in Conceptual Modeling

Like dokumenter
Oppgave 1 Referent Modell (20%)

SIF8035. Strukturert analyse

Hvordan komme i gang med ArchiMate? Det første modelleringsspråket som gjør TOGAF Praktisk

buildingsmart Norge seminar Gardermoen 2. september 2010 IFD sett i sammenheng med BIM og varedata

A Study of Industrial, Component-Based Development, Ericsson

Den europeiske byggenæringen blir digital. hva skjer i Europa? Steen Sunesen Oslo,

Public roadmap for information management, governance and exchange SINTEF

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?

INF 5120 Obligatorisk oppgave Nr 2

Oppgave 1. Modelleringsperspektiver og modelleringsspråk (40%) Alle underoppgavene teller likt

UML 1. Use case drevet analyse og design Kirsten Ribu

Språk, abstraksjonsmekanismer og perspektiver i konseptuell modellering

Prosessmodell. Hurtigguider - rammeverk Sist redigert Snorre Fossland Eier og driver Snorres Modellbyrå

Er du nysgjerrig på om det er mulig...

Syntax/semantics - I INF 3110/ /29/2005 1

Elektronisk fakturering mellom bedrifter

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

FASMED. Tirsdag 21.april 2015

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case?

Kravspesifikasjon med UML use case modellering. Erik Arisholm

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås,

UKE 11 UML modellering og use case. Gruppetime INF1055

Presentasjon 1, Requirement engineering process

Utgangspunkt: kvalitetsrammeverket

Kurskategori 2: Læring og undervisning i et IKT-miljø. vår

SemTask - Semantic Task Support in Integrated Operations

Hva kan sykehjem lære av sykehusdrift, innen digitalisering? Tor Åsmund Evjen Rådgiver digital samhandling St. Olavs Hospital

Kap3: Klassemodellering

Bakgrunn. Kurset krever ingen spesielle forkunnskaper om modellering.

Kurskategori 3: Design av IKT- systemer. Normalt vår, 14/15: høst

Databaser: Relasjonsmodellen, del I

Internasjonal standardisering. Erlend Øverby

Brukerkrav og use case diagrammer og -tekst 19. januar Agenda. Brukerkrav og use case. Diagrammer Tekst.

JONN ARNE VE SENIOR FORRETNINGSRÅDGIVER

Øystein Haugen, Professor, Computer Science MASTER THESES Professor Øystein Haugen, room D

Referansearkitektur use cases. Kjell Sand SINTEF Energi AS NTNU Institutt for elkraftteknikk

Oppsummering. Thomas Lohne Aanes Thomas Amble

Forslag til løsning. Oppgave 1

Kanskje en slide som presenterer grunderen?

DATAUTFORSKNING I EG, EG 7.1 OG EGENDEFINERTE FUNKSJONER SAS FANS I STAVANGER 4. MARS 2014, MARIT FISKAAEN

Invitation to Tender FSP FLO-IKT /2013/001 MILS OS

University of Oslo Department of Informatics. INF Modellering med objekter Oblig 2, V2004. Skrevet av:

Ny teknologi gir nye godstransportløsninger

Efficiency, Integrity, Reliability, Surviveability, Usability. Correctness, Maintainability, Verifiability

Modelldrevet risikoanalyse med CORAS

EN INNFØRING I BPM

EN Skriving for kommunikasjon og tenkning

INF Oblig 2. Hour Registration System (HRS)

Human Factors relevant ved subsea operasjoner?

Information search for the research protocol in IIC/IID

Erfaringer fra en Prosjektleder som fikk «overflow»

UKE 13 Mer UML modellering. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

Kvalitet av modelleringsspråk

Tom Røise 18. Februar 2009

Prosessmodellering. Strukturert design med dataflytdiagrammer (DFD) Gurholt & Hasle Kapittel 10. Kirsten Ribu Høgskolen i Oslo

Er arketype-metodikken aktuell å benytte på nasjonalt plan i Norge? Jostein Ven, seniorrådgiver, Helsedirektoratet

Social Project Management. CIO Konferansen Prosjektstyring 09. juni 2016

Hvordan 3 konsulenter tester et konserndatavarehus

Støtter din digitale reise

case forts. Alternativ 1 Alternativer Sammensetning Objekt-interaktor med valg

1. Explain the language model, what are the weaknesses and strengths of this model?

Multimedia in Teacher Training (and Education)

Use Case-modellering. INF1050: Gjennomgang, uke 04

1. Datamodellering Kommentarer til læreboka

Repetisjon: Normalformer og SQL

Modellering av krav. INF1050: Systemutvikling 07. februar Førstelektor Yngve Lindsjørn

Software Requirements and Design (SRD) 1 Generelt om dokumenter

Kirsten Ribu - Høgskolen i Oslo

Internationalization in Praxis INTERPRAX

Innovasjonsvennlig anskaffelse

Universitetet i Oslo Institutt for informatikk. Eskild Busch. UML hefte

Modellering av brukstilfeller og forretningsprosesser. Kurs i standarder, Oslo, 12. juni 2018

Modellering av data. Magnus Karge, Kartverket

Databases 1. Extended Relational Algebra

SRP s 4th Nordic Awards Methodology 2018

Utvikling av SAP Interactive Forms by Adobe (SIFbA) vha Forms Lifecycle Manager (FLM)

UML-Unified Modeling Language

Lykke til! Eksamen i fag TDT4140 Systemutvikling NTNU Norges teknisk-naturvitenskapelige universitet

Frekvensbånd for mobilkommunikasjon i Norge dagens bruk, tillatelser, FDD/TDD, sameksistens, GSM-R og naboer

Basis interoperabilitetstest - ebxml

1 BANESTRØMFORSYNING TOGVARMEANLEGG KONTAKTLEDNINGSANLEGG... 5

Løsningsforslag til Case. (Analysen)

Rollemodell. for. det norske kraftmarkedet

UNIVERSITETET I OSLO

En praktisk anvendelse av ITIL rammeverket

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

... Annita Fjuk DESIGN THINKING

Transkript:

Understanding Quality in Conceptual Modeling Odd Ivar Lindland, Guttorm Sindre, Arne Sølvberg IEEE Software, March 1994 Innhold Modelleringsspråk; eksempler Egenskaper og Perspektiver Hva er en god modell? Hva er De Gode Egenskaper Et rammeverk for kvalitetsbetraktninger Kvalitetsrammeverket Kvalitetskrav og utsagn Virkemidler og teknikker for forbedret kvalitet Kvalitetstyper Eksempler på teknikker og verktøy 1

Modelleringsspråk, variasjoner, eksempler Referentmodellering Basert på elementær sett-teori og lingvistikk. Modellering av: Referent-sett, Referent-Elementer, Attributter, Relasjoner, CAGA il bruk i Informasjonsforvaltning Navn elefonnr. Kunde PostAdresse Besøksadresse F.Meldt av Feilmelding K.Mottar Kundekontakt Konrad {} Kabel + Ansatt AnsattNr. Navn Annet Bakgrunns informasjon F.Fører til Driftssjef D.Overvåker Operatør GSM elefon Kontrakt. gjelder for Kontrakt Inngår i Hastesak Planlagt vedlikehold Avtalt service Õ Jobb Opprettet dato Frist O.utfører Ikke påbegynt + Aktiv + Ferdig Pågår Venter 2

ER modellering owards a unified view of Data, Chen, 1976 Konseptmodellering skreddersydd mot DB design Entiteter: Konsepter, Svake entiteter, avhengige av andre (slags aggregering) Attributter (Nøkler, Flerverdier, Avledede) Relasjoner (M. attributter) pnr # biler navn person (0,N) (1,1) eier bil BilNr adr tlf kjøpsdato Enhanced ER (EER) Modellering Sub-klasser (Generalisering/Spesialisering) Kategorier kule raske eier (0,N) (1,1) kjøretøy BilNr o person u d pnr BNavn bank firma FirmaNr lastebil Lastevekt personbil passasjerplasser 3

Clawfoot notasjon Min, Max angivelse vha. kråketær En bil kan ha 1 (min) eller mange (max) passasjerer bil passasjer En bil kan ha hatt 0 (min) eller mange (max) førere bil fører En bil kan ha 1 (min) og bare 1 (max) eier bil eier Subsett bil bil person laste kule raske NIAM Introdusert 1970, Nijssen & Halpin Fokusert mot mere detaljer enn ER Grunnlag for autogenerering av DB definisjoner i flere SQL dialekter Ønske om forklaringsgenerering person eier Eies av bil Per Per Kari LS 12345 ND 54321 VE 23456 person har identifiserer PNo 4

UML Klassediagram UML klasse definisjon navn id kjøretøy attributter operasjoner I tillegg: Datatyper Private, Protected, Public Operasjons-signaturer personbil Reg.Nr. (0..*) < P.eier (1) P.Nr person hjul dimensjon (3..4) motor (1) motornummer (1) id chassis UML Notasjon (detaljer) Fra: UML Notation Guide - http://www.rational.com/uml/resources/quick/index.jsp 5

ER - ER modellering med id idsperspektivet av datamodellering er generelt dårlig dekket Data -id; Ofte diskrete-tidsintervall Hendelses-tid (i virkelig verden) ransaksjons-tid (i databaseverden) Ofte vanskelig å få med seg i designet Gir spesielle tabeller/attributter ËØnskelig å skille ut tidsavhengige entiteter Ë Bruker og H merking av Entiteter og Relasjoner -merking Entiteter der instansene varierer over tid Subsett, der delmengden lever kortere enn hovedmengden Relasjoner, der deltakelse varierer over tid firma ansatte p2 f3 firma f1 f2 by b1 person p1 b2 b3 p3 firma f1 f2 by b1 person p1 b2 b3 p3 by person p2 p1 p3 b1 b2 b3 t 3 tid arb.ledige p1 p3 t 2 t 1 6

Eksempel, ER modell firma ansatte Har bestefar H person arb.ledige by DFD Detaljering idsperspektiv Start/Stopp Sekvens Hendelser Formalisering av inn/utgang Grunnlag for spesifisering av regler Markering av ressurser prosjektleder Personer Datakraft Verktøy/hjelpemidler A2.1 Lag styringsrapport Prosjektstyrings Siste verktøy statusrapport 7

ARIS (EPC: Event Process Chain) ysk CASE -omgivelse siden 1985 (SAP siden 87) Markedsleder på prosessmodellering, iflg. Gartner Group 1996-99 Fokus på integrasjon av organisatorisk informasjon og data inn i prosessen Prosess kjede Data Materialer Funksjon hendelse Aktør Funksjon Arbeidsflyt: eamware Visuell definisjon av arbeidsprosess Oversikt over hele prosessen m. statusoppfølging Oversikt over personlig arbeid, O DO lister Definisjon av data og meldinger vha. Forms Kopling til gruppevare eamware Office Microsoft Exchange Lotus Notes Integrert mot Web http://www.teamw.com 8

eamware eksempel http://www.teamw.com PetriNett Formell prosessmodell, streng matematisk definisjon Opprinnelig brukt for modellering av Distribuerte systemer mhp Ressursbruk og Samtidighet Fokus på Simulering av modellen, Eksekverbar modell Ë Spesielt populær for Arbeidsflyt BASIS: plasser plasser kan merkes med tokens, indikerer ressurser transisjoner Fyring : ransisjonsovergang, kan skje når alle input-plasser har token Konsumerer 1 token fra alle input plasser og genererer token på alle ut-plasser 9

Behaviour Network Model Spesifisering av ressurser. Kopling til datamodell Definisjon av PRE og POS - betingelser for transisjoner (regler, logikk) m tl timeliste pre: m= lag lønns-slipp post: neste Y = tl ID: Ansatt Nr. Arb.imer * pre: Y = {} post: Y pre: $y i Œ Y post: Y = Y - y i Ÿ = y i Ÿ.lønn = y i * timelønn Lønnsslipp Modellkvalitet - hva er en god modell? 10

Quality assessment approaches quality of end-product depends to a great extent on the quality of early models (conceptual models, requirements) most quality frameworks appear as lists of desired properties of the considered systems our framework distinguishes between goals and means, and is based on linguistic concepts Some common quality properties of information system specifications appropriate - ability to capture germane concepts complete - everything the software shall do is included in the specification conceptually clean - simplicity, clarity, ease of understanding consistent - no requirement is in conflict with other requirements constructable - there is a systematic approach to formulating specifications executable - automatic execution of specifications expressive - everything relevant may be expressed without too much effort formal - specification in formal language permitting formal analysis of spec. precise - can find whether some realiation does not meet some requirement testable traceable - the origin of each requirement statement is clear unambiguous, understandable, verifiable, minimal, modifiable,.. 11

Weaknesses of the list-approach to quality assessment Many definitions are vague, complicated, undefined List is unstructured, and properties overlap Specification properties, language properties and model properties are intermixed Some properties are design/implementation directed Some goals are unrealistic/impossible to reach, e.g., completeness Kvalitetsrammeverket A Aktører Pragmatisk kvalitet D Domene Semantisk kvalitet Modell Syntaktisk kvalitet Modellerings Språk L M 12

he statements he language L consists of all of the statements that can be made according to the syntax he domain D consists of all possible statements that are both correct and relevant for the problem at hand he model M is the set of statements actually made he audience interpretation A is the set of statements that the audience thinks that the model contains Kvalitetskrav Syntaktisk kvalitet: Krav: At modellen er korrekt ihht. modelleringsspråkets syntaks Utsagn: M \ L = Semantisk kvalitet: Krav: At modellen inneholder alle relevante begrep og at disse er korrekt representert ihht. domenet. Utsagn: Korrekt: M \ D =, Komplett: D \ M = Pragmatisk kvalitet: Krav: At modellen er forstått av de relevante aktører. En individuell aktør skal ha forstått de deler av modellen som er relevant for ham/henne. Utsagn: " i, M i = A i 13

Kvalitetstyper og virkemidler Kvalitetstyper Aktører Domene Modell Modellerings Språk Verktøy Modell kvalitet Språk-kvalitet Prosess-kvalitet 14

Modellkvalitet, Virkemidler Modell Kvalitet Syntaktisk Correct Semantisk Riktig Komplett Pagmatisk Forstått Verktøy Formell Syntaks Feil-oppdagelse Feil-retting Statement insertion / deletion Formell Semantikk Konsistens-testing Inspeksjon Estetikk, Lesbarhet Visualisering, Filtrering Forklaringer, Omformulering, Oversetting Eksekvering, Animering, Simulering Kan modellen søttes av / brukes i verktøyet CASE tools generelt Flere integrerte modelleringsspråk Samarbeidsstøtte: Kommunikasjon Samhandling Koordinering Meta-Modell Meta-Modell: Spesifiserer modelleringsspråkene Definerer sammenhenger mellom modeller og elementer i forskjellige perspektiv Repository: Lagring av modeller Flerbruker-funksjonalitet Verktøy og teknikker for bedret utnyttelse av modellene: Syntakssjekking Konsistenstesting Simulering Inspeksjon Forklaringsgenerering Eksekvering Protoyping Kodegenerering 15

EXERNALs Infrastructure MEIS: Modeling and visualiation Workware: Workflow, interface to work tasks XCHIPS: Synchronous cooperation Interactive model Process Information Resources Organisation ools SimVision: Project Simulation Virkemidler/eknikk-eksempler Forenkling Forklaring P1.1 P1.2 Simulering P1.3 P1.4 P1.1 P1.2 P1.3 P1.1 P1.2 P1.3 P1.4 P1.4 Hvorfor var ordren Ugyldig? Flyten Ugyldig ordre ble sendt av P1 fordi Kundedata ikke var gyldige Kodegenering P1.1 P1.2 P1.3 P1.4 16

Konstruktivitet i DFD P1 Motta Ordre Kundedata P1.1 elefon Mottak P1.3 Varedata Ordre P1.2 Motta ferdig utfylt Fyll ut ordrer P1.4 Sjekk ordre godkjent ugyldig Konstruktivitet i PrM P1 Kundedata Varedata Ordre Motta Ordre godkjent ugyldig Kundedata Varedata Ordre P1.1 elefon Mottak P1.2 Motta ferdig utfylt P1.3 Fyll ut ordrer P1.4 Sjekk ordre 17

Statisk konsistenstest i PrM I/O Matrise, Logisk uttrykk O1 = (P1:I1 Ÿ P1:I2) (P1:I3) P1.1 I1 O1 X P1.2 I1 O1 X O2 X P1 I1 I2 I3 O1 X X O1 X O2 X X O2 X P1.3 I1 I2 O1 X X O2 X X P1.4 I1 I2 I3 O1 X X O1 X X O2 X X O2 X X O1 = P1.4:O1 = (P1.4:I1 Ÿ P1.4:I3) (P1.4:I2 ŸP1.4:I3) fl (P1.3:O1 Ÿ (P1.3:O2 P1.2:O1)) ( P1.2:O2 Ÿ (P1.3:O2 P1.2:O1)) fl ((P1.3:I1 Ÿ P1.3:I2) Ÿ ((P1.3:I1 Ÿ P1.3:I2) I3)) (I3 Ÿ((P1.3:I1 Ÿ P1.3:I2) I3)) fl ((P1.1:O1 Ÿ I2) Ÿ(P1.1:O1 Ÿ I2)) Ÿ (((P1.1:O1 Ÿ I2) Ÿ(P1.1:O1 Ÿ I2)) I3 ) (I3 Ÿ(((P1.1:O1 Ÿ I2) Ÿ (P1.1:O1 Ÿ I2) ) I3)) fl (((I1 Ÿ I2) Ÿ(I1 Ÿ I2)) Ÿ ((I1 Ÿ I2) Ÿ(I1 Ÿ I2)) I3 ) (I3 Ÿ(((I1 Ÿ I2) Ÿ (I1 Ÿ I2)) I3)) fl (I1 ŸI2) I3 Dynamisk konsistenstest 18

Simulering Eksempel: AUDIWEB Informasjon om aktiv dataflyt: Varefraktspesifikasjon: Produsenten sender en varefraktspesifikasjon til distribusjonslageret. Denne spesifikasjonen sendes til distribusjonsterminalen ved hjelp av et elektronisk kommunikasjonsmedie og inneholder informasjon om hvilke varer som kommer fra produsenten. http://www.idi.ntnu.no/~systpro3/prosjektaudi/ Syntakssjekking A priori regler : Aldri lov inn-ordrer ut-ordrer A posteriori regler : Ikke lov i en ferdig modell P1 Navn? Sjekkliste: Navn Flyter riggere/erminering Porter Flytinnhold Prosessalgoritmer Datalagerinnhold 19

Forklaring av modellen Forklaring av syntaks P1 navn Dette er en prosess. En prosess er et dynamisk konsept som leser et sett med innflyter og genererer et sett med ut-flyter. Alle prosesser har en ID og et navn. Forklaring av feil P1 Motta Ordre Diagrammet er ulovlig siden P1 ikke produserer noen ut-flyt. Alle prosesser må generere minst 1 ut-flyt inn-ordrer ut-ordrer En data-flyt kan ikke gå direkte mellom 2 datalagre Forklaring av modellen (2) Hvorfor ble ordren avslått? P1 Motta ordre Ugyldig ordre ble sendt av prosess P1 fordi kundedata var ugyldig Hvorfor var kundedata ugyldig? P1 Motta ordre Kundedata var ugyldig fordi kunden har mindre enn 5000,- på konto. Dette bryter med regel R3: Ordrer fra direkte kunder godkjennes bare dersom vedkommende har mer enn 5000,- på konto 20

Oppsummering Modeller varieres etter behov Skreddersys ofte til konkrete bruksområder ilpasses til verktøystøtte Hva er en god modell? Det kommer an på Domenet (D), Språket (L), Aktørene (A) Syntaktisk kvalitet Semantisk kvalitet Pragmatisk kvalitet Gode verktøy tilbyr virkemidler for forbedret kvalitet 21