INF5120 Modellbasert Systemutvikling Modelbased System development

Like dokumenter
INF5120 Modellbasert systemutvikling

INF5120 Modellbasert Systemutvikling Modelbased System development

A Study of Industrial, Component-Based Development, Ericsson

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

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

INF5120 Modellbasert Systemutvikling Modelbased System development

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

Two parts of a Harmonized Whole

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

Invitation to Tender FSP FLO-IKT /2013/001 MILS OS

Server-Side Eclipse. Martin Lippert akquinet agile GmbH

EN Skriving for kommunikasjon og tenkning

verktøyskrin Grafisk profil ved Norges teknisk-naturvitenskapelige universitet

Examination paper for TDT4252 and DT8802 Information Systems Modelling Advanced Course

EXAM TTM4128 SERVICE AND RESOURCE MANAGEMENT EKSAM I TTM4128 TJENESTE- OG RESSURSADMINISTRASJON

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

verktøyskrin Grafisk profil ved Norges teknisk-naturvitenskapelige universitet

Information search for the research protocol in IIC/IID

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

Uke 5. Magnus Li INF /

Slope-Intercept Formula

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

Forslag til løsning. Oppgave 1

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

Public roadmap for information management, governance and exchange SINTEF

INF5120 Eksamen Løsningsforslag Oppgave 1a,b COMET

Han Ola of Han Per: A Norwegian-American Comic Strip/En Norsk-amerikansk tegneserie (Skrifter. Serie B, LXIX)

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

Erfaringer fra en Prosjektleder som fikk «overflow»

HONSEL process monitoring

Moving Objects. We need to move our objects in 3D space.

INF5120 Oblig gjennomgang

GeWare: A data warehouse for gene expression analysis

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

INF 5120 Obligatorisk oppgave Nr 2

Baltic Sea Region CCS Forum. Nordic energy cooperation perspectives

Europeiske standarder -- CIM og ENTSO-E CGMES. Svein Harald Olsen, Statnett Fornebu, 11. september 2014

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

The Future of Academic Libraries the Road Ahead. Roy Gundersen

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

Innovasjonsvennlig anskaffelse

Distributed object architecture

Endelig ikke-røyker for Kvinner! (Norwegian Edition)

Smidige metoder i praksis Høgskolen i Oslo Kristin Meyer Kristiansen Objectnet AS

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

Distributed object architecture

Hybrid Cloud and Datacenter Monitoring with Operations Management Suite (OMS)

INF2270 Datamaskinarkitektur

Capturing the value of new technology How technology Qualification supports innovation

EXAM IN COURSES TDT4252 MODELLING OF INFORMATION SYSTEMS- ADVANCED COURSE. DT8802 MODELLING OF INFORMATION SYSTEMS (English version)

Emnedesign for læring: Et systemperspektiv

Internasjonal standardisering. Erlend Øverby

Databases 1. Extended Relational Algebra

Digital Transformasjon

5 E Lesson: Solving Monohybrid Punnett Squares with Coding

Emneevaluering GEOV272 V17

Multimedia in Teacher Training (and Education)

Itled 4021 IT Governance Fra IT-strategi til digital forretningsstrategi og plattformer

SRP s 4th Nordic Awards Methodology 2018

Neural Network. Sensors Sorter

En praktisk anvendelse av ITIL rammeverket

Bostøttesamling

... Annita Fjuk DESIGN THINKING

Forelesning IMT Mars 2011

INF2270 Datamaskinarkitektur

Endringsdyktige og troverdige systemer

21. Objektorientert Analyse (OOA) Kap. 21 Objektorientert Analyse (OOA)

UNIVERSITETET I OSLO

Generalization of age-structured models in theory and practice

ISO 41001:2018 «Den nye læreboka for FM» Pro-FM. Norsk tittel: Fasilitetsstyring (FM) - Ledelsessystemer - Krav og brukerveiledning

MID-TERM EXAM TDT4258 MICROCONTROLLER SYSTEM DESIGN. Wednesday 3 th Mars Time:

Hvordan føre reiseregninger i Unit4 Business World Forfatter:

