43
16-Jan-07 INF2120 Prosjekt i modellering 1 INF 2120 INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius Furulund og Mansur Ali Abbasi Version 070117

INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 1

INF 2120

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

Version 070117

Page 2: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 2

INF 2120

Oversikt over denne forelesninga

Hva er INF-2120?Personene bak INF-2120Oversikt over INF-2120 våren 2006– Eclipse– Modellering versus programmering– UML verktøy– Implementasjon og testing– Prosjektoppgaven

Bruk av webEr dette kurset lett?UML 2.0 – og det gjennomgående eksempel

Page 3: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 3

INF 2120

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 muligEt kurs der produktet er større enn det dere har vært borti tidligere– sannsynligvis– Size matters!

Et modellerings-kurs– med implementasjon og testing

Page 4: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 4

INF 2120

Hva lærer du i INF2120?

Eksekverbare modeller– automatisk kodegenerering – ikke bare skisser

Test/Validering-orientering (konsistens!)– systematikk – ikke ”monkey testing”

Samtidighet (brukere / tjenester / sesjoner)– verden er ikke sekventiell

Robusthet / Pålitelighet– oppe hele tida – ikke stadig starte på nytt

Vedlikeholdbarhet– ny funksjonalitet uten store uoversiktlig endringer i det bestående

Page 5: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 5

INF 2120

Øystein Haugen <[email protected]>80-81: UiO, Research assistant for Kristen Nygård

– 81 : IN 105 together with Bjørn Kirkerud81-84: Norwegian Computing Center, Simula-machine84-88: SimTech, typographical applications88-90: ABB Technology, SDL, prototype SDL tool, ATC89-97: SISU project, methodology, V&V, ITU

– 93: Engineering Real Time Systems– 96: Integrated Methodology -> TIMe

96-00: Rapporteur ITU for MSC97: Practitioners’ verification of SDL systems (dr. scient.)97-03: Ericsson, NorARC98-03: Ifi, UiO as Part time Associate Professor

– IN-TIME (1998) IN-RTIMe (1999) IN-RTIMe (2000) INFUIT (2001, 2002)99- : Participates in OMG wrt. UML 2.0

– Responsible for UML 2.x chapter on Interactions04 - : Associate Professor at Ifi (INF2120 and INF5150)

Page 6: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 6

INF 2120

Hjelpelærere INF2120 Våren 2007

Marius Furulund <kristf at ifi.uio.no>– Masteroppgave på Simula Research Laboratory: estimering.– gruppelærer i INF1000, INF1010, INF3120, INF5150 og INF2120– Jobber deltid som journalist i Dagbladets sportsredaksjon– Er en ivrig golfspiller i sommerhalvåret.

Mansur Ali Abbasi <mansuraa at ifi.uio.no>– Masteroppgave hos SINTEF : Aspekt-Orientert Modellering– Hjelpelærer i 5 emner ved HIO og INF4120 (Software

Engineering)– Arbeidserfaring innen systemutvikling.

Page 7: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 7

INF 2120

INF2120 – en bit av IT-virkeligheten

Den ferdige programvaren vil ha mer enn noen få linjer java-kodeOppdragsgiverne har ikke fasiten på det som skal lages!De verktøyene man skal bruke er ikke helt perfekte– men det blir jo aldri programvare uansett

Den plattformen man skal anvende, er litt ny og ukjentDe 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 testingMan skal evalueres av likemenn

Page 8: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 8

INF 2120

Verktøy-suiten i INF2120

JavaFrame

UML compiler

UML2

pluginSeDi

PATS Oracle

3.0Windows+

Linux

Commercial big, imperfect

open source –our ownexecutable

modeling

UML 2 runtime system

hybrid systems

third party sw: simple interfaces

Page 9: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 9

INF 2120

CardAccount

User ATM Bank

1

*

1

*

* 1* *

myAccounts

11

ATM

«include»

«include»

UserBank

Withdrawal

CashRepository

Currency

Authentication

:Bank:User

sd Authenticate

EnterPINref

loop(0,2 )

EnterPINref

Id le

Cardid(cid)

m sg("Try again!")

:ATM

PIN NO K

BankContext

:User [1..10.000] :ATM [1..100] :Bank

sm ATM

:Withdrawal

entry: send(card)

CardOut

:EnterPIN/authN=0

Idle

CardId(cid)

[authN<3]/authN++;send(msg(”Try again”))

/authN=0

[authN==3]/authN=0

send(msg( ”illegal entry”));

nok

ok

cancelledok

:Status

:Service

statusWithdrawal

cardTaken A Use Case Model

