Oversikt over forelesningen Kvalitet av konseptuelle modeller Hva menes med kvalitet? Rammeverk for å evaluere modellkvalitet (Kapittel 3) odellkvalitet Introduksjon til språkkvalitet John Krogstie 1. Amanuensis II ved IDI, NTNU Seniorforsker, SINTEF Tele og Data Ulike oppfatninger om kvalitet Dennings nivå av fornøydhet Produkt vs. prosesskvalitet (f.eks. C) I overenstemmelse med krav (ISO 9000) Brukeren er fornøyd (Denning) Egenskaper ved produktet (-ilities) Egenskaper ved kravspesifikasjon/modell (Davis/Pohl) 1: I overensstemmelse med krav 2: Ingen negative uforutsette konsekvenser 3: Produktet overtreffer kundens/brukerens forventning Egenskaper ved produktet (designorientert) Egenskaper til en kravspesifikasjon (Davis) Hvor godt fungerer det? Efficiency, Integrity, Reliability, Surviveability, Usability Hvor god er konstruksjon/design? Correctness, aintainability, Verifiability Hvor lett er det å tilpasse og videreutvikle systemet? Expandability, Flexiblity, Interoperability, Portability, Reuseability Komplett Korrekt Forståelig odifiserbar Konsistent Entydig Gjenbrukbar Verifiserbar etc. 1
Dimensjoner ved utvikling av en kravspesifikasjon (Pohl) Svakheter ved eksisterende sammensetninger av kvalitetskrav Dekker bare visse typer modeller (Kravspesifikasjon/design/ferdig produkt) Dekker bare modeller i visse språk Tilfeldige sammensatte lister av gode egenskaper Blander ofte kvalitet ved prosess, verktøy, språk, og modell Blander kvalitetsmål og midler for å nå disse målene Rammeverk for forståelse av kvalitet For modeller generelt Kan utvides i mer spesifikke retninger i forhold til typer modeller som utvikles, eller for modeller i spesielle språk Skiller kvalitetsmål og midler for å nå de ulike målene Sett-basert for å muliggjøre en formell diskusjon av kvalitetsaspektene Skiller mellom kvalitet på ulikt nivå basert på teorier fra språkvitenskap/semiotikk Basert på at modeller er resultat av en sosial konstruksjonsprosess Elementer ved en modelleringsaktivitet ål for modellering Interesseområde ennesker odellering Representasjonsmetode Eksempel på mål: Lag en kravspesifikasjon for en ny internettbank for å betjene kundene i bank X. Verktøy Sett som brukes i kvalitetsrammeverket A: Aktører som utvikler eller må forholde seg til (deler av) modellen. Kan være enkeltpersoner (publikum), grupper, eller datasystemer. L: Det som kan uttrykkes i modelleringsspråket : Det som er uttrykt i modellen D: Det som kan sies om domenet K: Den eksplisitte kunnskapen til de sosiale aktørene som deltar I: Det som publikum tolker modellen til å inneholde T: Det som ulike dataverktøy tolker modellen til å inneholde Alle disse settene endrer seg gjennom modelleringsaktiviteten! Hvem er de menneskelige aktørene (A)? En undergruppe av de som har interesse av det som lages/modelleres (interessenter). Ulike typer interessenter (stakeholders) i en systemutviklingskontekst. Systemutviklere Brukere og deres ledere (brukerrepresentanter) 2
Hva er uttrykt i en modell? Basert på modellen og semantikken til språket som modellen er skrevet i Kan skille mellom det som er eksplisitt uttrykt og det som bare er implisitt uttrykt Språk: Setningslogikk Eksplisitt modell: A, A -> B Implisitt modell: B Totalmodell: A, B, A -> B Oppdeling av domenet (sett i forhold til kravspesifikasjon) Primærdomenet: De regler etc. som systemet må forholde seg til. I bankeksempelet innbefatter dette de aspektene som er generelt anerkjent og er eksternt bestemt (f.eks. Finansavtaleloven) Eksisterende kontekst: Krav allerede bestemt for løsningen på et høyere organisasjons eller nivå. Den organisasjonelle virkeligheten i banken (f.eks. eksisterende rutiner for utsending av kontoutskrift). Utviklingskontekst: Begrensinger til løsningen knyttet til ressurssituasjonen i prosjektet. Den organisasjonelle virkeligheten for prosjektorganisasjonen, blant annet begrenset av målet for modellering Ulike utviklingskontekster for modellering Den fysiske verden Den sosial verden En organisasjon Et databasert Fortid Nåsituasjon Fremtid Geologi Fysikk Kosmologi Organisasjons historie Versjonering Historie Sosiologi Fremtidsforskning Virksomhetsmodellering Analyse av nåsituasjon Reverse engineering Strategi og planlegging Et Informasjonsanalyse Forretningsmessige krav Kravspesifik asjon/ Design Ulike utviklingsdomener relevant ved utvikling EIS: Nåværende ECIS: Nåværende databaserte FIS: Ønsket fremtidig FCIS: Ønsket fremtidig databasert Kravspesifikasjon: an ser kun på den eksternt observerbare oppførsel til data-systemet Design: an ser også på den interne oppbygging av det tekniske systemet CIS: Det faktiske et, inkludert de data som ligger inne Rammeverk for modellkvalitet Participant Perceived knowledge semantic K I odelleksempel for å illustrere ulike kvalitetsaspekter Physical Empirical TITLE odeling domain D Semantic odel externalization Syntactic Language extension L PERSON N WRITES PAPER LANGUAGE Technical T Er modellen av høy kvalitet? Hva må jeg vite for å kunne si mer om dette? Språk: ER Primærdomene: Konferanseorganisering Utviklingskontekst: Design av databaseløsning 3
!! Fysisk kvalitet Eksternalisering: K\ = Ø Setter krav til språkene som er brukt Kan man uttrykke ønsket kunnskap? Kan deltagerne bruke språkene effektivt? -> Egnede språk og språktilpasningsmekanismer Internaliserbarhet Persistens Tilgjengelighet -> Databasefunksjonalitet (repository) Empirisk kvalitet Ser på aspekter i forhold til Ergonomi Graf og dokument-layout Lesbarhet Informasjonsteori Nødvendig at modellen er eksternalisert Språkegenskaper Expressive economy Bruk av uthevelser Aktiviteter (Automatisk) graf-layout, beregning av lesbarhetsindeks, grammatikksjekk, evaluering av fargebruk. Eksempel på dårlig graflayout Syntaktisk kvalitet Syntaktisk korrekthet : \L = Ø To typer feil Syntaktisk ugyldighet Syntaktisk ufullstendighet Nødvendig at modellen er eksternalisert Språkegenskap. Formell syntaks Aktiviteter Feilforhindring Feildeteksjon Feilkorreksjon (automatisk eller via forslag ( spellcheck ) ) Eksempel på syntaktisk ugyldighet Eksempel på syntaktisk ufullstendighet 4
Semantisk kvalitet Eksempel på semantisk ugyldighet ål Gyldighet: \D =Ø Kompletthet: D\ = Ø Behov for å introdusere feasibility Nødvendig/nyttig at modellen er eksternalisert samt syntaktisk riktig Språkegenskaper: Formell semantikk og modifiserbarhet Aktiviteter: odelltesting (konsistenssjekking), endring av modellen (også via gjenbruk), driving questions Pragmatisk kvalitet Eksempel på filtrering: Språkfilter ål: forståelse, forstår publikum hva modellen uttrykker (I=) Nyttig at modellen har høy fysisk, empirisk, og syntaktisk kvalitet før man arbeider i detalj på dette området Språkegenskaper: Operasjonell semantikk og eksekverbarhet Aktiviteter: Inspeksjon, visualisering, filtrering, forklaringsgenerering, simulering, animering, rapportering, eksekvering/prototyping Eksempel på filtrering: odellfilter Eksempel på transformasjon 5 "
Oppfattet semantisk kvalitet Sosial kvalitet ål Oppfattet gyldighet: I\K = Ø Oppfattet kompletthet: K\I = Ø Feasibility Nyttig at modellen er av høy fysisk, empirisk, syntaktisk, og pragmatisk kvalitet før oppfattet semantisk kvalitet undersøkes Tilsvarende midler og aktiviteter som for semantisk kvalitet, med tillegg av variety, muligheten til å modellere flere situasjoner i samme modell parallelt ål: Enighet Enighet om kunnskap/tolkning/modell Relativ vs. absolutt enighet Feasible enighet: Inkonsistenser avklares ved å velge ett av forslagene når kostnadene ved dette er mindre enn det vil koste å oppnå enighet Nyttig å først ha adressert fysisk, pragmatisk, og oppfattet semantisk kvalitet Språkegenskap: ulighet til eksplisitt å uttrykke inkonsistens (som følge av uenighet) i en modell Aktiviteter: odellintegrasjon og konfliktbehandling odelleksempel i lys av kvalitetsrammeverket (figur 8.7 s. 279) Kunnskapskvalitet Grad av internalisering av eksisterende organisasjonell virkelighet (på ulike nivåer Fullstendig kunnskap: D\K = Ø Gyldig kunnskap: K\D = Ø Aktiviteter: Identifisering av interessenter Identifisering av kunnskapskilder Forskning og undersøkelser Utvelgelse av deltagere Opplæring av deltagere Utvelgelse/avgrensning av problem Språkkvalitet Språkkvalitet i forhold til kvalitetsrammeverket Passer språket til domenet? Passer språket til deltagernes kunnskap (om modelleringsspråk) eller potensiale til å lære? Passer språket til å uttrykke deltagernes kunnskap? Participant knowledge K I Knowledge externalizability appropriateness / Participant language knowledge appropriateness Comprehensibility appropriateness Bedring av deltagernes tolkning Bedring av teknisk aktørs tolkning odeling domain D odel externalization Language extension L Domain appropriateness Har delt i kriteria for underliggende (konseptuell) basis på språket, og den eksterne representasjon gitt til språket Behandles i detalj i en senere forelesning Technical T Technical appropriateness 6 #
Totaloversikt over rammeverket Oppsummering Knowledge odeling domain D Knowledge externalizeability appropriateness/ Participant language knowledge appropriateness Participant Perceived knowledge semantic K I Comprehensibility appropriateness Physical Empirical Semantic Syntactic odel Language externalization extension L Technical Technical appropriateness T Domain appropriateness Kvalitetsbegrepet brukes på mange måter Presentert kvalitetsrammeverk som skiller kvalitetsdiskusjonen i forhold til kvalitet på ulike semiotiske nivåer Fysisk Empirisk Syntaktisk Semantisk Pragmatisk Oppfattet semantisk Sosial Kunnskapskvalitet og språkkvalitet (som middel til å oppnå modellkvalitet) Kvalitet av konseptuelle modeller John Krogstie 1. Amanuensis II ved IDI, NTNU Seniorforsker, SINTEF Tele og Data 7 $