Hva kan sykehjem lære av sykehusdrift, innen digitalisering? Tor Åsmund Evjen Rådgiver digital samhandling St. Olavs Hospital

Bruk av HP Quality Center med smidige utviklingsmetoder. HP Sofware Norge

Stationary Phase Monte Carlo Methods

Microsoft Dynamics C5 Version 2008 Oversigt over Microsoft Reporting Services rapporter

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

STILLAS - STANDARD FORSLAG FRA SEF TIL NY STILLAS - STANDARD

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

HVILKE ENDRINGER KAN BRANSJEN FORVENTE SEG FREMOVER SETT FRA ET BRUKERPERSPEKTIV CHRISTIAN HEIBERG, EXECUTIVE DIRECTOR CBRE AS NORSK EIENDOM

Software Requirements and Design (SRD) 1 Generelt om dokumenter

Smart High-Side Power Switch BTS730

Virksomhetsarkitektur (VA) og rammeverk

Verifiable Secret-Sharing Schemes

matematikk s F4814A8B1B37D77C639B3 Matematikk S1 1 / 6

From Policy to personal Quality

Dynamic Programming Longest Common Subsequence. Class 27

Hva kreves av en god byggherre? «Store utbyggingsprosjekter», 23. okt 2014

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

IEA PVPS. Trond Moengen. Global co-operation towards sustainable deployment of photovoltaic power systems

Graphs similar to strongly regular graphs

koordinering og samhandling i perioperativt arbeid

Grunnlag: 11 år med erfaring og tilbakemeldinger

Transkript:

INF5120 Modellbasert Systemutvikling Modelbased System development Forelesning 22.01.2007 Arne-Jørgen Berre 1 Velkommen til INF5120 Modellbasert Systemutvikling Modellbasert Systemutvikling Tidligere: Modellering med objekter http://www.uio.no/studier/emner/matnat/ifi/inf5120/v07/ Forelesere: Arne-Jørgen Berre Brian Elvesæter Gøran Olsen, Arnor Solberg Email: inf5120-forelesere@ifi.uio.no Øvingsansvarlige: Svein Melby, Rudin Gjataj, Mansur Abbasi Email: inf5120-oppgaver@ifi.uio.no 2 1

Målsetning med faget Modellbasert Systemutvikling - gjennom modellering med objekter 2 roller: 1) Utvikler av en tilpasset utviklingsomgivelse (Software Factory) 2) Utvikler av ett system som skal integreres med eksisterende system, (bruker av en tilpasset utviklingsomgivelse). Objektorientert -> Komponentbasert -> Tjenestebasert utvikling Gjenbruk Lære teknikker Unified Modeling Language (UML 2.0) for arkitektur m.m. Meta Modellering og modelltransformering * MDA Modell drevet arkitektur med modelltransformasjoner SOA Service (Tjeneste) orienterte arkitekturer MDI Model Driven Interoperability 3 Undervisning Forelesninger Dekker utvalgte deler av teorien i bok og kompendium Hovedboken gir en oversikt som kurset detaljerer videre gjennom forelesninger og øvinger Rekkefølge i innhold 2007: Først teori og verktøy for modellering og metamodellering med transformasjoner Deretter anvendelse av dette for en utviklingsomgivelse for å bygge SOA-baserte og interoperable/integrerte systemer Øvinger Bruke forelest stoff i praksis Case-oppgave på eksamen Eksempler i forelesninger og øvingstimer 4 2

Praktisk Forelesninger m/øvinger mandager 14.15-17.00 (3A) 10 studiepoeng, skriftlig, åpen bok eksamen Først en individuell obligatorisk oppgave i to deler rundt metamodellering og transformasjoner og bruk av verktøy ATL og MOFScript Deretter en obligatorisk gruppeoppgave, i to deler, med gruppepresentasjon og innlevering. Papirkopier av foiler på forelesning Oppdatert web før neste forelesning (29/1) 5 Rekkefølge i innhold 2007 Kurset vil lære studentene om bruk av meta modellering for å bygge domenespesifikke språk, UML profiler og prosjekt tilpassede utviklingsomgivelser for modellbasert systemutvikling. Del 1 av kurset vil fokusere på teori-basis for, og praktisk anvendelse av, meta modellering. Først rundt OMG standarder for MDA, med bruk av Eclipse og IBM Rational Software Modeler/Architect med modelltransformasjoner med ATL/QVT og MOFScript/MOF2Text. Del 2 av kurset blir dette så benyttet for å lage og deretter anvende en utviklingsomgivelse for Interoperable/Samvirkende systemer, basert på en SOA arkitektur. Del 3 av kurset ser vi på utvidelser basert på MDI Modelldrevet Interoperabilitet 6 3

