2013-05-01 10 views
5

Zanim wszystko stało się "przedsięwzięciem", był czas, kiedy wszystko było "zorganizowane". Około 20 lat temu analiza strukturalna i projektowanie strukturalne (SADT), wraz z narzędziami CASE, obiecały zbawienie wielu informatykom.Co zastąpiło SADT?

Podczas gdy hype wtedy - jak każdy inny hype - przychodził i odchodził, jestem zdumiony, aby zobaczyć praktycznie żadnych śladów SADT już. I rzeczywiście uważam, że nie było to tak trudne, aby zasłużyć na taki los. Co szczególnie podoba mi się, to, że kładzie nacisk na funkcjonalne aspekty systemu, tj. Zyskujesz jasne zrozumienie, co system wytwarza (produkuje) tylko systemy zapisu z SADT), paradygmat, który jest również wszechobecny w programowaniu funkcjonalnym .

Moje pytania są następujące:

  • co jest nowoczesny odpowiednik TSR?
  • Czy istnieje styl rysowania UML (inny niż diagram kontekstowy) oferujący podobny poziom abstrakcji i porównywalne możliwości udokładniania.
  • Czy wiesz, dlaczego świat porzucił SADT?
  • Czy znasz jakieś narzędzia CASE, które umożliwiają wykonanie SADT i które wykraczają poza zwykłe narzędzia do rysowania i np. umożliwić hierarchiczne schematy whith konsystencji sprawdzanie

Odpowiedz

7

„Zobacz praktycznie żadnych śladów TSR anymore”: Słowo kluczowe to „wirtualnie”. Nasze "nowoczesne" koncepcje, takie jak "kohezja" i "sprzężenie" w większości pochodzą z SADT [Edward Yourdon-Larry L.Contantine]. Istnieją nawet ciekawe odniesienia z nowoczesnej literatury oprogramowania do starej literatury SADT. Na przykład, Kent Beck w swoich wzorach Implementation sekcja książki Literatura mówi:

Edward Yourdan i Larry Constantine, projekt strukturalny, ..., 1979.

tej książki zawiera równowartość prawami fizyki dla oprogramowania projektowania i podstawy dyskusji o ekonomii rozwoju. [ Kent Beck, Wzory wdrożeniowe]

W tym książek Yourdan i Constantine mówi, że :

Structured konstrukcja jest sztuką projektowania komponentów systemu i wzajemne powiązania między tymi komponentami w najlepszy możliwy sposób.

I Meilir Page-Jones mówi, że:

  • Projekt Structured wykorzystuje narzędzia, szczególnie te, graficzne, zlikwidowania układów łatwo zrozumiałe. [Meilir Page-Jones- Praktyczny przewodnik strukturyzowanych Projektowania Systemów]

A dzisiaj w rozwoju oprogramowania Naszym celem jest nadal to samo ...:-)

Dlaczego świat porzucił SADT?

Cóż, mamy więcej zmian niż przemysł mody :-).

Systemy, które budujemy dzisiaj i ograniczenia są inne niż dwadzieścia lub więcej lat temu. Myślę, że kiedy zaczynamy rozwijać więcej systemów "zorientowanych na dane", w których złożoność funkcjonalna jest mniej niepokojąca, praktyki SADT, takie jak wykres struktury - schematy przepływu danych, "straciły" swoją skuteczność w niektórych systemach. Następnie styl zorientowany obiektowo ma swoje własne metodologie i reprezentacje.

Jednak diagramy encji i koncepcji danych są wciąż żywe.

Dla ciekawy punkt widzenia Yourdon sprawdzić jego blog: Watching “agile”...

ciekawe Yourdon nadal sprawia aktualizacji strukturyzowanych Projektowania Materiałów. Sprawdź na: Modern Structured Analysis

Co zastąpiło SADT?

Cóż ... Dla systemów obiektowych ..

Załóżmy, że mamy odpowiedzialność Driven Design [w którym spójności i sprzęgło jest nadal ważne] w celu znalezienia najlepszych komponentów i ich wzajemnych połączeń w systemach ukazali. A UML generalnie dostarcza nam dobrego narzędzia do wizualnego myślenia w celu znalezienia tych komponentów i relaitionships.

Teraz rozumiemy, że tworzenie oprogramowania to działalność eksperymentalna. Powinniśmy robić iteracyjny i przyrostowy rozwój z wymaganiami ewolucyjnymi.

Wydaje się, że nie ma żadnej magicznej "metody", w której można by postępować jak "paragon", aby odnieść sukces.

Modelowanie ogólnie:

Plik-modele są tylko myślenie narzędzi.

To nie jest realne, aby zaprojektować cały system na papierze z UML lub innego notations.Actually nasze prawdziwe modele są „kod źródłowy”, który może być wykonany i przetestowany .

Istnieją pewne próby jak MDA (Model Driven Architecture), które starają się produkować wykonywalny kod z modeli automatycznie: tak mamy tylko do modelowania systemu, wtedy wszystko będzie produkowany automatycznie. Ale zdaliśmy sobie sprawę, że jest to również nierealne. Obecnie jest to tylko marzenie, które sprzedają niektórzy dostawcy narzędzi. Teraz koncentrujemy się bardziej na domenach, które są bardziej praktyczne i realistyczne.

+0

Dzięki.To, czego najbardziej brakuje mi w UML, to to, że dobrze jest opisać, o czym system "mówi", jakie poszczególne części widzą, a nawet sekwencję operacji, ale trudno jest określić cel systemu i w jaki sposób osiąga się ten cel. Obecnie mam problem z opisaniem właśnie tego, i myślałem, że SADT nie będzie złą metodologią. Jednak nie ma żadnych narzędzi dookoła i sam musiałbym przeprowadzić wszystkie testy ograniczające. –

+0

Ale narzędzia CASE zawsze mają ograniczenia w naszej historii rozwoju oprogramowania. Wiele z nich było złych, ai tak większość z nich jest zła. Myślę, że metoda, której używasz, jest ważniejsza niż twoje narzędzia. Projekt jest ważniejszy niż "metoda": celem metody jest sprawienie, aby twój projekt był udany. ludzie są ważniejsi niż projekt. Jako członek zespołu projektowego powinieneś być szczęśliwy, rozwijając oprogramowanie, a Twój użytkownik powinien być szczęśliwy, gdy go używają. –

0

Pracowałem z SADT dla nowego satelity pogodowego za pomocą C++. Znalazłem jego opis aspektów funkcjonalnych (jak było powiedziane w pytaniu) algorytmu bardzo cennego. Spróbuj wyszukać termin: "GOES-R SADT", aby znaleźć: http://www.goes-r.gov/downloads/GUC-7/poster-sessions/4-06_Ivan_Pathfinder.pdf i https://ams.confex.com/ams/91Annual/webprogram/Manuscript/Paper184496/SADT-UML-Extended-Abstract%28Submitted-20110223%29.pdf

+0

Witaj w SO! Odpowiedzi dotyczące tylko linków nie nadają się do SO. Spróbuj podsumować, co zawiera linki do odpowiedzi na pytanie. – codeMagic