INF5120 Modellbasert Systemutvikling Modelbased System development



Like dokumenter
INF5120 Modellbasert systemutvikling

INF5120 Modellbasert Systemutvikling Modelbased System development

17. mars Store aud Moderne systemuviklingsmetoder. Kjetil Jørgensen-Dahl, Objectnet og Arne-Jørgen Berre, SINTEF, UiO. Telecom and Informatics 1

A Study of Industrial, Component-Based Development, Ericsson

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

INF5120 Modellbasert Systemutvikling Modelbased System development

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

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

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

Server-Side Eclipse. Bernd Kolb Martin Lippert it-agile GmbH

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

EN Skriving for kommunikasjon og tenkning

verktøyskrin Grafisk profil ved Norges teknisk-naturvitenskapelige universitet

Server-Side Eclipse. Martin Lippert akquinet agile GmbH

Examination paper for TDT4252 and DT8802 Information Systems Modelling Advanced Course

Slope-Intercept Formula

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

INF2120 Tools at your fingertips

verktøyskrin Grafisk profil ved Norges teknisk-naturvitenskapelige universitet

Information search for the research protocol in IIC/IID

Uke 5. Magnus Li INF /

Public roadmap for information management, governance and exchange SINTEF

Emneevaluering GEOV272 V17

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

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

INF5120 Eksamen Løsningsforslag Oppgave 1a,b COMET

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

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

HONSEL process monitoring

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

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

Forslag til løsning. Oppgave 1

Conference Centre Portal (CCP)

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

Two parts of a Harmonized Whole

GeWare: A data warehouse for gene expression analysis

INF5120 Oblig gjennomgang

Distributed object architecture

Erfaringer fra en Prosjektleder som fikk «overflow»

MDA Tool Support for SOI. Mike Rosen CTO, AZORA Technologies, Inc.

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

Distributed object architecture

Innovasjonsvennlig anskaffelse

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

INF 5120 Obligatorisk oppgave Nr 2

Capturing the value of new technology How technology Qualification supports innovation

INF2270 Datamaskinarkitektur

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

Forelesning IMT Mars 2011

5 E Lesson: Solving Monohybrid Punnett Squares with Coding

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

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

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

INF2270 Datamaskinarkitektur

Multimedia in Teacher Training (and Education)

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

Microsoft Dynamics C5 Version 2008 Oversigt over Microsoft Reporting Services rapporter

Virksomhetsarkitektur (VA) og rammeverk

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

UNIVERSITETET I OSLO

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

Databases 1. Extended Relational Algebra

... Annita Fjuk DESIGN THINKING

Generalization of age-structured models in theory and practice

Graphs similar to strongly regular graphs

Sascha Schubert Product Manager Data Mining SAS International Copyright 2006, SAS Institute Inc. All rights reserved.

Bostøttesamling

Software Requirements and Design (SRD) 1 Generelt om dokumenter

Baltic Sea Region CCS Forum. Nordic energy cooperation perspectives

Dynamic Programming Longest Common Subsequence. Class 27

Emnedesign for læring: Et systemperspektiv

Digital Transformasjon

SRP s 4th Nordic Awards Methodology 2018

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

of color printers at university); helps in learning GIS.

The Future of Academic Libraries the Road Ahead. Roy Gundersen

Stationary Phase Monte Carlo Methods

STILLAS - STANDARD FORSLAG FRA SEF TIL NY STILLAS - STANDARD

Metadata for samordning og samhandling

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

Forelesning IMT mars 2011

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

1 User guide for the uioletter package

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

Little Mountain Housing

Fra sekvensielt til parallelt

Fra sekvensielt til parallelt

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

INF5120 Modellering med objekter

COLLECTION FAB KATALOG S PRODUKTBLAD FAB CIRCULAR S Enjoy! embaccolighting

Verifiable Secret-Sharing Schemes

Trigonometric Substitution

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