Pensum litteratur F Foiler fra alle forelesningene, F1 F15 Bok: Model-Driven Software Development: Technology, Engineering, Management (Paperback) by Thomas Stahl, Markus Voelter, Krzysztof Czarnecki Handbook: COMET Methodology, A.J. Berre & B. Elvesæter Handbook: MDI - Model Driven Interoperability, A.J. Berre & B. Elvesæter ATL - http://www.eclipse.org/gmt/atl/ og http://www.modelbased.net/ MOFScript - see http://www.eclipse.org/gmt/mofscript/ 7 INF5120 - Forelesninger - 2007 AJB: Arne-Jørgen rgen Berre, BRE: Brian Elvesæter GKO: Gøran K. Olsen MDSU (Bok 1 part 1 og 2) fra 22/1 1 22-1: Introduction to MBSU, MDA, OO and modeling (M1-M5) 2: Metamodeling and UML profiles, MDA technologies (Eclipse technologies) (M2, M4, M6) 3: Language Engineering and DSL (M8) 4: Model transformations with ATL and other technologies (M10, M11 5: Code generation with MOFScript and other technologies (M9 COMET New development (Bok 1 part 3, Bok 2) fra 26/2 6 26-2: Method Engineering and Process and COMET overview (M13) 7: COMET EA and Business Modeling - Enterprise Modeling and Enterprise Architecture (EA) 8: Requirements Engineering and Use cases (and Agile methods and modeling), Patterns and aspects 9: SOA Architectures and platforms (SOA) and COMET Architecture Modeling and PIM4SOA and UPMS 10: PIM and Web Services teknologi (PSM) med WSDL/XML/BPEL (og agenter) (IESA)? Roy, Luis, MDI (Bok 3) - fra 16/4 11 16/4: Interoperability and MDI EIF and EIM 12: Ontologies and Semantic web and Modeling 13. NFA, OCL and QoS -? 14. MDI in practice Trends and future 15. 14/5 Course summary 8 4

Øvingsplan Øvinger verktøy - del 1 1: Introduksjon til kurset 2: RSM og Eclipse (Mansur, Svein ) 3: EMF og UML profiler (EMF, GMF tutorial) (Svein) 4: ATL (ATL tutorial) (Svein) 5: MOFScript (MOFScript tutorial) (Svein) Del 2 6: Oblig 1a (EMF, ATL) - gjennomgang 7: Oblig 1b (MOFScript) - gjennomgang Oblig 1, verktøy,individuell Oblig 2, grupper 8: Oblig 2a grupper 9: Oblig 2a grupper 10: Oblig 2a grupper Del 3 11: Oblig 2a gjennomgang 12: Oblig 2b grupper 13. Oblig 2b grupper 14. Oblig 2b gjennomgang 15. Gamle Eksamensoppgaver 9 Model-Driven Software Development Part I. Introduction (1-5) Part II Domain architectures (6-12) Part III Processes and Engineering (13-17) Part IV Management (18-20) 10 5

Model-Driven Software Development 1. Introduction 2. MDSD Basic ideas and terminology 3. Case-study: A typical Web application 4. Concept Formation 5. Classfication 6. Metamodeling 7. MDSD-capable target architectures. 8. Building Domain Architectures 9. Code Generation Techniques 10. Model transformations with QVT 11 Model-Driven Software Development 11. MDSD Tools: Roles, architecture, selection criteria, and pointers 12. The MDA standard 13. MDSD Process building blocks and best practices 14. Testing 15. Versioning 16. Case study: Embedded component infrastructures 17. Case study: An Enterprise system 18. Decision support 19. Organisational aspects 20. Adoption strategies for MDSD A. Model transformation code: QVT relations/mappings 12 6

