Zakoni softverskog inženjerstva | Infoelektronika

Zakoni softverskog inženjerstva

63+ zakona i principa, 50+ godina obrazaca
Autor dr Milan Milanović
ISBN 9788673106182
Strana: 300 Format: B5 Povez: Mek Masa: 0 g
Cena
2.420 rsd
1.936 rsd
O knjizi

Obrasci koji oblikuju softverske projekte 
Konvejev zakon. Bruksov zakon. Gudhartov zakon. Hajramov zakon. Ako dovoljno dugo radite u razvoju softvera, verovatno ste se već susreli sa ovim pravilima, čak i pre nego što ste znali kako se zovu. Videli ste neuspešno ponovno pisanje sistema. Radili ste u timu koji postaje sve veći, ali sve sporiji.
Ovi obrasci se u softverskim projektima pojavljuju više od pedeset godina. Iskusni inženjeri ih poznaju, ali su ih naučili na teži način – kroz neuspešne projekte, probijene rokove i noćna debagovanja. Te lekcije nikada nisu bile na jednom mestu. Živele su u akademskim radovima iz šezdesetih, u blog postovima koji se jednom podele i zaborave, u diskusijama i pregledima koda.

Ova knjiga ih sve stavlja na jedno mesto.
63+ zakona i principa, svaki sa sopstvenim poglavljem. Svako poglavlje pokriva odakle zakon potiče, kako zaista funkcioniše, kako izgleda u praksi i kako se povezuje sa drugim zakonima u knjizi. Taj poslednji deo je ključan – neki od ovih principa se međusobno pojačavaju, a drugi su u direktnom sukobu. Odeljci „Povezani zakoni“ kroz celu knjigu pokazuju gde su te veze. To je važno jer je u praksi inženjerstvo pitanje kompromisa, ne pravila.
Šta knjiga donosi
Svaki zakon – jasno i strukturisano
•       Šta zakon govori. Jasna definicija svakog principa sa objašnjenjem suštine i mehanizma delovanja.
•       Odakle potiče. Istorijski kontekst i poreklo – ko je prvi formulisao zakon i u kojim okolnostima.
•       Zašto je važan. Praktična relevantnost u savremenom softverskom inženjerstvu.
•       Primeri iz prakse. Kako zakon izgleda u stvarnim softverskim projektima, sa konkretnim scenarijima.
•       Povezani zakoni. Kako se principi međusobno dopunjuju, ali i kako ponekad dolaze u direktan sukob. Inženjerstvo je pitanje kompromisa, ne pravila.

Struktura: sedam samostalnih celina
I. Arhitektura i složenost (8 zakona)
Kako nastaju složeni sistemi, zašto se apstrakcije raspadaju pod pritiskom stvarnosti i zašto arhitektura nikada nije samo dijagram.

