INF-2120 Våren 2005 by Øystein Haugen, Gerhard Skagestein, Ragnar Normann pluss assistentene Knut Johannes Dahle og Gøran Olsen

Like dokumenter
INF-2120 Våren 2006 Øystein Haugen med hjelp fra Gerhard Skagestein og Ragnar Normann

INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius Furulund og Mansur Ali Abbasi

INF2120 Prosjektoppgaven Våren Et Trafikkoppfølgingssystem. Tjenester. Konkret gjennomføring. (Versjon )

Prosjektoppgave INF2120 Våren 2007: Rebusløp

INF2120 Prosjektoppgaven Våren 2006

INF2120 Tools at your fingertips

Øystein Haugen, Professor, Computer Science MASTER THESES Professor Øystein Haugen, room D

Del - leveranse Del 2. Inf 2120 fredag Gruppe 1 Knut Johannes Dahle

Introduksjon til Eclipse

Eclipse og RSM en god IDE?

INF 2120 Innlevering 1. Gruppe 4. Kravspesifikasjoner til trafikanten +

A Study of Industrial, Component-Based Development, Ericsson

INF2120 V2005. Gruppe 2 christrc ieronnin kjetimk noushinm sjuros. Trafikanten+ Innlevering

Innholdsfortegnelse INNHOLDSFORTEGNELSE... 2 REVISJONSOVERSIKT...4 INTRODUKSJON MED FORUTSETNINGER... 5

Den europeiske byggenæringen blir digital. hva skjer i Europa? Steen Sunesen Oslo,

buildingsmart Norge seminar Gardermoen 2. september 2010 IFD sett i sammenheng med BIM og varedata

Compello Fakturagodkjenning Versjon 10 Software as a service. Tilgang til ny modulen Regnskapsføring

Software Requirements and Design (SRD) 1 Generelt om dokumenter

DELLEVERANSE 1 INF2120 V06

Compello Fakturagodkjenning Versjon 10.5 As a Service. Tilgang til Compello Desktop - Regnskapsføring og Dokument import

INF5120 Modellbasert systemutvikling

Informasjonsarkitektens rolle i smidige prosjekter

Syntax/semantics - I INF 3110/ /29/2005 1

Information search for the research protocol in IIC/IID

Velkommen til. IN1010 Objektorientert programmering Våren 2018

Grunnlag: 11 år med erfaring og tilbakemeldinger

INF2270 Datamaskinarkitektur

HONSEL process monitoring

Fagevalueringsrapport FYS Diffraksjonsmetoder og elektronmikroskopi

Universitetet i Oslo Institutt for informatikk. Leveranse 2 - inf2120. Gruppe 9. Mads Andre Bergdal Neeru Bhardwaj Saqib Riaz Trond Arne Sørby

Hvordan komme i gang med ArchiMate? Det første modelleringsspråket som gjør TOGAF Praktisk

PROSJEKTPLAN FOR INF [4 3]120-PROSJEKT: PROJECT HOSPITAL 2004

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

E-Learning Design. Speaker Duy Hai Nguyen, HUE Online Lecture

Elektronisk fakturering mellom bedrifter

Brukerkrav og use case diagrammer og -tekst 19. januar Agenda. Brukerkrav og use case. Diagrammer Tekst.

Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Velkommen til INF Kompilatorteknikk

Hvordan er arbeidsmengden i forhold til omfanget i studiepoeng?

Trafikanten Pluss, delleveranse 2. Gruppe 8 Eivind Hasle Amundsen [eivinha] og Eigil Moe [eigilmo]

Conference Centre Portal (CCP)

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås,

INF1000 Eksamensforberedelser og -tips. Høst 2014 Siri Moe Jensen

Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Kurskategori 2: Læring og undervisning i et IKT-miljø. vår

Velkommen til. INF våren 2017