Krav og forutsetninger Ingen formelle krav (student ved UiO) Kunnskaper tilsvarende INF-31(41)20, og INF5040 vil være en fordel Egeninnsats til lesing om UML notasjon (ref. også INF2120) (UML undervises nå i fag på lavere grad) se egne støttebøker (Vi har en forelesning om nyheter i UML 2.0) 13 UML 2.0 UML 2.0 og SysML Background and Reference material See www.uml-forum.com/specs.htm Også hos OMG: http://www.omg.org/uml/ (UML) http://www.omg.org/mda/ (MDA) http://www.omg.org/cwm/ (MOF, XMI, CWM) 14 7

UML 2.0 støttebok: The Unified Modeling Language Reference Manual, Second edition (ISBN 0-321-24562-8) (J. Rumbaugh, Booch, Jacobsson) 1: UML overview 2: The Nature and Purpose of Models 3: UML Walkthrough 4: Static View 5: Design View 6: Use Case View 7: State Machine View 8: Activity View 9: Interaction View 10: Deployment View 11: Model Management View 12: Profiles 13: UML Environment X: Reference Alphabetical definitions/examples, page 129-685 15 UML 2.0 støttebok: The Unified Modeling Language User Guide Second edition (ISBN 0-321-26797-4) (G, Booch, J. Rumbaugh, Jacobsson) 16 8

Anbefalt UML bok UML 2 and the Unified Process : Practical Object-Oriented Analysis and Design (2nd Edition) (Addison-Wesley Object Technology Series) (Paperback) by Jim Arlow, Ila Neustadt 17 other UML reference books UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition covering UML 2.0) by Martin Fowler, Kendall Scott Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process (3rd Edition) by Craig Larman Object-Oriented Modeling and Design with UML (2nd Edition), J. Rumbaugh et. al., 2005, ISBN: 0130159204 Aspect-Oriented Software Development with Use Cases (Addison-Wesley Object Technology Series) by Ivar Jacobson, Pan-Wei Ng, 2005 18 9

Eksamen Case-basert oppgave (ref. tidligere eksamen) Alle skriftlige hjelpemidler er tillatt 09-12 (3 timer) tentativt, mandag 4. juni eller 11. juni, 2007 19 Modeller og modellering 20 10

Dealing with Complexity and Change Working at the right level of abstraction OO dealing with complexity objects -> components -> services *SOA Design by contract, role composition Aspect-oriented programming Use of patterns Visual Modeling (MDA) Arkitektur 21 Diskusjon Modellbasert Systemutvikling Sett dere sammen i grupper a 2-3 og diskuter begrepet: Modellbasert systemutvikling (5 min) 22 11

Objektorientert Modellering 23 OOAD metoder Class Phase Traditional SA/SD/ERA ANALYSIS DESIGN DETAILED DESIGN SA - Yordon SD - Page Jones ERA - Chen ER-Rel.db - 3NF SA-based OO ERA-based OO Hybrid SA/ERbased OO SD-basert OO Ada(C++)-based SDL-based OO OO-based OO RT SA - Wards OOA/OOD - Coad/Yordon OMT - Rumbaugh et. al OOAD - Martin/Odell Fusion - HP OOSD - Wasserman HOOD - ESA OOAD - Booch (93 w/c++) OSDL-92 - CCITT/Bræk et. al OOSE/ObjectOry - Jacobson RDOOD - Wirfs-Brock et. al CRC-cards - Cunningham OOram - Reenskaug et. al Catalysis, Syntropy, SOMA, OBA, BHS,... UML (96) Booch/OMT/ObjectOry 24 12

Evolution of the UML Submission of UML 1.1 to OMG for adoption, Sept 97 UML 1.0 UML 2.0 (2004) UML 1.4 UML 1.1 (Sept. 1997) Taskon, SINTEF public feedback June 96 & Oct 96 OOPSLA 95 UML 0.9 & 0.91 Unified Method 0.8 UML Partners Expertise Booch 93 OMT - 2 Other methods Booch 91 OMT - 1 OOSE 25 Hvorfor UML: Systemkompleksitet Enhet Enhet Omgivelse Subsystem Subsystem System 26 13

