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



Relevanta dokument
Datasäkerhet och integritet

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

Arkitektur Michael Åhs

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

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

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

Vad är mönsterspråk?

Utmaningar och möjligheter vid planering, genomförande och utvärdering av förändringsarbete i organisationer

Inkapsling (encapsulation)

Arkitektur. Den Röda Tråden

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

Implementationsstrategier för PLCS

Swedish adaptation of ISO TC 211 Quality principles. Erik Stenborg

Repetition DK2 Middleware, P2P, Multimediatransport. Stefan Alfredsson 18 Mars 2005

Designmönster för sociala användningssituationer

Projektmodell med kunskapshantering anpassad för Svenska Mässan Koncernen

Examensarbete Introduk)on - Slutsatser Anne Håkansson annehak@kth.se Studierektor Examensarbeten ICT-skolan, KTH

802.11b Wireless router w. 4 port switch. StarTech ID: BR411BWDC

Distribuerade affärssystem

Kristina Säfsten. Kristina Säfsten JTH

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

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

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

Kärnfunktionalitet. Middleware. Samverkande system. Service Oriented Architecture. Kommunikationsmekanismer. Tjänsteorienterade arkitekturer

Creo Customization. Lars Björs

What Is Hyper-Threading and How Does It Improve Performance

HUR OCH VARFÖR DIGITAL!

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

Introduktion till migrering till molnet. PART 4: Plattformar för molntjänster

Software Design Introduction

Kundfokus Kunden och kundens behov är centrala i alla våra projekt

Regressionstestning teori och praktik

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

Idag. EDAA35: Utvärdering av programvarusystem. Mål. Innehåll. Kursmoment. Lärare

en uppsatstävling om innovation Sammanfattning av de vinnande bidragen

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design

Introduktion till Entity Framework och LINQ. Källa och läs mer

Fallstudie Den svenska Försvarsmakten Meddelandeinfrastruktur redo för det nya nätverksbaserade försvaret

Brandsäkerhet hos. ny europeisk handbok

Klicka här för att ändra format

icore Solutions. All Rights Reserved.

Studentsynpunkter? Vad menas med IT i organisationer. Moderna affärsstrategier. Beskriva organisationer ur olika perspektiv.

Programvaruintensiva system

Test av Metria Maps avseende Användbarhet och prestanda

Isolda Purchase - EDI

