NORGES TEKNISK- NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Navn: Hallvard Trætteberg Tlf.: 7359 3443 Hjelpemidler: Ingen tillatte hjelpemidler. KONTINUASJONSEKSAMEN I FAG 78052 SYSTEMERING 2 Torsdag 24. august 2000 Tid: kl 0900-1300 LØSNINGSSKISSE: Oppgave 1. Modellering (40%) Alle underoppgavene teller likt A) Forklar hovedkonseptene i regel-orientert modellering. Gi også et eksempel på et regelorienterte modelleringsspråk som omhandles i pensum. LS: Dette er blant annet beskrevet i boka side 37 Hovedpunkter: Regler som if-then uttrykk, regelhierarkier og nettverk som relatere ulike regler på ulike nivå. På side 37 er det forøvrig mange detaljer i forhold til ulike typer (analytic, empirical, deontic), men forventer ikke mye detaljer på dette Eksempler: DRL, Tempora, samt arbeider fra Sutcliffe og Mylopoplous Nedenfor er en situasjonsbeskrivelse (case) som skal brukes i resten av oppgaven Et nettsted, f.eks. NTNU sine internett-sider, består av web-sider og web-tjenester. For alle nettsteder finnes det en fysisk adresse (maskinnavn) og en eller flere logiske web-adresser (URL) som referere til nettstedet. En web-side har en lokal web-adresse innenfor nettstedet, som sammen med nettstedets logiske webadresse utgjør web-sidens fullstendige web-adresse (URL). Web-sider består av følgende elementer:?? medie-elementer, f.eks. tekst, bilder, lyd, video. Hvert medie-element har et innhold og en oppbygning avhengig av medie-typen,?? dialog-elementer, f.eks. trykknapper,tekstfelt og menyer?? hyperlenker dvs. referanser til andre web-sider. Hyperlenkene kan referere til både lokale web-sider vha. en lokal web-adresse eller globale web-sider vha. fullstendige web-adresser. En web-tjeneste defineres som en samling web-sider med innhold som er avhengig av interaksjon med brukeren vha. web-sider med dialogelementer, f.eks. en søketjeneste med søkedialog og dynamisk generert resultatside. En hjemmeside er en type web-side, det finnes også andre, uspesifiserte typer.
Et nettsted består typisk av følgende typer web-sider og tjenester:?? Nettstedets hjemmeside, dvs. en oversiktsside for hele nettstedet med referanse til andre web-sider i og utenfor nettstedet.?? Andre hjemmesider for bedrifter og institusjoner som har kjøpt plass eller organisasjonsenheter som naturlig hører hjemme på nettstedet.?? Nyheter, dvs. web-sider og tjenester som forteller hva på nettstedet som har skjedd i det siste.?? Søke-tjenester, både for hele nettstedet og for deler av nettstedet?? Databaseoppslag, dvs. en tjeneste for søk i databaser knyttet til nettstedet B) Modeller caset ved bruk av det statiske, strukturelle modelleringsspråket i UML (også kjent som klassediagramer) LS: Se forslag til figur bakerst i LS. Denne er noe mer detaljert enn en minimumsløsning. Hvis man har svært mye enklere figurer, bør dette diskuteres under C) som del av semantisk kvalitet Har ikke lagt inn en masse detaljer om kardinalitetsbegrensninger etc. da dette tildels ikke er gitt i caset. Hvis man legger inn mange begrensninger av denne type som ikke finnes i case-beskrivelsen, bør dette diskuteres under semantisk kvalitet i neste spørsmål C) Gi en egen-evaluering av modellen som du har laget i 1B sin empiriske, syntaktis ke og semantiske kvalitet. LS: Her bør man ta utgangspunkt i en beskrivelse (gjerne figur) av kvalitetsrammeverket (boka s. 95) (denne har man i og for seg nytte/behov for også i 3B). Spesielle aspekter:?? Empirisk: Aspekter ved pen skrift, rette linjer, bokser like store, graflayout (kryssende linjer, balansering etc) som ikke nødvendigvis kan være optimal?? Syntaktisk: Har man brukt språket riktig? Hvis man vet at man har brukt syntaks feil, og påpeker dette, er dette en pluss?? Semantisk. Denne skal forholde seg til case-beskrivelsen. Lite trolig at man med vilje har tatt med ting som ikke er der (hvis man har det, bør man legge ved de antagelsene som er gjort som bakgrunn). I forhold til kompletthet, kan manglende kompletthet bunne i to ting: At man ikke kan uttrykke alt i caset i klassediagrammer, og at man bevisst har valgt bort mindre vesentlige aspekter (noe som igjen er helt legalt, hvis det er bevisst og ikke overdrives) D) Gi en vurdering av hvor egnet EPC (Event Process Chains) i ARIS ville være for å modellere dette caset. Hvilke andre deler av ARIS-språkene ville du eventuelt ha brukt isteden eller i tillegg? (Du trenger ikke å lage selve modellen, men må spesifiser hvordan du ville ha brukt ulike konsepter i ARIS). LS: Siden beskrivelsen er i hovedsak statisk, vil ikke EPC kunne hjelpe en så mye, siden dette brukes til å modellere prosessflyt. ARIS inneholder derimot også et datamodelleringsspråk, som tilsvarer ERmodellering, og som kan brukes til å modellere mye av de samme tingene som klassediagrammene brukes til Oppgave 2. Kvalitet av modelleringsspråk (30%) Alle underoppgavene teller likt
A) Språkkvalitet er i forhold til kvalitetsrammeverket i pensumboka delt opp i fem områder. Beskriv disse områdene inkludert hvilke andre deler (sett) av kvalitetsrammeverket som er involvert i forhold til området. LS: De fem områdene er (kapittel 3 i boka):?? Domain appropriateness: Hvor egnet er språket til å modellere den problemstillingen man skal modellerere. Inneholder den de rette språkkonseptene, og inneholder det ikke språkkonsepter som ikke bør brukes. Relatererer seg til?? Participant Knowledge Appropriateness: Kjenner de som skal modellere godt nok til språket? Relaterer seg til K?? Knowledge Externalizability Appropriateness: Er den kunnskapen som de involverte har mulig å modellere ved hjelp av de språkkonstruksjonene som finnes? Også en relasjon med K?? Participant Interpretation Appropriateness. Er språket laget slik at modeller i språket blir forholdsvis enkle å forstå? Relaterer seg til I?? Technical actor interpretation enhancement: Har språket formell syntaks, og/eller formell semantikk slik at det kan behandles på fornuftig vis av ulike verktøy. Relaterer seg til T B) I artikkelen Evaluation of Object-Oriented Modeling Languages: A Comparison Between OML and UML av Prasse beskrives et rammeverk for evaluering av modelleringsspråk. Beskriv dette rammeverket. LS: Ser på modelleringsspråk fra 3 ulike synsvinkler:?? Språket i seg selv?? Anvendelsene av språket?? Beskrivelsen av språket Språk evalueres i henhold til tre ulike typer kriteria (tabell 2):?? Brukerrelevante kriteria?? Modell-relevante kriteria?? Økonomiske kriteria C) Hvordan forholder rammeverket til Prasse som du har beskrevet i 2B seg til kvalitetsrammeverket beskrevet i pensumboka? LS: Først av alt fokuserer dette rammeverket på språkkvalitet.?? Brukerrelevante kriterier samsvarer med kriterier i forhold til Participant Interpretation Appropriateness, Domain Appropriateness, Participant Knowledge Appropriateness og tildels også Knowledge Externalizability Appropriateness?? Modellrelevante kriterier samsvare med kriterier innen Technical actor interpretation enhancement. Enkelte aspekter går utover dette (e.g. prosessintegrasjon)
?? Økonomiske kriterier dekkes ikke direkte i kvalitetsrammeverket slik det er beskrevet i pensum Hvis man har vurdert i forhold til de ulike synsvinklene i 3B, gis også dette poeng Oppgave 3. Modellkvalitet, systemutviklingsmetodikk og verktøy. (30%) Alle underoppgaver teller likt A) Beskriv hovedtypene av teknikker/angrepsmåter for å bidra til å understøtte den syntaktiske kvaliteten av en modell i et modelleringsverktøy. Hvorfor er det nyttig å kunne understøtte alle de ulike typene av teknikker i en modelleringsomgivelse? LS: teknikker for å understøtte syntaktisk kvalitet skiller seg i?? Feilforhindring. Man blir forhindret fra å gjøre feil i utgangspunktet?? Feildeteksjon: Man kan sjekke om modellen inneholder noen feil. I tillegg kan ulike typer feilrettingsmekanismer (ala stavesjekk for eksempel) brukes i kombinasjon med feildeteksjon for å rette feil Selv om man kanskje skulle ønske at man burde forhindres fra å innføre syntaktiske feil i det hele tatt i modellen, viser det seg at dette ofte er uhensiktsmessig, spesielt i en arbeidssituasjon der man ønsker raskt å få opp en ny modell. Ved visse tidspunkt derimot (e.g. før kodegenerering, eller før Baseline av modellen), er det viktig å rydde opp i modellen også syntaktisk, og da kan feildeteksjonsteknikkene brukes. B) Hvilket kvalitetsmål vil modellfiltrering primært støtte oppnåelsen av? Gi også en beskrivelse av hvordan modellfiltrering som teknikk forholder seg til de øvrige 5 semiotiske kvalitetsmålene i kvalitetsrammeverket (enten som middel, eller der kvalitetsmålet er en forutsetning for å kunne gjennomføre denne modelleringsaktiviteten) (For ordens skyld, de seks semiotiske nivåene er fysisk, empirisk, syntaktisk, semantisk, pragmatisk, og sosial kvalitet). LS: i figur på side 100 i boka, samt i eget avsnitt i kapittel 6 i boka har vi plassert denne teknikken under pragmatisk kvalitet. I forhold til de andre kvalitetsnivåene (dette spørsmålet er kan ses på som litt vanskelig, en nøkkelopplysning her er kolonnen: Beneficial existing quality i tabellen på side 100):?? Fysisk kvalitet: En forutsetning for at modellen skal kunne filtreres er naturlig nok at den eksisterer. Selve filtreringen vil (tilsynelatende) senke den fysiske kvaliteten.?? Empirisk kvalitet: I utgangspunktet uviktig i forhold til filtreringen, men vil ofte gi bedret empirisk kvalitet av det som er filtrert?? Syntaktisk kvalitet: En forutsetning for at visse typer filtere (språkorienterte filtre) skal kunne virke etter hensikten.?? Semantisk kvalitet (og oppfattet semantisk kvalitet): Vil som del av filtreringen tilsynelatende umiddelbart forverres. Kan bedres via resultater filtreringen, ved at man kan enklere se feil/mangler ved ulik aspekter ved modellen, og rette opp disse.?? Sosial kvalitet: Kan bedres gjennom den økte forståelse som den fokuseringen som filtreringen gir innen et enkelt område C) I Processes in Requirements Engineering av Loucoupolos og Karakostas beskrives en generell kravspesifikasjonsprosess. Artikkelen Using Quality Function Deployment (QFD) in Software Requirements Specification av Krogstie beskriver på sin side en spesifikk teknikk/prosess for
kravspesifikasjon. Gi en kort beskrivelse av hvordan de prosesstegene i QFD-prosessen passer inn i prosessmodellen for kravspesifikasjonsarbeid til Loucoupolos og Karakostas. LS: Modellene til Loucoupolos og Karakostas inneholder 3 hovedprosesser:?? Elicitation: Læring om domenet?? Specification: Modellering av domenet?? Validation: Validering av modell i forhold til domene og brukere Problem-domenet (D) og brukerne (K og I)er også eksplisitt representer (se figur i artikkel) QFD-prosessen, som er en spesifikk kravspesifikasjonsteknikk, inneholder følgende prosessteg:?? Determine stakeholders types and charcteristics: Identifisere hvem de potensielle brukerne faktisk er.?? Evaluate Stakeholder inputs: En tidlig elicitation og specification runde på et uformelt nivå?? Define business needs: En ordning av forretningsbehov i hierarki, hovedsaklig for validering, men med et aspekt av videre spesifisering basert på denne evalueringen?? Align Business Needs to Stakeholder types: prioritering/validering av viktigste behov?? Align Requirements to Needs: Prioritering og validering av systemkrav