Understanding Quality in Conceptual Modeling

Slides:



Advertisements
Liknende presentasjoner
LC238D Datamodellering og databaser Else Lervik, september 2012 Forelesning 6, Uke 39 Objektorientering i ER-modeller.
Advertisements

Målinger generelt •I et moderne samfunn brukes målinger i mange ulike sammenhenger •Eksempler: –Sammenligne priser, lønninger –Høyde: størrelse på klær.
Universell utforming Kirsten Ribu HiO Evaluering av datasystemer Analyse av systemegenskaper Kirsten Ribu
Gruppe 6 Gunnar Henrik Mathias Morten Ronny Svein Ivar.
UML & object models av gruppe 8
SOSI grunnkurs UML-modellering - SOSI-sekretariatet UML-modeller Lese og forstå UML-modeller.
Prototyping & Use Case Software Engineering Gruppe
Unified Process – Elaboration Iterasjon 3
Databasehåndtering med MySQL
Modellbruk i Referansekatalogen Øyvind Aassve NorStella.
1 Oppgave gjennomgang Kap Oppgaver -Kap 12: 1, 2, 3, 5, 7, 8, 11, 18, 19.
Systemmodeller In 140 Sommerville kap. 7. Mål Forstå hensikten med kontekstmodell Forstå ideene bak –oppførselsmodellering –datamodellering –objektmodellering.
1 KravprosessenKravprosessen Noen sentral punkter.
Siste forelesning ER/EER-modellering
4/4/2017 IMT2243: 17.februar 2011 Domenemodellering / Konseptuelle Klassediagram Monopol- eksempel SSD : System Sequence Diagram Kort repetisjon av teknikken.
Læring og tenkning Systemutvikling er læring Gjensidig respekt og samarbeid Følge en konkret oppskrift Velge blant flere oppskrifter Nå målet uten oppskrift,
Forbindelser Diagrammer i UML består av ting med forbindelser
Strukturerende elementer i UML
INTERNETT FORMÅL: Å skape forståelse for og gi kunnskap om utvikling av klient-tjener apllikasjoner basert på web.
A UML-based Design Environment for Interactive Applications Paulo Pinheiro Da Silva og Norman W Paton IEEE, Second International Workshop on User Interfaces.
Combining Compound Conceptual User Interface Components with Modelling Patterns - a Promising Direction for Model-based Cross-platform User Interface Development.
Øving 2 – sif8035 Prosessmodellering, APM / EEML : (8. febr) Evaluering: (15. febr)
Kvalitetsrammeverket
Hvordan uttrykke krav Kapittel 4.4. Innledning Målet er å samles rundt ett entydig språk som ikke kan misforståes eller feiltolkes. Gjør sporbarheten.
Validering Gruppe 9 Anette Kjuus, Skule Notø, Synne Nygaard, Per Ivar Jacobsen, Øystein Rogstad, Alfred Skari.
Teknikker for å bedre design- prosessen -Design by contract -Prototyping design -Fault-tree analyses.
UTFORDRINGER I TVERRFAGLIGE ENDRINGSPROSESSER Dagny Stuedahl stipendiat InterMedia.
Eksempel på SQL ”SQL-setninger” har en struktur som likner på ”naturlig språk”, med ”verb, subjekter og adjektiver”. SQL-setningene begynner alltid med.
Innledning om HTML IT20 oktober Bakgrunn Konseptet WWW ble født i 1983 i CERN, Geneve Opphavsmann: Tim Berners-Lee, MIT Spre informasjon uavhengig.
Oppgaveformatet. Oversikt XML-format, spesifisert gjennom et XML Schema. Består av et sett lovlige elementer og attributter og hvordan de kan ordnes i.
PARLAY/OSA Referanser: Referanser Foredraget er i all hovedsak basert på to artikler. Disse kan finnes på:
Skjemaendringer i systemer bestående av XML-data i relasjonsdatabaser Høgskolen i Gjøvik Master i Medieteknikk, Marianne Brattrud.
Subversion addin for Visual Studio.NET Gruppe 03-10: Arild Fines Per August Krämer Kristin Borud.
PUG-NORWAY OKTOBER 2008 THOMAS SKJØRTEN, HILDE ANDREASSEN UML og OpenEdge OOABL.
Jæger: Robuste og sikre systemer INF150 Programmering Kapittel 2: Problemløsning Kapittel 3.1 og 3.2.
Utvikling og utnyttelse av virksomheters kunnskap DND Meetup, 11. sept Frank Lillehagen.
1 Kap. 17 – Interactive computing How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen, Universitetet.
Planning and controlling a project Content: Results from Reflection for action The project settings and objectives Project Management Project Planning.
Metode for systembeskrivelse og
Se ellers læreboka, kap , side
1 Kap. 17 – Interactive computing How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen, Universitetet.
Objektorientert utforming In 140 Sommerville kap. 12.
Generelle definisjoner Oppslagsverk nå og senere! Finnes også i dokumentet Retningslinjer for datamodellering i UML UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet.
Elektronisk fakturering mellom bedrifter Oversikt over den internasjonale utviklingen Arild Haraldsen‏ Adm. Dir. NorStella Vice Chair UN/CEFACT BUREAU.
Subversion addin for Visual Studio.NET Gruppe 03-10: Arild Fines Per August Krämer Kristin Borud.
Eksamen INF Et løsningsforslag. Oppgave 1 Oppgave 1) (30% - 60 minutter, COMET) Ta utgangspunkt i den vedlagte problembeskrivelsen, og.
Subversion addin for Visual Studio.NET Gruppe 03-10: Arild Fines Per August Krämer Kristin Borud.
Forstudie Nå situasjonen: dagens situasjon med ulemper og fordeler
Modellering og diagrammer Jesper Tørresø DAB1 E september 2007.
COTS Software Evaluation and Integration Issues Håkon Solberg Karl Morten Dahl.
Objektorientert utforming In 140 Forelesning Nr 11 Sommerville kap 12 – del 1.
Conceptual Modeling of Styles for Mobile Systems Anders Linseth.
Systemmodeller In 140 Forelesning nr. 9 Sommerville kap. 7.
Subversion addin for Visual Studio.NET Gruppe 03-10: Arild Fines Per August Krämer Kristin Borud.
Objektorientert design In 140 Sommerville kap 12 – del 1.
The Thompson Schools Improvement Project Process Improvement Training Slides (Current State Slides Only) October 2009.
Integrasjoner og 360°.
Distributed modelling for a centralized data model - The Danish Basic Data Model Per de Place Bjørn Ph. D., Information Architect Basic Data Model Project.
Privacy by Design: Forslag til metode for å bygge personvern inn i systemløsninger Dag Wiese Schartum.
Rotary eLearning Center- Community Service 20 gode grunner.
Strukturerende elementer i UML
Title: «How to use different tools and/or machines in the workshop»
Meta-analyser og systematiske oversikter
Ting Forbindelser Ting og forbindelser blir til sammen et diagram
Relevant questions for the Reference Group
Økonomiske forutsetninger
CAMPAIGNING From vision to action.
Statsbygg/Scandiaconsult AS
How to evaluate effects of inspections on the quality of care?
The courts February 2018 Court Administration.
Utskrift av presentasjonen:

