Inżynieria oprogramowania w ujęciu obiektowym. UML, wzorce projektowe i Java
- Autorzy:
- Bernd Bruegge, Allen H. Dutoit
- Ocena:
- 3.0/6 Opinie: 6
- Stron:
- 872
- Druk:
- oprawa twarda
Opis książki: Inżynieria oprogramowania w ujęciu obiektowym. UML, wzorce projektowe i Java
Sprawdź, jak sprawnie i bezbłędnie projektować systemy informatyczne!
- Czym jest inżynieria oprogramowania?
- Jak zapanować nad wszystkimi aspektami procesu projektowania?
- Jak wygląda cykl życia oprogramowania?
Projektowanie systemów informatycznych to zadanie bardzo skomplikowane. Ogromna liczba zależności, zasad i wyjątków od nich sprawia, że nie jest możliwe podejście do tego zadania ot tak, z marszu. Zbieranie i analiza wymagań, przygotowanie diagramów klas, aktywności, stanów czy interakcji to tylko część etapów, z którymi musi poradzić sobie projektant. Jeżeli nałożyć na to wszystko wzorce projektowe, stajemy przed prawie nierozwiązywalnym zadaniem. Na szczęście — prawie!
Dzięki tej książce dowiesz się, jak sprostać temu karkołomnemu zadaniu! W trakcie lektury poznasz język UML, który wprowadził porządek w tym skomplikowanym procesie, oraz podstawowe koncepcje inżynierii oprogramowania. Nauczysz się zarządzać procesem tworzenia oprogramowania, zbierać oraz analizować wymagania, identyfikować podsystemy, specyfikować interfejsy oraz testować. Znajdziesz tu wszystko na temat zarządzania zmianami. W trakcie lektury sprawdzisz, jak wygląda cykl życia oprogramowania oraz jak zarządzać konfiguracją. Dodatkowo poznasz metodologię działań, które doprowadzą Cię do wyznaczonego celu. Książka ta stanowi obowiązkową pozycję dla każdego projektanta oraz analityka. Jednak programiści również znajdą tu wiele cennych wskazówek!
- Niepowodzenia w inżynierii oprogramowania
- Podstawowe koncepcje inżynierii oprogramowania
- Modelowanie przy użyciu języka UML
- Organizacja projektu
- Narzędzie do komunikacji grupowej
- Proces zbierania wymagań
- Identyfikacja aktorów, scenariuszy oraz przypadków użycia
- Określanie obiektów modelu analitycznego
- Analiza wymagań
- Dekompozycja systemu na podsystemy
- Identyfikacja celów projektowych
- Projektowanie obiektów
- Wzorce projektowe
- Specyfikowanie interfejsów
- Odwzorowywanie modelu na kod
- Testowanie
- Zarządzanie zmianami i konfiguracją
- Cykl życia oprogramowania
- Metodologie
Dobry projekt systemu to podstawa sukcesu!
Wybrane bestsellery
-
O tym, ile problemów sprawia niedbale napisany kod, wie każdy programista. Nie wszyscy jednak wiedzą, jak napisać ten świetny, „czysty” kod i czym właściwie powinien się on charakteryzować. Co więcej – jak odróżnić dobry kod od złego? Odpowiedź na te pytania oraz sposoby tworzen...(0,00 zł najniższa cena z 30 dni)
47.40 zł
79.00 zł(-40%) -
Branża IT kusi licznymi ofertami pracy, atrakcyjnymi zarobkami i ciekawymi ścieżkami rozwoju nie tylko zawodowych programistów, lecz również osoby bez wykształcenia informatycznego czy doświadczenia w tej dziedzinie. Te ostatnie zwykle zaczynają karierę od roli testera aplikacji. Jednym z podstaw...(0,00 zł najniższa cena z 30 dni)
53.40 zł
89.00 zł(-40%) -
Dave Thomas i Andy Hunt napisali pierwsze wydanie tej wpływowej książki w 1999 roku, aby pomóc swoim klientom tworzyć lepsze oprogramowanie i na nowo odnaleźć radość z kodowania. Nauki płynące z tamtego wydania pomogły wielu pokoleniom programistów zbadać istotę rozwoju oprogramowania, niezależni...
Pragmatyczny programista. Od czeladnika do mistrza. Wydanie II Pragmatyczny programista. Od czeladnika do mistrza. Wydanie II
(0,00 zł najniższa cena z 30 dni)46.20 zł
77.00 zł(-40%) -
W tej książce w sposób jasny i bardzo interesujący przedstawiono uniwersalne zasady architektury oprogramowania wraz z szeregiem wskazówek dotyczących stosowania tych reguł w praktyce. Wyczerpująco zaprezentowano tu dostępne rozwiązania i wyjaśniono, dlaczego są one tak istotne dla sukcesu przeds...
Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów
(0,00 zł najniższa cena z 30 dni)53.40 zł
89.00 zł(-40%) -
Mikrousługi są relatywnie świeżą koncepcją w świecie systemów IT, mimo to coraz więcej organizacji decyduje się na wdrażanie opartej na nich architektury. Uznaje się, że zapewnia ona wówczas lepszą skalowalność, łatwość łączenia poszczególnych niezależnych elementów, a przede wszystkim możliwość ...
Od monolitu do mikrousług. Ewolucyjne wzorce przekształcania systemów monolitycznych Od monolitu do mikrousług. Ewolucyjne wzorce przekształcania systemów monolitycznych
(0,00 zł najniższa cena z 30 dni)32.94 zł
54.90 zł(-40%) -
Mistrz czystego kodu. Kodeks postępowania profesjonalnych programistów Podręcznik profesjonalnego programisty! Robert C. Martin, znany jako Uncle Bob, to jeden z prawdziwych gwiazdorów branży IT, człowiek o niezwykłej charyzmie, rewelacyjnym podejściu do słuchaczy i poczuciu h...
Mistrz czystego kodu. Kodeks postępowania profesjonalnych programistów Mistrz czystego kodu. Kodeks postępowania profesjonalnych programistów
(0,00 zł najniższa cena z 30 dni)29.40 zł
49.00 zł(-40%) -
Odpowiedź na to fundamentalne pytanie znajdziesz w tej książce ? drugim wydaniu świetnego podręcznika dla przyszłych mistrzów kodu. Zostało ono, podobnie jak inne pozycje z serii Rusz głową!, przygotowane zgodnie z najnowszymi odkryciami nauk poznawczych, teorii uczenia się i neurofizjologii. I w...
Wzorce projektowe. Rusz głową! Tworzenie rozszerzalnego i łatwego w utrzymaniu oprogramowania obiektowego. Wydanie II Wzorce projektowe. Rusz głową! Tworzenie rozszerzalnego i łatwego w utrzymaniu oprogramowania obiektowego. Wydanie II
(0,00 zł najniższa cena z 30 dni)65.40 zł
109.00 zł(-40%) -
To drugie wydanie bestsellerowego przewodnika po technikach uczenia maszynowego. Wystarczą minimalne umiejętności programistyczne, aby dzięki tej książce nauczyć się budowania i trenowania głębokiej sieci neuronowej. Zawarto tu minimum teorii, a proces nauki jest ułatwiony przez liczne przykłady ...
Uczenie maszynowe z użyciem Scikit-Learn i TensorFlow. Wydanie II Uczenie maszynowe z użyciem Scikit-Learn i TensorFlow. Wydanie II
(0,00 zł najniższa cena z 30 dni)77.40 zł
129.00 zł(-40%) -
Ta książka zawiera opis podstawowych wzorców, zasad i praktyk przydatnych podczas analizy dziedzin biznesowych, ułatwiających zrozumienie ich strategii i dostosowanie architektury do potrzeb biznesu, aby umożliwić zbudowanie solidnej implementacji logiki biznesowej. Omówiono tu narzędzia i techni...
Koncepcja Domain-Driven Design. Dostosowywanie architektury aplikacji do strategii biznesowej Koncepcja Domain-Driven Design. Dostosowywanie architektury aplikacji do strategii biznesowej
(0,00 zł najniższa cena z 30 dni)47.40 zł
79.00 zł(-40%) -
To drugie wydanie praktycznego przewodnika po projektowaniu, tworzeniu, wdrażaniu, skalowaniu i utrzymaniu systemów opartych na drobnoziarnistych mikrousługach. Publikacja została uzupełniona o informacje dotyczące najnowszych trendów i technologii związanych z mikrousługami. Sporo miejsca poświę...
Budowanie mikrousług. Projektowanie drobnoziarnistych systemów. Wydanie II Budowanie mikrousług. Projektowanie drobnoziarnistych systemów. Wydanie II
(0,00 zł najniższa cena z 30 dni)65.40 zł
109.00 zł(-40%)
Ebooka przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video zobaczysz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP4 (pliki spakowane w ZIP)
Szczegóły książki
- Tytuł oryginału:
- Object-Oriented Software Engineering Using UML, Patterns, and Java (3rd Edition)
- Tłumaczenie:
- Andrzej Grażyński
- ISBN Książki drukowanej:
- 978-83-246-2872-8, 9788324628728
- Data wydania książki drukowanej:
- 2011-03-17
- Format:
- 172x245
- Numer z katalogu:
- 5912
- Pobierz przykładowy rozdział PDF
- Zgłoś erratę
- Kategorie:
Programowanie » Java - Programowanie
Programowanie » Techniki programowania
Programowanie » UML - Programowanie
Programowanie » Wzorce projektowe
- Serie wydawnicze: Standard
Spis treści książki
- 1.1. Wprowadzenie: niepowodzenia w inżynierii oprogramowania (36)
- 1.2. Czym jest inżynieria oprogramowania? (38)
- 1.2.1. Modelowanie (38)
- 1.2.2. Rozwiązywanie problemów (40)
- 1.2.3. Pozyskiwanie wiedzy (41)
- 1.2.4. Racjonalizacja (42)
- 1.3. Podstawowe koncepcje inżynierii oprogramowania (43)
- 1.3.1. Uczestnicy i role (44)
- 1.3.2. Systemy i modele (46)
- 1.3.3. Produkty (46)
- 1.3.4. Aktywności, zadania i zasoby (47)
- 1.3.5. Wymagania funkcyjne i pozafunkcyjne (48)
- 1.3.6. Notacje, metody i metodologie (48)
- 1.4. Aktywności inżynierii oprogramowania (49)
- 1.4.1. Zbieranie wymagań (50)
- 1.4.2. Analiza (51)
- 1.4.3. Projekt systemu (51)
- 1.4.4. Projektowanie obiektów (53)
- 1.4.5. Implementowanie (53)
- 1.4.6. Testowanie (54)
- 1.5. Zarządzanie tworzeniem oprogramowania (54)
- 1.5.1. Komunikacja (55)
- 1.5.2. Zarządzanie racjonalizacją (55)
- 1.5.3. Zarządzanie konfiguracją oprogramowania (56)
- 1.5.4. Zarządzanie projektem (56)
- 1.5.5. Cykl życiowy oprogramowania (56)
- 1.5.6. Podsumowanie (57)
- 1.6. Analiza przypadku - system ARENA (57)
- 1.7. Literatura uzupełniająca (58)
- 1.8. Ćwiczenia (59)
- 2.1. Wprowadzenie (64)
- 2.2. Ogólnie o UML (65)
- 2.2.1. Diagramy przypadków użycia (65)
- 2.2.2. Diagramy klas (65)
- 2.2.3. Diagramy interakcji (67)
- 2.2.4. Diagram stanów (67)
- 2.2.5. Diagramy aktywności (68)
- 2.3. Podstawowe koncepcje modelowania (69)
- 2.3.1. Systemy, modele i widoki (69)
- 2.3.2. Typy danych, abstrakcyjne typy danych i instancje (72)
- 2.3.3. Klasy, klasy abstrakcyjne i obiekty (73)
- 2.3.4. Klasy zdarzeniowe, zdarzenia i komunikaty (75)
- 2.3.5. Modelowanie zorientowane obiektowo (76)
- 2.3.6. Falsyfikacja i prototypowanie (77)
- 2.4. UML - głębszy wgląd (78)
- 2.4.1. Diagramy przypadków użycia (79)
- 2.4.2. Diagramy klas (86)
- 2.4.3. Diagramy interakcji (95)
- 2.4.4. Diagramy stanów (98)
- 2.4.5. Diagramy aktywności (101)
- 2.4.6. Organizacja diagramów (104)
- 2.4.7. Rozszerzenia diagramów (106)
- 2.5. Literatura uzupełniająca (107)
- 2.6. Ćwiczenia (108)
- 3.1. Wstęp - katastrofa Ariane (114)
- 3.2. O projekcie ogólnie (115)
- 3.3. Koncepcje organizacyjne projektu (119)
- 3.3.1. Organizacja projektów (119)
- 3.3.2. Role w realizacji projektu (122)
- 3.3.3. Zadania i produkty (124)
- 3.3.4. Harmonogramy (126)
- 3.4. Koncepcje komunikacyjne projektu (128)
- 3.4.1. Komunikacja planowa (128)
- 3.4.2. Komunikacja pozaplanowa (135)
- 3.4.3. Mechanizmy komunikacyjne (138)
- 3.5. Aktywności organizacyjne (146)
- 3.5.1. Dołączanie do zespołu (146)
- 3.5.2. Dołączanie do infrastruktury komunikacyjnej (146)
- 3.5.3. Udział w zebraniach zespołu (147)
- 3.5.4. Organizacja przeglądów (149)
- 3.6. Literatura uzupełniająca (151)
- 3.7. Ćwiczenia (152)
- 4.1. Wstęp: przykłady problemów z użytecznością (158)
- 4.2. O zbieraniu wymagań ogólnie (159)
- 4.3. Koncepcje zbierania wymagań (161)
- 4.3.1. Wymagania funkcyjne (161)
- 4.3.2. Wymagania pozafunkcyjne (162)
- 4.3.3. Kompletność, spójność, jednoznaczność i poprawność (164)
- 4.3.4. Realizm, weryfikowalność i identyfikowalność (165)
- 4.3.5. Inżynieria pierwotna, inżynieria wtórna i inżynieria interfejsu (165)
- 4.4. Aktywności związane ze zbieraniem wymagań (166)
- 4.4.1. Identyfikacja aktorów (167)
- 4.4.2. Identyfikacja scenariuszy (169)
- 4.4.3. Identyfikacja przypadków użycia (171)
- 4.4.4. Doskonalenie przypadków użycia (173)
- 4.4.5. Identyfikacja relacji między aktorami a przypadkami użycia (176)
- 4.4.6. Początkowa identyfikacja obiektów modelu analitycznego (179)
- 4.4.7. Identyfikacja wymagań pozafunkcyjnych (182)
- 4.5. Zarządzanie zbieraniem wymagań (183)
- 4.5.1. Negocjowanie specyfikacji z klientem: metoda Joint Application Design (185)
- 4.5.2. Zarządzanie identyfikowalnością (187)
- 4.5.3. Dokumentowanie zbierania wymagań (188)
- 4.6. Analiza przypadku - system ARENA (190)
- 4.6.1. Wstępna deklaracja problemu (190)
- 4.6.2. Identyfikacja aktorów i scenariuszy (192)
- 4.6.3. Identyfikacja przypadków użycia (195)
- 4.6.4. Doskonalenie przypadków użycia i identyfikacja relacji (198)
- 4.6.5. Identyfikacja wymagań pozafunkcyjnych (204)
- 4.6.6. Wnioski (204)
- 4.7. Literatura uzupełniająca (205)
- 4.8. Ćwiczenia (207)
- 5.1. Wstęp: złudzenie optyczne (212)
- 5.2. O analizie wymagań ogólnie (212)
- 5.3. Koncepcje analizy wymagań (214)
- 5.3.1. Analityczny model obiektowy i modele dynamiczne (214)
- 5.3.2. Obiekty encji, obiekty brzegowe i obiekty sterujące (215)
- 5.3.3. Generalizacja i specjalizacja (216)
- 5.4. Aktywności analizy wymagań:
od przypadków użycia do obiektów (217)
- 5.4.1. Identyfikacja obiektów encji (218)
- 5.4.2. Identyfikacja obiektów brzegowych (220)
- 5.4.3. Identyfikacja obiektów sterujących (222)
- 5.4.4. Odwzorowywanie przypadków użycia w obiekty za pomocą diagramów sekwencji (224)
- 5.4.5. Modelowanie interakcji między obiektami za pomocą kart CRC (228)
- 5.4.6. Identyfikacja skojarzeń (228)
- 5.4.7. Identyfikacja agregacji (231)
- 5.4.8. Identyfikacja atrybutów (232)
- 5.4.9. Modelowanie zachowania poszczególnych obiektów uzależnionego od ich stanu (233)
- 5.4.10. Modelowanie relacji dziedziczenia między obiektami (234)
- 5.4.11. Przeglądy modelu analitycznego (235)
- 5.4.12. Podsumowanie analizy (236)
- 5.5. Zarządzanie analizą wymagań (237)
- 5.5.1. Dokumentowanie analizy wymagań (238)
- 5.5.2. Przydzielanie odpowiedzialności (239)
- 5.5.3. Komunikacja w związku z analizą wymagań (240)
- 5.5.4. Iteracje modelu analitycznego (241)
- 5.5.5. Uzgodnienie modelu analitycznego z klientem (243)
- 5.6. Analiza przypadku - system ARENA (245)
- 5.6.1. Identyfikacja obiektów encji (245)
- 5.6.2. Identyfikacja obiektów brzegowych (250)
- 5.6.3. Identyfikacja obiektów sterujących (251)
- 5.6.4. Modelowanie interakcji między obiektami (252)
- 5.6.5. Weryfikacja i konsolidacja modelu analitycznego (254)
- 5.6.6. Wnioski (256)
- 5.7. Literatura uzupełniająca (258)
- 5.8. Ćwiczenia (258)
- 6.1. Wstęp: projekt mieszkania (264)
- 6.2. O projektowaniu systemu ogólnie (266)
- 6.3. Koncepcje projektowania systemu (267)
- 6.3.1. Podsystemy i klasy (268)
- 6.3.2. Usługi i interfejsy podsystemów (270)
- 6.3.3. Sprzężenie i spoistość (271)
- 6.3.4. Warstwy i partycje (275)
- 6.3.5. Style architektoniczne (279)
- 6.4. Aktywności projektowania systemu:
od obiektów do podsystemów (288)
- 6.4.1. Punkt wyjścia: model analityczny systemu planowania podróży (288)
- 6.4.2. Identyfikowanie celów projektowych (290)
- 6.4.3. Identyfikowanie podsystemów (294)
- 6.5. Literatura uzupełniająca (296)
- 6.6. Ćwiczenia (297)
- 7.1. Wstęp: przykład redundancji (302)
- 7.2. O aktywnościach projektowania systemu ogólnie (303)
- 7.3. Koncepcje: diagramy wdrażania UML (304)
- 7.4. Aktywności realizacji celów projektowych (306)
- 7.4.1. Odwzorowywanie podsystemów w procesory i komponenty (306)
- 7.4.2. Identyfikowanie trwałych danych i ich przechowywanie (309)
- 7.4.3. Definiowanie założeń kontroli dostępu (312)
- 7.4.4. Projektowanie globalnego przepływu sterowania (319)
- 7.4.5. Identyfikowanie usług (321)
- 7.4.6. Identyfikowanie warunków granicznych (323)
- 7.4.7. Weryfikowanie projektu systemu (326)
- 7.5. Zarządzanie projektowaniem systemu (328)
- 7.5.1. Dokumentowanie projektu systemu (328)
- 7.5.2. Przydzielanie odpowiedzialności (330)
- 7.5.3. Komunikacja w projektowaniu systemu (331)
- 7.5.4. Iteracje projektowania systemu (333)
- 7.6. Analiza przypadku - system ARENA (334)
- 7.6.1. Identyfikowanie celów projektowych (335)
- 7.6.2. Identyfikowanie podsystemów (336)
- 7.6.3. Odwzorowanie podsystemów w procesory i komponenty (337)
- 7.6.4. Identyfikowanie i przechowywanie trwałych danych (339)
- 7.6.5. Definiowanie założeń kontroli dostępu (340)
- 7.6.6. Projektowanie globalnego przepływu sterowania (341)
- 7.6.7. Identyfikowanie usług (343)
- 7.6.8. Identyfikowanie warunków granicznych (345)
- 7.6.9. Wnioski (347)
- 7.7. Literatura uzupełniająca (348)
- 7.8. Ćwiczenia (348)
- 8.1. Wstęp: wpadki produkcyjne (354)
- 8.2. O projektowaniu obiektów ogólnie (355)
- 8.3. Koncepcja wielokrotnego wykorzystywania
- dziedziczenie, delegowanie i wzorce projektowe (359)
- 8.3.1. Obiekty aplikacyjne i obiekty realizacyjne (359)
- 8.3.2. Dziedziczenie implementacyjne i dziedziczenie specyfikacyjne (360)
- 8.3.3. Delegowanie (363)
- 8.3.4. Zasada zastępowania Liskov (364)
- 8.3.5. Delegowanie i dziedziczenie we wzorcach projektowych (364)
- 8.4. Wybór wzorców projektowych i gotowych komponentów (367)
- 8.4.1. Hermetyzacja przechowywania danych za pomocą wzorca projektowego Most (368)
- 8.4.2. Hermetyzacja niekompatybilnych komponentów za pomocą wzorca projektowego Adapter (371)
- 8.4.3. Hermetyzacja kontekstu za pomocą wzorca projektowego Strategia (373)
- 8.4.4. Hermetyzacja platformy za pomocą wzorca projektowego Fabryka abstrakcyjna (376)
- 8.4.5. Hermetyzacja przepływu sterowania za pomocą wzorca projektowego Polecenie (377)
- 8.4.6. Hermetyzacja hierarchii za pomocą wzorca projektowego Kompozyt (378)
- 8.4.7. Heurystyki wyboru wzorców projektowych (379)
- 8.4.8. Identyfikowanie i przystosowywanie frameworków aplikacyjnych (381)
- 8.5. Zarządzanie wykorzystywaniem gotowych rozwiązań (386)
- 8.5.1. Dokumentowanie wykorzystywania gotowych rozwiązań (388)
- 8.5.2. Przydzielanie odpowiedzialności (389)
- 8.6. Analiza przypadku - system ARENA (390)
- 8.6.1. Zastosowanie wzorca projektowego Fabryka abstrakcyjna (390)
- 8.6.2. Zastosowanie wzorca projektowego Polecenie (392)
- 8.6.3. Zastosowanie wzorca projektowego Obserwator (393)
- 8.6.4. Wnioski (393)
- 8.7. Literatura uzupełniająca (394)
- 8.8. Ćwiczenia (395)
- 9.1. Wstęp: kolej miejska i tramwaje (400)
- 9.2. O specyfikowaniu interfejsów ogólnie (401)
- 9.3. Koncepcje specyfikowania interfejsów (403)
- 9.3.1. Implementator, ekstender i użytkownik klasy (403)
- 9.3.2. Typy, sygnatury i widzialność (403)
- 9.3.3. Kontrakty: niezmienniki, warunki wstępne i warunki końcowe (406)
- 9.3.4. Język OCL (Object Constraint Language) (407)
- 9.3.5. Kolekcje OCL: zbiory, wielozbiory i ciągi (411)
- 9.3.6. Kwantyfikatory OCL: forAll() i exists() (415)
- 9.4. Aktywności specyfikowania interfejsów (416)
- 9.4.1. Identyfikowanie brakujących atrybutów i operacji (417)
- 9.4.2. Specyfikowanie typów, sygnatur i widzialności (418)
- 9.4.3. Specyfikowanie warunków wstępnych i warunków końcowych (419)
- 9.4.4. Specyfikowanie niezmienników (421)
- 9.4.5. Dziedziczenie kontraktów (424)
- 9.5. Zarządzanie projektowaniem obiektów (425)
- 9.5.1. Dokumentowanie projektowania obiektów (425)
- 9.5.2. Przydzielanie odpowiedzialności (431)
- 9.5.3. Wykorzystywanie kontraktów w analizie wymagań (432)
- 9.6. Analiza przypadku - system ARENA (433)
- 9.6.1. Identyfikowanie brakujących operacji w klasach TournamentStyle i Round (434)
- 9.6.2. Specyfikowanie kontraktów dla klas TournamentStyle i Round (435)
- 9.6.3. Specyfikowanie kontraktów dla klas KnockOutStyle i KnockOutRound (438)
- 9.6.4. Wnioski (439)
- 9.7. Literatura uzupełniająca (440)
- 9.8. Ćwiczenia (440)
- 10.1. Wstęp: Władca Pierścieni (446)
- 10.2. O odwzorowywaniu ogólnie (447)
- 10.3. Koncepcje odwzorowywania (448)
- 10.3.1. Transformowanie modelu (449)
- 10.3.2. Refaktoryzacja (450)
- 10.3.3. Inżynieria postępująca (452)
- 10.3.4. Inżynieria odwracająca (452)
- 10.3.5. Zasady transformacji (453)
- 10.4. Aktywności odwzorowywania (454)
- 10.4.1. Optymalizowanie modelu obiektowego (455)
- 10.4.2. Odwzorowywanie skojarzeń na kolekcje (458)
- 10.4.3. Odwzorowywanie kontraktów w wyjątki (465)
- 10.4.4. Odwzorowywanie modelu obiektowego w schematy bazy danych (469)
- 10.5. Zarządzanie transformacjami (475)
- 10.5.1. Dokumentowanie transformacji (475)
- 10.5.2. Przydzielanie odpowiedzialności (477)
- 10.6. Analiza przypadku - system ARENA (478)
- 10.6.1. Statystyki systemu ARENA (478)
- 10.6.2. Odwzorowywanie skojarzeń na kolekcje (480)
- 10.6.3. Odwzorowywanie kontraktów w wyjątki (482)
- 10.6.4. Odwzorowywanie modelu obiektowego w schemat bazy danych (484)
- 10.6.5. Wnioski (485)
- 10.7. Literatura uzupełniająca (485)
- 10.8. Ćwiczenia (486)
- 11.1. Wstęp: testowanie wahadłowców (492)
- 11.2. O testowaniu ogólnie (494)
- 11.3. Koncepcje związane z testowaniem (498)
- 11.3.1. Usterki, błędne stany i awarie (500)
- 11.3.2. Przypadki testowe (503)
- 11.3.3. Namiastki testowe i sterowniki testowe (505)
- 11.3.4. Poprawki (505)
- 11.4. Aktywności związane z testowaniem (506)
- 11.4.1. Inspekcja komponentu (507)
- 11.4.2. Testowanie użyteczności (508)
- 11.4.3. Testowanie jednostkowe (510)
- 11.4.4. Testowanie integracyjne (519)
- 11.4.5. Testowanie systemu (526)
- 11.5. Zarządzanie testowaniem (531)
- 11.5.1. Planowanie testów (532)
- 11.5.2. Dokumentowanie testowania (532)
- 11.5.3. Przydzielanie odpowiedzialności (536)
- 11.5.4. Testowanie regresyjne (537)
- 11.5.5. Automatyzacja testowania (538)
- 11.5.6. Testowanie bazujące na modelach (539)
- 11.6. Literatura uzupełniająca (541)
- 11.7. Ćwiczenia (543)
- 12.1. Wstęp: przycinanie wędzonej szynki (550)
- 12.2. O racjonalizacji ogólnie (551)
- 12.3. Koncepcje racjonalizacji (554)
- 12.3.1. CTC - system centralnego sterowania ruchem (555)
- 12.3.2. Definiowanie problemów: zagadnienia (556)
- 12.3.3. Eksploracja przestrzeni rozwiązań: propozycje (557)
- 12.3.4. Wartościowanie elementów przestrzeni rozwiązań: kryteria i argumenty (559)
- 12.3.5. Kolapsacja przestrzeni rozwiązań: rozstrzygnięcie (560)
- 12.3.6. Implementowanie rozstrzygnięć: elementy działania (561)
- 12.3.7. Przykłady modeli zagadnień i ich realizacje (562)
- 12.4. Aktywności racjonalizacji - od zagadnień do decyzji (567)
- 12.4.1. Projekt systemu CTC (568)
- 12.4.2. Kolekcjonowanie racjonalizacji w ramach zebrań (569)
- 12.4.3. Asynchroniczne kolekcjonowanie racjonalizacji (577)
- 12.4.4. Racjonalizacja dyskutowanych zmian (579)
- 12.4.5. Rekonstruowanie racjonalizacji (582)
- 12.5. Kierownicze aspekty zarządzania racjonalizacją (585)
- 12.5.1. Dokumentowanie racjonalizacji (585)
- 12.5.2. Przypisywanie odpowiedzialności (587)
- 12.5.3. Heurystyki komunikowania racjonalizacji (588)
- 12.5.4. Modelowanie i negocjowanie zagadnień (589)
- 12.5.5. Strategie rozwiązywania konfliktów (590)
- 12.6. Literatura uzupełniająca (592)
- 12.7. Ćwiczenia (593)
- 13.1. Wstęp: samoloty (598)
- 13.2. O zarządzaniu konfiguracją ogólnie (600)
- 13.3. Koncepcje zarządzania konfiguracją (602)
- 13.3.1. Elementy konfiguracji i agregaty CM (603)
- 13.3.2. Wersje i konfiguracje (604)
- 13.3.3. Żądania zmian (604)
- 13.3.4. Promocje i emisje (605)
- 13.3.5. Repozytoria i przestrzenie robocze (606)
- 13.3.6. Schematy identyfikowania wersji (606)
- 13.3.7. Zmiany i zbiory zmian (608)
- 13.3.8. Narzędzia wspomagające zarządzanie konfiguracją (610)
- 13.4. Aktywności tworzące zarządzanie konfiguracją (611)
- 13.4.1. Identyfikowanie elementów konfiguracji i agregatów CM (613)
- 13.4.2. Zarządzanie promocjami (615)
- 13.4.3. Zarządzanie emisjami (616)
- 13.4.4. Zarządzanie gałęziami (619)
- 13.4.5. Zarządzanie wariantami (623)
- 13.4.6. Zarządzanie propozycjami zmian i ich implementowaniem (626)
- 13.5. Kierownicze aspekty zarządzania konfiguracją (627)
- 13.5.1. Dokumentowanie zarządzania konfiguracją (627)
- 13.5.2. Przypisywanie odpowiedzialności (628)
- 13.5.3. Planowanie aktywności w ramach zarządzania konfiguracją (629)
- 13.5.4. Integracja ciągła jako optymalizacja zarządzania promocjami i ich testowaniem (630)
- 13.6. Literatura uzupełniająca (632)
- 13.7. Ćwiczenia (633)
- 14.1. Wstęp: uruchomienie misji STS-51L (638)
- 14.2. O zarządzaniu projektem ogólnie (639)
- 14.3. Koncepcje zarządzania projektem (646)
- 14.3.1. Zadania i aktywności (646)
- 14.3.2. Produkty, pakiety pracy i role (646)
- 14.3.3. Struktura podziału pracy (648)
- 14.3.4. Model zadań (649)
- 14.3.5. Macierz kwalifikacji (650)
- 14.3.6. Plan zarządzania projektem (651)
- 14.4. Aktywności klasycznego zarządzania projektem (653)
- 14.4.1. Planowanie projektu (654)
- 14.4.2. Organizowanie projektu (659)
- 14.4.3. Kontrolowanie projektu (665)
- 14.4.4. Kończenie projektu (671)
- 14.5. Aktywności "zwinnej" realizacji projektu (673)
- 14.5.1. Planowanie projektu: wykazy zaległości produktu i przebiegu (674)
- 14.5.2. Organizowanie projektu (675)
- 14.5.3. Kontrolowanie projektu: dni robocze i wykresy wygaszania (675)
- 14.5.4. Kończenie projektu: przeglądy przebiegów (677)
- 14.6. Literatura uzupełniająca (677)
- 14.7. Ćwiczenia (679)
- 15.1. Wstęp: nawigacja polinezyjska (684)
- 15.2. IEEE 1074: standard cykli życiowych (688)
- 15.2.1. Procesy i aktywności (688)
- 15.2.2. Modelowanie cyklu życiowego (690)
- 15.2.3. Zarządzanie projektem (690)
- 15.2.4. Prerealizacja (691)
- 15.2.5. Realizacja - tworzenie systemu (692)
- 15.2.6. Postrealizacja (693)
- 15.2.7. Procesy integralne (międzyrealizacyjne) (694)
- 15.3. Charakteryzowanie dojrzałości modeli cyklu życiowego (695)
- 15.4. Modele cyklu życiowego (698)
- 15.4.1. Sekwencyjne modele ukierunkowane na aktywności (699)
- 15.4.2. Iteracyjne modele ukierunkowane na aktywności (701)
- 15.4.3. Modele ukierunkowane na encje (706)
- 15.5. Literatura uzupełniająca (709)
- 15.6. Ćwiczenia (710)
- 16.1. Wstęp: pierwsze zdobycie K2 (714)
- 16.2. Środowisko projektu (717)
- 16.3. Zagadnienia metodologiczne (719)
- 16.3.1. Ile planowania? (719)
- 16.3.2. Ile powtarzalności? (720)
- 16.3.3. Ile modelowania? (721)
- 16.3.4. Ile procesów cyklu życiowego? (723)
- 16.3.5. Ile kontroli i monitorowania? (723)
- 16.3.6. Kiedy przedefiniować cele projektu? (724)
- 16.4. Spektrum metodologii (724)
- 16.4.1. Metodologia Royce'a (725)
- 16.4.2. Programowanie ekstremalne (XP) (731)
- 16.4.3. Metodologie rugby (737)
- 16.5. Analizy przypadku (742)
- 16.5.1. Projekt XP: ATRACT (743)
- 16.5.2. Lokalny klient: FRIEND (746)
- 16.5.3. Rozproszony projekt: JAMES (754)
- 16.5.4. Podsumowanie analiz przypadku (761)
- 16.6. Literatura uzupełniająca (766)
- 16.7. Ćwiczenia (766)
- A.1. Fabryka abstrakcyjna (Abstract Factory)
- hermetyzacja platformy (772)
- A.2. Adapter (Adapter) - otoczka dla starszego kodu (773)
- A.3. Most (Bridge) - podmiana implementacji (774)
- A.4. Polecenie (Command) - hermetyzacja przepływu sterowania (775)
- A.5. Kompozyt (Composite) - rekurencyjna reprezentacja hierarchii (776)
- A.6. Fasada (Facade) - hermetyzacja podsystemów (777)
- A.7. Obserwator (Observer) - oddzielenie encji od widoków (778)
- A.8. Proxy (Proxy) - hermetyzacja kosztownych obiektów (779)
- A.9. Strategia (Strategy) - hermetyzacja algorytmów (780)
- A.10. Heurystyki pomocne w wyborze wzorców projektowych (781)
- B.1. Terminologia (783)
- B.2. Słownik terminów angielskich (817)
Przedmowa (17)
Wstęp (19)
Podziękowania (31)
CZĘŚĆ I: Zaczynamy (33)
Rozdział 1. Wprowadzenie do inżynierii oprogramowania (35)
Rozdział 2. Modelowanie w języku UML (63)
Rozdział 3. Organizacja projektu i komunikacja (113)
CZĘŚĆ II: Zmagania ze złożonością (155)
Rozdział 4. Zbieranie wymagań (157)
Rozdział 5. Analiza wymagań (211)
Rozdział 6. Projektowanie systemu - dekompozycja na podsystemy (263)
Rozdział 7. Projekt systemu: realizacja celów projektowych (301)
Rozdział 8. Projektowanie obiektów: wielokrotne wykorzystywanie rozwiązań wzorcowych (353)
Rozdział 9. Projektowanie obiektów: specyfikowanie interfejsów (399)
Rozdział 10. Odwzorowywanie modelu na kod (445)
Rozdział 11. Testowanie (491)
CZĘŚĆ III: Zarządzanie zmianami (547)
Rozdział 12. Zarządzanie racjonalizacją (549)
Rozdział 13. Zarządzanie konfiguracją (597)
Rozdział 14. Zarządzanie projektem (637)
Rozdział 15. Cykl życiowy oprogramowania (683)
Rozdział 16. Wszystko razem, czyli metodologie (713)
Dodatki (769)
Dodatek A: Wzorce projektowe (771)
Dodatek B: Objaśnienia haseł (783)
Dodatek C: Bibliografia (831)
Skorowidz (847)
Oceny i opinie klientów: Inżynieria oprogramowania w ujęciu obiektowym. UML, wzorce projektowe i Java Bernd Bruegge, Allen H. Dutoit (6)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(2)
(0)
(0)
(1)
(0)
(3)
Data dodania: 2012-09-12 Ocena: 6 Opinia niepotwierdzona zakupem
Data dodania: 2012-01-02 Ocena: 6 Opinia niepotwierdzona zakupem
Damian Świerzbin, Programista Java
Data dodania: 2012-08-03 Ocena: 3 Opinia niepotwierdzona zakupem
Kamil Pechap, programista
Data dodania: 2013-01-30 Ocena: 1 Opinia niepotwierdzona zakupem
Data dodania: 2012-12-31 Ocena: 1 Opinia niepotwierdzona zakupem
Data dodania: 2012-09-27 Ocena: 1 Opinia niepotwierdzona zakupem
więcej opinii