Forelesning IMT Mars 2011

Like dokumenter
Distributed object architecture

Distributed object architecture

Gruppenavn. Prosjektnavn Beskrivelse av design For Navn på systemet. Versjon <1.0>

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

Tom Røise IMT 2243 : Systemutvikling 1. Forelesning IMT Mars Designfasen i SU-prosjekter : Generelle steg i Designprosessen

Spesifikasjon av Lag emne

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen

UML 1. Use case drevet analyse og design Kirsten Ribu

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

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

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

Tom Røise 18. Februar 2009

UML-Unified Modeling Language

OOSU 22.sept Pattern har sin opprinnelse innen arkitektur (byplanlegging / bygninger)

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

Software Requirements and Design (SRD) 1 Generelt om dokumenter

UML-Unified Modeling Language. Prosess-oversikt. Use case realisering

IT-ledelse 25.jan - Dagens

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?

Eksamen INF

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

INF5120 Eksamen Løsningsforslag Oppgave 1a,b COMET

inf 1510: bruksorientert design

INF 5120 Obligatorisk oppgave Nr 2

Gaute Langeland September 2016

Requirements & Design Document

Forside. Eksamen i IN1030 for Våren Ingen hjelpemidler tillatt.

Referansearkitektur use cases. Kjell Sand SINTEF Energi AS NTNU Institutt for elkraftteknikk

INF Oblig 2. Hour Registration System (HRS)

Speed Racer Theme. Theme Music: Cartoon: Charles Schultz / Jef Mallett Peanuts / Frazz. September 9, 2011 Physics 131 Prof. E. F.

Hva gjøres i design? 19. september 2002, Tore Berg Hansen, TISIP

A Study of Industrial, Component-Based Development, Ericsson

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel

EMNERAPPORT INSTITUTT FOR BIOMEDISIN

Objektorientering og UML. INF1050: Gjennomgang, uke 06

Kravspesifiseringsprosessen

God objektorientert design Flere UML diagrammer UML Distilled kap. 7,8, 9 Using UML, kap. 11, 12, 14 Kirsten Ribu

Gruppenavn. Beskrivelse av arkitektur For Navn på systemet. Versjon <1.0>

GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML

PSi Apollo. Technical Presentation

Public roadmap for information management, governance and exchange SINTEF

Hvordan føre reiseregninger i Unit4 Business World Forfatter:

Software applications developed for the maritime service at the Danish Meteorological Institute

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell. Dagens forelesning. Fra krav til objekter

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

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

Forslag til løsning. Oppgave 1

Løsningsforslag til Case. (Analysen)