En praktisk anvendelse av ITIL rammeverket

From a table based Feature Catalogue to GML Application schemas

Neural Network. Sensors Sorter

Hvordan føre reiseregninger i Unit4 Business World Forfatter:

Smart High-Side Power Switch BTS730

Store og komplekse informasjonssystemer

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

Transkript:

INF5120 Modellbasert Systemutvikling Modelbased System development Forelesning 26.01.2006 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/v05/ Forelesere: Arne-Jørgen Berre Brian Elvesæter m.fl. Email: inf5120-forelesere@ifi.uio.no Øvingsansvarlige: Unni Løland, Anne-Marte Krogsrud Email: inf5120-oppgaver@ifi.uio.no 2 1

Forelesning 1 - Introduksjon Introduction to the lectures and exercises Modeller og modellering Modellbasert Systemutvikling Architecture (Systems, Enterprises, Software,.) Principles of object orientation Systems Architecture and System modeling Enterprise Architecture - overview UML notasjon Strukturell modellering UML notasjon Oppførselsmodellering RUP (Rational) Unified Process -> COMET/MODIA MDA Model Driven Architecture SOA Service Oriented Architecture Diskusjoner... 3 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 4 2

Undervisning Forelesninger Dekker utvalgte deler av teorien i bok og kompendium Hovedboken gir en oversikt som kurset detaljerer videre gjennom forelesninger og øvinger Revidert rekkefølge i innhold 2006: Først teori om modellering og metamodellering med transformasjoner Deretter anvendelse av dette for en utviklingsomgivelse for å bygge interoperable systemer Øvinger Bruke forelest stoff i praksis Case-oppgave på eksamen Eksempler i forelesninger og øvingstimer 5 Praktisk Forelesninger m/øvinger torsdager 14.15-17.00 (Store aud.) 10 studiepoeng, skriftlig, åpen bok eksamen Først en individuell obligatorisk oppgave i tre deler rundt metamodellering og transformasjoner og bruk av verktøy (13/3) Deretter en obligatorisk gruppeoppgave, med gruppe-presentasjon og innlevering. (2/5) Papirkopier av foiler på forelesning Oppdatert web før neste forelesning (2/2) 6 3

Revidert rekkefølge i innhold 2006 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 boka Applied metamodelling og det tilhørende verktøyet XMF:Mosaic, deretter praktisk rundt OMG standarder for MDA, med bruk av Eclipse og IBM Rational Software Modeler/Architect med modelltransformasjoner med ATL/QVT og MOFScript/MOF2Text. Til slutt sammenliknet med Microsoft Visual Studio DSL (Domain Specific Language) tools I del 2 av kurset blir dette så benyttet for å lage og deretter anvende en utviklingsomgivelse for Interoperable/Samvirkende systemer, basert på en SOA arkitektur. 7 INF5120 - Forelesninger - 2006 / Kalender m/ansvar AJB: Arne-Jørgen rgen Berre, BRE: Brian Elvesæter TNE: Tor Neple,, CH: Christian Hahn, ØH: Øystein Haugen, RG: Roy Grønmo 1: 26/1: Introduction to MBSU, OO and modeling - (AJB) 2: 2/2: Introduction to UML 2.0 - (ØH) 3: 9/2: Metamodels and UML profiles - D1-4, A1-4 - (AJB) 4: 16/2: Model transformations, D5-D7, A5-8 (BRE) 5: 23/2: MDD and SOI Patterns P1-6, ATL, MOFScript (BRE) 6: 2/3: MODIA Interoperability Framework, -integration pattern 2 (AJB) 7: 9/3: MDD and SOI RSM/RSA Implementation P7-10 (BRE) 8: 16/3: MODIA Enterprise Modeling (Meta model and UML profile), POP* (BRE) 9: 23/3: SODIUM example - (CIM->PIM mapping) (RG) 10: 30/3: MODIA Architecture Modeling PIM4SOA (BRE) 11: 6/4: PSMs and mappings for SOA/WSDL (TN) D8 12: 20/4: PSMs and mappings for Agents (CH) 13: 27/4: MDI and PIM to PIM mappings (AJB) 14: 4/5: MDD Future - MS SF/DSL, Troux tools, UML VM (guests) D9, D13 15: 11/5: Method Engineering, MDA Process (BRE) D10-D12 16: 18/5: Course Summary (AJB) Note: OMG: BPM with SOA and MDA (Tuesday 14/3) Eksamen: Torsdag 1. juni 2006 (tentativt) (minus 13/4: Påske) 8 4

