KONFERENCIJA SPAJAMO TEHNOLOGIJU I ZNANJE

Similar documents
Osnovna pravila. Davanje i prihvatanje kritike. Sadržaj. Šta je to kritika?

Abstract Cover letter. Igor Pašti

viša razina ISPIT SLUŠANJA (Listening Paper)

m1 ne pazi mislim ono ljudi koriste sve i svašta onaj uh alno look, I mean really people use all kinds of things er, uh but-

STANDARDIZATION OF BUSINESS DECISION-MAKING. Vojko Potočan *

GD-171 GD-191 LCD MONITOR. User s Guide. European Union only

RANI BOOKING TURSKA LJETO 2018

JUN GODINE E N G L E S K I J E Z I K

Interaktivni Generator Vizuelnih Simulatora Digitalnih Sistema (IGoVSoDS)

viša razina ISPIT SLUŠANJA (Listening Paper)

Tema 5:Projektovanje arhitekture softverskih sistema

viša razina LISTENING PAPER

BOOK REVIEW. LUCA MALATESTI University of Rijeka. Received: 18/02/2019 Accepted: 21/02/2019

Medicinski časopisi u otvorenom pristupu: iskorak ili privilegij?

osnovna razina ISPIT ČITANJA I PISANJA (Reading and Writing Paper)

MEĐUNARODNI KONGRES MARKETING PROGRAM

GV3P401 TeSys GV3 termo magnetski-prekidač-30 40A- EverLink BTR/izravni konektori

GUI interfejs kao podrška integraciji ZigBee mreže

Nika Radić Moramo se razgovarati

E N G L E S K I J E Z I K

A) Instructions for preparing original articles Krajnji rok za prihvaćanje radova i sažetaka je godine.

osnovna razina READING AND WRITING PAPER

PARAMETERS INFLUENCING NOISE ESTIMATION UDC Miroslava A. Milošević, Aleksandra M. Mitić, Milan S. Milošević

osnovna razina READING AND WRITING PAPER

THE REIFICATION OF THE WOMAN: BAUDELAIRE IN THE EYES OF WALTER BENJAMIN

INTERVIEW WICKED PLAN

Contactors and Contactor Assemblies

HDMI over IP EXTENDER

MAURIZIO MACHELLA Arranger, Interpreter, Publisher

Preporuka o minimalnim tehničkim zahtjevima prijamnika za prijam digitalnog zemaljskog televizijskog signala (DVB-T2) u Republici Hrvatskoj

GRAMATIKA ENGLESKOG JEZIKA I

RAZVOJ JEDNOSTAVNOG ALATA ZA ANALIZU ZVUKA NA MOBILNOJ ANDROID PLATFORMI DEVELOPMENT OF A SIMPLE TOOL FOR AUDIO ANALYSIS ON MOBILE ANDROID PLATFORM

JUN GODINE E N G L E S K I J E Z I K

Regulacija rada dizalice pomoću fuzzy logike

ARCHITECTURE: THE QUEST FOR CULTURAL IDENTITY UDC 711.4:316.72=111. Anthony K. Adebayo, Anthony C. O. Iweka #, Bolawole F. Ogunbodede, Joseph M.

Waiting in Silence. œ œ. œ œ. si - lence,

TELEVIZIJA ZASNOVANA NA INTERNET PROTOKOLIMA IPTV

Agilent 11713A Attenuator/Switch Driver

Preslikavanje ili funkcija. Copying or Function. mate maras. mate maras

Kratki film i kreativnost

SAVREMENE TEHNOLOGIJE ZAŠTITE PODATAKA KOD DIGITALNOG PRAVA

CRNA GORA AGENCIJA ZA ELEKTRONSKE KOMUNIKACIJE I POŠTANSKU DJELATNOST

viša razina ispit čitanja (Reading Paper)

SAMPLE MISSA MARIA MAGDALENA. Kyrie Free and mysterious; molto rubato h = 54 SOLO (SOPRANO 2) SOPRANO ALTO TENOR BASS ORGAN

Sekvencijalna logika