Hvorfor UML: Felles beskrivelse System Mental model arealworldphenomena A model is created for a purpose A model is never complete We think in multiple models The world is rarely hierarchical Manifest Model Objects 27 Evolution of methodologies OOram Catalysis Pulse 1995-1999 2000 OMT UML Components 2001 KobrA Booch UML1.0 Objectory UML1.1 Notation UP UML1.2 RUP UML1.3 UML1.4 UML4EDOC Process 2002 COMET UML2 28 14

Objektorientering, Begreper og konsepter Basis tanker Objekt Modellering Basis konsepter Klassifisering / Typer / skaping av individer Innkapsling Deling og Arv Polymorfi og dynamisk binding CRC kort 29 Historisk fokus Kvalitet og Produktivitet Modellering (mdlg) Abstraksjon og Modularisering Gjenbruk og Vedlikehold Funksjonell mdlg ( -55 -> ) Data mdlg (-60 ->) Simula 1967 + mdlg av individer mdlg av individers oppgave ( -70 ->) Oppgave-behandlere / saksbehandlere [Oppgavefokus] SW Engineering + komplekse systemer fra velprøvete deler Abstrakte Data Typer 1965- Klassifisering Ferdiglagete deler / komponenter av gitt type [Eksterne egenskaper] Biblioteker ( -55 -> ) Komponenter og rammeverk ( -80 -> ) Patterns (-90 -> ) Vedlikehold kostbart Økende kompleksitet / størelse. [modulbygging] Splitt og hersk : store, komplekse problemer deles opp i et sett av små, selvstendige og enkle problemer. (i ett eller flere trinn!) 30 15

Skandinavisk Modellerings-perspektiv (Fra Simula) A program execution is regarded as a physical model, simulating the behaviour of either a real or imaginary part of the world. A physical model consists of objects, each object is characterized by attributes and a sequence of actions. Objects organize the substance aspect of phenomena, and transformations on substance are reflected by objects executing actions. Objects may have part-objects. An attribute may be a reference to a part object or to a separate object. Some attributes represent measurable properties of the object. The state of an object at a given moment is expressed by its substance, its measurable properties and the actions going on then. The state of the model is the states of the objects in the model. 31 Basis for OO Teknologi Kvalitet og Produktivitet Modellering Abstraksjon og Modularisering Gjenbruk og Vedlikehold Klassifisering/ Instansiering Innkapsling Deling Arv Polymorfisme Objekt Modell 32 16

Objektorientert Modell En objektorientert modell er en (simulerings) modell som består av samspillende objekter i interaksjon med hverandre. En parallell i virkeligheten : en bil. Den består av et sett deler / komponenter som samvirker i et gitt mønster. ( ikke alle påvirker alle andre direkte; interaksjonene/samspillet er diktert av oppgaver og hensikt) 33 OO - SYN PÅ VERDEN SAMSPILLENDE OBJEKTER. Hvert Objekt: har klart ansvar vet om samarbeis partnerene er robust Ingen vet om det hele! Monolitisk Data storage Internal storage Disc 34 17

System and objects A system is a part of the real world which we choose to regard as a whole, separated from the rest of the world during some period of consideration. A whole that we choose to consider as a collection of objects, each object being characterized by attributes and by actions which may involve itself and other objects. Mental modell Real-World phenomenon Manifest Model 35 Object oriented modeling arealworld- Phenomena anobjectmodel rolemodels animplemented System Environment Model environment Mental model Real-World phenomenon System model Manifest Model 36 18

Noen ord om Objekt-Orientering En filosofi ; en måte å betrakte verden på En måte å spesifisere systemer på En måte å designe systemer på En måte å programmere systemer på Alt er objekter Det som skjer, hender ved at objekter agerer i samspill Peker mot oppdeling, distribusjon og delegering 37 OO Programming Terminology Encapsulation Object Message Method Class Instance Inheritance Polymorphism Dynamic (Late) Binding 38 19