Galov zakon · Zakon propusnih apstrakcija · Teslerov zakon · CAP teorema · Hajramov zakon · Efekat drugog sistema · Zablude distribuiranog računarstva · Zakon neželjenih posledica · Zavinskijev zakon
II. Ljudi, timovi i organizacije (10 zakona)
Zašto arhitektura sistema često liči na organizaciju koja ga pravi, zašto dodavanje ljudi u zakasneli projekat može dodatno da ga uspori i zašto se problemi u komunikaciji brzo pretvaraju u probleme u kodu.
Konvejev zakon · Bruksov zakon · Danbarov broj · Ringelmenov efekat · Prajsov zakon · Patov zakon · Peterov princip · Bas faktor · Dilbertov princip
III. Vreme, procene i planiranje (6 zakona)
Procene greše zato što ne zavise samo od vremena za pisanje koda. Zavise od neizvesnosti, komunikacije, promena zahteva, skrivenog rada i ljudske sklonosti ka potcenjivanju složenosti.
Hofštaterov zakon · Parkinsonov zakon · Pravilo devedeset-devedeset · Gudhartov zakon · Gilbov zakon · Knutov princip optimizacije
IV. Kvalitet, održavanje i evolucija (10 zakona)
Softver nije završen kada počne da radi. Tada počinje njegov pravi život – greške, održavanje, testiranje, tehnički dug i postepeno propadanje sistema koji se ne neguje.
Marfijev zakon · Postelov zakon · Teorija razbijenih prozora · Izviđačko pravilo · Tehnički dug · Linusov zakon · Kerniganov zakon · Piramida testiranja · Paradoks pesticida · Lemanovi zakoni evolucije softvera · Stardžeonov zakon
V. Skaliranje, performanse i rast (4 zakona)
Rast sistema ne donosi samo veći broj korisnika. Donosi nova ograničenja, uska grla i probleme koji nisu bili vidljivi dok je sistem bio mali.
Amdalov zakon · Gustafsonov zakon · Metkalfov zakon
VI. Kodiranje i principi dizajna (6 zakona)
Svakodnevni inženjerski principi koji pomažu da kod ostane razumljiv, održiv i dovoljno jednostavan.
DRY (Ne ponavljaj se) · KISS (Neka bude jednostavno) · YAGNI (Neće ti trebati) · SOLID principi · Zakon Demeter · Princip najmanjeg iznenađenja
VII. Donošenje odluka i kognitivne pristrasnosti (13 zakona)
Mentalni modeli i pristrasnosti koje utiču na procene, rasprave, arhitektonske izbore i menadžerske odluke.
Daning-Krugerov efekat · Henlonova britva · Okamova britva · Zabluda nepovratnih troškova · Mapa nije teritorija · Pristrasnost potvrde · Gartnerov ciklus i Amarin zakon · Lindijev efekat · Razmišljanje iz prvih principa · Inverzija · Paretov princip (80/20) · Kaningamov zakon
Prateći zakoni unutar poglavlja
Mnoga poglavlja pokrivaju i prateće zakone i modele koji se pojavljuju unutar glavnih tema. U knjizi ima više nego što sadržaj na prvi pogled sugeriše
Boksov zakon (George Box) · Spotifaj model · Pravilo dve pice · Efekat Mrtvog mora · Efekat kobre · Sindrom prevaranta · i drugi.

Detaljan opis

Pohvale

 

„Divno kompaktna knjiga prožeta teško stečenim lekcijama mudrosti. Možete provesti decenije otkrivajući ove zakone kroz ožiljke iskustva, ili možete dozvoliti Milanu da vam otključa njihove tajne za jedan vikend.“

Marten Dalmijn – autor knjige Driving Value with Sprint Goals

„Ova knjiga pruža katalog delotvornih modela razmišljanja za dizajn sistema, organizacionu dinamiku, upravljanje projektima i druge aspekte softverskog inženjerstva. Ona neće donositi odluke umesto vas, ali će vam pružiti jasnoću da ih donosite promišljeno.“

Vlad Hononov – autor knjiga Balancing Coupling in Software Design i Learning Domain-Driven Design

Kome je knjiga namenjena

       Programerima koji žele da bolje razumeju zašto projekti uspevaju ili propadaju

       Softverskim arhitektama koji donose dugoročne tehničke odluke

       Tehničkim liderima koji vode timove

       Menadžerima koji planiraju rokove, kapacitete i prioritete

       Iskusnim inženjerima koji žele da imenuju obrasce koje već poznaju

       Mlađim programerima koji žele da brže steknu rečnik i način razmišljanja seniora

Nije samo o kodu

Polovina knjige pokriva ljude, organizacije i način na koji donosimo odluke – ne samo tehnologiju. Ovo nije tutorijal za kodiranje i neće vas naučiti programski jezik ili radni okvir.

Softverski projekti retko propadaju zbog jednog pogrešnog reda koda. Mnogo češće propadaju zbog pogrešnih pretpostavki, loše komunikacije, potcenjene složenosti, nejasnih prioriteta, loših procena i odluka koje su delovale razumno samo dok posledice nisu postale vidljive.

Zakoni softverskog inženjerstva pomažu da te obrasce prepoznamo ranije. Ova knjiga ne obećava jednostavne recepte. Ona daje jezik, okvir i mentalne modele pomoću kojih možemo bolje da razumemo projekte, timove, sisteme i odluke koje svakodnevno donosimo.

Tehnologije se menjaju. Obrasci ostaju iznenađujuće postojani.

 

Iz iste oblasti

PHP i MySQL razvoj aplikacija za veb: prevod 5. izdanja
Luke Welling, Laura Thomson
korice/k000154d2b.jpg
Cena: 2.300 rsd
UX DIZAJN: 101 princip za dobar UX dizajn
101 princip za dobar UX dizajn
korice/k000248d2b.jpg
Cena: 2.178 rsd

NASLOV ...

Naslov
Autor
Cena: 12.356 rsd


USPEŠNO DODATO U KORPU


 
KORPA:
- Artikala: 0
- Iznos: 0 rsd