JEDI : Just Explore Dimension

Paper Title (English and Croatian / not mandatory for foreign authors)

Jean Mouton. (before ) Quis dabit oculis? This edition prepared for The Tallis Scholars. Gimell

federacije Federation square

Darko Polšek. Pokušaji i pogreške Filozofija Karla Raimunda Poppera (nelektorirana verzija) Biblioteka Filozofskih istraživanja Zagreb 1996.

50. ZAGREBAČKI SALON

Then the picture was taken where the mountain ridges surround the resort at the relaxed side The picture was taken of the red Sky descending One man

Description. Never run out of envelopes again.

HDMI / Video Wall over IP Receiver with PoE

DA Channel Audio Sample Rate Converter

On the Common Goods. Dr. Gregory Froelich

Joel Martinson (Choral score) Selah Publishing Co., Inc. Hn. J œ œ œ œ œ œ. j œ. 8 5 Choir: (Women or Men) for review only. ni- mi- pax.

TOWARDS A NEW URBARCHITECTONIC COLORATION UDC (045)=111. Nikola Cekić

THE SIGNIFICANCE OF CHILDREN S FOLK DANCES ACCOMPANIED BY SINGING IN THE PROCESS OF MUSIC TRADITION CONSERVATION AND FOSTERING UDC 371.3::

The 14 th International Animated Film Festival NAFF 2019

DOWNLOAD OR READ : MY FAVORITE HUG PDF EBOOK EPUB MOBI

I, you, we, they + have + glagol v 3. obliki. He, she, it + has + glagol v 3. obliki

Pleasure Seekers By Rochelle Alers READ ONLINE

Character Users Guide

MINIMALISM IN CONTEMPORARY ARCHITECTURE AS ONE OF THE MOST USABLE AESTHETICALLY-FUNCTIONAL PATTERNS UDC :72

Manual. USP-regular. icroflown Technologies. Address: PO Box CE Arnhem The Netherlands Charting sound fields

A Motor can be in many groups, by assigning additional channel# on it.

Studije. Marin Biondić. Sveučilište u Rijeci, Filozofski fakultet, Sveučilišna avenija 4, HR Rijeka

ODABIR BILJA I PROSTOR (situacija, identitet, metode)

LED TV-32LE77SM LED TV-40LE77SM. HR Upute za uporabu Jamstveni list / Servisna mjesta BIH. Garantni list / Servisna mjesta

LED TV-32S60T2 LED TV-32S60T2S2. CG Korisničko uputstvo Izjava o saobraznosti / Servisna mjesta. HR Upute za uporabu Jamstveni list / Servisna mjesta

DIGITAL ANALYSIS OF PLACE NAMES IN DE RAPTU CERBERI

DIGITALNO DOBA I TRADICIONALNA TELEVIZIJA U SRBIJI

Tehnika konverzije. Upoznavanje sa osnovama CD player-a. Seminarski rad. Predmet: Tema: Elektronski Fakultet u Nišu Katedra za elektroniku

42 Freestanding Infrared Multi Touch Screen Kiosk User s Manual

Copying is illegal. Review copy only. U j œ. œ œ œ œ œ. œ œ. # œ œ œ œ œ œ œ. ? b. œ œ œ œ œ œ œ œ. œ œ. Nancy M. Raabe

COPYRIGHTED MATERIAL. About Reading Pathways

Typography Culture in Croatia

Who Is the Crucified? Assembly, SATB Choir, Descant, Keyboard, Guitar, and English Horn or C Instrument

Capacitance Level Measurement Electronic insert FEC 12

STRATEGIJE PRILAGODBE PARAMETARA VIDEO KODIRANJA USLUGE IGRANJA U POKRETU ZASNOVANOG NA RAČUNALNOM OBLAKU USMJERENE POBOLJŠAVANJU ISKUSTVENE KVALITETE

KULTURA PAMĆENJA I PROSTOR GRADA. PRILOG ARHITEKTONSKIM I URBANISTIČKIM TUMAČENJIMA OD RUSKINA DO POSTMODERNIZMA

