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

Relevanta dokument
Arkitektur. Den Röda Tråden

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

Hur hanterar vi risk? Vad är TKO? Skillnad på agil och trad? Agil/Lean: Defer Commitment, Build knowledge, Fail fast

Arkitektur Michael Åhs

Inkapsling (encapsulation)

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

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

Inför projektuppgiften. Markus Buschle,

Användarcentrerad systemdesign

Agil programutveckling

RUP - Rational Unified Process

Lars Wiktorin, IT plan

Den Röda Tråden. Vi kan ta fram arkitekturkrav. Vi kan ta fram arkitektur och design. Vi kan skriva Clean Code KRAV DESIGN IMPLEMENT VISION TEST

Fujitsu Day Göteborg 8 oktober

PAINTFEUD. Erfarenheter

Mönster. Ulf Cederling Växjö University Slide 1

KravinsamlingAnalys Design Implementation Testning

RUP Rational Unified Process. 17 november 2004

SAS Intelligence Architecture. Patrick Eckemo IT Arkitekt / PM Arkitektur SAS Institute

12 principer of agile practice (rörlig)

Informationssystem och databasteknik, 2I-1100

Swedbank Mobile Loadtesting. LoadRunner Mobile App protocol

DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/ Kursöversikt Javarepetition/Javaintroduktion

Tillgång till alla globala delar i systemet styrs av denna profil, som i sin tur kopplas till respektive användare.

Designmönster - EMW. Kent Petersson epost1: kentp@cs.chalmers.se epost2: kent.petersson@emw.ericsson.se URL:

Datasäkerhet och integritet

TDP023 Projekt: Agil systemutveckling

Från Data till Process

System Arkitektur. Vad är en arkitektur? Har alla system en arkitektur? Hur designar man en arkitektur? Olika synsätt på arkitektur. Mönster.

Software Design Introduction

Arrowhead - Process- och energisystem- automation

SCRUM. Vattenfallsmodellen. Analys. Design. Kod. Test. Rational Unified Process Agile. Kallas också linjär sekventiell modell.

F7 Agila metoder. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Ulf Asklund Datavetenskap, LTH

Design för användbarhet

Software Engineering. Mål med föreläsningen 10/2/2017. Kort presentation

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

Frågor och svar till tentamen i Kravhantering

Effekter av införande av agila metoder. Daniel Sundmark Mälardalens högskola

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

Modern utvecklingsmetodik. Användarcentrering i företag. Användarcentrering i företag. Användarcentrering i företag. Användarcentrering i företag

Observer Pattern och MVC. Objekt-orienterad programmering och design Alex Gerdes, 2016

Molnet - standarder, översikt. 26 mars 2015

Ämnesområden. Examensarbete inom datavetenskap (1DV41E) Martin Fredriksson

Programvaruintensiva system

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design

Nya möjligheter med M3 Technology. Björn Svensson, Björn Torold

Användning av modeller för system/produktutveckling

Objektorientering. Grunderna i OO

Presentation. Fredrik Runnsjö 1996 Utvecklare 2004 Testare ~2006 Scrum/Canban

Tjänster, design och innovation. Tjänstedesign, vad är det

Användarcentrerad systemdesign

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

Inför projektuppgiften. Markus Buschle,

Bilaga A. Klassdiagram i OMT (klasser och dess relationer) Klassdiagram i UML (klasser och dess relationer) 1 st

Webbtjänster med API er

Övning / handledning Användningsfall

Tentamen i EDAF25. 1 juni Skrivtid: Skriv inte med färgpenna enda tillåtna färg är svart/blyerts.

Säker informationshantering

Authentication Context QC Statement. Stefan Santesson, 3xA Security AB

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

XP-projekt: En fördjupning

Välkommen! SA S PSA S Im I puls s Mobilite t t e 8 1

Att hitta projekt. Björn Victor. måndag 19 mars 12

Model View Controller. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Tentamen i Objektorienterad modellering och design Helsingborg

Middleware vad, hur, varför när?

" «Observable» DataGenerator" betyder att klassen DataGenerator ärver från den abstrakta klassen Observable.

Software Engineering

Observer Pattern och MVC. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

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

PA1415 Programvarudesign Second Resit