Pensum litteratur D MDA Distilled A Applied metamodelling P - Patterns: MDD using IBM RSA ATL - http://www.eclipse.org/gmt/atl/ MOFScript - see http://www.eclipse.org/gmt/mofscript/ og http://www.modelbased.net/ MODIA - MODIA Model Driven Interoperability and Architecture methodology eget kompendium, Mars 2006 9 INF5120 - Øvinger - 2006 / Kalender 1: 26/1: Introduksjon Individuelle og gruppe- oppgaver 2: 2/2: Modellerings eksempel, RSM verktøy 3: 9/2: Modellering UML 2.0 eks. RSM og XMF:Mosaic verktøy 4: 16/2: Lage metamodell i XMF - eksempel 5: 23/2: XMF Transformere mellom modeller, XOCL 6: 2/3: RSM Eclipse og bruk av ATL (Enkelt eksempel) 7: 9/3: RSM Eclipse og bruk av MOFScript (Enkelt eksempel) : 13/3: Levering av Oblig 1 individuell oppgave 8: 16/3: Lag RSM iht til IBM boka eksempel + Oblig 1 Start gruppe Oblig for eksempel: 9: 23/3: Lag MODIA Enterprise Model (meta model, profile) 10: 30/3: Lag MODIA Enterprise Model (meta model, profile) 11: 6/4: Lag Architecture Model (meta model, profile) 12: 20/4: Lag PSM model (UML profil) - lag PIM til PSM mapping (WSDL) 13: 27/4: Lag PSM til kode mapping (WSDL) : 2/5: Levering av Oblig 2 - gruppeoppgave 14: 4/5 : Gjennomgang Oblig 2 + eks.oppgaver 15: 11/5: Gjennomgang Oblig 2 + eks.oppgaver 16: 18/5: Eks.oppgaver 10 5

MDA Distilled 1. Introduction to Modeling 2. MDA Terms and Concepts. 3. Building Models. 4. Building Metamodels. 5. Building Mappings. 6. Building Marking Models. 7. Building Languages. 8. Elaborating Models. 9. Building Executable Models. 10. Agile MDA 11. Building an MDA Process. 12. Executing an MDA Process. 13. The Future of MDA. 11 Applied Metamodelling Language-Driven Development Metamodelling A Metamodelling Facility Abstract Syntax Concrete Syntax Semantics Executable Metamodelling Mappings Reuse Cases 1 (Aspects), 2 (Telecom), 3 (XAction) 12 6

Patterns: Model-Driven Development using IBM Rational Software Architect Overview and concepts of MDD Scenario overview (EA, IA, Patterns, Automation) MDD approach MDD project planning MDD solution life cycle MDD in context Design patterns for the scenario Applying MDD with RSA/RSM Extending RSA Conclusion - Web material 13 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) 14 7