XXIV Simpozijum o novim tehnologijama u poštanskom i telekomunikacionom saobraćaju PosTel 2006, Beograd, 12. i 13. decembar 2006.

Mal-2 assembly guide v1.0

PRODUCT MANUAL. Product Description. Waterproof 4 Channel DMX to RGB-W LED Controller

Coimisiún na Scrúduithe Stáit State Examinations Commission LEAVING CERTIFICATE EXAMINATION 2005

Manual. USP-mini. icroflown Technologies. Address: PO Box CE Arnhem The Netherlands Charting sound fields

Coimisiún na Scrúduithe Stáit State Examinations Commission LEAVING CERTIFICATE EXAMINATION, 2009

Psychological Topics Psihologijske teme

Časlav Božić ELEKTROTEHNIČ KI FAKULTET BEOGRAD

O Salutaris Hostia/O Saving Lamb. Tom Booth; DUGUET. SATB Keyboard, Guitar, Solo Instrument

SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET POZADINSKO TV OSVJETLJENJE I OLED TEHNOLIGIJA

Javna knjižnica Public Library


8. Mrežne komponente

Inside the Huddle Space:

190V3.

UPUTSTVO ZA RUKOVANJE PROFESIONALNO POJAČALO SNAGE REVAMP 4120T

SONG TITLE: UNFAITHFUL ALBUM: A GIRL LIKE ME RELEASED: 2006 LABEL: DEF JAM, SRP GENRE: POP/R&B

AMPLIFIED HOLY BIBLE COMPACT LEATHERSOFT TAN BURGUNDY CAPTURES THE FULL MEANING BEHIND THE ORIGINAL GREEK AND HEBREW

Transcription:

KONFERENCIJA 2017. SPAJAMO TEHNOLOGIJU I ZNANJE

SPONZORI I POKROVITELJI Sponzori Pokrovitelji

Software arhitektura za developere Bernardin Katić

Tko sam ja? Programer od vremena Spectruma Voditelj razvojnog tima za bankarske appse Ms MVP za Visual Studio i razvojne tehnnologije Ljubitelj kulena i organizator KulenDayza Po vjeroispovjesti Jedi

Agenda: Što je arhitektura softwarea? Što je dizajn softwarea? Treba li nam to stvarno? SOLID principi software dizajna Arhitekturni patterni, prednosti i mane Polemična rasprava

Software arhitektura je proces definiranja strukture rješenja koja zadovoljava sve tehničke i operativne zahtjeve, a optimizira atribute kvalitete kao što su brzina, sigurnost i lakoća održavanja i daljnjeg razvoja.

Software design je proces definiranja klasa, metoda, funkcija, interfacea te njihove strukture i njihovih interakcija koji zadovoljavaju funkcionalne zahtjeve korisnika

Software design rješava problem procesiranja kada korisnik pritisne button na formi Software arhitektura rješava problem procesiranja kada 10000 korisnika pritisne button na formi

Arhitektura kuće za vjernog najboljeg prijatelja Može napraviti jedna osoba Zahtjevi: Minimalno planiranje Jednostavne procese Jednostavne alate

Arhitektura stambene kuće Da bi bila napravljena kvalitetno i brzo zahjeva stručni tim Zahtjevi: Planiranje Jasno definirani procesi Profesionalni alati

Pfff! Šta će nam arhitekta, vidi stoji! Zadovoljava formu! Rezultat: Kratkotrajna Teško i često održavanje Nesigurna Nikakve ekonomske vrijednosti Najmanja promjena može dovesti do kolapsa

Until shit hits the fan...

Razlike Procesi Cijena Rokovi Profesionalnost tima Materijali i tehnologije Sudionici projekta Rizici Životni vijek projekta

Atributi kvaliteta Brzina Raspoloživost Korisnost Sigurnost Lakoća održavanja Portabilnost Reusability Lakoća testiranja Time to Market Cijena i korisnost Planirani životni ciklus Ciljano tržište Integracija sa legacy sustavima Krajnji korisnik Developer Business

