Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

© 2005 Mesan AS. All rights reserved. Σ Java EE - fra vugge til grav Utvikling av komplekse Java EE-systemer med fokus på livssyklus Lars Reed, 15. september.

Liknende presentasjoner


Presentasjon om: "© 2005 Mesan AS. All rights reserved. Σ Java EE - fra vugge til grav Utvikling av komplekse Java EE-systemer med fokus på livssyklus Lars Reed, 15. september."— Utskrift av presentasjonen:

1 © 2005 Mesan AS. All rights reserved. Σ Java EE - fra vugge til grav Utvikling av komplekse Java EE-systemer med fokus på livssyklus Lars Reed, 15. september 2005

2 © 2005 Mesan AS. All rights reserved. Σ Dagens tekst •Typiske utfordringer etter et utviklingsprosjekt… –… og hva kan vi gjøre med det Målsetning : Sikre kvalitet og effektivitet både ved utvikling og i vedlikehold

3 © 2005 Mesan AS. All rights reserved. Σ Tilbake til hverdagen •Rare feil… •Mangler dokumentasjon •Finner ikke frem i koden •Ytelsesproblemer –Skaleringsproblemer •Vanskelig å legge til nye funksjoner –Vanskelig å lære opp en ny… –Tenk om noe viktig slutter å virke… •Krav om nye kanaler •Rakk ikke å teste alt… •Rakk ikke å skrive den… •Mange rare påfunn… •Rakk ikke å tune… –Etterpåklokskap… •Arkitekten har sluttet… –Har ikke oversikt… –Rekker ikke å teste alt på nytt •Må vel begynne på nytt? Prosjektet er over, kaken er spist – hvor er vi nå?

4 © 2005 Mesan AS. All rights reserved. Σ •Hjeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeee eeeeeelp!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!! Tilbake til hverdagen 2 •Må porte til ny Javaversjon og databasesystem og Windowsversjon og integrere det nye lønnsystemet med Web Services og få på 200 nye brukere hvorav mange på mobil og dobling i datavolum og noens oldemor. YAGNI ?

5 © 2005 Mesan AS. All rights reserved. Σ Tid Kostnad Applikasjonens livssyklus Endring • Modellering • Utvikling • Debugging • Testing • Implementering • Utrulling • Dokumentasjon Utvikling Vedlikehold • Stadig utvikling mht produksjon, distribusjon, support og administrative prosesser • Sammenslåinger og oppkjøp • Endrede internasjonale og nasjonale lover og regler • Nye produkter og tjenester Hva er det som koster?

6 © 2005 Mesan AS. All rights reserved. Σ Og når betaler vi for det?

7 © 2005 Mesan AS. All rights reserved. Σ Modellen i sentrum! DRY (1=1)

8 © 2005 Mesan AS. All rights reserved. Σ Klassemodell

9 © 2005 Mesan AS. All rights reserved. Σ MDA •Object Management Group: “Model Driven Architecture” Fokus: •Invester i avanserte modeller som vil vare •Ikke kode- eller plattform-APIer som endrer seg årlig •Modeller kan være “broen” når teknologi skal skiftes ut OMG: Etablert i 1989, konsortium på over 800 medlemmer. Standardisert rammeverk for systemutvikling

10 © 2005 Mesan AS. All rights reserved. Σ Platform Independent Model Code Model Platform Specific Model MDA-modellen • PIM –Platform Independent Model (PIM) representerer forretningsfunksjonalitet, egenskaper og relasjoner uten teknologidetaljer • PSM –Genererer en Platform Specific Model (PSM) fra PIM modellen (J2EE,.NET, Web Services etc) • Code Model –Genererer kode basert på PSM modeller –Skriver tilleggslogikk i “free blocks” i kildekoden QVT

11 © 2005 Mesan AS. All rights reserved. Σ Utviklingsløp, MDA Tradisjonell modellbasert utvikling Utvikling med MDA Forstudie/ spesifikasjon Forretnings- modell Krav System- arkitektur Analyse design Domenemodell Krav Samarbeid Tilstand Sekvens RealiseringTest Realisering Klassediagram Objektdiagram Samarbeid Sekvens Test Domene- modell

12 © 2005 Mesan AS. All rights reserved. Σ Arkitektur

13 © 2005 Mesan AS. All rights reserved. Σ Designet for drift (og vedlikehold) •Skalerbarhet •Konfigurering •Logging / lytting / feilhåndtering •Dokumentasjon / oversikt •Brukermedvirkning: driftspersonell

14 © 2005 Mesan AS. All rights reserved. Σ Designet for endringer •Redusere avhengigheter •Tjenester, lagdeling •Tabellverk etc •Dynamisk konfigurasjon  Lines of handcrafted code –J2EE Pet Store using OptimalJ – 610 –J2EE Pet Store – 14,273  On average the developer wrote only one to four lines of Java code manually for each 200 lines generated automatically  Upgrading to EJB 2.0 [from EJB 1.1] –Took less than 30 minutes to upgrade -- Electronic Data Systems validating OptimalJ

15 © 2005 Mesan AS. All rights reserved. Σ Etabler gullstandarden •1. inkrement = “ System GOLD” –Gjør “alt riktig” –Prøv ut standarder, maler og rutiner –Holdes levende •“Se her”:

16 © 2005 Mesan AS. All rights reserved. Σ Standardisering

17 © 2005 Mesan AS. All rights reserved. Σ Eksempel: Dialogstandard “Kokebok” for design av brukergrensenitt. Vil variere mellom plattformer. •Høynivå: Hvordan implementere typiske modellkonstellasjoner. •Lavnivå: Bruk av fonter og farger

18 © 2005 Mesan AS. All rights reserved. Σ Eksempel Etablere mange-mange-forhold

19 © 2005 Mesan AS. All rights reserved. Σ Standarder & QA •Standarder må holdes i hevd –QA –Levende standarder –“No Broken Windows” •QA er mer enn JUnit

20 © 2005 Mesan AS. All rights reserved. Σ Eksempel på QA-rutiner •QA på design & testmanus –Intern og med brukere •Programmerers test & sjekklister •Automatiske tester •Kodelesing –Kode & tester, manuelt & automatisk •Enhets- og integrasjonstest •System- og -integrasjonstest •Akseptanse- og produksjonstest •Feil- & endringsregister –Verktøy… –Leveransekontroll knyttet til feil & endringer –Styring av tester

21 © 2005 Mesan AS. All rights reserved. Σ Teknikker

22 © 2005 Mesan AS. All rights reserved. Σ Utviklings- team Utviklings- team Arkitekter Definere • Overordnet applikasjons- arkitektur • Plattformekspertise • Standarder for teknologi og utvikling • Best Practices, metodikk • Patterns, maler • Modeller Implementere • Applikasjons- arkitektur • Teknologi- standarder • Utviklings- retningslinjer • Best practices, metodikk • Patterns, maler • Modeller Revidere og korrigere û Arkitektur ikke korrekt implementert û Teknologistandarder ignorert û Avvik fra utviklings- retningslinjer û Feiltolkning av Best Practices û Patterns/maler ikke benyttet û Modeller duplisert Tradisjonell prosess

23 © 2005 Mesan AS. All rights reserved. Σ Utviklings- team Utviklings- team Arkitekter Kunnskapsflyt i MDA Platform Independent Model Code Model Platform Specific Model Teknologi- transformasjon Teknologi- transformasjon Kode- transformasjon Kode- transformasjon Definere • Overordnet applikasjons- arkitektur • Plattformekspertise • Standarder for teknologi og utvikling • Best Practices, metodikk • Patterns, maler • Modeller + transformasjoner

24 © 2005 Mesan AS. All rights reserved. Σ Driftsløp SystemleverandørDriftsleverandør Kunden Test- opplegg Vedlikeholder System Monitorering Årsak/ Analyse Årsak/ Analyse Tilbakemelder

25 © 2005 Mesan AS. All rights reserved. Σ Verktøy

26 © 2005 Mesan AS. All rights reserved. Σ OJ PIM  Domain model PSM  Application model Code model Transformation patterns Functional patterns Technology patterns Implementation patterns Domain patterns Application patterns Service PresentationCommonDbms Business logic Business facade Class Code patterns SQL Java EJB Config JSP BPM

27 © 2005 Mesan AS. All rights reserved. Σ Testverktøy •Utfør tester•Se på dekningsgrad

28 © 2005 Mesan AS. All rights reserved. Σ Ytelsesanalyse

29 © 2005 Mesan AS. All rights reserved. Σ Kodelesing

30 © 2005 Mesan AS. All rights reserved. Σ Kodelesing •Mange verktøy, mange ambisjoner –Ymse formater •Konvertering •Ukens trekløver…: FindBugs, DocCheck, PMD

31 © 2005 Mesan AS. All rights reserved. Σ Dokumentasjon

32 © 2005 Mesan AS. All rights reserved. Σ Prosess / kontrakt

33 © 2005 Mesan AS. All rights reserved. Σ Inkrementell og iterativ utvikling

34 © 2005 Mesan AS. All rights reserved. Σ Prosess vs kontrakt •Kontrakt kan hemme eller understøtte prosess –Må være tilpasset •Både utvikling og vedlikehold / forvaltning F.eks. PS2000 F.eks. Dataforeningens vedlikeholds- kontrakt UtviklingForvaltning

35 © 2005 Mesan AS. All rights reserved. Σ En bedre hverdag •Rare feil… •Mangler dokumentasjon •Finner ikke frem i koden •Ytelsesproblemer •Vanskelig å legge til nye funksjoner –Vanskelig å lære opp en ny… –Tenk om noe viktig slutter å virke… •Kanaler, versjoner, … •Generert kode=færre feil Automatisk test •Dokumentasjon i modell og kode •Kodestandarder, gullstandard, navigasjon via modellen •Avslørt underveis •Standarder, verktøy, maler… –Mer enhetlig, finnes dok., gullstd. –Automatisk regresjonstesting •Verktøy, modell

36 © 2005 Mesan AS. All rights reserved. Σ [OPPSUMMERING]


Laste ned ppt "© 2005 Mesan AS. All rights reserved. Σ Java EE - fra vugge til grav Utvikling av komplekse Java EE-systemer med fokus på livssyklus Lars Reed, 15. september."

Liknende presentasjoner


Annonser fra Google