MODIA Model driven development methodology for Interoperable Systems (Berre/Elvesæter/ ) kompendium *ny versjon mars 2006 vil oppgraderes til UML 2.0 og UML profil for bruk av IBM Software Modeler tool + generic/specific part 1: Introduction to MODIA (COMET) overview/motivation/nutshell 2: An introduction to Interoperable Systems and Enterprise Architecture 3: An introduction to the sample application 4: Business Modeling and Enterprise Architecture 5: Requirements (Actors and use cases, User Experience ) 6: Architecture 7. Components and Design 8: Extra-functional requirements, Quality of Service 9: Implementation 10: Phases: Inception, Elaboration, Construction, Transition 11: Additional. Topics: Testing, Repository, Tool environment A: Profiles and stereotypes, B. MDA environment & tools/umt ++ X: Web Structure support COMET 15 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) 16 8

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 17 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 18 9

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 19 Støtte-bok: Software Factories, Assembling applications with patterns, models, frameworks and tools J. Greenfield & al (Microsoft), J. Wiley, ISBN: 0-471-20284-3, 630 pages Introduction (Example=Construction Tools Incorporated) Dealing with Complexity, Dealing with Change, Paradigm Shift, Software Factories Models and patterns Programming with models (MDD-I) Language Autonomy Families of languages (MDD-II) Systematic Reuse - Software Product Lines (Reuse/Families) Platform Based Abstractions Components and services (Assembly/Orchestration) Mappings and Transformations Generating Implementations (Generative Programming) A Software Factory Example - FAQ www.softwarefactories.com Nesten valgt som pensumbok, men litt for Microsoft-orientert 20 10

Eksamen Case-basert oppgave (ref. tidligere eksamen) Alle skriftlige hjelpemidler er tillatt 09-12 (3 timer) tentativt, torsdag 1. juni, 2006 21 Modeller og modellering 22 11

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 23 Diskusjon Modellbasert Systemutvikling Sett dere sammen i grupper a 2-3 og diskuter begrepet: Modellbasert systemutvikling (5 min) 24 12

Objektorientert Modellering 25 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 26 13

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 27 Hvorfor UML: Systemkompleksitet Enhet Enhet Omgivelse Subsystem Subsystem System 28 14

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 29 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 30 15

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 31 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!) 32 16

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. 33 Basis for OO Teknologi Kvalitet og Produktivitet Modellering Abstraksjon og Modularisering Gjenbruk og Vedlikehold Klassifisering/ Instansiering Innkapsling Deling Arv Polymorfisme Objekt Modell 34 17

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) 35 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 36 18

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 37 Object oriented modeling arealworld- Phenomena anobjectmodel rolemodels animplemented System Environment Model environment Mental model Real-World phenomenon System model Manifest Model 38 19

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 39 OO Programming Terminology Encapsulation Object Message Method Class Instance Inheritance Polymorphism Dynamic (Late) Binding 40 20

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 41 The CRC-Card an object of paper personalizing the object Class (Name): Responsibility: Collaborators: 42 21

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. 43 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!! 44 22

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 45 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. 46 23

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 47 UML Structural Modeling Class Diagram Object Diagram Component Diagram (new in UML 2.0) Package Diagram Deployment diagram 48 24

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) 49 Different kind of models Conceptual models Specification models Implementation models 50 25

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 51 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 52 26

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 53 Faser i livssyklusen Inception (Begynnelse/unnfangelse) Elaboration (Utdyping av planer, beskrivelse av egenskaper og basis arkitektur) Construction (Bygging av produktet) Transition (Overgang til brukere) 54 27

Requirements Analysis Core development disciplines.design Implementation Test 55 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 56 28

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 57 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 58 29

OMG Model-Driven Architecture (MDA) www.omg.org/mda 59 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 60 30

MDA From 30.000 Feet Use of platform independent models (PIM) as specification Transformation into platform specific models (PSM) using tools 61 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 62 31

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 63 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 64 32

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 65 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 66 33

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,.. 67 SOA Services Messages Dynamic discovery Web services 68 34

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) 69 Neste forelesning 2/2 2006 UML 2.0 ved Øystein Haugen UiO/Ifi, (Ansvarlig for sekvensdiagrammer i UML 2.0 standarden) Deretter starter del 1 av kurset, med vekt på metamodellering teori og praksis. 70 35