okladka

Przygotuj projekt systemu informatycznego,
który naprawdę spełni oczekiwania użytkowników

  • Wybierz technologię, platformę sprzętową i model licencjonowania
  • Zadbaj o funkcjonalność i łatwość rozbudowy systemu
  • Zabezpiecz system przed piractwem, kradzieżą i utratą danych

Termin "architektura oprogramowania" kojarzy się zwykle z doborem języka programowania, wzajemnymi zależnościami między komponentami powstającego systemu informatycznego, wyborem platformy bazodanowej i zaplanowaniem innych elementów związanych wyłącznie z zagadnieniami technicznymi. Tymczasem w opisie architektury systemu nie wolno pomijać także innych kwestii: modelu licencjonowania, sposobu wdrażania i konserwacji systemu, a przede wszystkim jego użyteczności. Te pozornie niezwiązane z projektem elementy mogą mieć duży wpływ na powodzenie przedsięwzięcia, jakim jest stworzenie i sprzedaż oprogramowania. Odpowiednio przygotowany projekt systemu informatycznego powinien więc obejmować zarówno zagadnienia techniczne, jak i ekonomiczne.

Książka "Więcej niż architektura oprogramowania" to poradnik, dzięki któremu stworzenie odpowiedniej relacji między technologią a biznesem jest łatwiejsze, niż mogłoby się wydawać. Może się przydać zarówno menedżerowi, jak i programiście. Autor książki, doświadczony kierownik projektów i twórca oprogramowania, przedstawia związki między zagadnieniami technicznymi a innymi aspektami. Znajdziesz w niej opisy dobrych i skutecznych rozwiązań oraz zaczerpnięte z rynku przykłady planowania produkcji oprogramowania.

  • Znaczenie architektury oprogramowania
  • Zarządzanie oprogramowaniem jako produktem
  • Modele licencjonowania
  • Wykorzystywanie obcych technologii w projekcie
  • Wdrażanie systemu
  • Obsługa techniczna
  • Dobór marki
  • Funkcjonalność i łatwość obsługi
  • Zabezpieczanie aplikacji

Sprawy z pozoru mało ważne często powodują największe problemy. Nie ignoruj ich. Pracuj nad projektem kompleksowo.


Przedmowa Martina Fowlera (13)
Przedmowa Guya Kawasaki (15)
Wstęp (17)
1. Architektura oprogramowania (21)
  • Definicja architektury oprogramowania (21)
  • Inne spojrzenia na architekturę oprogramowania (22)
  • Znaczenie architektury oprogramowania (24)
  • Tworzenie architektury (27)
  • Wzorce i architektura (28)
  • Ewolucja i dojrzewanie architektury - funkcje a możliwości (29)
  • Opieka nad architekturą (32)
  • Ogólne zasady (36)
  • Pełne zrozumienie architektury (38)
  • Zespół (39)
  • Podsumowanie rozdziału (40)
2. Oprogramowanie jako produkt (43)
  • Czym jest zarządzanie produktem? (43)
  • Znaczenie zarządzania produktem (44)
  • Proces tworzenia produktu - do wersji 1.0 (44)
  • Wcale tak nie jest (50)
  • Biznesplan (53)
  • Proces tworzenia produktu - wersja n.n.n (53)
  • Wspomaganie procesu tworzenia produktu (55)
  • Zarządzanie produktem - najważniejsze pojęcia (57)
  • Podsumowanie rozdziału (64)
3. Różnica między m-architekturą i t-architekturą (67)
  • Jaki jest podział odpowiedzialności? (67)
  • Siły działające na początku projektu (68)
  • Praca w długim okresie i wyniki w krótkim okresie (72)
  • Wizja przyszłości (73)
  • Zarządzanie informacjami zwrotnymi (74)
  • Budowanie przejrzystości (74)
  • Jednomyślność działań (76)
  • Diagramy kontekstowe i produkty docelowe (78)
  • Podsumowanie rozdziału (79)
4. Symbioza modelu biznesowego i modelu licencjonowania (81)
  • Typowe modele biznesowe oprogramowania (82)
  • Prawa licencjobiorcy (92)
  • Wpływ modelu biznesowego na t-architekturę (95)
  • Stosowanie modeli licencjonowania (99)
  • Dojrzałość rynku a model biznesowy (104)
  • Podsumowanie rozdziału (106)
5. Korzystanie z technologii licencjonowanych (109)
  • Licencjonowanie - zagrożenia i korzyści (109)
  • Umowa (112)
  • Niezgodność modeli biznesowych i negocjacje (117)
  • Honorowanie umów licencyjnych (118)
  • Włączanie technologii licencjonowanej (119)
  • Licencjonowanie Open Source (119)
  • Opłaty licencyjne (120)
  • Ekonomika licencjonowania (122)
  • Podsumowanie rozdziału (122)