INF Modellering med objekter (Oblig 2) **TimeregistreringSystem** (Designet av Alen Cemer

Universitetet i Oslo Institutt for informatikk. Eskild Busch. UML hefte

Team2 Requirements & Design Document Værsystem

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

University of Oslo Department of Informatics. INF Modellering med objekter Oblig 2, V2004. Skrevet av:

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

INF 1050 BRUK AV MODELLERINGSVERKTØYET RATIONAL ROSE

Beskjed fra Skagestein

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

Prøveeksamen INF1050: Gjennomgang, uke 15

UML- Use case drevet analyse og design. Domenemodeller Sekvensdiagrammer Use case realisering med GRASP patterns Klassediagram - designmodeller

UNIVERSITETET I OSLO

Dagens. Faglærers bakgrunn IMT 1321 IT-LEDELSE. Faglærer : Tom Røise 11.Jan IMT1321 IT-Ledelse 1

Uke 5. Magnus Li INF /

LØSNINGSMOMENTER TIL EKSAMEN

Vekstkonferansen: Vekst gjennom verdibaserte investeringer. Thina Margrethe Saltvedt, 09 April 2019

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

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case?

NB! Endring i undervisningsplanen

Independent audit av kvalitetssystemet, teknisk seminar november 2014

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

Elektronisk innlevering/electronic solution for submission:

EMNERAPPORT INSTITUTT FOR BIOMEDISIN

DecisionMaker Frequent error codes (valid from version 7.x and up)

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

Bedriftenes møteplass. Thina Margrethe Saltvedt, 02 April 2019

UKE 11 UML modellering og use case. Gruppetime INF1055

UKE 13 Mer UML modellering. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

Den som gjør godt, er av Gud (Multilingual Edition)

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

HONSEL process monitoring

Lynkurs 10. Januar 2012

Spesifikasjon av Lag emne. Kursregistrering g bruksmønstermodell. Dagens forelesning. Fra krav til objekter

Emneevaluering GEOV272 V17

koordinering og samhandling i perioperativt arbeid

Kravspesifikasjon med UML use case modellering. Erik Arisholm

Litteraturoversikter i vitenskapelige artikler. Hege Hermansen Førsteamanuensis

Feiltre, hendelsestre og RIF-modell

TJENESTEAVTALER FOR OFFENTLIG DOKUMENTASJONSFORVALTNING

På vei mot mindre stimulerende pengepolitikk. Katrine Godding Boye August 2013

UNIVERSITETET I OSLO

Transkript:

Forelesning IMT2243 31. Mars 2011 Tema: forts. arkitektur og OOD (ObjektOrientert Design) Eksempler på arkitekturvurderinger Yummy Inc., BUSTA, Tidligere studentprosjekter Prosjekt del 3 Designfasen Forventninger til denne leveransen Objektorientert Design Pensumlitteratur : Sommerville Kap.7 (side 176-189). Figurene i denne presentasjonen er hentet derfra.

Oppsummering av arkitektur i RUP Software Architect - en obligatorisk rolle i RUP prosjekter Life Cycle Architecture milepælen som avlutter Elaboration-fasen sier sitt om arkitekturfokusen i RUP Software Architecture Document (SAD). Info dere finner om dette i RUP-infobasen er pensum. RUP har en meget sterk fokus på å se arkitekturen fra ulike perspektiver (4 + 1 + n View) Use Case view Logical view Deployment view Process view Implementation view ( + Data view, Security view,.)

Programvarearkitektur - eksempler Kommentarer / tavlegjennomgang på : Yummy Inc Et RUP Software Architecture Documet eksempel knyttet til Rational sine modelleringsverktøy : http://www.ibm.com/developerworks/rational/library/05/0816_louis/# download Kommentarer til arkitekturvurderinger gjort i BUSTA-prosjektet (Stabburet) Kommentarer til noen av Arkitektur-eksemplene dere har tilgang til fra tidligere studentprosjekter

Prosjektleveranse 3 Råd til hvordan dere bør legge opp arkitekturvurderingen i prosjektet Les pensumlitteratur og spesifikke kilder dere selv finner Tenk her på samme måte rundt produktet (programvaren) som vi la opp til rundt prosessen (systemutviklingsaktivitetene) i punkt 4 og punkt 7 i prosjektplan. trekk frem karakteristika fra deres utviklingsscenario og kravspesifikasjon (funksjonelle og ikke-funksjonelle) som er arkitekturbestemmende og kommenter hvilke implikasjoner disse gir. Diskuter + / - ved de å bruke de ulike arkitekturmodellene i deres setting. NB! Husk at dette ikke skal være noen teoretisk innføring i modellene. Bestem dere for arkitektur i deres programvare (evt. en kombinasjon av flere grunnmodeller) og dokumenter så hvordan arkitekturen deres blir med utgangspunkt i dette. Figurer og beskrivelser i en kombinasjon. Det er ikke noe krav å bruke RUP, men prinsippet den har med å vise den fremtidige programvaren sett fra ulike perspektiver har stor nytte. Velg et relevant dypdykk ut fra deres prosjektsetting. Veiledningen (etter påske) blir annerledes denne gangen. Dere forventes å spille en mer aktiv rolle.

Fra OOA til OOD Ved å benytte Objektorienterte metoder både i analyse og design i et programutviklingsprosjekt kan man bygge videre på de spesifikasjoner og modeller man allerede har bygget når man skifter fokus fra HVA til HVORDAN. Kjernen innen Objektorientert Design er å øke bevisstheten rundt plassering av ansvar på de ulike enhetene (komponentene/klassene) i løsningen. Målet er å utvikle en løsning preget av komponenter/klasser med høy funksjonell styrke og lave koblinger. Gevinsten ligger i en programvare som er mer vedlikeholdbar, tilpasningsdyktig og fleksibel. Design Klassediagram og Sekvensdiagrammer er sentrale UMLdiagrammer innen objektorientert design.

Hva er ObjektOrientert Design? Bevissthet i tildeling/fordeling av ansvar til softwareklasser for å ivareta systemoperasjonene. Vi dekker kun Grunnleggende prinsipper for ansvarstildeling Ansvar som kan ligge på et objekt (hentet fra Craig Larman): Handling (Doing) : Doing something itself, such as creating an object or doing calculation Initiating action in other objects Controlling and coordination activities in other objects Kunnskap (Knowing): Knowing about private encapsulated data Knowing about related objects Knowing about things it can derive or calculate

UML-Diagrammer i Design Vi ser på tre UML-diagrammer som benyttes i OOD : Design Klasse Diagrammet (Class Diagram - et diagram for hele løsningen ) Sekvensdiagrammet (Sequence Diagram - ofte et diagram pr. Use Case ) Tilstandsdiagrammet (State Diagram - dekker sentrale tilstander et sentralt objekt i løsningen kan ha og hva som trigger endring) Vi flytter nå fokus over fra modeller av den virkelige verden til modeller av innholdet i programvaren. Dermed introduseres en rekke programvarespesifikke klasser som tildeles ansvar for å realisere kravene. Grensesnittklasser og Prosesskontrollklasser er eksempler på det.

Figure 7.2 Weather station use cases

Figure 7.3 Use case description - Report weather(sommerville) System Use case Actors Description Stimulus Response Comments Weather station Report weather Weather information system, Weather station The weather station sends a summary of the weather data that has been collected from the instruments in the collection period to the weather information system. The data sent are the maximum, minimum, and average ground and air temperatures; the maximum, minimum, and average air pressures; the maximum, minimum, and average wind speeds; the total rainfall; and the wind direction as sampled at fiveminute intervals. The weather information system establishes a satellite communication link with the weather station and requests transmission of the data. The summarized data is sent to the weather information system. Weather stations are usually asked to report once per hour but this frequency may differ from one station to another and may be modified in the future.

Figure 7.4 High-level architecture of the weather station

Figure 7.5 Architecture of data collection system

Figure 7.6 Weather station objects

Figure 7.7 Sequence diagram describing data collection

Figure 7.8 Weather station state diagram

Figure 7.9 Weather station interfaces

Hvordan angripe OOD-temaet? Bruk de tre eksemplene vi har tatt for oss i tilknytning til emnet i semesteret : Biblioteksløsningen, Monopoleksemplet og OL- Veiviseren. Tenk gjennom hvilke brikker må på plass i programvaren for å løse de samlede funksjonelle krav. - skisser sekvensdiagram for sentrale Use Case (Lån bok, Reserver bok, Send purring) (Sett opp spill, Spill omgang) ( Vis Ti-på-topp, Generer reiserute) - ta utgangspunkt i Konseptuelt klassediagram og legg på operasjoner på klassene + legg inn nye programvarespesifikke klasser (grensesnittklasser og kontrollerklasser) - skisser tilstandsdiagram for sentrale klasser (Eksemplar, Brikke, Publikummer)