CRC Method, class, responsibilities, and collaborators Method to learn the most basic OO concepts plus OO thinking The most effective way of teaching the idiomatic way of thinking with objects is to immerse the learner in the "object-ness" of the material. To do this we must remove as much familiar material as possible, expecting that details such as syntax and programming environment operation will be picked up quickly enough once the fundamentals have been thoroughly understood. Technique also very useful during informal and creative analysis and design Created by Kent Beck and Ward Cunningham, Textronix, 1989 39 The CRC-Card an object of paper personalizing the object Class (Name): Responsibility: Collaborators: 40 20

Class, responsibilities, and collaborators Class The class name of an object creates a vocabulary for discussing a design. Indeed, many people have remarked that object design has more in common with language design than with procedural program design. We urge learners (and spend considerable time ourselves while designing) to find just the right set of words to describe our objects, a set that is internally consistent and evocative in the context of the larger design environment. Responsibilities Responsibilities identify problems to be solved. The solutions will exist in many versions and refinements. A responsibility serves as a handle for discussing potential solutions. The responsibilities of an object are expressed by a handful of short verb phrases, each containing an active verb. The more that can be expressed by these phrases, the more powerful and concise the design. Again, searching for just the right words is a valuable use of time while designing. Collaborators Objects which will send or be sent messages in the course of satisfying responsibilities. Collaboration is not necessarily a symmetric relation. For example in Smalltalk, View and Controller operate as near equals while OrderedCollection offers a service with little regard or even awareness of its client. 41 CRC is Not distinguishing between Object Instance and Class It is not needed because the CRC-methods physical aspects where each class description becomes an individual physical object, a filing card. This enables the double role of class and object in discussion and analysis with no confusions. It gives an benefit the number of concepts to be handled and mastered are kept to a minimum!! 42 21

Card Playing Rules - Notation Every card represents possibly several objects at the same time (if needed) Overlapping cards implies close collaboration Positioned above a card implies that the object is controlled by this card A stack of cards implies hierarchical detailing of abstractions - the most abstract card is placed on top and represents the rest of the hierarchy 43 Card Playing Rules - Process Regard the cards as objects Start with the known, evolve towards the unknown Evolve design by 'playing' through scenarios (simulate execution) pick up the object which is executing and identify yourself with it create new objects or responsibilities founded on requirements / needs emerging during simulation. (not for some hypothetical future needs) Work in a team. A single person will have difficulties finding all requirements or scenarios. 44 22

UML og ( R )UP Two parts of a Harmonized Whole Unified Modeling Language Process Convergence Today Unification leads to standards Convergence in the future Process frameworks through consensus 45 UML Structural Modeling Class Diagram Object Diagram Component Diagram (new in UML 2.0) Package Diagram Deployment diagram 46 23

UML Behavioral Modelling Use Case Diagrams Interactions Sequence diagrams (enhanced in UML 2.0) Timing diagrams (new in UML 2.0) Interaction overview diagrams (new in UML 2.0) Communication diagrams (i.e. collaboration diagram) State machine diagrams (enhanced in UML 2.0) Activity Diagrams (enhanced in UML 2.0) 47 Different kind of models Conceptual models Specification models Implementation models 48 24

Utvikling/Trender for Utviklingsprosesser 1960-1979 1980-1999 2000-2019? Fossefallsmodell Funksjonell design -Skalerings-økonomi Egne verktøy 100% skredder Ad hoc prosess Alltid: over tid/kost Prosess forbedring Innkapslings-basert -Skalerings-økonomi Uavhengige verktøy 30% komp 70% eget Gjentakbare prosess Uvisst: til tid / kost Iterativ utvikling Komponent-basert ROI Integrerte verktøy 70% komp 30% eget Admin/Målt prosess -Oftest: til tid og kost Source: Software Project Management, A Unified Framework, Walker Royce, Addison-Welsey, 1998 49 10 viktige prinsipper for moderne systemutvikling Arkitektur-orientert tilnærming Iterativ livs-syklus prosess Komponentbasert utvikling Endrings-orientert miljø Round-trip engineering Modell-basert notasjon Objektiv kvalitets-kontroll Økende detaljeringsgrad Konfigurerbar prosess 50 25