Understanding Quality in Conceptual Modeling Odd Ivar Lindland, Guttorm Sindre, Arne Sølvberg IEEE Software, March 1994

Innhold Modelleringsspråk; eksempler Hva er en god modell ? 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

Modelleringsspråk, variasjoner, eksempler

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

ER modellering ”Towards 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 (1,1) person (0,N) bil eier BilNr navn adr tlf kjøpsdato

Enhanced ER (EER) Modellering Sub-klasser (Generalisering/Spesialisering) Kategorier kule raske o (1,1) eier (0,N) kjøretøy BilNr person u d pNr firma lastebil personbil bank FirmaNr Lastevekt passasjerplasser BNavn

”Clawfoot” notasjon Min, Max angivelse vha. ”kråketær” Subsett En bil kan ha 1 (min) eller mange (max) passasjerer bil passasjer En bil kan ha hatt 0 (min) eller mange (max) førere fører bil 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 bil eier Eies av Per Kari LS 12345 ND 54321 VE 23456 person PNo har identifiserer

UML Klassediagram UML klasse definisjon navn attributter operasjoner kjøretøy id UML klasse definisjon navn attributter operasjoner I tillegg: Datatyper Private, Protected, Public Operasjons-signaturer personbil Reg.Nr. (0..*) person P.Nr < P.eier (1) (1) (3..4) (1) hjul dimensjon chassis id motor motornummer

UML Notasjon (detaljer) Fra: “UML Notation Guide” - http://www.rational.com/uml/resources/quick/index.jsp

ERT - ER modellering med Tid Tidsperspektivet av datamodellering er generelt dårlig dekket ”Data”-Tid; Ofte diskrete-tidsintervall Hendelses-tid (i virkelig verden) Transaksjons-tid (i databaseverden) Ofte vanskelig å få med seg i designet Gir spesielle tabeller/attributter Ønskelig å skille ut tidsavhengige entiteter Bruker ’T’ og ’H’ merking av Entiteter og Relasjoner

T-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 firma person f2 f2 p2 f1 f1 p1 p3 arb.ledige person person by p1 p1 p1 p3 p3 p3 b2 b1 b3 by by tid b2 b2 b1 b1 b3 b3 t3 t2 t1

Eksempel, ERT modell T T T T firma T ansatte person Har bestefar H arb.ledige T T by

DFD Detaljering Tidsperspektiv Formalisering av inn/utgang Start/Stopp Sekvens Hendelser Formalisering av inn/utgang Grunnlag for spesifisering av regler Markering av ”ressurser” Personer Datakraft Verktøy/hjelpemidler prosjektleder Prosjektstyrings verktøy Siste statusrapport Lag styringsrapport A2.1 T

ARIS (EPC: Event Process Chain) Tysk ”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 Data Funksjon Aktør hendelse Prosess kjede Materialer …

