Tạo các vùng chứa thay thế
Requirements & Systems Portal cho phép bạn tạo “Alternatives” cho một block để so sánh các tùy chọn Block khác nhau sẽ ảnh hưởng như thế nào đến toàn bộ dự án, như trong Hình Alternative Container. Bạn có thể thêm bao nhiêu Alternative Block tùy ý. Điều này giúp bạn và nhóm của mình đưa ra các quyết định thiết kế có cơ sở trong suốt dự án.
Alternative Container có các Vali riêng, tự động ánh xạ tới các Vali tương ứng trong Alternative block được chọn. Nếu một Alternative block có Vali chưa được thêm vào Alternative Container thì Vali đó sẽ không được ánh xạ tới container. Nếu nó có một Vali cùng tên nhưng khác kiểu, thì giá trị của Vali trong Alternative block cũng sẽ không được ánh xạ.
How to create Alternative Containers
Như trong Hình Creating an Alternative Container:
-
Nhấp chuột phải vào block trong cây mà bạn muốn chuyển đổi thành Alternative Container.
-
Nhấp vào “Convert to Alternative Container”.
Thao tác này sẽ tạo một bản sao của block (đây sẽ là alternative khả dụng đầu tiên của nó), sau đó chuyển chính block đó thành một Alternative Container.
Alternative Container sẽ có biểu tượng các lớp xếp chồng bên cạnh nó trong cây (Hình Alternative Container Icon).
Biểu tượng Alternative Container
Thêm Vali vào Alternative Containers
Alternative Containers có các Vali riêng, được ánh xạ tới các Vali tương ứng trong các Alternative (blocks) của chúng. Như minh họa trong Hình Alternative Container Logic, nếu một Alternative có một Vali không tồn tại trong Alternative Container, thì Vali đó sẽ không được ánh xạ và sẽ chỉ tồn tại độc lập trong Alternative đó, không tự động lan truyền lên cây trừ khi được tham chiếu rõ ràng trong trường “formula” của một Vali khác.
Logic của Alternative Container
Khi bạn thêm một Property (Vali) vào Alternative Container, hệ thống sẽ tạo property (Vali) đó trong tất cả các Alternative chưa có Vali đó, hoặc ánh xạ giá trị tới Vali nếu nó đã tồn tại và đúng kiểu. Nếu đã tồn tại một Vali cùng tên nhưng khác kiểu, một hộp lỗi sẽ hiển thị điều này (Hình Vali Creation Error) và property mới được tạo trong Alternative Container sẽ không được ánh xạ đúng tới các kiểu Vali không khớp trong các Alternative.
Để thêm một property (Vali) hoặc một Alternative (block) vào Alternative Container, hãy nhấp vào nút “+” ở góc dưới bên trái màn hình
Sau đó bạn sẽ thấy các tùy chọn sau như trong Hình “Add” Options.
Hãy cùng tập trung vào ý nghĩa của từng tùy chọn này:
Add properties: Tùy chọn này sẽ thêm Vali vào alternative container và tạo chúng trong các Alternative nếu chúng chưa tồn tại, hoặc ánh xạ tới Vali tương ứng có cùng tên và kiểu. Nếu người dùng muốn tạo một Vali chỉ cho một phần tử alternative duy nhất, người dùng phải nhấp vào bên trong phần tử đó và tạo một Vali bên trong block, nhưng nếu cùng Vali đó không tồn tại trong Alternative Container thì nó sẽ không được ánh xạ đúng tới container.
Add an existing block as an alternative to this container: tùy chọn này cho phép bạn thêm một block đã tồn tại trong dự án của mình làm một lựa chọn alternative trong container. Block đó không nhất thiết phải là sub-block của Alternative Container; nó có thể được lưu ở nơi khác, chẳng hạn như một catalog block.
Copy an existing block and add it as an alternative to this container: tùy chọn này cho phép bạn sao chép một block hiện có trong dự án và đồng thời thêm bản sao này làm một alternative trong container. Bản sao này cũng sẽ xuất hiện trong cây block.
Create an empty alternative and add it to this alternative container: tùy chọn này cho phép bạn tạo một block mới và thêm nó vào container. Alternative trống này sẽ xuất hiện trong cây block và sẽ không chứa bất kỳ Vali nào.
Các phương pháp hay nhất
BP 1
Trước khi chuyển một block thành alternative container, phương pháp tốt nhất là cấu trúc block gốc với các Vali sẽ dùng chung cho tất cả alternative, rồi chỉ sau đó mới chuyển nó thành Alternative Container.
Sau đó, các Alternative khác có thể được tạo nhanh bằng cách sao chép block này hoặc một trong các bản sao của nó.
BP 2
Lưu ý rằng khi bạn tham chiếu một Vali từ alternative container, hãy bảo đảm chọn đúng Vali mà bạn muốn dùng trong các phép tính. Ví dụ, nếu bạn muốn sử dụng hiệu suất pin trong các phép tính hoặc phương thức xác minh “Rules” trong phần Requirements của dự án “Valicopter__5000”, khi bạn viết công thức và tìm kiếm “battery cost”, Requirements & Systems Portal sẽ trả về kết quả như trong Hình Choosing the Correct Vali.
Vì vậy, nếu bạn muốn sử dụng giá trị của Alternative Container, tức là giá trị của Alternative đang được chọn, bạn có thể dùng Vali như được chỉ ra trong (1). Do đó, bất cứ khi nào người dùng thay đổi alternative từ NiCd sang LiIon, Requirements & Systems Portal sẽ tự động tính toán lại tất cả các phép tính và sử dụng hiệu suất của pin Li-ion.
Nếu bạn chỉ muốn tính toán một tham số với tham chiếu tới chi phí của một Alternative cụ thể, thì công thức nên tham chiếu đến một trong hai Vali trong (2).
BP 3
Để theo dõi tốt hơn các Alternative đang được chọn trong Alternative Containers, bạn có thể tạo một Text Vali (Hình Text Vali as Configuration Reference) làm Property của Alternative Container, có thể được tham chiếu ở cấp cao hơn trong cây block.
Điều này có thể được áp dụng cho các alternative container khác trong cây Block và được tham chiếu tại block cấp cao nhất, qua đó cho biết cấu hình hiện tại (Hình Configuration Indicator).
BP 4
Bạn có thể tạo Alternatives của Alternatives, tức là tạo một alternative container cấp cao nhất cho một cây con mà bản thân nó cũng có các alternative container khác. Điều này có thể được dùng để tạo và đánh giá nhiều biến thể của kiến trúc hệ thống.
BP 5
Các bản sao được liên kết của Blocks có thể được dùng làm Alternatives, tuy nhiên người dùng phải tự tạo connected copy trước rồi thêm nó vào Alternative Container bằng tùy chọn “Add an existing block as an alternative to this container”, như minh họa trong Hình “Add” Options.
BP 6
Alternatives không nhất thiết phải được giữ làm các sub-block của Alternative Container; chúng có thể được lưu trong các catalog block ở nơi khác trên cây block của cùng một dự án.