Användarcentrerad systemdesign

Objektorienterad Systemutveckling Period 3

Introduction to the Semantic Web. Eva Blomqvist

QC i en organisation SAST

Du fulländar mig! Om synergierna mellan agila metoder och UX. Joakim Holm Adaptiv AB. Erik Hammarström Antrop AB

Dag König Developer Tools Specialist Microsoft Corporation

F6 Arkitektur, Planering

Copyright Syntell AB 1

Observer Pattern och MVC. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017

icore Solutions. All Rights Reserved.

Unified Communication. Martin Lidholm

Hållbar efterbehandling NICOLE s vision

GADD Software en introduktion

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

Tentamen i Objektorienterad modellering och diskreta strukturer

Teststrategier och Testcertifiering. Per Strandberg, Maj 2013

SEMANTISKA STANDARDER BEHÖVS DE? Jessica Rosenälv

Tentamen i Objektorienterad modellering och design

TDDI02. Programmeringsprojekt, Föreläsning 2. Filip Strömbäck. Med utgångspunkt i tidigare slides av Jonas Lindgren

Användarcentrerad systemdesign

Support Manual HoistLocatel Electronic Locks

Innehåll. Problem i utvecklingsprojekt. RUP! Implementing Lean Software Development Agilt: Roligare, Snabbare, Högre kvalitet!

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

Sara Skärhem Martin Jansson Dalarna Science Park

Deluppgift 2 Kravhantering a) (2p) När man diskuterar krav brukar man ange två olika typer av krav. Beskriv dessa och ge exempel.

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

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011

Symptom på problemen vid programvaruutveckling

Transkript:

Arkitektur Vad är arkitektur? Vad har vi arkitekturmodellen till? Hur redovisar vi en arkitektur? Hur tar vi fram en arkitektur? Uppgift När? Varför? För vem? Resultat? (Artefakter?) Efter lunch Redovisning/Diskussion arkitekturella krav Hur tar vi fram en arkitektur? Fortsättning Begreppsmodell Architectural Patterns Den Röda Tråden Vi kan välja utvecklingsmodell Vi kan hantera risk och vet varför Vi kan skriva och estimera krav User stories, -ilities, regler KRAV VISION KRAV behövs KRAV KRAV DESIGN IMPLEMEN TEST DRIFTSÄTT Skillnad på agil och trad? Trad: Mycket up front - kontrollera det okända genom att gissa Agil/Lean: Defer Commitment, Build knowledge, Fail fast - Slösa inte tid på att gissa När skriver vi testfallen? TEST TEST TEST TEST KOD KOD KOD KOD KOD KOD DEPLOYABLE DEPLOYABLE SYSTEM Arkitektur Vad är arkitektur? Vad har vi arkitekturmodellen till? Hur tar vi fram en arkitektur? Hur redovisar vi en arkitektur? Uppgift

Vad är arkitektur? När? Varför? Hantera Risk! Kan vi bygga det? Kommer det funka? Varför börjar vi inte koda direkt? För vem? (Mottagare?) Resultat? (Artefakter?) google define:architecture All architecture is design, but not all design is architecture. Architecture represents the significant decisions where significance is measured by cost of change Grady Booch

