2009-08-30 12 views
7

Chcę reprezentować logikę mojego programu za pomocą diagramu, ponieważ program jest dość złożony; Potrzebuję sposobu na wyjaśnienie innej osobie, dlaczego i jak coś dzieje się w moim programie. Czy schemat blokowy jest jedyną opcją?Wizualne przedstawienie logiki programu

Odpowiedz

2

Jeśli chcesz wyjaśnić rzeczy na poziomie krok po kroku, tak, schemat blokowy jest naprawdę tym, czego potrzebujesz. Jeśli możesz mówić na wyższym poziomie, inną opcją może być diagram stanu.

http://en.wikipedia.org/wiki/State_diagram

4

Schematy blokowe są popularnym wyborem, a często nadaje się dla osób nietechnicznych.

Jeśli chcesz uzyskać bardziej techniczny obraz sytuacji, UML może być lepszym wyborem.

A sequence diagram pokazuje, jak komponenty współdziałają ze sobą.

+0

Istnieją również diagramy przypadków zastosowania. Ale w oparciu o to pytanie, zgadzam się - schematy blokowe byłyby moim pierwszym wyborem. – TrueWill

10

W języku UML różne diagramy są przeznaczone do różnych celów, przy użyciu różnych metod. Biorąc pod uwagę, że mamy tendencję do oparcia się na metodologiach obiektowych, wyjaśnię różne diagramy i ich działanie.

  • Use Case Diagram - Punktem modeli przypadków użycia jest zidentyfikowanie i zdefiniowanie wszystkich podstawowych procesów biznesowych, które system musi obsługiwać. Jest to zarówno z punktu widzenia użytkownika, jak i systemu. Każda pojedyncza czynność w twoim systemie może być wykorzystana w przypadku użycia, co pozwoli na zastosowanie dalszych modeli wyjaśniających.

  • Diagram aktywności - Jest to typ diagramu przepływu pracy służący do opisywania tego, co dzieje się na diagramie użycia. Jest to w zasadzie wizualna metoda opisująca przepływ działania lub wiele działań.

  • Diagram sekwencji - Jest to schemat pokazujący komunikację między różnymi obiektami w systemie lub procesem. Diagramy sekwencji są ważne w analizie, ponieważ stają się kluczowe dla szczegółowego projektowania systemu i projektowania interfejsu użytkownika. Bardzo mi się podoba, ponieważ dają fantastyczny obraz tego, co dzieje się w systemie.

  • Schemat stanu maszyny - To pozwala śledzić stany obiektów przez całe ich życie, co daje doskonały wgląd w to, jak obiekty mają działać. Daje to możliwość skutecznego odwzorowania zdarzeń i tym podobnych elementów w systemie.

Korzystanie z wyżej wymienionych schematów daje doskonałą podstawę do analizy i projektowania, i należy pamiętać, że po utworzeniu tych diagramów, niekoniecznie są one kompletne. W procesach projektowych zmienisz te diagramy, gdy system ewoluuje. Mam nadzieję, że to Ci pomoże. Poniżej znajdują się linki do wikipedii dla różnych wymienionych schematów.

Use Case Diagram

Activity Diagram

Sequence Diagram

State Machine Diagram

2

Za każdego programu jest domena problemu, w którym przypuszczalnie zestaw problemów, które są dobrze rozumiane przez grupę domeny wiedzę ludzie i domena rozwiązania, w której metody rozwiązywania takich problemów są gromadzone i wykorzystywane do radzenia sobie z problemami.

Aby wyjaśnić coś, musisz najpierw uzgodnić domenę problemu. Jeśli twoją domeną problemu jest przetwarzanie sygnału, a wyjaśnienie trafi do kogoś, kto nie zna domeny, już się wznosisz.

Następnie musisz wyjaśnić domenę rozwiązania (lub odesłać dobrze znany zestaw rozwiązań, jak można znaleźć w podręczniku inżynierskim), aby można było uzasadnić konkretny wybór rozwiązania, które jest dobrze dostosowane do tego konkretnego problemu i inne ograniczenia, które mogą być umieszczone w odpowiedzi (działa w małej maszynie, mogą być budowane w ciągu dnia itd.). Jeśli osoba, której tłumaczysz, nie rozumie Szybkiej Transformacji Fouriera jako możliwego rozwiązania problemu w wybranej przez Ciebie dziedzinie przetwarzania sygnału, nie będziesz w stanie wydalić rozwiązania, nie mówiąc o tym, że jest to najlepsza z twoich możliwości. wybory.

Po przejściu tych dwóch przeszkód, , a następnie może schemat blokowy może być pomocny. Inne kule, takie jak różne typy diagramów UML, dotyczą wyjaśnienia struktury rozwiązania z różnych perspektyw. To, która perspektywa ma znaczenie, zależy od celu wyjaśnienia.

Odnośnie schematów blokowych: chociaż były popularne tylko raz, do opisywania algorytmów, kod psuedo jest na ogół wystarczająco dobry. Osoby, które nie mogą przestrzegać kodu Psuedo, prawdopodobnie nie pójdą za dużym schematem. A jeśli twój schemat blokowy jest banalny, nie potrzebujesz go. Nie używałem go poważnie od 20 lat. Większość literatury informatycznej też tego nie używa.

Powiedziawszy to, gdy chce się zrozumieć z bardzo drobnymi szczegółami, co robi dany fragment kodu, szczególnie w celu zautomatyzowanej analizy programu, schematy blokowe (pod bardziej znaną nazwą "kontrola przepływu") są nadal bardzo przydatne . Zobacz a COBOL control flow graph (i zobacz this for an explanation). Powinno być oczywiste, że nie chcesz tego używać do wyjaśnienia algorytmu innej osobie.