[Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów...

52
Nie ma jednej słusznej drogi Różne podejścia do architektury systemów informatycznych Michał Bartyzel mbartyzel.blogsp ot.com

description

Prezentacja przedstawiona podczas Confitura 2013 http://2013.confitura.pl/presentations#8

Transcript of [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów...

Page 1: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Nie ma jednej słusznej drogi

Różne podejścia do architektury systemów informatycznych

Michał Bartyzelmbartyzel.blogspot.com

@MichalBartyzel

Page 2: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.
Page 3: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

ProblemyNaprawa co drugi miesiąc

Kilkukrotnie wymieniany

Page 4: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Liczba mieszkańców w klatce: 9 * 5 = 45

Page 5: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

10 lokali * 3 osoby/lokal * 2 wciśnięcia/dzień = 60 osobowciśnięć/dzień

3 osoby * 2 wciśnięcia/dzień = 6 osobowciśnięć/dzień

NR LOKAL

U + KOD

DOSTĘPU

Page 6: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

WnioskiObciążenie „5” co najmniej 10 razy większe

Z klawiszem „5” jest wszystko okArchitektura rozmija się z kontekstem użycia

Page 7: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Nowa wizja tego przypadkuNie używaj „5” w kodzie dostępuWprowadź więcej „5”

Nowa wizja architekturyNie używaj cyfry dziesiątek w kodzie dostępuWprowadź przycisk piętra

Page 8: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Nie ma jednej słusznej drogi

Page 9: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.
Page 10: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Rozwiązania architektoniczne są niezbędne

ale kontekst jest ważniejszy

Page 11: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Kilka przykładów

…ale działa?

…ale zarabia!

Page 12: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

#1

DevCastZone.com

Page 13: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.
Page 14: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Zakup modułów szkoleń

Mikropłatności

Testy weryfikujące

Zabezpieczenia przed pobieraniem

Konta indywidualne

Konta firmowe

Page 15: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Pierwsza myślNapiszmy to sami w Javiejeeeeee! jupiii!

Page 16: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Po analizie kontekstu6 miesięcy

1 programistaPHP

Page 17: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

#2

System K/P

Page 18: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Zarządzanie umowamiSystem zmianowyChoroby, zwolnienia, umowy, dodatkiHistoria zatrudnienia

Przeliczanie wypłat

Page 19: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

PodpowiedźSystem stoi/stał na przeciętnym PCBrak zastrzeżeń dot. szybkości GUIRadził sobie z okresowymi „pikami”

PowerBuilder

Page 20: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

To nie jest rozwiązanie uniwersalne

Tak nie trzeba robić

To jest rozwiązanie dla

tego kontekstu

Page 21: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Mały problem z nowoczesnością

Page 22: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

#3

Gry

Page 23: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Robimy gry dla wielu klientówWłaściwie dla każdego klienta dana gra jest taka sama…ale trochę inna

Page 24: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Co zrobiłbydobrze wyedukowany

projektant/programista?

Page 25: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Co zostało zrobione?

Zatrudniamy wielu przeciętnych programistów

Dla każdego klienta piszemy od nowa

Utrzymujemy wiele wersji różnych systemów

Page 26: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Zamieniono problem inżynieryjny

na problem organizacyjny

Page 27: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

To się nie musi udać każdemu

Tak nie trzeba robić

To jest rozwiązanie dla

tego kontekstu

Page 28: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Bo w innej galaktyce i innym kontekście…

Page 29: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Bo w innej galaktyce i innym kontekście…

Za dużo drobnych produktówZa dużo różnorodnych produktów

Za dużo klientówKoszt rozwoju zespołu przekracza zyskowność

Page 30: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

#4

Instytucja państwowa

Page 31: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Obsługa wewnętrznych procesów w organizacji

Aplikacja dla klientów

Page 32: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

5 osób60 zmian/projektDł. projektu: do 2 m-cyZawsze w niedoczasie

10 osób300 zmian/projektDł. projektu: do 2 m-cyZawsze na czas

Page 33: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Tam, gdzie architektura nie daje zbyt wielu możliwości….

nie ma również zbyt wielu dylematów

i okazji do popełniania błędów

Page 34: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Inni mieli z tym problemy

Tak nie trzeba robić

To jest rozwiązanie dla

tego kontekstu

Page 35: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

#5

Przykładdla równowagi

Page 36: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Cache?Pomysł ok

Realizacja…hmm.

Page 37: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

A potem już tylko gorzej

Technikalia przeniknęły do warstwy aplikacjiAutoHibernateBrak relacji obiektowychBrak relacji bazodanoywch

Page 38: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Konsekwencje

Zgubny brak

modelu

Page 39: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

7 spraw, o których warto pomyślećzanim zaczniesz architekcić

Page 40: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Sprawa 1.

Biznesowy kontekst systemu

Page 41: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Sprawa 2.

Biznesowe przypadki zmian

Page 42: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Sprawa 3.

Biznesowy kontekst organizacji

Page 43: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Sprawa 4.

Potencjał kompetencyjny zespołu

Page 44: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Sprawa 5.

Analiza wpływu zmian

Page 45: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Sprawa 6.

Analiza systemu

Page 46: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Sprawa 7.

Czym jest Core Domain?

Page 47: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

i na koniec dowód półformalny

Page 48: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

No Free Lunch Theorem

Page 49: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Każda technologia, język czy metoda inżynierii oprogramowania…

jest jednakowo dobra dla ogółu problemów, z którymi się spotykamy

Page 50: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Jedyne, co może przesądzić o wyższości danego podejścia

to kontekst i różnice między kontekstami

Page 51: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Dlatego zanim powiesz XYZ jest zajefajne, tak róbmy…

Page 52: [Confitura 2013] Nie ma jednej słusznej drogi - różne podejścia do architektury systemów informatycznych.

Nie ma jednej słusznej drogi

Różne podejścia do architektury systemów informatycznych

Michał Bartyzelmbartyzel.blogspot.com

@MichalBartyzel

Użyte grafiki– https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcToe6mgA-dvsRs33PiEejM-

IDjlpAtWxS99PaePww7mxWAvyI5T– http://www.ekito.fr/people/wp-content/uploads/2013/01/gwt51.jpg– http://blog.toubiweb.com/wp-content/uploads/2013/04/java.gif– http://www.990px.pl/files/2009/08/2555555871404.jpg– http://www.multisoft.com.au/Images/OraFormsImg.jpg