Unified Process Framework Disciplines Process Components Process Requirements Workflows Analysis Business Modeling Requirements Architecture Level Analysis Design Design Implementation Class Level Test Implementation Deployment Inception Test Supporting Workflows Supporting Components Management Project Management Conf. Mngmt Process Configuration Environment preliminary iteration(s) iter. #1 Phases Elaboration Construction Transition iter. #2 iter. #n iter. #n+1 Iterations iter. #n+2 iter. #m iter. #m+1 51 Faser i livssyklusen Inception (Begynnelse/unnfangelse) Elaboration (Utdyping av planer, beskrivelse av egenskaper og basis arkitektur) Construction (Bygging av produktet) Transition (Overgang til brukere) 52 26

Requirements Analysis Core development disciplines.design Implementation Test 53 SA Find actors and use cases Structure use case model Plan and design test Evaluate test TE UCS Detail a use case Integrate system SI UID Prototype user interface Perform integration tes IT A Prioritise use cases Architectural analysis Arch. Design Arch. Impl Perf.sys. test ST UCE Analyse a use case Design a use case CE Analyse a class/package Design a class/package Implement class/ss -u.test Implement test 54 27

Context Business 0,1 model Goal Model Context statement Vision for change Risk analysis Business Resource Model Business Process & Role Model 0,1 Model world Business model Scoping statements Context statement Vision for change Risk analysis Goal Model Business Resource Model Business Process & Role Model -> WARM Work Element Analysis Model Requirements model Use case model Prototype System Boundary COMET/MODIA instantiation Real world Concepts& Processes Actors Artifacts Business Domain RA Analysis * Busines domain to system domain mapping Work element analysis Use case refinement and RA analysis Architecture model Use case Scenario Model Workflow Service Domain Component structure and internal design Interface and interaction specification Platform specific model UMT Config model Component implementation model PIM Data Types User Service Domain Business Service Domain User Interface Tier User Service Tier User Resource Service Tier Business Service Tier Resource Service Tier RA Presentation Tier UserDialog Tier LA LS RA Component Infrastructure & Workflow Engine ( Microworkflow) Legacy System Domain Deployment 55 Modellbasert Systemutvikling OMG MDA Microsoft DSL Tidligere case-verktøy (4GL) fokuserte på datamodellbasert systemutvikling, i.e. generering av database og skjermbilder fra ER/NIAM/OR modell. Nå ny generasjon med mulighet for egenutviklede språk og metamodeller, inkludert bruk av UML 56 28

OMG Model-Driven Architecture (MDA) www.omg.org/mda 57 Linguistic metamodelling L3 (called M3 in OMG) Class linguistic instance-of linguistic instance-of L2 (called M2 in OMG) Class ontological instance-of Object linguistic instance-of linguistic instance-of L1 (called M1 in OMG) Collie ontological instance-of Lassie represents represents L0 (called M0 in OMG) instance-of 58 29

MDA From 30.000 Feet Use of platform independent models (PIM) as specification Transformation into platform specific models (PSM) using tools 59 MDA From 30.000 Feet J2EE.Net A PIM can be retargeted to different platforms Not the only reason why MDA might be of interest to you 60 30

Automation in Software Development Requirements Requirements Requirements Manually implement Manually implement Manually implement Source in domain-specific language (DSL) High-level spec (functional and nonfunctional) Source in domain-specific language (DSL) Implement with Interactive, automated support Source in a general-purpose language, e.g., Java or C++ Compile (may generate code in Java or C++) (may generate code in Java or C++) Compile Compile Compile Compile Implementation Implementation Implementation 61 MDA and Agile Development MDA is appropriate for agile development Models are not just additional documentation artifacts, but they are the actual source Instant feedback through simulation / rapid code generation Model-based testing Domain-specific modeling languages may simplify communication with your customer 62 31

