NORGES TEKNISK- NATURITENSKAPELIGE UNIERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSITENSKAP Side 1 av 8 Faglig kontakt under eksamen: Navn: Hallvard Trætteberg Tlf.: 7359 3443 Hjelpemidler: Ingen tillatte hjelpemidler. EKSAMEN I FAG 78052 SYSTEMERING 2 Tirsdag 23. mai 2000 Tid: kl 0900-1300 Løsningsskisse: Oppgave 1. Modellering (40%) Alle underoppgavene teller likt A) Forklar hovedkonseptene i objekt-orientert modellering. LS: Dette er blant annet beskrevet i boka side 45. Hovedpunkter: Beskrivelse av verden som autonome, kommuniserende objekter. Hovedkonsepter:?? Objekt. Entitet med unik identitet og lokal tilstand som bare kan aksesseres utenfra ved å sende meldinger til dets grensesnitt (hendelser som igangsetter operasjoner/metoder).?? Prosess: Objektets livssyklus, de tilstandene objektet gjennomgår basert på eksterne og interne hendelser under sin livstid?? Klasse: Et sett av objekter som deler samme definisjoner av attributter og metode/operasjoner Finnes en mer detaljert figur s. 46, men detaljer fra denne kreves ikke! Nedenfor er en situasjonsbeskrivelse (case) som skal brukes i resten av oppgaven Hos gjødselfabrikanten "Norsk Hygro" skjer sekkefylling (bagging) av bulkmateriale ved at en produksjonsordre lages for den gjødselen som skal fylles i sekker. Pris pr tonn for gjødselet etter at det er fylt i sekker og transportert til et av firmaets lagerbygg er avhengig av følgende variabler: Pris som bulkmateriale, sekkestørrelse, kostnader forbundet med selve bagging-prosessen samt logistikkostnader. Tidsfastsettelsen for en produksjonsordre, avhenger av a) mengde tilgjengelig bulkmateriale og b) innkommende salgsordrer for gjødsel ferdig fylt i sekker. Selve bagging-prosessen skje enten internt i fabrikken, dvs. at kun sekkene kjøpes fra en ekstern leverandør, eller ved at en underleverandør (subcontractor) står for både levering av sekker og selve arbeidet med å fylle bulkmaterialet på sekkene. Det siste alternativet er typisk gjeldende når sekkefyllingen finner sted ved et av de desentraliserte lagerbyggene. I de tilfeller hvor sekkefyllingen skjer desentralisert, vil logistikkostnadene påløpe materialet mens det fremdeles er i bulk form, og vice versa for gjødsel som fylles i sekker på fabrikken og deretter transporteres til et av lagerhusene. I begge tilfeller gis produktet resulterende fra produksjonsordren en ny
materialkode, som knytter produktet til opplysninger om sekkestørrels e, ny pris, m.m. Gjødselfabrikanten skiller mellom forskjellige produksjonsserier både for bulkmateriale og for gjødsel i sekker, for således å kunne følge opp logistikkostnadene, produksjonskostnadene og kostnadene direkte knyttet til baggingprosessen individuelt for alle lagerhus og alle kombinasjoner av gjødseltype og sekkestørrelser. Bulkmaterialet leveres i 3 forskjellige kvaliteter, og fylles i sekker à 25, 50, 100 og 250 kg. B) Modeller caset ved bruk av EPC (Event-Process-Chains) i ARIS. 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 Merk at de logiske operatorene skrives litt ulikt i ulike artikler om ARIS i pensum. Den notasjonen som er brukt her er fra artikkelen som omhandler språket generelt. C) Gi en egen-evaluering av modellen som du har laget i 1B sin empiriske, syntaktiske 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 EPC, og at man bevisst har valgt bort mindre vesentlige aspekter (noe som igjen er helt legalt, hvis det da ikke overdrives) D) Hvis du skulle modellert caset i UML, hvilke(t) delspråk ville du brukt, og hvordan ville du brukt de ulike språkelementene i disse delspråkene? (Du trenger ikke å lage selve modellen, men må spesifiser hvordan du ville ha brukt ulike konsepter i UML). Spesielt er det viktig at du utdyper hvordan forretningsprosesser og andre prosesser kan modelleres i UML. LS: I forhold til UML, ville det være naturlig å lage et enkelt klassediagram for å modellere de strukturelle aspektene. I forhold til forretningsprosessen, ville man kunne bruke aktivitetsdiagrammer. For en veldig høynivå fremstilling av dette kunne man ha brukt use-case. Også de andre diagramtypene ville kunne være nyttige for ulike aspekter, og oppgaven er relativt åpen. Det som er vel så viktig er at man har et velbegrunnet valg av delspråk som bygger på en forståelse av hva disse språkene kan uttrykke. Å bruke sekvensdiagrammer, der man har prosesser til å spille rollen som objekter egentlig gjør, er ikke noen god løsning.
Oppgave 2. Kvalitet av modelleringsspråk (30%) Alle underoppgavene teller likt Norsk Hygro er i markedet for et modelleringsverktøy som skal brukes i forhold til å styre sine industrielle produksjonsprosesser, samt for å kunne hente inn og akkumulere data for spørring i et datavarehus. iktige områder å modellere i tillegg til arbeidsprosessene er produktene som produseres og som er innsatsfaktorer, forretningsregler, organisasjonsstruktur, og IT Infrastruktur. Deler av modellene skal i utgangspunktet forstås av alle i Norsk Hygro. I Norsk Hygro har alle i systemavdelingen nylig gått på et kurs i UML, og Rational Rose er brukt ved utvikling av et par mindre applikasjoner. Norsk Hygro bruker også SAP, og har i forbindelse med dette forsøkt å modellere noen av de prosessene som understøttes vha. ARIS. A) Basert på denne beskrivelsen, og de resultatene du har i fra oppgave 1, gjør en overordnet evaluering av språkkvaliteten på modelleringspråkene i ARIS og i UML i forhold til denne settingen. ær nøye med å beskrive de antagelsene du gjør. LS: Her vil svaret kunne være avhengig av videre antagelser spesielt forhold til kunnskapen til de som skal bruke dette hos Hygro. Mange vil kanskje føle at oppgaven er litt åpen, men det er et poeng her at man snarere skal identifisere hva det er man trenger å vite noe om, gjøre antagelser om det (i virkeligheten ville man prøvd å finne ut av disse antagelsene mer sikkert), for så å bygge på dette i videre evaluering.?? Domain appropriateness: Generelt er ARIS-prosessmodellering bedre egnet slik det er beskrevet her, spesielt med sin knytning mot prosessmodeller i SAP. Selv om man tildels kan bruke aktivitetsdiagrammer på et overordnet forretningsprosessnivå, er ikke dette spesiallaget til dette, samt at knytningen mot en strukturell (og organisasjonsmodell) er dårligere. På den annen side mangler både UML og ARIS diverse ting e.g. skikkelig modellering av forretningsregler?? Participant Knowledge Appropriateness: Avhengig av de som skal bruke språket. For folk uten modelleringsbakgrunn, vil det generelt være enklere å komme igang med en prosessorientert tankegang. På den annen side, siden UML er standardisert (i større grad enn ARIS), og det undervises nå på de fleste universiteter, er det etterhvert mer og mer sannsynlig at folk kjenner ihvertfall deler av dette språket fra før. ARIS er allikevel uten tvil enklere å lære seg.?? Knowledge Externalizability Appropriateness: Dette er igjen avhengig av aktørene som er involvert, hvilke måter de er vant til å eksternalisere sin kunnskap på og hvilket domene det er snakk om. Igjen er ARIS/prosessmodellering å foretrekke?? Participant Interpretation Appropriateness. Her kan man trekke inn aspekter fra evalueringer av de to språkene, delvis basert på oppgave 1b. Begge har problemer her, detaljer for UML finnes beskrevet i fasit til øving 2. ARIS, blant annet siden det er enklere, virker å ha mindre problemer her.?? Technical actor interpretation enhancement: Begge språkene har en formell syntaks, men ikke noen formell semantikk (selv om det er gjort utvidelser i forhold til dette både for UML og ARIS). UML har muligens kommet noe lengre her i forhold til at bruk av meta-modellering etc. Det er i og for seg ikke nødvendig å trekke noen endelig konklusjon (og gjør man det kan svaret godt være UML eller ARIS, bare det er konsistent med den øvrige beskrivelsen). Allikevel vil jeg si at utifra beskrivelsen er ARIS sannsynligvis bedre egnet for virksomheten, selv om man i systemavdelingen muligens vil ha et annet syn.
B) I artikkelen On the Deep structure of Information Systems av Wand og Weber beskrives en representasjonsmodell for informasjonsystemer. Hvordan kan denne modellen brukes til å evaluere kvaliteten av et modelleringsspråk? LS: Noen hovedpunkter ved Wand/Weber (man trenger ikke å si noe særlig om modellen i detalj for å få en god score her): Informasjonssystemer lages gjennom å lage et sett av scripts (modeller) generert via grammars (språk) Representasjonsmodell som basis for å evaluere IS analyse og design-språk i forhold til dets evne til å lage modeller som er gode representasjoner av verden. Basert på Mario Bunges ontologi som er vellutviklet og formalisert. Adresserer ikke om man modellerer en objektiv virkelighet eller en sosialt konstruert virkelighet, det eksterne perspektiv tas for gitt 4 språkkvalitetsaspekter nevnes med bakgrunn i denne modellen.?? Ontologisk kompletthet (vs. domain appropriateness): Kan alle konseptene i modellen representeres i språket??? Ontologisk klarhet?? Construct overload (Comprehensibility appropriateness): Er det konsepter i språket som representeres flere konsepter i modellen??? Construct redundancy (Comprehensibility appropriateness): Er det konsepter i modellen som er representert av flere konsepter i språket??? Construct excess (vs. domain appropriateness): Er det konsepter i språket som ikke er i modellen? C) Hvordan forholder representasjonsmodellen til Wand og Weber seg til kvalitetsrammeverket beskrevet i pensumboka? LS: Representasjonsmodellen er et innspill til hva et IS-domene alltid inneholder og sier derfor noe om dette. Mest direkte er det relatert til språkkvalitet.?? Ontologisk kompletthet (vs. domain appropriateness)?? Ontologisk klarhet?? Construct overload (Comprehensibility appropriateness)?? Construct redundancy (Comprehensibility appropriateness)?? Construct excess (vs. domain appropriateness) Den gir spesielt en utvidelse av domain appropriateness aspektet i forhold til det som står i rammeverket. Man kan her også få innspill i forhold til semantisk kvalitet av en faktisk modell og kunnskapskvalitet (i.e. de andre kvalitetsaspektene som.
Oppgave 3. Modellkvalitet, systemutviklingsmetodikk og verktøy. (30%) Alle underoppgaver teller likt A) I artikkelen Biting the silver bullet Towards a brighter future for system development beskrives modell-eksekvering (model execution) som en viktig modelleringsteknikk. Beskriv de ulike teknikkene for model-eksekvering som omhandles i artikkelen. LS: De viktigste punktene her er også beskrevet i kapittel 6 i boka.?? Step-by-step, interaktiv utførelse (eventuelt med animering)?? Batch-utførelse?? Programmert utførelse med Spypoints/breakpoints?? Exhaustive utføring/watchdogs B) Hvilket kvalitetsmål vil modelleksekvering primært støtte oppnåelsen av? Gi også en beskrivelse av hvordan modelleksekvering 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). 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, (men exhaustive execution er hovedsaklig en teknikk i forhold til semantisk 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 eksekveres er naturlig nok at den eksisterer. Selve eksekveringen vil føre til at aspekter ved den dynamiske modellen blir eksternalisert (i.e. som en utvidelse av modellen, hvis denne trace-en tas vare på)?? Empirisk kvalitet: I utgangspunktet uviktig i forhold til det å kunne eksekvere modellen, men vil være et middel som sammen med eksekveringen kan bidra til forståelse?? Syntaktisk kvalitet: En forutsetning for at (den aktuelle delen av) modellen skal kunne utføres. Teknikken kan indirekte bidra til å øke syntaktisk kvalitet, siden man ofte vil ha sjekker/kompilering fra modellen til et annet språk for eksekvering, som vil gi feilmeldinger ved forsøk på kjøring/oversettelse.?? Semantisk kvalitet (og oppfattet semantisk kvalitet): Kan bedres via resultater fra eksekveringen (i.e. man finner feil i modellen)?? Sosial kvalitet: Kan bedres gjennom den økte forståelse, e.g. hvis flere gjennomfører eksekvering av modellen sammen, og får en felles oppfatning av om modellen er riktig eller ikke C) I Processes in Requirements Engineering av Loucoupolos og Karakostas beskrives en modell for kravspesifikasjon. Gi en oversikt over denne, og relater denne modellen til den generelle modelleringsprosessen (SPEC-prosessen) beskrevet i pensumboka.
LS: Denne inneholder 3 hovedprosesser:?? Elicitation: Læring om domenet?? Specification: Modellering av domenet?? alidation: alidering av modell i forhold til domene og brukere Problem-domenet (D) og brukerne (K og I)er også eksplisitt representer (se figur i artikkel) vs. SPEC:?? Elicitation: Som del av preparation?? Specification: Tilsvarer expansion?? alidation: Tilsvarer consolidation
Motta salgsordre Lag produksjonsordre Salgsordre Produksjonsordre ferdig Tilgjengelig materiale Kjøp inn sekker Overfør bulkmateriale til underleverandør Klar for bagging Klar til bagging hos underleverandør Bestem logistikkostnader Fyll i sekker Bagging kostnad Fyll i sekker Bestem logistikkostnader Ferdige fylte sekker Logistikkostnad Beregn pris Lag materialkode Bulkpris Sekkestørrelse Klar til oversendelse Send til kunde Oppdater produksjonsstatistikk