Arbeidsflyt: TeamWare Visuell definisjon av arbeidsprosess Oversikt over hele prosessen m. statusoppfølging Oversikt over ”personlig” arbeid, TO DO lister Definisjon av data og meldinger vha. ”Forms” Kopling til ”gruppevare” TeamWARE Office Microsoft Exchange Lotus Notes Integrert mot Web http://www.teamw.com

TeamWare 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”: Transisjonsovergang, kan skje når alle input-plasser har token ”Konsumerer” 1 token fra alle input plasser og genererer token på alle ut-plasser

Behaviour Network Model Spesifisering av ressurser. Kopling til ”datamodell” Definisjon av PRE og POST - betingelser for transisjoner (regler, logikk) m tl timeliste pre: m= ”lag lønns-slipp” post: ’neste’ Y = tl ID: Ansatt Nr. Arb.Timer * Y pre: yi  Y post: Y = Y - yi  z = yi  z.lønn = yi * timelønn pre: Y = {} post: z Lønnsslipp

Modellkvalitet - hva er en god modell ?

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 realization does not meet some requirement testable traceable - the origin of each requirement statement is clear unambiguous, understandable, verifiable, minimal, modifiable,…..

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 Modell Domene Modellerings Språk Aktører Semantisk kvalitet Syntaktisk Pragmatisk D L M

The statements The language L consists of all of the statements that can be made according to the syntax The domain D consists of all possible statements that are both correct and relevant for the problem at hand The model M is the set of statements actually made The audience interpretation A is the set of statements that the audience thinks that the model contains

Kvalitetskrav Syntaktisk kvalitet: Semantisk 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 , Mi = Ai

Kvalitetstyper og virkemidler

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

Modellkvalitet, Virkemidler

CASE tools generelt Meta-Modell Samarbeidsstøtte: Kommunikasjon Samhandling Koordinering Flere integrerte modelleringsspråk Meta-Modell Meta-Modell: Spesifiserer modelleringsspråkene Definerer sammenhenger mellom modeller og elementer i forskjellige perspektiv Verktøy og teknikker for bedret utnyttelse av modellene: Syntakssjekking Konsistenstesting Simulering Inspeksjon Forklaringsgenerering Eksekvering Protoyping Kodegenerering … Repository: Lagring av modeller Flerbruker-funksjonalitet

EXTERNALs Infrastructure METIS: Modeling and visualization Workware: Workflow, interface to work tasks XCHIPS: Synchronous cooperation SimVision: Project Simulation

Virkemidler/Teknikk-eksempler Hvorfor var ordren Ugyldig ? Forenkling Forklaring P1.2 P1.1 P1.3 P1.4 T P1.1 P1.3 P1.2 P1.4 T Flyten Ugyldig ordre ble sendt av P1 fordi Kundedata ikke var gyldige P1.1 P1.3 P1.2 P1.4 T Kodegenering Simulering P1.1 T P1.3 T T T P1.4 T T P1.2 T T T

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

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

Statisk konsistenstest i PrM I/O Matrise, Logisk uttrykk O1 = (P1:I1  P1:I2)  (P1:I3) O1 = P1.4:O1 = (P1.4:I1  P1.4:I3)  (P1.4:I2 P1.4:I3)  (P1.3:O1  (P1.3:O2  P1.2:O1))  ( P1.2:O2  (P1.3:O2  P1.2:O1)) ((P1.3:I1  P1.3:I2)  ((P1.3:I1  P1.3:I2)  I3))  (I3 ((P1.3:I1  P1.3:I2) I3)) ((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)) (((I1  I2) (I1  I2))  ((I1  I2) (I1  I2))  I3 )  (I3 (((I1  I2)  (I1  I2)) I3)) (I1 I2)  I3

Dynamisk konsistenstest

Simulering Eksempel: AUDIWEB Informasjon om aktiv dataflyt: Varefraktspesifikasjon: Produsenten sender en varefrakt- spesifikasjon 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 Sjekkliste: Navn Flyter Triggere/Terminering Porter A priori regler : Aldri lov inn-ordrer ut-ordrer Sjekkliste: Navn Flyter Triggere/Terminering Porter Flytinnhold Prosessalgoritmer Datalagerinnhold A posteriori regler : Ikke lov i en ferdig modell Navn ? P1

Forklaring av modellen Forklaring av syntaks P1 Dette er en prosess. En prosess er et dynamisk konsept som leser et sett med inn-flyter og genererer et sett med ut-flyter. Alle prosesser har en ID og et navn. navn Forklaring av feil Motta Ordre P1 Diagrammet er ulovlig siden P1 ikke produserer noen ut-flyt. Alle prosesser må generere minst 1 ut-flyt En data-flyt kan ikke gå direkte mellom 2 datalagre inn-ordrer ut-ordrer

Forklaring av modellen (2) Hvorfor ble ordren avslått ? Hvorfor ble ordren avslått ? P1 Ugyldig ordre ble sendt av prosess P1 fordi kundedata var ugyldig Motta ordre Hvorfor var kundedata ugyldig ? P1 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” Motta ordre

Oppsummering Modeller varieres etter behov Hva er en god modell ? Skreddersys ofte til konkrete bruksområder Tilpasses 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