Jaka jest różnica między projektem systemu wysokiego poziomu a projektem logicznym wysokiego poziomu?


Odpowiedź 1:

Pytanie dotyczy różnych terminów i pojęć. Stosowane są terminy „projektowanie wysokiego poziomu” (w przeciwieństwie do „projektowania niskiego poziomu”), „projektowanie systemu” i „projektowanie logiczne” (w przeciwieństwie do „projektowania fizycznego”). Pozwól mi najpierw przejść do poszczególnych terminów, a następnie do związku między tymi terminami wynikającego z pytania.

Zdecydowanie polecanym źródłem definicji terminów w inżynierii systemów i oprogramowania jest norma ISO / IEC / IEEE 24765: 2017, którą można bezpłatnie pobrać tutaj: Standardy dostępne publicznie.

ISO 24765 obejmuje następujące definicje (podane kursywą):

projektowanie wysokiego poziomu 1. proces definiowania koncepcji wysokiego poziomu, które kierują projektowaniem i wdrażaniem niskiego poziomu, por. architektura. Uwaga 1 do hasła: Projektowanie wysokiego poziomu zazwyczaj polega na organizowaniu systemu w podprogramy i określaniu interfejsów między nimi.

projektowanie systemu 1. proces definiowania architektury sprzętu i oprogramowania, komponentów, modułów, interfejsów i danych dla systemu spełniającego określone wymagania […]

projekt koncepcyjny systemu 1. Działalność związana z projektowaniem systemu związana z określeniem logicznych aspektów organizacji systemu, jego procesów i przepływu informacji przez system […]

W załączniku F do normy ISO / IEC / IEEE 15288: 2015 Inżynieria systemów i oprogramowania - Procesy cyklu życia systemu znajdują się w poniższym opisie, który umieszcza terminy w kontekście (kursywą):

Załącznik F Modelowanie architektury

F.1 Wprowadzenie

[…] Architekturę systemu można rozumieć jako zbiór strukturalnych jednostek architektonicznych i ich relacji, takich jak funkcje, przepływy funkcji, interfejsy, elementy przepływu zasobów, elementy informacji / danych, elementy fizyczne, kontenery, węzły, łącza, zasoby komunikacyjne itp. Te jednostki architektoniczne mogą posiadać takie cechy, jak wymiary, odporność na środowisko, dostępność, solidność, wydajność realizacji, skuteczność misji itp. […]

F.2 Punkty widzenia, widoki i rodzaje modeli stosowane w architekturze

Proces definicji architektonicznej wykorzystuje różne modele, w tym modele przykładowe wymienione w poniższej sekcji. (Tradycyjna praktyka inżynierii systemów klasyfikuje niektóre z tych modeli jako „modele logiczne” lub „modele fizyczne”, ale rozróżnienie taksonomiczne nie jest konieczne przy stosowaniu niniejszej normy międzynarodowej). Różnorodne poglądy przedstawiają sposób, w jaki architektura systemu odpowiada interesariuszom obawy. Widoki składają się z modeli. Definicje terminów architektury i dodatkowe szczegóły na temat koncepcji i modeli architektury znajdują się w ISO / IEC / IEEE 42010.

F.3 Modele logiczne i fizyczne

F.3.1 Model funkcjonalny

Model funkcjonalny systemu jest reprezentacją zestawu funkcji, które definiują przekształcenia danych wejściowych w wyjścia realizowane przez system w celu osiągnięcia jego misji lub celu. Funkcje te zależą od tego, jak system powinien się zachowywać, gdy jest używany zgodnie z przeznaczeniem. W konsekwencji każda funkcja systemu jest powiązana z interakcją między systemem a jego środowiskiem. Wymagania dotyczące funkcjonalności, wydajności, niefunkcjonalności i ograniczeń są zwykle analizowane w celu określenia funkcji i przepływów przepływów międzygałęziowych. Gdy funkcje są powiązane z elementami systemu, proces definiowania projektu będzie musiał ustalić, czy każdy element systemu został wystarczająco określony, aby go zbudować lub kupić. Jeśli element systemowy musi być dalej rozdzielany w celu osiągnięcia tej wystarczalności, wówczas funkcje związane z elementem systemowym będą również musiały być dodatkowo rozdzielone i odpowiednio powiązane z elementami podrzędnymi. Zazwyczaj istnieje wiele sposobów dekompozycji funkcji, które przyczyniają się do definicji wielu architektur kandydujących.

[…]

