Copyright Syntell AB 1

Relevanta dokument
UML 1(5) Introduktion till Unified Modeling Language. 1 Bakgrund och historik

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML

TDP005. Föreläsning 3 - UML. Filip Strömbäck

UML 2.0 och dess roll för modellbaserad utveckling

Inkapsling (encapsulation)

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Metoder och verktyg för funktionssäkerhet

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

CM FORUM. Introduktion till. Configuration Management (CM) / Konfigurationsledning. Tobias Ljungkvist

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

RUP är en omfattande process, ett processramverk. RUP bör införas stegvis. RUP måste anpassas. till organisationen till projektet

TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 14 16, 25 mars 2015

UML. Tomas Czarnecki Institutionen för Informationsbehandling Åbo Akademi,FIN Åbo, Finland url:

Symptom på problemen vid programvaruutveckling

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning

(Data)Modellering. nikos dimitrakas rum 2423

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

Analys och design. Objekt. Klass. med hjälp av CRC. Klassdiagram

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar

RUP - Rational Unified Process

Projektkaos. Chaos-rapporten. 34% av projekten avslutades i tid och enligt budget % misslyckades!

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design

Objektorientering Användning

TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Design. Vad lärde jag mig förra lekfonen? Hur bidrog jag Fll lärandet? Kravhantering sammanfa0ning 13/04/14

Introduktion. Byggstenar TDBA

Objektorienterad programmering, allmänt

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?

Produktens väg från idé till grav

std_logic & std_logic_vector

Företagsmodellering i UML

När? Varför? För vem? Resultat? (Artefakter?)

Interaktiva applikationer för dator (WPF) och web (Silverlight) Grafisk utvecklingsmiljö. Hela produktioner: design, layout, animationer, skins, etc.

Objektorienterad programmering

Opponentrapport på examensarbete Utveckling av ett affärssystem med Unified Process av Therese Sundström.

INFORMATIONSMODELLERING

Programvara i säkerhetskritiska tillämpningar

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Testning på 3 föreläsningar. PV7180 Verifiering och Validering. Litteratur. Vad är testning? Varför testa och olika syn? Målet med testning

Smart Industri och den digitala framtiden

TDDC74 Programmering: Abstraktion och modellering Tenta, kl 14 18, 11 juni 2014

Användarcentrerad systemdesign

TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 29 augusti 2015, kl 8 12

Erfarenheter från Hazop användning på programvara i Arte740. Presentation för SESAM Claes Norelöv 4Real AB

Nyheter i Revit Precast automation for lattice girder slabs API for precast automation

Symbolisk data. quote. (define a 1) (define b 2) (jacek johan david) (list a b)

Typhierarkier del 1 Gränssnitt, ärvning mellan gränssnitt, ärvning mellan klasser

CMMS ett sätt att öka återanvändning av och interoperabilitet mellan simuleringsmodeller

Geografisk information Representation av förändringar i datamängder

Copyright 2012 Jeeves Information Systems AB

Designmönster, introduktion. Vad är det? Varför skall man använda mönster?

Visio och SharePoint 2010 Better together. Staffan Söderholm Specialist MS Visio Train IT Stockholm AB

Objektorientering. Grunderna i OO

Riktlinjer för. INFORMATIONSMODELLER I Sparx EA 1.0

Regressionstestning teori och praktik

Spel som interaktiva berättelser

Imperativ programmering. Föreläsning 4

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

2. Change log Datamodell/XML

Vad är en designprocess?

Att fatta rätt beslut vid komplexa tekniska upphandlingar

Tidseffektiv administration av Creo Parametric och Windchill PDMLINK

Föreläsning 15: Repetition DVGA02

Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program.

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a.

Tentamen i Objektorienterad modellering och design Helsingborg

Formell Verifiering. Hur vet man att ett system fungerar korrekt? Lisa Kaati