Architecture is simply the deliberate and considered resolution of significant problems. Kevin Seal (http://www.codingthearchitecture.com/ pages/book/disambiguatingarchitecture.html) The software architecture of a program or computing system is the structure or structures of the system, which comprise - software components - the externally visible properties of those components, - and the relationships among them. Bass, Clements, and Kazman. Software Architecture in Practice, Addison-Wesley 1997 Geggan mellan lådorna i komponentdiagrammet

Arkitektur Vad är arkitektur? Vad har vi arkitekturmodellen till? Hur redovisar vi en arkitektur? Hur tar vi fram en arkitektur? Uppgift Vad har vi arkitekturmodellen till? Kommunicera utåt Metafor Något att visa för stakeholders powerpoint-arkitektur. Kommunicera inåt Vilka delar ska vi ha? SRP, Coupling och Cohesion Vad ska varje del ansvara för? Logisk Vy Hur sitter delarna ihop? Beroenden? Context Map, Logisk Vy Vem bygger vad? Context Map Hur ska komponenterna kommunicera med varandra? API, In-process, tcpip, http, binärt, xml, json, buss, meddelandekö, publish-subscribe? Middleware; application server, webserver, messaging, publish-subscribe Behövs transaktioner, 2PC? Arkitektur Vad är arkitektur? Vad har vi arkitekturmodellen till? Hur redovisar vi en arkitektur? Hur tar vi fram en arkitektur? Uppgift

Mottagare Kund > Hög nivå utan detaljer Mellan team > Komponenter, beroenden, API:er Inom team > Komponenter, beroenden, API:er Kund > Hur funkar det? Alla team > Hur sitter delarna ihop? > Vem bygger vad? > Beroenden? Inom/Andra team > Hur funkar vår komponent? Andra mottagare Drift Support Marknadsföring Drift > Hur deployar vi? Support > Vem ska jag fråga när det inte funkar? Marknadsföring > Varför är detta mycket bättre än allt annat? Architectural views http://en.wikipedia.org/wiki/file:4%2b1_architectural_view_model.jpg

Architectural views Villa använder vi till vad? Rita på tavlan! Kund > Hög nivå utan detaljer - Powerpointnivå Mellan team > Komponenter, beroenden, API:er Inom team > Komponenter, beroenden, API:er Logical view: Class, Communication, Sequence Development view: Component, Package Process view: Activity Physical view: Deployment Use case view: Use case diagram Architectural views Logical view: Class, Communication, Sequence Physical view: Deployment + Marknadsföringsvy: Powerpointdiagram Kontextvy: Kontextdiagram Villa använder vi till vad? Rita på tavlan! Kund > Hög nivå utan detaljer - Powerpointnivå Mellan team > Komponenter, beroenden, API:er Inom team > Komponenter, beroenden, API:er Hur sitter delarna ihop? > Logisk vy, fysisk vy Vem bygger vad? Beroenden? > Klassdiagram med komponenter, kontextdiagram Framgår en hel del! Powerpoint-diagram http://workshops.opengeo.org/stack-intro/introduction.html#introduction

Klassdiagram Kommunikationsdiagram http://www.uml-diagrams.org/examples/online-shopping-uml-communication-diagram-example.html Sekvensdiagram https://en.wikipedia.org/wiki/security_assertion_markup_language

http://agilemodeling.com/artifacts/deploymentdiagram.htm Deployment diagram Deployment diagram http://agilemodeling.com/artifacts/deploymentdiagram.htm Arkitektur Vad är arkitektur? Vad har vi arkitekturmodellen till? Hur redovisar vi en arkitektur? Hur tar vi fram en arkitektur? Uppgift

Hur tar vi fram en arkitektur? Utgå från vetenskapligt sätt 1. Sätt upp hypotes - kandidatarkitektur! 2. Testa hypotesen utifrån arkitekturellt signifikanta user stories och -ilities-scenarion. Hur vet vi vilka som är arkitekturellt signifikanta? De som påverkar arkitekturen mest 3. Sätt upp ny hypotes, minst 3 kandidatarkitekturer! ni kommer tillsammans ta fram >3 Riskhantering: Vad behöver vi veta mera om? Arkitekturellt signifikanta vs evolutionary design Brainstorma och testkör! En enkel process Exempel E-handel Sök produkt Lägg i kundkorg Ändra antal i kundkorg Ta bort ur kundkorg Registrera användare Sortera produkter Logga in Lägg order Betala

-ilities / Icke-funktionella krav Maintainability Usability Performance Security Scalability Availability/Reliability Portability Varje ility ska ha ett testbart case! Tex Vad händer om vi vill kunna skala från 1000 till 1000000 användare? Vi vill börja med en relationsdatabas, men vill eventuellt kunna byta till NoSQL, osv Sammanfattningsvis Arkitekturellt signifikanta user stories Arkitekturellt signifikanta -ilities > Logisk vy Fysisk vy Marknadsföringsvy Kontextvy Testkör mot arkitektur Uppgift till 13:15 Ta fram arkitekturellt signifikanta user stories Ta fram arkitekturellt signifikanta ickefunktionella krav Redovisas på en poster per grupp Syfte: Öva! Det måste inte bli rätt!