Tworzenie alternatywnych kontenerów
Portal wymagań i systemów umożliwia tworzenie "alternatyw" dla bloku w celu porównania wpływu różnych opcji bloku na cały projekt, jak pokazano na rysunku Alternative Container. Można dodać dowolną liczbę bloków alternatywnych. Umożliwia to Tobie i Twojemu zespołowi podejmowanie świadomych decyzji projektowych w trakcie całego projektu.
Kontener alternatywny ma własne wartości Valis, które są automatycznie mapowane do odpowiednich wartości Valis w wybranym bloku alternatywnym. Jeśli blok alternatywny ma wartość Vali, która nie została dodana do kontenera alternatywnego, ta wartość Vali nie zostanie do niego zmapowana. Jeśli ma Vali o tej samej nazwie, ale innego typu, nie będzie mapować wartości Vali bloku alternatywnego.
How to create Alternative Containers
Jak na rysunku Creating an Alternative Container:
-
Kliknij prawym przyciskiem myszy blok w drzewie, który chcesz przekonwertować na Alternative Container.
-
Kliknij "Konwertuj na alternatywny kontener".
Spowoduje to utworzenie kopii bloku (która będzie jego pierwszą dostępną alternatywą), a następnie przekonwertowanie samego bloku na Alternative Container.
Alternatywny kontener będzie miał ikonę ułożonych warstw obok niego w drzewie (rysunek Alternative Container Icon).
Ikona alternatywnego kontenera
Dodawanie Valis do alternatywnych kontenerów
Kontenery alternatywne mają własne wartości Valis, które są mapowane na odpowiadające im wartości Valis w ich alternatywach (blokach). Jak pokazano na rysunku Alternative Container Logic, jeśli Alternatywa ma wartość, która nie istnieje w Kontenerze Alternatywnym, nie zostanie ona zmapowana i będzie istnieć tylko w izolacji w ramach tej Alternatywy, nie propagując się automatycznie w górę drzewa, chyba że zostanie wyraźnie przywołana w innym polu "formuły" Vali.
Logika alternatywnego kontenera
Po dodaniu właściwości (Vali) do alternatywnego kontenera utworzy on tę właściwość (Vali) we wszystkich swoich alternatywach, które nie mają tej Vali, lub zmapuje wartość do Vali, jeśli istnieje i jest prawidłowego typu. Jeśli istnieje Vali o tej samej nazwie, ale innego typu, okno błędu wskaże to (Rysunek Vali Creation Error) i nie będzie prawidłowo mapować nowo utworzonej właściwości w Alternative Container na niedopasowane typy Vali w Alternatives.
Aby dodać właściwość (Vali) lub alternatywę (blok) do kontenera alternatyw, kliknij przycisk "+" w lewym dolnym rogu ekranu
Następnie zostaną wyświetlone następujące opcje, jak na rysunku “Add” Options.
Skupmy się na tym, co oznacza każda z tych opcji:
Add properties: Spowoduje to dodanie Vali do alternatywnego kontenera i utworzenie ich w Alternatywach, jeśli nie istnieją, lub mapowanie do odpowiedniego Vali o tej samej nazwie i typie. Jeśli użytkownik chce utworzyć Vali tylko dla pojedynczego elementu alternatywnego, musi kliknąć wewnątrz elementu i utworzyć Vali wewnątrz bloku, ale jeśli ta sama Vali nie istnieje w kontenerze alternatywnym, nie zostanie do niego poprawnie zmapowana.
Add an existing block as an alternative to this container: umożliwi to dodanie już istniejącego bloku w projekcie jako alternatywnego wyboru w kontenerze. Blok nie musi być podblokiem kontenera alternatywnego, może być przechowywany w innym miejscu, takim jak blok katalogu.
Copy an existing block and add it as an alternative to this container: umożliwi to skopiowanie istniejącego bloku w projekcie, a także dodanie tej kopii jako alternatywy w kontenerze. Kopia ta pojawi się również w drzewie bloków.
Create an empty alternative and add it to this alternative container: umożliwia utworzenie nowego bloku i dodanie go do kontenera. Ta pusta alternatywa pojawi się teraz w drzewie bloków i nie będzie zawierać żadnych Valis.
Najlepsze praktyki
BP 1
Przed przekształceniem bloku w alternatywny kontener, najlepszą praktyką jest ustrukturyzowanie oryginalnego bloku za pomocą Valis, które będą wspólne dla wszystkich alternatyw, a dopiero potem przekształcenie go w alternatywny kontener.
Wszelkie inne alternatywy można następnie szybko utworzyć, kopiując ten blok lub jedną z jego kopii.
BP 2
Należy pamiętać, że gdy odwołujesz się do Vali z alternatywnego kontenera, upewnij się, że wybrałeś właściwą Vali, której chcesz użyć w swoich obliczeniach. Na przykład, jeśli chcesz użyć wydajności akumulatora w swoich obliczeniach lub metody weryfikacji "Reguły" w wymaganiach dla projektu "Valicopter__5000", po napisaniu formuły i wyszukaniu "kosztu akumulatora", portal wymagań i systemów daje wynik jak na rysunku Choosing the Correct Vali.
Tak więc, jeśli chcesz użyć wartości Alternative Container, tj. wartości wybranej alternatywy, możesz użyć Vali, jak wskazano na (1). Dlatego za każdym razem, gdy użytkownik zmieni alternatywę z NiCd na LiIon, portal wymagań i systemów automatycznie przeliczy wszystkie obliczenia i użyje wydajności akumulatora litowo-jonowego.
Jeśli chcesz obliczyć parametr tylko w odniesieniu do kosztu konkretnej alternatywy, formuła powinna odnosić się do jednej z dwóch wartości w (2).
BP 3
Aby lepiej śledzić wybrane alternatywy w kontenerach alternatywnych, można utworzyć Text Vali (rysunek Text Vali as Configuration Reference) jako właściwość kontenera alternatywnego, do którego można odwoływać się na wyższym poziomie w drzewie bloków.
Można to zastosować do innych alternatywnych kontenerów w drzewie bloków i odwoływać się do nich na najwyższym poziomie bloku, wskazując w ten sposób bieżącą konfigurację (Rysunek Configuration Indicator).
BP 4
Można tworzyć alternatywy alternatyw, tworząc alternatywny kontener najwyższego poziomu w poddrzewie, które samo ma inne kontenery alternatyw. Można to wykorzystać do utworzenia i oceny kilku wariantów architektury systemu.
BP 5
Połączone kopie bloków mogą być używane jako alternatywy, ale użytkownik musi najpierw ręcznie utworzyć połączoną kopię, a następnie dodać ją do kontenera alternatywnego za pomocą opcji "Dodaj istniejący blok jako alternatywę dla tego kontenera", jak pokazano na rysunku “Add” Options.
BP 6
Alternatywy nie muszą być przechowywane jako podbloki kontenera alternatyw, mogą być przechowywane w blokach katalogów w innym miejscu na drzewie bloków tego samego projektu.