"Är en"-relation. "Har en"-relation. Arv. Seminarium 2 Relevanta uppgifter. I exemplet Boll från förra föreläsningen gällde

Föreläsning 1, vecka 6: Abstraktion genom objektorientering

Final Course Marks will be combined from the examination and the project:

OOA/OOD. Analysis What shall we do? Design How shall we do it? Implementation Do it! Testing Did we get it right? Deployment Start it!

Microsoft Expression Blend + Sketch Flow

Genicore AB. Modellbaserad ansats. En liten firma i Göteborg som gör stora datasystem. Systemspråk - När modellen är systemet. torsdag 10 maj 2012

Vad är RTCA DO-178C? och: Hur arbetar Saab med dessa krav? Lars Ljungberg, Saab AB, Avionics Systems

Anvisning för Svensk Livfaktura

Objektorienterad Programmering (OOP) Murach s: kap 12-16

Vad är. Domändriven design?

Arv och klassbibliotek

Software Engineering

n Detta för att kunna koncentrera oss på n Tal: number? n Symboler: symbol? n Strängar: string? n Tecken: char? n Boolskt: boolean?

Testplanering, test-first, testverktyg

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Tentamen NOA011 Systemarkitektprogrammet

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Classes och Interfaces, Objects och References, Initialization

Introduktion och OO. Objekt-orienterad Programmering och Design (TDA552) Alex Gerdes, HT-2018

Tentamen i Objektorienterad modellering och design

Deklarativ programmering

RUP Rational Unified Process. 17 november 2004

Tentamen i Objektorienterad modellering och diskreta strukturer

Möjliga Världar. Skapande Skola, Halmstad. Robert Hais

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Welcome. to the world of Jeeves. Copyright 2011 Jeeves Information Systems AB

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg

Magnus Skoog

Tentamen i Objektorienterad modellering och design Helsingborg

Temperaturmätare med lagringsfunktion DIGITALA PROJEKT EITF11 GRUPP 14, ERIK ENFORS, LUDWIG ROSENDAL, CARL MIKAEL WIDMAN

Transkript:

Systemmodellering med SysML SESAM seminarium 2006-05-31 Erik Herzog Ansats Presentation av SysML från två perspektiv Akademiskt Industriellt Bakgrund Översikt Utvärdering Copyright Syntell AB 1

SysML SysML är ett språk speciellt framtaget för systemingenjörens behov Modeller på hög abstraktionsnivå Teknikoberoende Inom OMG Som har begränsad erfarenhet av Systems Engineering Därför har OMG anlitat INCOSE som referensgrupp Tyvärr har man inom INCOSE inte definierat vilka Systems Engineering roller som ska tillfredställas med SysML Sant, det finns en kravspec, men den är ytterst tvetydig Ansats för att skapa SysML Ömsesidiga behov Systemingenjörerna saknar modelleringsverktyg UML verktygsleverantörer söker nya kundgrupper Alltså utökar vi UML med speciella konstruktioner för att stödja Systems Engineering Och köper alla begränsningar som följer med valet av UML Copyright Syntell AB 2

Men Varför kan vi inte modellera system i standard UML? Bra, fråga, hmmm... Vi saknar stöd för representation av textuella krav Det är för komplext, många olika vyer Dåligt stöd för representation av hierarkiska strukturer Löses i och för sig i UML 2... Dåligt stöd för modellering av tidskontinuerliga system Dåligt stöd för fysiska strukturer Dåligt stöd för spårbarhet En blick på UML Uppbyggt av en mängd olika diagramtyper Usecasediagram Activity diagram Class diagram Packages (kataloger) används för administration av specifikationselement Byggs upp av användaren Lös koppling mellan specifikationselement och diagramtyper I princip inga begränsningar hur element kan kombineras på diagram Mål: kod Copyright Syntell AB 3

