Skip to content Skip to navigation

Modelowanie i implementacja systemów informatycznych

Pobierz

Rozmiar pliku: 677,18 KB

Fragmenty książki Modelowanie i implementacja systemów informatycznych.

Mariusz Trzaska: Modelowanie i implementacja systemów informatycznych. Rok 2008. Wydawnictwo PJWSTK. Stron 299. ISBN 978-83-89244-71-0, 83-89244-71-3.

Jest to podręcznik do przedmiotu MAS dostępny w dwóch wersjach:

Streszczenie

Książka poświęcona jest problematyce wytwarzania oprogramowania z wykorzystaniem podejścia obiektowego i notacji UML. Szczególny nacisk położono na przełożenie teoretycznych pojęć obiektowości na praktyczne odpowiedniki implementacyjne. Na konkretnym, biznesowym przykładzie (wypożyczalnia wideo) opisano poszczególne fazy wytwarzania oprogramowania: analiza, projekt, implementacja, testowanie ze szczególnym uwzględnieniem tych dwóch środkowych. Opis poparto implementacją biblioteki (dla języka Java) ułatwiającej stosowanie niektórych pojęć obiektowości (ekstensja, asocjacje, ograniczenia, dziedziczenie) oraz prototypem częściowo realizującym funkcjonalność wspomnianej wypożyczalni wideo (również dla języka Java).
Przy pisaniu książki wykorzystano doświadczenia autora płynące z pracy w Polsko-Japońskiej Wyższej Szkole Technik Komputerowych oraz uczestnictwa w różnych projektach komercyjnych oraz naukowo-badawczych.
Odbiorcami publikacji mogą być wszyscy zainteresowani współczesnymi obiektowymi językami programowania takimi jak Java, C# czy C++. Książka szczególnie polecana jest dla studentów nauk informatycznych chcących pogłębić swoją wiedzę dotyczącą analizy, modelowania oraz implementacji nowoczesnych systemów komputerowych.

Wprowadzenie

Ponad dziesięć lat temu przeczytałem książkę o programowaniu, która mnie urzekła: Symfonia C++ napisana przez Jerzego Grębosza. Do dzisiaj nie spotkałem lepiej napisanej książki dotyczącej języków programowania. Niektórzy mogą uważać, że pisanie o takich poważnych i skomplikowanych sprawach jak języki programowania wymaga bardzo naukowego stylu. Pan Grębosz zastosował styl przyjacielski jak sam to określił: bezpośredni, wręcz kolokwialny. Moim celem jest stworzenie książki podobnej w stylu, ale traktującej o całym procesie wytwarzania oprogramowania, ze szczególnym uwzględnieniem pojęć występujących w obiektowości i ich przełożenia na praktyczną implementację. Czy i w jakim stopniu mi się to udało oceną Czytelnicy.
Książka ta powstała na podstawie mojego doświadczenia nabytego w czasie prowadzenia wykładów, ćwiczeń oraz przy okazji prac w różnego rodzaju projektach, począwszy od badawczych, aż do typowo komercyjnych. Na co dzień pracuję w Polsko-Japońskiej Wyższej Szkole Technik Komputerowych jako adiunkt, więc mam też spore doświadczenie wynikające z prowadzenia zajęć ze studentami. Dzięki temu będę w stanie omówić też typowe błędy popełniane przy tworzeniu oprogramowania.
Odbiorcami tej publikacji mogą być wszyscy zainteresowani wytwarzaniem oprogramowania, obiektowością, programowaniem czy modelowaniem pojęciowym, np. programiści, analitycy czy studenci przedmiotów związanych z programowaniem, inżynierią oprogramowania, bazami danych itp. Zakładam, że Czytelnik ma już jakąś wiedzę na temat programowania oraz modelowania, ale wszędzie, gdzie to tylko możliwe, staram się przedstawiać obszerne wyjaśnienia. Aby oszczędzić Czytelnikowi przewracania kartek oraz ułatwić zrozumienie omawianych zagadnień, w niektórych miejscach powielam wyjaśnienia, ale z uwzględnieniem trochę innego punktu widzenia (lub argumentacji).
Pomysł na książkę był prosty: pokazać cały proces wytwarzania oprogramowania, począwszy od analizy potrzeb klienta, poprzez projektowanie, implementację (programowanie), a kończąc na testowaniu. Szczególnie chciałem się zająć przełożeniem efektów analizy na projektowanie oraz programowanie. W związku z tym, czynności z tej pierwszej fazy są potraktowane nieco skrótowo (nie dotyczy to diagramu klas, który jest omówiony bardzo szczegółowo). Czytelnik, który potrzebuje poszerzyć swoją wiedzę na temat tych zagadnień, powinien sięgnąć po którąś z książek traktujących o modelowaniu, UML itp. (lista proponowanych tytułów znajduje się w ostatnim rozdziale: Bibliografia). Większość przykładów w książce oparta jest na konkretnych wymaganiach biznesowych (wypożyczalnia wideo). Implementacja została wykonana dla języka programowania Java SE 6. Czasami też zamieszczam odnośniki do Microsoft C# czy C++. Na początku książki mamy jakiś biznes do skomputeryzowania (wypożyczalnia wideo), przeprowadzamy jego analizę, robimy projekt, a na koniec częściową implementację w postaci prototypu systemu komputerowego.
Proces analizy potrzeb użytkownika i projektowania oprogramowania oraz zagadnienia z tym związane (szeroko pojmowana obiektowość) są czasami postrzegane (szczególnie przez niektórych studentów) jako zbędny balast teoretyczny. Można spotkać się z opinią, że należy usiąść i zacząć pisać program (programować), a reszta jakoś się ułoży. Nieznajomość tych podstaw, nazwijmy to teoretycznych, lub ich niezrozumienie prowadzi do tego, że programy pisane w obiektowych językach programowania nie są wcale zbyt obiektowe. I tak naprawdę, przez to, że nie korzystają z tych udogodnień, wymagają więcej pracy oraz zawierają więcej błędów. Mam nadzieję, że po przeczytaniu tej książki uwierzysz, drogi Czytelniku, że jak powiedział Kurt Lewin, twórca podstaw współczesnej psychologii społecznej: nie ma nic praktyczniejszego niż dobra teoria.

Spis rozdziałów

  • 1 Wprowadzenie 7
  • 2 Analiza 9
    • 2.1 Wymagania klienta 10
    • 2.2 Wymagania dla Wypożyczalni wideo 11
    • 2.3 Przypadki użycia 13
    • 2.4 Diagram klas 22
    • 2.5 Diagram aktywności 81
    • 2.6 Diagram stanów 83
  • 3 Projektowanie 85
    • 3.1 Klasy 86
    • 3.2 Asocjacje 116
    • 3.3 Dziedziczenie 155
    • 3.4 Ograniczenia i inne konstrukcje 183
    • 3.5 Model relacyjny 193
    • 3.6 Użyteczność graficznych interfejsów użytkownika 222
    • 3.7 Projekt dla Wypożyczalni wideo 231
  • 4 Implementacja i testowanie 249
    • 4.1 Wprowadzenie 249
    • 4.2 Zarządzanie danymi 255
    • 4.3 Logika biznesowa 260
    • 4.4 Implementacja Graficznego Interfejsu Użytkownika 263
    • 4.5 Testowanie 266
  • 5 Uwagi końcowe 269
  • Bibliografia 271
  • Ważniejsze informacje związane z Wypożyczalnią wideo 273
  • Indeks 275
  • Spis ilustracji 277
  • Spis listingów 283