Hva vil modellen inneholde?

A Class Model

An Interaction ModelA Composite Structure Model

A State Machine Model

Page 10: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 10

INF 2120

Konsistens!

CardAccount

User ATM Bank

1

*

1

*

* 1* *

myAccounts

11

:Bank:User

sd Authenticate

EnterPINref

loop(0,2 )

EnterPINref

Id le

Cardid(cid)

m sg("Try again!")

:ATM

PIN NO K

BankContext

:User [1..10.000] :ATM [1..100] :Bank

sm ATM

:Withdrawal

entry: send(card)

CardOut

:EnterPIN/authN=0

Idle

CardId(cid)

[authN<3]/authN++;send(msg(”Try again”))

/authN=0

[authN==3]/authN=0

send(msg( ”illegal entry”));

nok

ok

cancelledok

:Status

:Service

statusWithdrawal

cardTaken

ATM

«include»

«include»

UserBank

Withdrawal

CashRepository

Currency

Authentication

Page 11: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 11

INF 2120

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 detaljerModellering 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

Page 12: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 12

INF 2120

FORTRANAlgol Pascal

CNorwegian Computing Center

SIMULA(Nygaard, Dahl)

Xerox PARCSmallTalk (Kay)

AppleMacIntosh

OOA(Yourdon)

Objectory(Jacobsson) Booch

OMT (Rumbaugh)

UML 1.x (Rational/OMG)

SDL-88

MicrosoftWindows

Hoare-logic

CSPHoare Jones

VDMMilnerCCS

LOTOS (ISO)

COBOL

SQL

ER-model

SDL-92 (ITU)

Bell LabsC++

Sun

OODB

JAVA

Broy/StølenFocus

Slik ser vi språkverdenen!

Corba

UML 2.0 (OMG)

SDL-2000 (ITU)

MSC-2000 (ITU) EJB Web services

MSC-92 (ITU)ROOM

(Objectime)

Page 13: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 13

INF 2120

The founding fathers

FORTRANAlgol Pascal

CNorwegian Computing Center

SIMULA(Nygaard, Dahl)

Xerox PARCSmallTalk (Kay)

AppleMacIntosh

OOA(Yourdon)

Objectory(Jacobsson) Booch

OMT (Rumbaugh)

UML 1.x (Rational/OMG)

SDL-88

MicrosoftWindows

Hoare-logic

CSPHoare Jones

VDMMilnerCCS

LOTOS (ISO)

COBOL

SQL

ER-model

SDL-92 (ITU)

Bell LabsC++

Sun

OODB

JAVA

Broy/StølenFocus

Corba

UML 2.0 (OMG)

SDL-2000 (ITU)

MSC-2000 (ITU) EJB Web services

MSC-92 (ITU)ROOM

(Objectime)

Conceptual base of OO:Classes with Inheritance,Polymorphism (virtual),Co-routinesGarbage Collection

Page 14: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 14

INF 2120

Making OO Popular and Commercial

FORTRANAlgol Pascal

CNorwegian Computing Center

SIMULA(Nygaard, Dahl)

Xerox PARCSmallTalk (Kay)

AppleMacIntosh

OOA(Yourdon)

Objectory(Jacobsson) Booch

OMT (Rumbaugh)

UML 1.x (Rational/OMG)

SDL-88

MicrosoftWindows

Hoare-logic

CSPHoare Jones

VDMMilnerCCS

LOTOS (ISO)

COBOL

SQL

ER-model

SDL-92 (ITU)

Bell LabsC++

Sun

OODB

JAVA

Broy/StølenFocus

Corba

UML 2.0 (OMG)

SDL-2000 (ITU)

MSC-2000 (ITU) EJB Web services

MSC-92 (ITU)ROOM

(Objectime)

Experimental programming:Runtime checksGraphical in/out

Effective programming andEfficient programs:Explicit memory control

Page 15: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 15

INF 2120

The Three Amigos

FORTRANAlgol Pascal

CNorwegian Computing Center

SIMULA(Nygaard, Dahl)

Xerox PARCSmallTalk (Kay)

AppleMacIntosh

OOA(Yourdon)

Objectory(Jacobsson) Booch

OMT (Rumbaugh)

UML 1.x (Rational/OMG)

SDL-88

MicrosoftWindows

Hoare-logic

CSPHoare Jones

VDMMilnerCCS

LOTOS (ISO)

COBOL

SQL

ER-model

SDL-92 (ITU)

Bell LabsC++

Sun

OODB

JAVA

Broy/StølenFocus

Corba

UML 2.0 (OMG)

SDL-2000 (ITU)

MSC-2000 (ITU) EJB Web services