Vad behöver vi? What views are required for system modelling? (Brian Mar, 1994) Functions Requirements Architecture Test InterTraceability Views Stöd för konfigurationshantering Version och varianthantering SysML omfattning Derived from UML 2 Composite Structure Copyright Syntell AB 4

Requirements Vad tycks om detta? Alla element för kravhantering finns på plats Lika välstädat som mitt skrivbord Ett krav representeras som en unik UML-klass Attributuppsättning definieras per krav Tar mycket stor plats på skärmen Svårt att effektivt hantera stora system Copyright Syntell AB 5

Alternativ för att modellera beteende Context identification Usecasediagram Function oriented Activity diagram Sequence diagram Output oriented Timing diagram Internal states of a Block Statechart diagram Funktionsorienterade alternativ Receive Order Fill Order [order accepted] Ship Order Close Order Object A: Class A Object B: Class B Message Lifeline T <.1 sec Message Send Invoice Invoice Make Payment Accept Payment Self Message Activity diagram Funktioner samt inbördes relationer Interaktion Kausalitet Allokering kan uttryckas med Swimlanes Tidsaxel saknas Kan hantera komplexa beteenden Sequence diagram Funktionalitet och interaktion per fysiskt objekt Implicit allokering av funktionalitet till komponenter Explicit tidsaxel Ej anpassat för komplexa beteenden Copyright Syntell AB 6

Timing Diagram Example Systemstruktur Block används för att definiera systemstrukturer Hardware Software Data Procedure Facility Person Block kan specialiseras för att representera domänspecifika komponenter Copyright Syntell AB 7

Assemblies, Parts, Ports, Connectors & Flows Block Item Flow Port Connector Block diagram example Copyright Syntell AB 8

Parametric Diagram För definition av samband mellan properties för olika systemelement Verification & Validation req burnish sm Burnish test «testcase» «requirement» NHTSASafetyRequirements Text =.. ID = 157.135 <<verify>> Accelerate [count < 200] [Speed=80] Maintain [IBT=100 or d >= 2 km] «requirement» Burnish Initial condition Brake Text = (a) IBT " ID = S7.1 [count=200] Adjust brake Vad saknar här? Copyright Syntell AB 9

Spårbarhet Relationer för att dokumentera Deriverade krav Allokering Verifiering Generell spårbarhet Problem Användaren måste hantera alla vyer manuellt Stark koppling mellan metamodellelement och syntax (visuell presentation) Allokering kan uttryckas med Dependency (pil) Partition in klass-symbol Swimlane Men varje alternativ använder olika metamodellelement Trots att semantiken är ekvivalent SysML utvärdering Har alla nödvändiga element för att modellera ett system Knölig konstruktion arv från UML Kräver en användare med disciplin Dåligt användarstöd för att hålla ordning på diagram och element Framförallt allokeringsinformationen som måste hanteras manuellt Copyright Syntell AB 10

SysML utvärdering Bättre modelleringsstöd än vad som finns i Microsofts standardprodukter God koppling till mjukvaruutvecklingsprocessen Inför för mjukvaruintensiva system! Användning Ersättering inte ett normalt kravhanteringssystem God kapabilitet för modellering Spårbarhet är en svaghet Använd modellelement i designdokumentationen Öppna frågor Är tanken att SysML ska klara kravhantering av komplexa produkter? Kan spårbarhet upprätthållas för en komplex specifikation Vad är ett Block egentligen? En produkt som ska realiseras (BoM) En abstraktion av en produkt (Krav till den organisation som ska realisera produkten) Med UML 2 har OMG fokuserat mycket på semantik Stöd för konfigurationshantering saknas totalt! Copyright Syntell AB 11

Prova på SysML Följande verktyg implementerar i någon mån SysML Artisan Studio Telelogic Tau G2 I-logix Rhapsody Alternativ Ett vanligt UML verktyg + kravhanteringsverktyg CORE från Vitech corporation Kravhanteringsverktyg Copyright Syntell AB 12