What is is expertise expertise? Individual Individual differ diff ences ences (three (thr ee cent cen r t a r l a lones): easy eas to to test

The Unified Modeling Language - UML

Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

INF2270 Datamaskinarkitektur

INF 1050 BRUK AV MODELLERINGSVERKTØYET RATIONAL ROSE

Forelesning IMT Mars 2011

GEOV219. Hvilket semester er du på? Hva er ditt kjønn? Er du...? Er du...? - Annet postbachelor phd

verktøyskrin Grafisk profil ved Norges teknisk-naturvitenskapelige universitet

FIRST LEGO League. Härnösand 2012

INF2120 Prosjektoppgave i modellering. Del 1

verktøyskrin Grafisk profil ved Norges teknisk-naturvitenskapelige universitet

VEIEN TIL ROM: HVORDAN JEG BLE KATOLIKK (NORWEGIAN EDITION)

Public roadmap for information management, governance and exchange SINTEF

GeWare: A data warehouse for gene expression analysis

SLUTTRAPPORT. gruppe 42 Nils-Kristian Liborg, Bente Brevig, Tom Olav Bruaas, Eirik Lied og Hege Lid Pedersen. 25. november 2002

Elektronisk innlevering/electronic solution for submission:

t Institutt for informatikk Erik Arisholm 13. mai 2009 INF1050-oppsummering-1

IN1010 Objektorientert programmering Våren 2019

det offentlige kartgrunnlaget (DOK)

INF 2120 drop 3. Trafikanten plus. Group 4. danielmw, ronnieo, naimaa, arep, andeba

DROP 2.

Læringsmål. INF1050 dagsorden 14. jan Formålet med prosjektet. Den obligatoriske prosjektoppgaven

Datamodellering med UML

Vårt system kan kjøres ved å skrive. STUD1 konto fredo 37 (holdeplass)

Anna Krulatz (HiST) Eivind Nessa Torgersen (HiST) Anne Dahl (NTNU)

Prosjektet Digital kontaktinformasjon og fullmakter for virksomheter Digital contact information and mandates for entities

Norsk (English below): Guide til anbefalt måte å printe gjennom plotter (Akropolis)

INF2120. Gruppe 14. Innlevering 1. Våren Joakim Bjørnstad

Beskjed fra Skagestein

Datamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML

Fellesprosjekt: gruppe 214

Forslag til løsning. Oppgave 1

Fra sekvensielt til parallelt

1 User guide for the uioletter package

EMPIC MEDICAL. Etterutdanningskurs flyleger 21. april Lars (Lasse) Holm Prosjektleder Telefon: E-post:

Er du nysgjerrig på om det er mulig...

Slope-Intercept Formula

DELLEVERANSE 3 INF2120 GRUPPE 12. Jon G. Berentsen Geir A. Nilsen Lailuma Arezo

Risikofokus - også på de områdene du er ekspert

Velkommen til INF Kompilatorteknikk

«Transferable skills», and what s in it for me?

VISUAL HVORDAN DESIGNE KUNDEREISER PÅ TVERS AV ORGANISASJONEN

Analyse av tillit i elektronisk samvirke

SRD GLIS. Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

Velkommen til INF115

Trianguleringer og anvendelser

F.I.F.F.I.G. Fleksibelt og Innovativt system For FakultetsInformasjon og andre Greier

Fra krav til objektdesign

Dynamic Programming Longest Common Subsequence. Class 27

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Fra sekvensielt til parallelt

Datamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Transkript:

INF-2120 Våren 2005 by Øystein Haugen, Gerhard Skagestein, Ragnar Normann pluss assistentene Knut Johannes Dahle og Gøran Olsen Version 050112 12-Jan-05 INF2120 Prosjekt i modellering 1 Oversikt over denne forelesninga Hva er INF-2120? Personene bak INF-2120 Oversikt over INF-2120 våren 2005 Eclipse Modellering versus programmering UML verktøy Implementasjon og testing Prosjektoppgaven Bruk av web Er dette kurset lett? UML 2.0 fra en insider 12-Jan-05 INF2120 Prosjekt i modellering 2 1

Hva er INF2120? Et prosjekt-kurs dvs. det er prosjektarbeidet som er i sentrum det er bestått / ikke bestått basert på obligatoriske oppgaver og tilhørende oppfølging Et kurs der prosessen og produktet begge er viktige og hvor læringen skal følge av ønsket om å gjøre prosessen og produktet best mulig Et kurs der produktet er større enn det dere har vært borti tidligere sannsynligvis Size matters! Et modellerings-kurs med implementasjon og testing 12-Jan-05 INF2120 Prosjekt i modellering 3 Personene bak INF2120 Våren 2005 Øystein Haugen (førsteamanuensis) ansvarlig for kurset spesialist på modelleringsspråk og utviklingsmetodikk særlig mhp. sanntidssystemer Gerhard Skagestein (førsteamanuensis) foreleser i og forfatteren av læreboka til INF1050 spesialist på metode (og datamodellering) Ragnar Normann (amanuensis) foreleser i INF3100 spesialist på datamodellering Gøran Olsen og Knut Johannes Dahle (assistenter) hovedfagsstudenter med god bakgrunn i modellering erfarne hjelpelærere Andreas Limyr (foreleser) hovedfagsstudent som bruker Eclipse og som har laga modelleringsverktøy på Eclipse 12-Jan-05 INF2120 Prosjekt i modellering 4 2

INF2120 en bit av IT-virkeligheten Den ferdige programvaren vil ha mer enn noen få linjer java-kode Oppdragsgiverne har ikke fasiten på det som skal lages! De verktøyene man skal bruke er ikke helt ferdige men det blir jo aldri programvare uansett Den plattformen man skal anvende, er litt ny og ukjent De folkene man skal jobbe sammen med, er ikke bare ens nærmeste venner uenighet er like vanlig som enighet Det ferdige produktet skal faktisk valideres ved testing Man skal evalueres av likemenn 12-Jan-05 INF2120 Prosjekt i modellering 5 Oversikt over INF2120 Våren 2005 Plattform: Eclipse et rammeverk for utvikling av verktøy og andre produkter som går på Windows og på Unix/Linux Modellering versus programmering Vi ønsker å vise litt om likheter og forskjeller UML verktøy IBM Rational Software Modeler eller Telelogic Tau G2 Implementasjon Å få noe til å rulle rundt er gøy Prosjektoppgaven Et trafikkoppfølgingssystem 12-Jan-05 INF2120 Prosjekt i modellering 6 3

Eclipse Se mer på eclipse.org Et rammeverk for programmering Open source av basis Verktøyer som er til salgs bygges på basisen Støttes kraftig av IBM teknisk ved å sette mye folk på utvalgte prosjekter innen Eclipse Brukes av mange pga. den åpne basisen universiteter små firmaer Vært lite eksperimentert med her på Ifi men nå skal også INF5120 benytte det 12-Jan-05 INF2120 Prosjekt i modellering 7 Modellering og programmering forskjellig? Modellering og programmering har store likhetspunkter og likere og likere blir disse begrepene Tradisjonelt har modellering ofte resultert i beskrivelser som ikke er eksekverbare men det er ikke lenger alltid tilfelle Modellering er oftest forbundet med høyere abstraksjonsnivå kraftigere primitiver mer oversikt enn detaljer Modellering er ofte beskrevet gjennom grafiske språk men det er mer sedvane enn nødvendighet Verktøy for modellering er gjerne ganske dyre men det kan også programmeringsomgivelser være 12-Jan-05 INF2120 Prosjekt i modellering 8 4

Slik ser vi språkverdenen! Hoare CSP Hoare-logic Milner CCS Jones VDM Norwegian Computing Center SIMULA (Nygaard, Dahl) FORTRAN COBOL Algol Pascal ER-model C Broy/Stølen Focus LOTOS (ISO) SDL-88 SDL-92 (ITU) Microsoft Windows Xerox PARC SmallTalk (Kay) OOA(Yourdon) Objectory (Jacobsson) Booch Apple MacIntosh OMT (Rumbaugh) Bell Labs C++ OODB SQL Corba SDL-2000 (ITU) ROOM MSC-92 (ITU) (Objectime) UML 1.x (Rational/OMG) Sun JAVA MSC-2000 (ITU) EJB Web services UML 2.0 (OMG) 12-Jan-05 INF2120 Prosjekt i modellering 9 The founding fathers Hoare CSP Hoare-logic Milner CCS Jones VDM Norwegian Computing Center SIMULA (Nygaard, Dahl) FORTRAN COBOL Algol Pascal ER-model C SDL-88 Conceptual base of OO: Classes LOTOS with (ISO) Inheritance, Polymorphism (virtual), Co-routines Garbage Collection Broy/Stølen Focus SDL-92 (ITU) Microsoft Windows Xerox PARC SmallTalk (Kay) OOA(Yourdon) Objectory (Jacobsson) Booch Apple MacIntosh OMT (Rumbaugh) Bell Labs C++ OODB SQL Corba SDL-2000 (ITU) ROOM MSC-92 (ITU) (Objectime) UML 1.x (Rational/OMG) Sun JAVA MSC-2000 (ITU) EJB Web services UML 2.0 (OMG) 12-Jan-05 INF2120 Prosjekt i modellering 10 5

Making OO Popular and Commercial Hoare CSP Hoare-logic Milner CCS Jones VDM Norwegian Computing Center SIMULA (Nygaard, Dahl) FORTRAN COBOL Algol Pascal ER-model C Effective programming and Efficient programs: Explicit memory control Experimental programming: Runtime checks SDL-88 Graphical in/out Broy/Stølen Focus LOTOS (ISO) SDL-92 (ITU) Microsoft Windows Xerox PARC SmallTalk (Kay) OOA(Yourdon) Objectory (Jacobsson) Booch Apple MacIntosh OMT (Rumbaugh) Bell Labs C++ OODB SQL Corba SDL-2000 (ITU) ROOM MSC-92 (ITU) (Objectime) UML 1.x (Rational/OMG) Sun JAVA MSC-2000 (ITU) EJB Web services UML 2.0 (OMG) 12-Jan-05 INF2120 Prosjekt i modellering 11 The Three Amigos Hoare CSP Hoare-logic Milner CCS SDL-88 Jones VDM Visual Language Analysis phase Standardization Broy/Stølen Focus LOTOS (ISO) SDL-92 (ITU) Norwegian Computing Center SIMULA (Nygaard, Dahl) Microsoft Windows SDL-2000 (ITU) ROOM MSC-92 (ITU) (Objectime) Xerox PARC SmallTalk (Kay) OOA(Yourdon) Objectory (Jacobsson) Booch Apple MacIntosh OMT (Rumbaugh) UML 1.x (Rational/OMG) FORTRAN COBOL Algol Pascal ER-model C Bell Labs C++ Sun JAVA OODB SQL Corba MSC-2000 (ITU) EJB Web services UML 2.0 (OMG) 12-Jan-05 INF2120 Prosjekt i modellering 12 6

Influences on UML 2.0 Hoare CSP Hoare-logic Milner CCS Jones VDM Class diagrams, Use Cases Norwegian Computing Center SIMULA (Nygaard, Dahl) FORTRAN COBOL Algol Pascal ER-model C SDL-88 Internal LOTOS structure (ISO) (Parts and Ports) Improved State Machines Broy/Stølen Focus SDL-92 (ITU) Microsoft Windows Xerox PARC SmallTalk (Kay) OOA(Yourdon) Objectory (Jacobsson) Booch Apple MacIntosh OMT (Rumbaugh) Bell Labs C++ OODB SQL Corba SDL-2000 (ITU) ROOM MSC-92 (ITU) (Objectime) UML 1.x (Rational/OMG) Sun JAVA MSC-2000 (ITU) Structured Sequence Diagrams UML 2.0 (OMG) 12-Jan-05 INF2120 Prosjekt i modellering 13 EJB Web services Improved Components I INF2120 skal vi benytte UML 2.0 Hvorfor UML 2.0? fordi det inneholder begreper som er hensiktsmessige hvilke det er, kommer på neste slide fordi det er det nyeste modelleringsspråket på markedet og dere studenter blir helt oppdaterte fordi IFI-folk har førstehånds kunnskap om språket og har vært med å utvikle det Hvorfor holder ikke UML 1.x fordi viktige begreper manglet fordi noen av begrepene som var der, var dårlig definert fordi UML 1.x er historie om kort tid Er UML 2.0 det eneste fornuftige valg? Hva gjør Microsoft? 12-Jan-05 INF2120 Prosjekt i modellering 14 7

Modelleringsbegreper... som du finner i UML 2.0, men ikke i Java use cases associations connectors state machines with triggers and signals, as well as states of various kinds sequence diagrams as well as communication diagrams, and interaction overview diagrams constraints som en del av språket 12-Jan-05 INF2120 Prosjekt i modellering 15 UML verktøy Det finnes mange UML verktøysleverandører IBM Rational, Telelogic, i-logix, Poseidon, Softeam, NoMagic, KennedyCarter,... Det finnes ikke mange UML 2.0 implementasjoner og enda færre UML 2.0 verktøy som dekker hele UML 2.0 antakelig er det bare IBM Rational og Telelogic samt i-logix som ville være aktuelle Vi har vært beta-user av IBM Rational Architect og meldt inn 35 feil/mangler bare på sekvensdiagramdelen Vi holder på å vurdere Telelogic Tau G2 men har egentlig ikke fått brukt nok tid på det, men brukte under 1 time på å totalhavarere systemet 12-Jan-05 INF2120 Prosjekt i modellering 16 8

Endelig bestemmelse er ennå ikke tatt, men...... arbeidshypotesen er at IBM Rational Software Architect / Modeller velges når det blir tilgjengelig gjennom IBM Scholar Program angivelig i midten av januar ifølge programmets leder og våre kontakter i IBM Rational I mellomtida lærer dere Eclipse og sekvensdiagramdelen av UML 2.0 og benytter Andreas Limyrs UML 2.0 Sekvensdiagram editor som går på Eclipse... alternativt er det aktuelt å laste ned trial versjoner av IBM Rational Modeler som er gyldige i 30 dager 12-Jan-05 INF2120 Prosjekt i modellering 17 Implementasjon og testing Gangen i modelleringen er i INF2120 Spesifikasjon av produktets oppførsel gjennom UML sekvensdiagrammer Design av systemet ved tilstandsmaskiner og datamodeller Implementasjon via direkte kodegenerering til Java håper vi!!! Validering av designen gjennom modellorientert beskrivelse av tester vha. UML Testing Profile og gjennomføring av testene mot implementasjonen 12-Jan-05 INF2120 Prosjekt i modellering 18 9

Prosjektoppgaven 1 Alle prosjektgruppene får samme oppgave Det lages ny oppgave hvert år. Det er 3 delleveranser Spesifikasjon Design/Implementasjon Validering/Test Gruppene skal evaluere hverandre kursledelsen vil også evaluere prosjektene Alle delleveranser skal presenteres og kritiseres offentlig Prosjektgruppestørrelse gruppene settes opp med 4-5 personer om en gruppe blir på 2 personer pga. frafall, fusjoneres den 12-Jan-05 INF2120 Prosjekt i modellering 19 Prosjektoppgaven 2 Prosjektgruppesammensetning: Studentene velger selv øvelsesgruppe (av 2 mulige) Vi deler studentene i de som har tatt INF3120 (Utvikling av store programsystemer) og de som ikke har tatt det. Vi trekker tilfeldig fra disse to kategoriene slik at personene med erfaring fra INF3120 blir spredt Krav til delleveransene Leveransen er ett pdf-dokument (Adobe Acrobat) som skal inneholde beskrivelser med diagrammer såvel som tekst Leveransen presenteres ved en presentasjon med videokanon enten fra pdf-fil eller fra Powerpoint Kritikken leveres muntlig, men leveres deretter skriftlig 12-Jan-05 INF2120 Prosjekt i modellering 20 10

Prosjektoppgaven 3 Detaljer om peer-reviews Ved Delleveranse 1 (Spesifikasjon) skal gruppe B evaluere gruppe A osv. Så skal Gruppe B gjennomføre design etter A sin spesifikasjon! Ved Delleveranse 2 (Design) skal gruppe A evaluere gruppe B hevnen er søt Er designen i henhold til hva vi spesifiserte med evt. seinere modifikasjoner? Så skal Gruppe A gjennomføre validering av B sin design (og implementasjon) ved testing Ved Delleveranse 3 (Validering) skal gruppe B igjen evaluere gruppe A sin gjennomføring av testingen 12-Jan-05 INF2120 Prosjekt i modellering 21 Prosjektoppgaven 4 Krav til den enkelte student Han/hun skal delta i prosjektgruppe Han/hun skal delta på lik linje med de andre i gruppa uansett om vedkommende er deltidsstudent Han/hun skal kunne alle detaljer i den felles besvarelse slik at vedkommende skal kunne eksamineres i dette av kursledelsen Han/hun skal trekke seg om han/hun ikke kan fylle disse kravene Krav til den enkelte prosjektgruppe Prosjektgruppene skal sette opp sin egen organisering Prosjektgruppene velger 1 kontaktperson som er ansvarlig for all kommunikasjon med kursledelsen Prosjektgruppene skal motta veiledning av gruppelærer Delleveransen skal leveres på tid! Utsettelser gis IKKE. 12-Jan-05 INF2120 Prosjekt i modellering 22 11

Prosjektoppgaven 5 Hva er juks? Det er juks hvis deler av en prosjektoppgave er tilnærmet identisk med en annen gruppes uten at det redegjøres for evt. samarbeid mellom grupper på enkeltproblemer Det er lov å samtale mellom gruppene, men jobb selvstendig! Det er juks hvis deler av en besvarelse er tilnærmet identisk med resultater funnet på Internett uten at det er referert til opprinnelsen Det er lov å finne løsninger på Internett, men ikke å la være å referere Prosjektgruppa skal i alle høve forstå alt hva de har levert! Det er juks å være gratispassasjer Studenter som ikke gjør sin del av prosjektoppgaven kan strykes individuelt 12-Jan-05 INF2120 Prosjekt i modellering 23 Prosjektoppgaven 6 Trafikkoppfølgingssystem Systemet blir et Trafikanten Plus system der både trafikkselskapets ansatte og publikum får detaljert informasjon om hvor busser, T-baner og trikker er. Vi skal forutsette at: Alle holdeplasser er registrert med unik id, navn og global posisjon (GPS) Alle befordringsmidler er registrert med unik id, rute og dynamisk posisjon Alle rutetider er kjent (slik som hos Trafikanten nå) 12-Jan-05 INF2120 Prosjekt i modellering 24 12

Prosjektoppgaven 7 Tjenester: Publikum kan få vite hvor langt unna deres prefererte buss/trikk/t-bane er Her er det mange muligheter for hvordan man kan lage tjenester. Man kan benytte posisjonering fra publikums mobile terminal, info om holdeplass, forhåndsinnstilte valg, eller... Det kan i prinsippet benyttes WAP, SMS eller Web. Trafikkselskapet kan skaffe seg dynamisk statistikk over trafikken og evt. sette inn ekstratiltak Inne i befordringsmiddelet kan man automatisk gi neste stoppested Legge inn og ta ut (evt. suspendere temporært) holdeplasser, linjer, framkomstmidler 12-Jan-05 INF2120 Prosjekt i modellering 25 Prosjektoppgaven 8 Kan vi få dette til å virke på ordentlig? Vi har tilgang på et eksperimentelt tele-opplegg som gjør det mulig å få utført flere vanlige og uvanlige teletjenester fra våre datamaskiner Vi benyttet dette opplegget for SMS-sending i INF5150 Høsten 2004 Det dreier seg om PATS Program for Advanced Telecom Services www.pats.no Det er selvfølgelig en del greier vi ikke har direkte tilgang til og som vi må bygge opp en simulering av: rutetider holdeplassinformasjon 12-Jan-05 INF2120 Prosjekt i modellering 26 13

Bruk av Web og e-mail i INF2120 Vi kommer til å bruke Web i dette kurset på standard måte Forelesningsplanen er sentral den kan bli endret underveis pga. uforutsette hendelser Forelesningenes foiler legges ut i pdf-format forhåpentligvis i forkant Viktig informasjon skal forefinnes på Web Viktige meldinger sendes ut på kursets e-mail liste 12-Jan-05 INF2120 Prosjekt i modellering 27 Er dette kurset lett? Vi håper dette kurset først og fremst er inspirerende morsomt lærerikt nyttig... og da kan man ikke regne med det er lett Vi tror det blir mye arbeid en del tukkel og heft med verktøy etc. som ikke virker helt ikke helt glattslikka (bl.a. fordi det er første gang det går) Vi ønsker kontinuerlig tilbakeføring på alle plan! 12-Jan-05 INF2120 Prosjekt i modellering 28 14

Litteratur Pensum Det er intet pensum det er ingen krav til å kunne annet enn det som skal til for å gjøre prosjektet vellykket Støttelitteratur: Skagestein, G., Systemutvikling - fra kjernen og ut, fra skallet og inn. 2002, Kristiansand: Høyskoleforlaget AS. 477 sider (ISBN 82-7634-503-4) Rumbaugh, J., I. Jacobson, and G. Booch, Unified Modeling Language Reference Manual, The (2nd Edition). ADDISON- WESLEY OBJECT TECHNOLOGY SERIES. 2004: Pearson Education. 736 sider (ISBN 0321245628) Haugen, Ø., B. Møller-Pedersen, and T. Weigert, Structural Modeling with UML 2.0, in UML for Real, L. Lavagno, G. Martin, and B. Selic, Editors. 2003, Kluwer Academic Publishers: Boston. p. 53-76. http://folk.uio.no/oysteinh/haugen-mp-weigert-umlforreal.pdf 12-Jan-05 INF2120 Prosjekt i modellering 29 Teknikaliteter Første Gruppetimer (mandag 17.1.05) brukes til UML 2.0 Sekvensdiagram forelesning Ekstra lab-tid (i alle fall i begynnelsen) Gruppe 1: tirsdag 12-14 Baktus i PO-bygget Gruppe 2: onsdag 12-14 Karius i PO-bygget 12-Jan-05 INF2120 Prosjekt i modellering 30 15

UML 2.0 et superkort innblikk litt om hva UML 2.0 er til forskjell fra UML 1.x 12-Jan-05 INF2120 Prosjekt i modellering 31 Class Diagram ACSystem Console class aggregation 1 Panel * multiplicity AccessPoint 1 * User Authorizer 1 1 * controls 1..2 1 controls governsaccess * Door * 1 access AccessZone * * role association navigability 12-Jan-05 INF2120 Prosjekt i modellering 32 16

Class Diagrams generalization generalization User Supervisor NewUser 12-Jan-05 INF2120 Prosjekt i modellering 33 Composite structure of Collaboration property (part) ACContext 0..* :User 1..* :Supervisor :ACSystem 0..* :NewUser connector 12-Jan-05 INF2120 Prosjekt i modellering 34 17

Composite Structure of Class class ACSystem outp inp e 0..100 ap: AccessPoint 1..5 c: Console e inp outp d v v unlock, lock isopen, isclosed :Authorizer Information flow Port Connector Property 12-Jan-05 INF2120 Prosjekt i modellering 35 Interaction Diagram Sequence Diagram sd GivePIN Lifeline Interaction :User :ACSystem msg("give your PIN!") Digit Digit Digit message Digit 12-Jan-05 INF2120 Prosjekt i modellering 36 18

Sequence Diagram with structure sd EstablishAccess(String txt) Interaction Use :User :ACSystem ref AC_EstablishAccess(txt) Idle Decomposition Cardid Combined Fragment ref loop(0,3) GivePIN msg("try again!") Continuation Combined Fragment ref alt GivePIN msg(txt) PIN NOK PIN OK 12-Jan-05 INF2120 Prosjekt i modellering 37 Interaction Overview Diagram sd OverviewDiagram lifelines User, ACSystem ref EstablishAccess("IllegalPIN") Interaction Use sd User AC System Interaction CardOut [PINok] sd User Mesg("Please Enter)" AC System ref OpenDoor 12-Jan-05 INF2120 Prosjekt i modellering 38 19

State Machines goldenentry entry point sm GivePIN send(msg("give your PIN!")); n=0 send(code(cid,pin)) enterdigit [n==4] digit/ send(code(cid,pin)) waitcommand [n<4]digit/ n++ givepin/send(msg("pin:")) Cardout exit sm Panel NoCard Cardid(cid) exit point goldcard(cid,pin) substatemachine H goldenentry OneCard: GivePIN exit msg(t)/send(msg(t)) 12-Jan-05 INF2120 Prosjekt i modellering 39 Activity Diagrams Provide Required Part Standards Engineer Design Engineer Expert part search [part found] [part not found] Assign standards engineer [async] Review Requirements [async] Specify part mod workflow Schedule part mod workflow [reschedule] Clarify Requirements Review Schedule [cancel] [OK] [async] Execute part mod workflow Research production possibility [async] [accept] [reject] Provide addt l part mod info 12-Jan-05 INF2120 Prosjekt i modellering 40 20

What are the improvements? More unified conceptual base Composite structures of properties used in Classes, Collaborations and (indirectly) Interactions More unified semantics higher precision (?) Improved expressiveness Executable UML is not far away code generation (complete) simulation validation test generation 12-Jan-05 INF2120 Prosjekt i modellering 41 What are the shortcomings? There is no concrete syntax for the actions this means that it is awkward to make standard examples one needs to apply either a subset of programming language or a proprietory action language Metamodeling is not the best way to describe languages experience shows that not even experts can do it right There is no common formal semantics for the behavior there is, however, a common execution model There are too many semantic variation points such that nobody really knows what the meaning is Use Cases should be better integrated with the rest it is very much a standalone part of the language The Instance Model could be improved in fact it should be harmonized with the rest The language is too big to have effective competition and the tools may not be good enough 12-Jan-05 INF2120 Prosjekt i modellering 42 21