MSC-92 (ITU)ROOM

(Objectime)

Visual LanguageAnalysis phaseStandardization

Page 16: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 16

INF 2120

Influences on UML 2.0

FORTRANAlgol Pascal

CNorwegian Computing Center

SIMULA(Nygaard, Dahl)

Xerox PARCSmallTalk (Kay)

AppleMacIntosh

OOA(Yourdon)

Objectory(Jacobsson) Booch

OMT (Rumbaugh)

UML 1.x (Rational/OMG)

SDL-88

MicrosoftWindows

Hoare-logic

CSPHoare Jones

VDMMilnerCCS

LOTOS (ISO)

COBOL

SQL

ER-model

SDL-92 (ITU)

Bell LabsC++

Sun

OODB

JAVA

Broy/StølenFocus

Corba

UML 2.0 (OMG)

SDL-2000 (ITU)

MSC-2000 (ITU) EJB Web services

MSC-92 (ITU)ROOM

(Objectime)

Class diagrams,Use Cases

Internal structure(Parts and Ports)Improved State Machines

Structured Sequence Diagrams Improved Components

Page 17: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 17

INF 2120

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?

Page 18: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 18

INF 2120

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 overviewdiagrams

– constraintssom en del av språket

Page 19: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 19

INF 2120

UML verktøy

Det finnes mange UML verktøysleverandører– IBM Rational, Telelogic, i-Logix, Poseidon, Softeam, NoMagic,

KennedyCarter, .....

Det finnes ikke mange komplette UML 2.0 verktøy– Se liste på http://www.uml.org/

Vi har vært beta-user av IBM Rational Software Architect– og meldt inn 35 feil/mangler bare på sekvensdiagramdelen

IBM Rational Software Architect/Modeler går på EclipseIBM Rational har alltid vært markedsleder på UMLIBM Rational Software Modeler er ikke så godt som det burde være

Page 20: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 20

INF 2120

2007: Mer ”agile modeling”

”agile” = kvikk eller tilpasningsdyktig eller grasiøseksekverbare modeller– omtrent fra dag 1

svært stegvis tilnærming– hvert steg vil ha spesifikasjon og eksekverbar modell– hvert steg skal testes

vi bruker ett gjennomgående eksempel– i mange steg– som bør være svært parallelt med prosjektoppgaven– dere kan eksperimentere og eksekvere eksempel-modellene

Hver uke et virkende program!

Page 21: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 21

INF 2120

Manifesto for Agile Software Development

We are uncovering better ways of developing software by doing it and helping others do it.Through this work we have come to value: – Individuals and interactions over processes and tools – Working software over comprehensive documentation – Customer collaboration over contract negotiation – Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Page 22: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 22

INF 2120

Prosjektoppgaven 1

Alle prosjektgruppene får samme oppgave– Det lages ny oppgave hvert år.

Det er 3 delleveranser– Drop 0: individuell innlevering: demonstrerbar minstemodell– Drop 1: prosjekt: modell med 2 tjenester for 1 bruker– Drop 2: prosjekt: modell med flere tjenester for mange brukere

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

Page 23: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 23

INF 2120

Prosjektoppgaven 2

Prosjektgruppesammensetning:– Studentene plasseres i øvelsesgruppe (av 2 mulige)– Prosjektgruppene trekkes tilfeldig innen hver øvelsesgruppe

Krav til delleveransene– Leveransen er

ett pdf-dokument (Adobe Acrobat)– som skal inneholde beskrivelser med diagrammer og tekst– det skal være mulig å evaluere arbeidet fra dette dokumentet!

én emx-fil (RSM format) av UML2 modellen– Leveransen presenteres ved en presentasjon med videokanon

enten fra pdf-fil eller fra Powerpoint– Kritikken leveres muntlig, men leveres deretter skriftlig på mail

Page 24: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 24

INF 2120

Prosjektoppgaven 3

Ved delleveranse 1 skal gruppe 2 evaluere gruppe 1 osv.Direkte etter gruppe 1 sin presentasjon, vil gruppe 2 stille kritiske spørsmål som skaper en diskusjon med gruppe 1Gruppe 2 sender sine kommentarer til Gruppe 1 på mail i etterkant (med Cc til hjelpelærer og foreleser)Så gir hjelpelærer og foreleser sine vurderingerForeleser gir så en tentativ karakter– som altså er uformell og ikke teller såsant den er en ståkarakter

Noen enkeltstudenter blir plukket ut til å presentere for foreleser– Dette er en sikkerhetsventil for å unngå gratispassasjerer

