Tworzenie schematów blokowych jest procesem polegającym na graficznym przedstawieniu funkcji, procesów lub systemów za pomocą bloków symbolizujących poszczególne elementy składowe. Schemat blokowy jest używany w wielu dziedzinach, takich jak inżynieria, nauki komputerowe, elektronika czy matematyka.
Aby stworzyć schemat blokowy, należy:
- Zdefiniować problem lub system, który ma być przedstawiony w schemacie.
- Określić poszczególne elementy składowe systemu lub procesu i zamienić je na bloki.
- Połączyć bloki za pomocą linii, aby pokazać ich wzajemne relacje i przepływ sygnałów.
- Opisać każdy blok, podając jego nazwę i funkcję.
- Sprawdzić poprawność i czytelność schematu.
Istnieją różne programy komputerowe, które mogą pomóc w tworzeniu schematów blokowych, takie jak Visio, SmartDraw czy Lucidchart.
Dla prac inżynierskich i magisterskich, które są związane z przygotowaniem oprogramowania czasami wymagane jest zastosowanie schematu blokowego.
Schemat blokowy jest to graficzna reprezentacja procedury albo programu sporządzana w celach poglądowych. Może też zostać sporządzona jako przedstawienie algorytmu, który jest zapisany w języku programowania.
Fragmenty kodu programu w pracy trzeba wyróżnić odpowiednią bezszeryfową czcionką. Z kolei kod całego programu trzeba umieścić w formie drukowanej w załączniku (aneksie) albo w formie elektronicznej na dołączonej do pracy płycie CD (DVD, ewentualnie nośniku USB).
Schemat blokowy powinien przede wszystkim upraszczać zrozumienie opisywanego procesu, a nie komplikować go dodatkowymi oznaczeniami. Jego zadaniem jest przedstawienie kolejności wykonywanych czynności, zależności pomiędzy poszczególnymi etapami oraz możliwych wariantów przebiegu danego procesu. W pracy dyplomowej schemat powinien więc stanowić uzupełnienie opisu tekstowego i pozwalać czytelnikowi szybciej zorientować się w logice prezentowanego rozwiązania.
Przed rozpoczęciem tworzenia schematu warto dokładnie opisać analizowany proces w formie tekstowej. Należy ustalić, gdzie znajduje się jego początek, jakie czynności są wykonywane kolejno, w których miejscach podejmowane są decyzje oraz kiedy proces się kończy. Dopiero po takim uporządkowaniu można przystąpić do tworzenia reprezentacji graficznej. Próba rysowania schematu bez wcześniejszego przemyślenia logiki procesu bardzo często prowadzi do wielokrotnego poprawiania całej konstrukcji.
W typowym schemacie blokowym stosuje się zestaw podstawowych symboli, z których każdy ma określone znaczenie. Początek i koniec procesu zazwyczaj przedstawia się za pomocą owalu lub prostokąta z zaokrąglonymi krawędziami. Operację lub konkretną czynność oznacza prostokąt, natomiast miejsce podejmowania decyzji przedstawia się najczęściej w postaci rombu. Linie zakończone strzałkami pokazują natomiast kierunek przebiegu procesu.
W pracach związanych z programowaniem szczególne znaczenie mają bloki decyzyjne. Pokazują one warunek, od którego zależy dalszy przebieg algorytmu. Z takiego bloku wychodzą zazwyczaj co najmniej dwie drogi, odpowiadające na przykład wartościom „tak” i „nie”, „prawda” i „fałsz” albo spełnieniu i niespełnieniu określonego warunku. Każda z tych dróg powinna być odpowiednio opisana, aby czytelnik nie musiał domyślać się znaczenia poszczególnych strzałek.
Jeżeli algorytm zawiera pętlę, schemat powinien jednoznacznie pokazywać powrót do wcześniejszego etapu. Należy przy tym zadbać, aby czytelnik mógł bez trudu rozpoznać warunek zakończenia powtarzania. Źle zaprojektowana pętla może sprawiać wrażenie, że proces nigdy się nie kończy albo że kolejność działań jest niejednoznaczna. Z tego względu warto prześledzić schemat krok po kroku tak, jakby wykonywał go program.
Ważną zasadą jest zachowanie jednego kierunku przepływu. Najczęściej schemat prowadzi od góry do dołu, ewentualnie z lewej strony do prawej. Oczywiście w przypadku rozgałęzień i pętli strzałki mogą zmieniać kierunek, jednak cały układ powinien pozostać możliwie przejrzysty. Chaotycznie poprowadzone linie, liczne skrzyżowania i strzałki biegnące w przeciwnych kierunkach utrudniają analizę nawet stosunkowo prostego algorytmu.
Dobrą praktyką jest unikanie krzyżowania linii. Jeśli jest ono konieczne, można zastosować odpowiednie łączniki albo przebudować układ bloków. W rozbudowanych schematach pomocne bywa dzielenie procesu na mniejsze fragmenty. Zamiast umieszczać na jednej stronie kilkadziesiąt bloków, można przygotować schemat główny, a bardziej złożone operacje przedstawić na osobnych diagramach.
Należy również zachować podobną wielkość bloków tego samego rodzaju. Nie oznacza to, że każdy prostokąt musi mieć dokładnie identyczne rozmiary, ponieważ długość napisów może się różnić, ale wyraźne dysproporcje utrudniają odbiór. Schemat powinien sprawiać wrażenie uporządkowanego, a poszczególne elementy powinny być rozmieszczone w równych odstępach.
Tekst umieszczany wewnątrz bloków powinien być możliwie krótki. Schemat nie jest miejscem na rozbudowane akapity ani szczegółowe wyjaśnienia. W bloku czynności można napisać na przykład „Pobranie danych użytkownika”, „Obliczenie wartości średniej” albo „Zapis wyniku do bazy”. Szczegółowe informacje dotyczące sposobu wykonania danej operacji powinny znaleźć się w tekście pracy.
Szczególnie ważne jest stosowanie jednoznacznych nazw czynności. Zamiast pisać „Przetwarzanie”, lepiej określić, co dokładnie jest przetwarzane i jaki rodzaj operacji jest wykonywany. Podobnie w bloku decyzyjnym lepiej zastosować pytanie „Czy hasło jest poprawne?” niż ogólne określenie „Sprawdzenie hasła”. Dzięki temu od razu wiadomo, dlaczego z danego elementu wychodzą dwie różne ścieżki.
Schemat blokowy powinien być również zgodny z rzeczywistym działaniem programu lub procesu. Jeśli został przygotowany na etapie projektowania, po zakończeniu implementacji należy go ponownie zweryfikować. W trakcie programowania algorytm może ulec zmianie, mogą pojawić się dodatkowe warunki albo niektóre etapy mogą zostać uproszczone. Pozostawienie starego schematu prowadzi wtedy do rozbieżności pomiędzy dokumentacją a wykonanym rozwiązaniem.
W pracy dyplomowej nie należy zamieszczać schematów wyłącznie jako elementów dekoracyjnych. Każdy diagram powinien zostać wprowadzony w tekście i omówiony. Przed schematem warto wyjaśnić, czego dotyczy i jaki fragment rozwiązania przedstawia. Po jego zamieszczeniu można wskazać najważniejsze etapy procesu lub zwrócić uwagę na szczególnie istotne zależności.
Przykładowe wprowadzenie może informować, że „na rysunku przedstawiono schemat blokowy procesu logowania użytkownika do aplikacji”. Następnie można krótko wyjaśnić, że proces rozpoczyna się od wprowadzenia danych, później następuje ich weryfikacja, a w zależności od wyniku użytkownik uzyskuje dostęp albo otrzymuje komunikat o błędzie. Takie omówienie pomaga połączyć element graficzny z pozostałą treścią rozdziału.
Schemat powinien posiadać numer i tytuł zgodnie z zasadami obowiązującymi w całej pracy. Najczęściej traktuje się go jako rysunek, dlatego podpis może mieć formę „Rysunek 4. Schemat blokowy algorytmu uwierzytelniania użytkownika”. Jeżeli przyjęto numerację zależną od rozdziałów, zapis może wyglądać na przykład „Rysunek 3.2”. Ważne jest zachowanie tego samego sposobu oznaczania wszystkich elementów graficznych.
Jeżeli schemat został przygotowany przez autora pracy, pod nim można umieścić informację „Źródło: opracowanie własne”. Jeśli natomiast schemat został zaczerpnięty z publikacji, należy podać źródło. W przypadku modyfikacji cudzej ilustracji warto zastosować zapis wskazujący, że jest to opracowanie własne na podstawie określonego źródła.
Nie należy kopiować schematów z innych publikacji bez wskazania ich pochodzenia. Dotyczy to również materiałów znajdujących się w Internecie, dokumentacji technicznej oraz instrukcji producentów. Schemat jest elementem graficznym objętym takimi samymi zasadami rzetelności źródłowej jak tekst, tabela czy wykres.
Warto również zwrócić uwagę na jakość techniczną diagramu. Schemat powinien pozostać czytelny po wstawieniu do dokumentu i późniejszym utworzeniu pliku PDF. Napisy nie mogą być zbyt małe, a linie i strzałki powinny być dobrze widoczne. Nie należy wstawiać bardzo dużego schematu i następnie zmniejszać go do takiego rozmiaru, że odczytanie tekstu wymaga znacznego powiększenia strony.
Jeśli schemat jest zbyt duży, można umieścić go na stronie w orientacji poziomej albo podzielić na kilka części. W szczególnych przypadkach pełny diagram można przenieść do załącznika, a w głównej części pracy zamieścić jego uproszczoną wersję. Wszystko zależy od tego, jak ważny jest on dla zrozumienia opisywanego rozwiązania.
Przy przygotowywaniu schematów warto korzystać z grafiki wektorowej. Dzięki temu elementy pozostają ostre niezależnie od skalowania. Programy przeznaczone do tworzenia diagramów pozwalają najczęściej eksportować schematy w formatach zapewniających znacznie lepszą jakość niż zwykły zrzut ekranu. Zrzuty ekranowe powinny być stosowane tylko wtedy, gdy nie ma lepszego rozwiązania.
Nie ma obowiązku korzystania z rozbudowanego programu graficznego. Prosty schemat można przygotować bezpośrednio w edytorze tekstu przy użyciu kształtów i łączników. Istotne jest jednak właściwe grupowanie elementów, aby podczas późniejszej edycji dokumentu bloki i strzałki nie przesuwały się względem siebie.
Przy większej liczbie diagramów warto przyjąć jednolity styl graficzny. Te same typy bloków powinny mieć podobny kształt, rozmiar, krój czcionki i sposób wyrównania tekstu. Nie należy w jednym schemacie używać prostokąta do oznaczania operacji, a w kolejnym stosować dla tej samej funkcji zupełnie innego symbolu bez wyraźnego powodu.
W pracy informatycznej trzeba rozważyć, czy schemat blokowy jest rzeczywiście najlepszym sposobem przedstawienia danego zagadnienia. Nie każdy element systemu należy opisywać w tej formie. Schemat blokowy dobrze pokazuje przebieg algorytmu lub procesu, ale do przedstawiania architektury systemu, struktury klas, przepływu danych czy interakcji użytkownika z systemem mogą być bardziej odpowiednie inne rodzaje diagramów.
Na przykład diagram przypadków użycia pozwala pokazać funkcje systemu dostępne dla użytkowników, diagram klas przedstawia strukturę obiektową programu, a diagram sekwencji koncentruje się na kolejności komunikacji między obiektami. Nie należy więc stosować schematu blokowego jako uniwersalnej formy prezentacji wszystkich aspektów tworzonego oprogramowania.
W pracach niezwiązanych bezpośrednio z programowaniem schematy blokowe także mogą być bardzo użyteczne. Można za ich pomocą przedstawić proces obsługi zamówienia w przedsiębiorstwie, procedurę kontroli jakości, ścieżkę obiegu dokumentów, sposób rozpatrywania reklamacji albo etapy procesu rekrutacyjnego. Zasada pozostaje taka sama – schemat powinien pokazywać kolejność i zależności między poszczególnymi czynnościami.
W pracy z zakresu logistyki schemat może przedstawiać na przykład proces przepływu towaru od przyjęcia zamówienia do jego dostarczenia klientowi. W pracy ekonomicznej można zobrazować procedurę oceny wniosku kredytowego, natomiast w pracy z zakresu administracji – przebieg określonego postępowania. Schemat blokowy jest więc narzędziem znacznie bardziej uniwersalnym niż mogłoby wynikać z jego częstego kojarzenia z informatyką.
Przed umieszczeniem diagramu w pracy warto przeprowadzić prosty test jego czytelności. Należy pokazać go osobie, która nie zna dokładnie badanego procesu, i sprawdzić, czy potrafi poprawnie prześledzić kolejne kroki. Jeśli musi wielokrotnie pytać o znaczenie strzałek albo nie wie, gdzie znajduje się początek i koniec, schemat prawdopodobnie wymaga uproszczenia.
Podobny test można przeprowadzić samodzielnie. Należy rozpocząć od bloku początkowego i przejść każdą możliwą ścieżką aż do zakończenia. Warto sprawdzić, czy każda decyzja posiada odpowiednie warianty, czy żadna ścieżka nie prowadzi donikąd i czy wszystkie pętle mają warunek zakończenia. Pozwala to wykryć błędy logiczne przed umieszczeniem diagramu w ostatecznej wersji pracy.
Jeśli schemat przedstawia program, warto porównać go z kodem źródłowym. Poszczególne bloki nie muszą odpowiadać pojedynczym instrukcjom programu, ale ogólna kolejność i logika działania powinny być zgodne. Schemat ma upraszczać program, a nie tworzyć jego alternatywną wersję, która działa według innych zasad.
Nie należy również próbować przenosić całego kodu programu do schematu blokowego. Dla rozbudowanej aplikacji prowadziłoby to do powstania diagramu składającego się z setek elementów, praktycznie niemożliwego do odczytania. Lepiej wybrać kluczowe algorytmy i tylko je przedstawić w formie schematów.
Podobnie kod źródłowy zamieszczany w głównej części pracy powinien być ograniczony do fragmentów istotnych dla omawianego problemu. Można pokazać konkretną funkcję, klasę lub algorytm, jeśli jest następnie analizowany. Umieszczanie kilkunastu stron kodu w środku rozdziału zwykle pogarsza czytelność opracowania.
Fragmenty kodu powinny być wyróżnione w sposób jednolity. Dobrze sprawdza się czcionka o stałej szerokości znaków, stosowana konsekwentnie do wszystkich przykładów programistycznych. Należy zachować wcięcia właściwe dla języka programowania, ponieważ są one częścią struktury kodu i mają znaczenie dla jego czytelności.
Jeżeli kod został zaczerpnięty z zewnętrznego źródła, również należy to odpowiednio zaznaczyć. Dotyczy to przykładowych fragmentów dokumentacji, bibliotek czy rozwiązań znalezionych w publikacjach. W przypadku własnego programu można natomiast poinformować, że jest to fragment kodu przygotowanego na potrzeby pracy.
Pełny kod programu nie zawsze musi być drukowany w załączniku. Współcześnie uczelnie coraz częściej określają własne zasady dotyczące przekazywania plików źródłowych, repozytoriów lub dodatkowych materiałów elektronicznych. Dlatego sposób dołączania kodu należy ustalić zgodnie z aktualnymi wymaganiami jednostki. Nie należy automatycznie zakładać, że konieczne będzie wykorzystanie płyty CD lub innego określonego nośnika.
Ważne jest również opisanie struktury programu, jeśli stanowi on istotny rezultat pracy. Sam schemat blokowy pojedynczego algorytmu nie zastąpi wyjaśnienia, jakie moduły powstały, jakie pełnią funkcje i w jaki sposób ze sobą współpracują. Dokumentacja powinna być dostosowana do charakteru projektu.
Schematy blokowe warto przygotowywać na bieżąco podczas tworzenia rozwiązania. Mogą wtedy pełnić nie tylko funkcję dokumentacyjną, ale także projektową. Pozwalają wykryć brakujące warunki, zbędne operacje czy niepotrzebnie skomplikowane fragmenty algorytmu jeszcze przed ich implementacją. W ten sposób stają się praktycznym narzędziem pracy autora.
Na końcowym etapie trzeba jednak zweryfikować ich zgodność z gotowym rozwiązaniem. Diagram przygotowany kilka miesięcy wcześniej może nie odpowiadać ostatniej wersji programu lub procesu. Wszystkie zmiany w implementacji, które mają znaczenie dla przedstawionej logiki, powinny zostać uwzględnione również w schemacie.
Schemat blokowy może być prosty, ale nie powinien być niedbały. Równe rozmieszczenie elementów, prawidłowe użycie symboli, czytelne podpisy i właściwie poprowadzone strzałki wpływają na odbiór całej pracy. Nie wymaga to tworzenia skomplikowanej grafiki – wystarczy uporządkowana i konsekwentna forma.
Najważniejsze jest jednak to, aby schemat był zrozumiały i odpowiadał rzeczywiście analizowanemu procesowi. Jego wartość nie zależy od liczby bloków ani efektowności graficznej. Dobrze przygotowany diagram pozwala w ciągu kilku chwil zrozumieć logikę działania, która opisana wyłącznie słowami wymagałaby kilku akapitów. Właśnie dlatego schematy blokowe pozostają bardzo użytecznym elementem prac inżynierskich, informatycznych i innych opracowań, w których konieczne jest przedstawienie przebiegu złożonego procesu.