The Waves of Client/Server Technology First Wave Second Wave Third Wave Fourth Wave Fifth Wave MDA, Web Services,.Net Servers Distributed Server-side Service-oriente Objects componentsc File Database Architecture Servers OMG CORBA J2EE/EJBSOAP, XML COM/OLE COM+ WSDL/WSFL Web/Internett Corba Comp 1982 1986 1990 1994 Java 1998 1999 2000 2001 2002 2004 Groupware TP Monitors Base Source: Client/Server Survival Guide, 1994, 1996 Robert Orfali, Dan Harkey OS/2 Edition, VNR Computer library + AJB update 2004 P2P Agents, Grid FIPA SOA 63 Synchron. request Deferred Synch request Interaction/Pres services User Interface Document model Web interaction XML Message Streaming Event - publish & subscribe Naming service Discovery Trading service Multi Media, QoS Security service User services (application/process) Shared Business Services Data services & Legacy systems Integration service Workflow service System/Use Mngt Server Components Concurrency service Transaction service Persistence service 64 32

WSDL IIS, ASP+ XML/HTML SOAP HTTP UDDI -white -yellow - green pages WebServices WS Security SAML Interaction/Pres services User services (application/process) Shared Business Services Data services & Legacy systems XML/XSLT BPEL4WS Web Transactions? BTS Integration Server, CICS,.. 65 SOA Services Messages Dynamic discovery Web services 66 33

Service Oriented Architecture (SOA) definition A set of components which can be invoked, and whose interface descriptions can be published and discovered (W3C). The policies, practices, frameworks that enable application functionality to be provided and consumed as sets of services published at a granularity relevant to the service consumer. Services can be invoked, published and discovered, and are abstracted away from the implementation using a single, standards-based form of interface. (CBDI) (www.cbdiforum.com) 67 COMET background Methodology frameworks RUP OOram Catalysis OpenProcess Experience KOBRA ATHENA COMET OBOE Daim Select Perspective Commercial projects Telenor EDB Telesciences WesternGeco... ACE-GIS COMBINE Magma 68 34

COMET model architecture Model world Real world Business model Domain model Requirements model Prototype System boundary model Web Services model Web Services profile model Use case Scenario model Risk analysis Product vision & product desc. Other requirements BCE model Service-Oriented Architecture model Component structure model Service interaction model Service interface model. Web Services implementation model User Interface Tier User Service Tier Business Service Tier Resource Service Tier RA Concepts & Artifacts Processes Actors LA LS RA Business domain Technical domain 69 COMET process architecture Phases - organisation along time Models Inception Elaboration Specification&Construction Transition Business Model Requirements Model Architecture Model Platform specific Model Supporting activities Project management Work product management Test Iterations: preliminary iteration(s) iter. #1 iter #2 iter #n iter #n+1 iter #n+2 iter #m iter #m+1 Review milestones: Inception Review Prototype Iteration Launch Technical Audit Product Launch Demonstrator Iteration Launch Demonstrator Iteration Launch Demo / Delivery Beta Test Launch Accept Meeting 70 35

COMET Methodology 71 EIM Enterprise Interoperability Framework Provided Required Enterprise/ Business Processes Services Information/ Data Model-Driven Interoperability Collaborative Enterprise Modelling Cross-Organisational Business Processes Flexible Execution and Composition of Services Information Interoperability Semantics & Ontologies Enterprise/ Business Processes Services Information/ Data 72 36

Virtual Enterprise Provided Required Enterprise A Enterprise Models (POP*) Process Organisation Product and Information Decision and Policy Model-Driven Interoperability Management & NFA Cross-Organisational Business Processes Cross-Organisational Role Interactions Product and Information Exchange Decision and Policy Interoperability Semantics & Ontologies Process Organisation Product and Information Decision and Policy Enterprise B Collaborative Enterprise Modelling ICT ICT Provided Required ICT System Ax ICT Models Technology- Independent (CBP, PIM4SOA) Technology- Specific (Web Services, Agents) Presentation/ Workplace Processes and Rules Services Information/ Data Communication Model-Driven Interoperability Management & NFA Cross-Organisational User Interaction/Collaboration Cross-Organisational Processes Execution Flexible Execution and Composition of Services Information Interoperability Semantics & Ontologies Presentation/ Workplace Processes and Rules Services Information/ Data Communication ICT System Bx ICT System Modelling 73 Neste forelesning 29. januar 2006 Metamodellering Pensum bok, kapittel 2, 4 og 6 med Brian Elvesæter Øvingstime - Bruk av Eclipse, RSM og EMF 74 37