Ved dellev. 2 snur vi evalueringen slik at gruppe 1 evaluerer gruppe 1Ved dellev. 1 gjøres gjennomgangen i øvelsesgruppeneVed delleveranse 2 gjøres demo etc. i plenumDeltakelse på gjennomgangene er obligatorisk!

Page 25: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 25

INF 2120

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.

Page 26: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 26

INF 2120

Prosjektoppgaven 5

Hva er juks?– Det er juks hvis deler av en prosjektoppgave er tilnærmet identisk

med en annen gruppesuten at det redegjøres for evt. samarbeid mellom grupper på enkeltproblemerDet 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 opprinnelsenDet er lov å finne løsninger på Internett, men ikke å la være å referereProsjektgruppa skal i alle høve forstå alt hva de har levert!

– Det er juks å være gratispassasjerStudenter som ikke gjør sin del av prosjektoppgaven kan strykes individuelt

Page 27: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 27

INF 2120

Prosjektoppgaven 6

Programvare for Rebusløp– Hva er et rebusløp:

Det er flere deltakere, gjerne lag, som disponerer bil/sykkel og mobilStarten går på ett bestemt stedEn deltaker registrerer seg fra mobilen på SMS og får vite hvor starten er.På startstedet sender deltakeren en ny SMS ”first”

– systemet ser etter at mobilen er på riktig startsted– og sender første rebus tilbake på SMS

Deltakeren løser rebusen (som har et sted som svar)– kjører så til stedet og sender en SMS med svaret– om svaret er riktig og mobilen er på riktig sted, returneres neste rebus

Helt til deltakeren er i mål– Programvaren skal også:

gi oppdaterte oversikter over hvor deltakerne er på GoogleEarth der også stillingen står

– Vinneren er den som har kjørt kortest (luftlinje mellom SMS-ene)

Page 28: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 28

INF 2120

Prosjektoppgaven 7

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 i INF5150 fra høsten 2004 og INF2120 fra våren 2005

– PATS – Program for Advanced Telecom Serviceswww.pats.no

– Vi kommer til å benyttemotta SMS i et programsende SMS til mobiltelefonposisjonere mobiltelefoner (veldig grovt)virker bare mot mobiltelefoner med Telenor abonnement

– Vi har også en simulator: FakePats

Page 29: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 29

INF 2120

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

slik som alle de eksekverbare modellene fra forelesningene dvs. fra utviklingen av det gjennomgående eksempelet

Viktige meldinger sendes ut på kursets e-mail liste

Page 30: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 30

INF 2120

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 lettVi 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 alltid er et nytt prosjekt)

Vi ønsker– kontinuerlig tilbakeføring på alle plan!

Page 31: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 31

INF 2120

Litteratur – Pensum

Det er intet pensum – det er ingen krav til å kunne annet enn det som skal til for å gjøre prosjektet vellykketStøttelitteratur:– Skagestein, G., Systemutvikling - fra kjernen og ut, fra skallet og

inn. 2005, Kristiansand: Høyskoleforlaget AS. 486 sider (ISBN 8276346715)

– 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.

Page 32: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 32

INF 2120

ICU – Det gjennomgående eksempelet

beskrevet i UML 2.1og

eksekvert

Page 33: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 33

INF 2120

Class Diagramstereotyped class generalizationsignal class

class

Page 34: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 34

INF 2120

Composite structure of Collaborationproperty (part)

connector port type of the part (class)

Page 35: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 35

INF 2120

Composite Structure of Class class

Property

ConnectorPort

Multiplicity

Page 36: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 36

INF 2120

Interaction Diagram – Sequence Diagram

Lifeline

message

Interaction

Page 37: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 37

INF 2120

Sequence Diagram – with structure

Combined Fragment

Combined Fragment

Decomposition

Page 38: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 38

INF 2120

State Machines

submachinestate

exit point

initial state

final state

decision

transition

state

Page 39: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 39

INF 2120

Activity Diagrams

initial node

action node

final node

java code

comment

Page 40: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 40

INF 2120

Compile the UML package ICU

Page 41: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 41

INF 2120

Execute the trace tool (JFTrace) and ICU appl.

to 2034(Telenor!!!)

Page 42: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 42

INF 2120

Hotpos: finding out where you are

to 2034(Telenor!!!)

Page 43: INF-2120 Våren 2006 Øystein Haugen med hjelp fra Marius … · 16-Jan-07 INF2120 Prosjekt i modellering 6 INF 2120 Hjelpelærere INF2120 Våren 2007 Marius Furulund

16-Jan-07 INF2120 Prosjekt i modellering 43

INF 2120

KML: using GoogleEarth to place mobiles