Dizajn Softwarea

Često je software design kao JENGA

Trust me, I m an engineer!

Trust me, I m an engineer!

Trust me, I m an engineer!

SOLID Principles S O L I D SRP OCP LSP ISP DIP Single Responsibility Principle Open/Closed Principle Liskovs Substitution Principle Interface Segregation Principle Dependency Inversion Principle

Da li su vaše klase bar približno ovako korisne?

A onda uz mali change request mogu i ovo...

Idealno rješenje za ovog customera

A gdje će špangicu zatakuti ovaj customer???

Klasa treba imati jedan i samo jedan razlog za promjenu!

Jedino promjena osnovnih zahtjeva je razlog za promjenu!

Ali onda će nam kod biti u milijun klasica u gomili file-ova!?! BAŠ TAKO! I ŠTA ONDA!

Klase trebaju biti zatvorene za promjene i otvorene za proširenja.

Kada je klasa gotova, onda je gotova!

Open Close Principle

Base klasu u pozivima uvijek treba biti moguće bez problema zamijeniti sa podklasom

Ulazni argumenti ne smiju biti stroži u podklasi Izlazni argumenti ne smiju biti šiti u podklasi Podklasa ne smije implementirati nove vrste exceptiona

Klase ne smiju ovisiti o interfaceima koji im nisu nužni.

Kada razbijemo kompleksne interface nna manje dijelove jednostavnije ih je implmentirati i imamo veću kontrolu

High level moduli ne smiju ovisiti o low level modulima. Svi trebaju ovisiti o apstrakcijama

Kada klase ne ovise o specifičnoj implementaiji lagano je bezbolno je napraviti promjene

SOLID u praksi Prije Poslje

Arhitekture Softwarea

Layered Arhitektura

Layered Arhitektura

Layered Arhitektura

Reports of the MVC death have been greatly exaggerated

Layered Arhitektura Agilnost Niska Monolitna, Čvrsto povezani Lakoća Deploymenta Lakoća testiranja Niska Visoka Često promjena zahtjeva cijelokupni deployment Lagano zamijeniti sloj za potrebe testiranja Brzina sustava Niska Pozivi kroz više slojeva Skalabilnost Niska Monolitna, Čvrsto povezani Lakoća razvoja Visoka Jednostavna, dobro poznata, jasne uloge slojeva

Event-Driven Arhitektura

Event-Driven Arhitektura Agilnost Visoka Odvojene komponente Lakoća Deploymenta Visoka Odvojene komponente Lakoća testiranja Niska Paralelni asnikroni sustav Brzina sustava Visoka Paralelni asnikroni sustav Skalabilnost Visoka Svaki event procesor moguće skalirati odvojeno Lakoća razvoja Niska Paralelni asnikroni sustav

Microkernel Arhitektura

Microkernel Arhitektura Agilnost Visoka Odvojene plug-in komponente Lakoća Deploymenta Visoka Odvojene plug-in komponente Lakoća testiranja Visoka Odvojene plug-in komponente Brzina sustava Skalabilnost Lakoća razvoja Visoka Niska Niska Kernel bez suvišnih funkcionalnosti Najčešće implementiran kao jedinstven sustav Contracts, granularnost, plug-in registry

Microservices Arhitektura

Microkernel Arhitektura Agilnost Lakoća Deploymenta Lakoća testiranja Visoka Visoka Visoka Odvojene male servis komponente Odvojene male servis komponente Odvojene male servis komponente Brzina sustava Niska Distribuirano procesiranje Skalabilnost Lakoća razvoja Visoka Visoka Odvojene male servis komponente Odvojene male servis komponente

Koju arhitekturu vi koristite?

Izvori i reference Software Architecture Patterns, Mark Richards Agile Software Development: Principles, Patterns, and Practices, Robert C. Martin The S.O.L.I.D Principles, Chris Klug Refactoring Code to a SOLID Foundation, Adnan Masood StackOverflow Discussions

ZA ONE KOJI ŽELE ZNATI VIŠE criscon.krizevci.hr