Forslag til løsning Eksamen 2003 Oppgave 1 A) Lag en Business Model (COMET) for krisehåndteringssystemet. B) Diskuter fordeler og ulemper ved bruk av COMET i forhold til (Rational) Unified Process for Business modeling (Virksomhets modellering). 1
Context Statement Det har den siste tiden vokst frem et behov for et system for situasjonsanalyse ved krisehåndtering. I første omgang må systemet håndtere spredningsberegning. Aktører og interssenter 2
Politi, forsvar, sivilforsvar, brannvesen og helsevesen er mulige aktører som må håndtere en krise, og trenger dermed hurtig og god informasjon fra systemet Informasjonsansvarlig sørger for informasjon til eksterne. Eksempelvis presse. Politikere skal antakeligvis betale for systemet. Systemoperatøren sørger for at systemet fungere og er en ekspert på systemet. Overordnet virksomhetsprosess I første omgang vil bare de grå elementene støttes av systemet. Det er også mulig systemet vil understøtte overvåkning av tiltak, avhengig av type. 3
Goal Model Business Recourse Model HendelsesData er koordinater, kjemikalie, mengde osv. SensorData er varierende og må detaljeres mer under veis. 4
Business Process and Role Model Situasjonsanalyse kan brytes ned til følgende: Aktiviteten Lag spredningskart hjelper oss å nå målet God informasjon om mulig spredning Lag spredningskart kan videre brytes ned til: 5
Sammenligning av COMET og RUP COMET identifiserer stakeholders, mens RUP identifiserer business actors COMET fanger virkeligheten bedre? COMET har en målmodell som ikke er i RUP Begrunnelsen for å lage systemet blir nok derfor bedre beskrevet i COMET Utviklerne får bedre innsikt i meningen med systemet Sammenligning av COMET og RUP COMET bruker modellering av foretningsprosess, mens RUP bruker business use-cases COMET gir et bedre helhetsbilde (hvordan ting henger sammen)? Både RUP og COMET inneholder visjonsdokument og risikoanalyse Men i RUP plasseres ikke dette i business modellen) Konklusjon: COMET tilfører en del til Business modellering som mangler i RUP 6
Oppgave 2 A) Lag en Requirements Model (COMET) og detaljerte beskrivelser av use-case Beregn og Vis spredning B) Diskuter fordeler og ulemper ved bruk av COMET i forhold til (Rational) Unified Process for Requirements modeling (Krav modellering) Use-Case Model Bruker En som ønsker å få generert et spredningskart Operatør Ansvarlig for drift og konfigurering av systemet 7
System Grouping Med såpas overordnede Use-Cases er det vanskelig å identifisere subsystemer på et så tidlig stadium. Use-Case Prioritet Mål Aktør(er) Prebetingelse(r) Postbetingelser Normal hendelsesflyt Merknad Use-Case Scenario Model Lag spredningskart 1 Å generer et detaljert kart som viser antatt spredning av kjemikalier Bruker Aktøren kjenner hendelsesdata (koordinater, tidspunkter, type kjemikalier og mengde) Kart er generert 1. Aktøren skriver inn hendelsesdata 2. Systemet henter frem kart med objekter 3. Brukeren velger objekttyper som skal vises 4. Systemet henter værdata 5. Systemet henter sensordata 6. Systemet beregner spredning 7. Systemet viser spredningskartet Kartobjekt er et nytt objekt som ikke ble identifisert i Business modellen 8
Ikke-funksjonelle krav Pålitelighet Systemet må være tilgjengelig til enhver tid Kartdata må alltid være oppdatert med nyeste kart som finnes Spredning må kunne beregnes med 90% sikkerhet (forutsatt at værdata er korrekte) Sikkerhet Kun autoriser personell skal ha tilgang til systemet Reference Architecture Analysis Med utgangspunkt i komponentene beskrevet i oppgaveteksten 9
Sammenligning av COMET og RUP COMET og RUP er nokså like i kravmodellering COMET inneholder referansearkitektur analyse COMET legger opp til at komponenter skal identifiseres ut fra Use-Cases Er dette heldig? Sammenligning av COMET og RUP RUP bruker BCE analyse for å identifisere komponenter Verken COMET eller RUP har noen god /visuell måte å spesifisere ikkefunksjonelle krav Dette skyldes kanskje mangler ved UML? 10
Oppgave 3 A) Lag en Architecture Model (COMET), med spesiell fokus på komponenten Spredningstjeneste B) Diskuter fordeler og ulemper ved bruk av COMET i forhold til (Rational) Unified Process for Architecture modeling (Arkitektur modellering) Sammarbeid mellom komponenter 11
Interface specification Tar bare med de komponentene som ble brukt i sekvensdiagrammet Component Internal Structure SpredningsTjener Det kan være interessant å vise sekvensdiagrammet man lagde for å komme frem til denne modellen 12
Focus og Auxiliary klasser Sammenligning av COMET og RUP COMET er spesialisert for bedriftsinformasjonssystemer Er det interessant å gjøre Business Modelling for en kaffemaskin? For andre typer systemer er RUP mer åpen, men også i RUP trengs tilpassninger 13
Oppgave 4 A) Skisser en Platform Model/Implementation Model for komponenten Spredningstjeneste med J2EE/EJB realisering, f.eks. ved bruk av UML profil for EJB. B) Diskuter fordeler og ulemper ved bruk av COMET i forhold til (Rational) Unified Process for platform/implementation modeling (Realiserings modellering). EJB model Velger å endre navn på SpredningskartKontroller til Spredningskart 14
Mapping via OptimalJ teknologi (INF5120 2004) La tjenester/interfaces/services bli spesifisert som domain services La data/informasjon bli spesifisert som en del av domain klasse modell Benytt OptimalJ med aktuelt utvalg av services og klasser for å generere plattform spesifikke realiseringer, f.eks. med EJB Session og Entity Beans. 15
Sammenligning av COMET og RUP Verken COMET eller RUP beskriver noe særlig om PSM modeller Dette kan komme av at man ser for seg at PSM skal kunne genereres automatisk Dermed blir det ikke noe man gjør til daglig Sammenligning av COMET og RUP Andre grunner kan være at MDA er ganske nytt Transformasjonsrelger er under utvikling Både RUP og COMET er uavhengig av om man vil ende på en J2EE,.net aplikasjon el Derfor blir eventuelle transformasjonsregler i spesifikasjonene bare eksempler (og ikke en del av spec en) 16
Oppgave 5 Hva er de viktigste kriterier for at en metodikk og tilhørende verktøy skal kunne gi god støtte for MDA (Modell Drevet Arkitektur)? I hvilken grad blir dette støttet av henholdsvis COMET og (Rational) Unified Process? Kriterier Metodikken må ha sterkt fokus modeller Støtte for UML, OCL og andre aksepterte/viktige standarder Legge opp til modelltransformasjoner Det er en fordel om transformasjonene foregår automatisk Transformasjon fra modell til kode 17
Sammenligning av COMET og RUP Både COMET og RUP er modelldrevne COMET er i større grad enn RUP Transformasjoner utnyttes i COMET Men er fremdeles på prototype-stadiet 18