Podsumowując: projektowanie logiczne (koncepcyjne) jest podzbiorem projektowania systemu, który obejmuje zarówno projektowanie logiczne, jak i fizyczne, zarówno na wyższych, jak i niższych poziomach. Istnieją różne standardowe ciała i standardy, które używają preferowanych terminów dla tych samych rzeczy.

Oto dwa diagramy z bezpłatnej książki Podstawy inżynierii systemu, które ładnie pokazują związek między projektem logicznym (reprezentowanym przez analizę funkcjonalną / alokację na rysunkach) a projektem fizycznym (reprezentowanym przez syntezę na rysunku), a także na wysokim poziomie i na niższych poziomach projekty poziomów (przedstawione na rysunku jako poziomy rozwoju Systemu i Przedmiotu).

Na drugim rysunku (8–2) widać, że proces inżynierii systemów (rysunek 3–1) jest rekurencyjnie stosowany na poziomie systemu i przedmiotu.

Jeśli potrzebujesz więcej informacji, zobacz także następujące odpowiedzi:

Odpowiedź Rochusa Kellera na Jakie są zalety podejścia odgórnego w analizie i projektowaniu systemu?

Odpowiedź Rochusa Kellera na pytanie Czy jest jakaś różnica między architekturą systemu a projektem systemu?

Odpowiedź Rochusa Kellera na Jakie są różnice między wymaganiami funkcjonalnymi a niefunkcjonalnymi?

Odpowiedź Rochusa Kellera na Jakie jest znaczenie systemu zainteresowania w inżynierii systemów?


Odpowiedź 2:

Opracowywanie ponad trywialnych systemów wymaga szeregu różnych komponentów. Aby dowiedzieć się, co jest potrzebne, musisz zadać sobie kilka pytań.

Do czego służy system? Jaki jest kontekst środowiskowy i ograniczenia w systemie? Czy należy wziąć pod uwagę czas funkcjonowania systemu?

W tym momencie należy wziąć pod uwagę względy architektoniczne lub nadrzędne. Architektura to dobre słowo, ponieważ daje analogię. Wyobraźmy sobie, że planujesz miasto. Żadne jeszcze nie zostało zbudowane. Pytania, które możesz zadać, mogą obejmować:

  • Jaki jest cel miasta? Jaki jest główny przemysł miasta? Gdzie powinno się znajdować miasto? Ile osób musi tam mieszkać? Jakiego rodzaju sklepy i udogodnienia są potrzebne do ich utrzymania? Jakie usługi są potrzebne? W jaki sposób? czy ludzie będą podróżować po mieście i jak ludzie będą wjeżdżać i wyjeżdżać z miasta? W jaki sposób przetwarzane są odpady?

Na poziomie systemu wybrałbyś konkretną aranżację architektoniczną na podstawie odpowiedzi na to pytanie. Zaplanowałbyś zaopatrzenie w wodę, energię i paliwo, kanalizację, drogi, sklepy, szkoły, opiekę medyczną i mieszkanie. Posegregowałbyś lokalizację określonych rodzajów usług w poszczególnych lokalizacjach, aby jak najlepiej służyć ludności i branży, w której są przede wszystkim zatrudnieni. To jest architektura systemu lub projekt systemu wysokiego poziomu.

Na bardziej szczegółowym poziomie przyjrzysz się, jak konkretna infrastruktura zapewnia wymagane funkcje. Jak działa produkcja przemysłowa? Na przykład wyobraź sobie fabrykę (lub biuro), która jest specjalnie zaprojektowana dla głównego przemysłu miasta. Jakie procesy są potrzebne, aby zaangażować się w tę branżę? Jakie są kroki i zależności dla tego procesu? Jakie są jego wkłady? Jakie są jego wyniki? Jaka jest sekwencja rzeczy, które muszą się wydarzyć, ich zależności i warunki potrzebne do przekształcenia tych danych wejściowych w produkty wyjściowe? To twój logiczny projekt.

Złożone systemy oparte na oprogramowaniu to systemy systemowe. Wyzwanie jest podobne do wyzwania związanego z planowaniem miasta. Podejmowane są decyzje systemowe na wysokim szczeblu dotyczące sposobu ułożenia rzeczy i ogólnie, w jaki sposób będą one obsługiwane. Mapa komponentów i części do osiągnięcia celu to projekt systemu wysokiego poziomu. Mapa sekwencji, kroków i przepływu aktywności oraz informacji w ramach komponentów i między nimi jest logicznym projektem wysokiego poziomu. Obie pracują razem, gdy cel systemu zostanie osiągnięty.