Analys och bedömning av företag och förvaltning. Omtentamen. Ladokkod: SAN023. Tentamen ges för: Namn: (Ifylles av student.

Rosetta. Ido Peled. A Digital Preservation System. December Rosetta Product Manager

PRODUCT MANAGEMENT. Klicka här för att ändra format. Klicka här för att ändra format på underrubrik i bakgrunden

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011

Revidering av ISO Peter Allvén SIS TK-304/PostNord

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved.

Kurskatalog 2010 INNEHÅLLSFÖRTECKNING

FANS Network Meeting. SAS Platform 25/10-18

Design planning and modelling

Per-Anders Nilsson SaabTech Systems Oktober 2001

SAS VIYA JOHAN ELFMAN ROLAND BALI

Transforming our world: the 2030 Agenda for Sustainable Development (Syftet är att fram till år 2030 för att uppnå en socialt, miljömässigt och

Services Digitalize Digitalising the built environment industry with business minded strategies for digital building information and model

Projekt E-ARK stöd vid digital arkivering. Björn ES Solutions

IT och funk0onshinder

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

Nya upphandlingsdirektiv och upphandling av livsmedel

Every visitor coming to the this website can subscribe for the newsletter by entering respective address and desired city.

Informationssystem och databasteknik, 2I-1100

Datorer och intelligens

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Main headline. Affärsvärde till Perstorp AB Headline. mha appar SAPSA IMPULS

Kommunikation och Automation

Designprinciper för säkerhet och Epilog. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT)

Föreläsning 8. Designmönster

Enterprise App Store. Sammi Khayer. Igor Stevstedt. Konsultchef mobila lösningar. Teknisk Lead mobila lösningar

Alla Tiders Kalmar län, Create the good society in Kalmar county Contributions from the Heritage Sector and the Time Travel method

Testning som beslutsstöd

Föreläsning 4 IS1300 Inbyggda system

Linköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod

Ökat personligt engagemang En studie om coachande förhållningssätt

Preschool Kindergarten

Module 6: Integrals and applications

Att utveckla och skapa en effektiv och dynamisk process för konsolidering och rapportering

Produktens väg från idé till grav

CUSTOMER READERSHIP HARRODS MAGAZINE CUSTOMER OVERVIEW. 63% of Harrods Magazine readers are mostly interested in reading about beauty

PM 01 En jämförelse av två analysmodeller för val av komponentteknik

Common Criteria Certification of Open Source Software

Cacheminne Intel Core i7

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

Application Note SW

Service och bemötande. Torbjörn Johansson, GAF Pär Magnusson, Öjestrand GC

openbim Stockholm 22 april 2013 Kraven på BIM är här

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

GMC Software Technology CCM Made Easy

Support for Artist Residencies

Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015

Kursplan. FÖ3032 Redovisning och styrning av internationellt verksamma företag. 15 högskolepoäng, Avancerad nivå 1

A metadata registry for Japanese construction field

Kursinformation. Metodik för programvaruutveckling. Utvecklingsprocessen för programvara. Innehåll. Processmodell. Exempel

Nationellt stöd för finansiering av mjukvaruberoende innovation ANDREAS ALLSTRÖM

HANTERING AV UPS CX

SOA One Year Later and With a Business Perspective. BEA Education VNUG 2006

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

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

Transkript:

System Arkitektur Vad är en arkitektur? Har alla system en arkitektur? Hur designar man en arkitektur? Olika synsätt på arkitektur. 1 Arkitektur? Architecture (building), the practice of building design and its resulting products Architecture is to building as literature is to the printed word 2 Bakgrund Fokus på mer eller mindre komplexa datorsystem Vi tittar på arkitektur för samverkande system Centraliserade Decentraliserade Många medverkande Gemensam återkopplings mekanism 3

Vad är det? A software architecture is an abstraction of the run-time elements of a software system during some phase of its operation. A system may be composed of many levels of abstractions and many phases of operation, each with its own software architecture En arkitektur är en specifikation av de komponenter som system består av och kommunikationen mellan dem Beskriver strukturen hos systemet på en hög nivå Ligger på en abstraktionsnivå där man kan se systemet i sin helhet Detaljer om implementationen är gömda krav som finns på systemet Bör utvecklas tidigt i designprocessen Strukturen måste stödja både funktionella och icke-funktionella 4 Ickefunktionella krav Verifierbara krav på system hur det ska fungera och inte vad systemet ska göra Prestanda, tillförlitlighet, säkerhet, mm Designmål Ickefunktionella krav som inte användaren direkt märker av Svåra att mäta 5 Ickefunktionella krav Kapacitet Nätverksprestanda Throughput, overhead, bandwidth, Fördröjningar, jitter, Nätverkseffektivitet Säkerhet Rättigheter Styrka identiteten Icke förnekande Integritet Privathet Loggning 6

Ickefunktionella krav Tillgänglighet Pålitlighet Svarstid Användbarhet Standarder Systemets arbetsmiljön Hårdvara och mjukvara Endast open source Fysikaliska miljö Konfigurerbart Lättunderhållet 7 Designmål Framtidssäkert Utökningsbart, modifierbart Produktbarhet Implementerbart inom budgetramarna? Portabilitet Interoperabilitet Återanvändningsbart Underhållbarhet Förståbarhet Implementerbart med befintlig teknik? Testbarhet 8 Olika perspektiv Abstraktionsnivåer Data, bearbetning, kopplingar System och delsystem Luckham, Vera & Meldal (1995), Three Concepts of System Architecture 1. Object connection architecture 2. Interface connection architecture 3. plug and socket architecture Krutchen (1995), 4+1 View Model of Architecture 1. Logical view supports the functional requirements (objects and object classes) 2. Process view concurrency and syncronization 3. Physical view - mapping the software onto the hardware 4. Development view software s static organization in its development environment 5. Scenarios - instanser av tänkta användingar av systemet (upptäcka, validera och illustrera) 9

Design Bakgrund Designverktyg Arkitekturstilar och antimönster 10 Abstraktionsnivå Stadsarkitekt, inredningsarkitekt Problem-/domänberoende Bostadshus, fabriker, affärer Mode och tidsåldern Modernism, funkis, renässans,... Personberoende Alvar Aalto, Finland Erik Gunnar Asplund, Sverige Jorn Utzon, Danmark 11 för nätverksbaserade system mer än clientserver och P2P! Data-flöde Replekerande Hierarkiska Mobil kod Peer-to-Peer 12

Data-flöde Ström av data mellan komponenter (filter), filter läser från en inström och gör något med datat och producrerar något på en utström Pipe and Filter Uniform Pipe and Filter (Unix pipes) 13 Replekerande Replicated Repository (CVS) Decentaliserade servrar (uppfattas som en av klienterna) Distribuerade filssystem Cache 14 Hierarkiska Client-Server Layered systems och Layered-Client-Server (TCP/IP) Client-Stateless-Server Client-Cache-Stateless-Server (NFS) Layered-Client-Cache-Stateless-Server (DNS) Remote Session (Telnet, ftp) Remote Data Access (Remote DB-server) 15

Mobil kod Virtual Machine (Ingen nätverksstil men basen för andra inom denna grupp) Remote Evaluation (Servlets) Code on Demand (Applets) Layered-Code-on-Demand-Client-Cache-Stateless- Server (puh...) HotJava (web-browser) Mobile Agent REV+CoD+VM 16 Peer-to-Peer Event-Based Integration C2 EBI+LCS Distributed Objects (Java RMI?) Väldefinerade gränsytor Brokered Distributed Objects (CORBA,SOA, ) Web-services?? GRID-computing?? 17 Designverktyg Arkitekturmönster Designmönster Idiom Antimönster 18

A pattern is a named nugget of instructive information that captures the essential structure and insight of a successful family of proven solutions to a recurring problem that arises within a certain context and system of forces. " every pattern we define must be formulated in the form of a rule which establishes a relationship between a context, a system of forces which arises in that context, and a configuration, which allows these forces to resolve themselves in that context." Alexandrian form & GoF form 19 Identifierbara egenskaper hos mönster Namn Problem Kontext Vad som gör det giltigt, begränsningar, konflikter med andra Lösningar - statiska relationer och dynamiska regler (instruktioner) Exempel Resulterande kontext (bra och dåliga saker) Motiv Relaterade och liknande mönster Kända tillämpningar av mönstret i existerande system 20 Antipatterns Represents a "lesson learned." Initially proposed by Andrew Koenig in the November 1995 C++ Report There are two notions of "anti-patterns." 1. Those that describe a bad solution to a problem which resulted in a bad situation. 2. Those that describe how to get out of a bad situation and how to proceed from there to a good solution. Typer av antimönster Arkitektur focus on the system-level and enterprise-level structure of applications and components. Management identify some of the key scenarios (in human communication) where these issues are destructive to software processes. Utveckling describe useful forms of software refactoring. 21