Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
2
Systemy,projektiarchitektura
Czymjestarchitekturaoprogramowania?
Architekturaoprogramowaniatoplanbudowysystemuoprogramowania.Tenplan
obejmujezwykledwierzeczy:zdefiniowaniesystemujakopewnegozestawukompo-
nentówiokreśleniesposobu,wjakitekomponentyzesobąwspółpracują.Wzłożonych
systemachtadekompozycjamapostaćrekurencyjnegoprocesu,wramachktóregoar-
chitektdzielikażdykomponentnamniejszekomponentyiokreślaichzachowanie.
Istniejądobreplanyizłeplany.Tosamodotyczyarchitekturyoprogramowania.Jakie
celedobrejarchitekturyoprogramowania?
Nadrzędnymcelemsystemówoprogramowania(awięciarchitekturyoprogramo-
wania)jestbudowaniesystemówspełniającychstandardyjakościizapewniających
najwyższyzwrotzinwestycjiwdłuższejperspektywielubwokreślonymhoryzoncie
czasowym.Idealnajesttutajdłuższaperspektywa.Naprzykład,jeśliniezainwestujemy
długoterminowoizbudujemykiepskiprojekt,użytkownicybędąniezadowoleni,przez
coostatecznieutracimyznichprzychodylubwydamyzbytdużostarającsięichuszczę-
śliwić.Taniowkrótkimokresietoczęstodrożejnadłuższąmetę.Płacimyterazlub
płacimypóźniej.Zdrugiejstronydodanienowejkrytycznejfunkcji,awięcwydanie
większejilościpieniędzy,możenamprzynieśćwiększeprzychody,zwiększającwten
sposóbRoI.
Projektowaniearchitekturykomplikujątrzyrodzajeniepewności.Pierwszy,togdy
tylkoczęścioworozumiemynaszychużytkownikówiichoczekiwania.Drugi,togdy
mamyograniczonepojęcieotym,jakzachowująsięnaszesystemy,zwłaszczawzło-
żonychinowychsytuacjach.Trzeci,togdyniezauważamy,żewrazzewolucjąprzy-
padkówużyciaiużytkownikówzmieniająsięichwymagania.Dlategochcemy,żeby
11