6. Wieloplatformowość (125)
  • Rzekome korzyści z wieloplatformowości (125)
  • Uzasadnienie biznesowe wieloplatformowości (126)
  • Tworzenie aplikacji wieloplatformowej (129)
  • Macierz trudów pracy (131)
  • Niebezpieczne obietnice (135)
  • Podsumowanie rozdziału (135)
7. Architektura wdrożeniowa (137)
  • Rodzaje architektury wdrożeniowej (137)
  • Wpływ klienta (140)
  • Wpływ rodzimej organizacji (142)
  • Wybór architektury wdrożeniowej (145)
  • Architektury wdrożeniowe i podział pracy (146)
  • Urządzenia informatyczne typu IA (147)
  • Wpływ na architekturę oprogramowania (147)
  • Przyszłość oprogramowania powszechnego użytku (149)
  • Podsumowanie rozdziału (149)
8. Integracja i rozbudowa (151)
  • Kontrola w rękach klienta, czyli siła przewodnia (151)
  • Architektura warstwowa - struktury logiczne (153)
  • Projektowanie i implementacja architektury warstwowej (157)
  • Integracja i rozbudowa warstw logiki biznesowej (159)
  • Integrowanie i rozbudowa magazynu danych (164)
  • Konsekwencje natury biznesowej (168)
  • Interfejs API a kolejne wersje (174)
  • Podsumowanie rozdziału (175)
9. Marka i elementy marki (177)
  • Elementy marki (177)
  • Marki produktów licencjonowanych (182)
  • Dostosowywanie elementów marki (182)
  • Zmiana elementów marki (183)
  • Podsumowanie rozdziału (185)
10. Funkcjonalność ("usability") (187)
  • Funkcjonalność = pieniądze (187)
  • Modele myślowe, metafory i funkcjonalność (189)
  • Wpływ t-architektury na interfejs użytkownika (190)
  • Szybciej, wyżej, mocniej (196)
  • Podsumowanie rozdziału (203)
11. Instalacja (205)
  • Wyjmij z pudełka i rozpocznij pracę (205)
  • Au! Może boleć (207)
  • Instalacja a architektura (208)
  • Jak instalować (210)
  • Ostatnie szlify (214)
  • Podsumowanie rozdziału (216)
12. Aktualizacja (219)
  • Jak instalacja, tyle że gorsza (219)
  • Mniej kłopotliwe uaktualnienie (222)
  • Aktualizacje a dojrzałość rynku (225)
  • Podsumowanie rozdziału (226)
13. Konfiguracja (229)
  • Konfigurowalność - element funkcjonalności (229)
  • Kontekst systemu (230)
  • W trakcie inicjalizacji i w trakcie pracy (231)
  • Ustawianie wartości (232)
  • Ustawianie właściwej wartości (233)
  • Ogólne zasady pracy z parametrami (234)
  • Podsumowanie rozdziału (235)
14. Dzienniki (237)
  • Chcę wiedzieć, co jest grane (238)
  • Nie tylko fakty (239)
  • Format i zarządzanie dziennikiem (241)
  • Przetwarzanie danych dziennika (245)
  • Usługi rejestrowania (245)
  • Podsumowanie rozdziału (246)
15. Zarządzanie wersjami (249)
  • Tak, to jest potrzebne (249)
  • Nasz punkt wyjścia (250)
  • Zarządzanie wersjami (251)
  • Identyfikacja wersji (252)
  • Oznaczenia SKU i numery seryjne (257)
  • Zarządzanie wersjami a t-architektura (260)
  • Podsumowanie rozdziału (262)
16. Zabezpieczenia (263)
  • Wirusy, hakerzy i piraci (264)
  • Zarządzanie cyfrową tożsamością (266)
  • Bezpieczeństwo transakcji (269)
  • Bezpieczeństwo oprogramowania (271)
  • Bezpieczeństwo informacji (273)
  • Ukrywanie algorytmów czy ukrywanie kluczy? (274)
  • Tylne wejście (274)
  • Bezpieczeństwo i m-architektura (275)
  • Podsumowanie rozdziału (277)
A Release - lista kontrolna (281)
  • Identyfikacja (281)
  • Programowanie (281)
  • Zapewnienie jakości (281)
  • Publikacje techniczne (282)
  • Produkt (282)
  • Przekaz informacji - usługi (282)
  • Przekaz informacji - sprzedaż i dystrybucja (282)
  • Przekaz informacji - pomoc techniczna (283)
  • Przygotowanie dystrybucji (283)
B Język wzorców strategicznego zarządzania produktem (285)
  • Stosowanie wzorców (285)
  • Prezentacja wyników (287)
  • Mapa rynku (287)
  • Wydarzenia i rytmy rynku (289)
  • Mapa funkcji i korzyści (291)
  • Plan rozwoju t-architektury (292)
Bibliografia (295)
Literatura (297)
O autorze (301)
Skorowidz (303)