Valis và Tính toán
Vali là các tham số thiết kế của Block, Requirement hoặc Analysis, có thể được dùng trong các phép tính và tài liệu. Một Vali có giá trị số và cũng chứa thêm thông tin như kiểu, đơn vị, công thức, mô tả và các yêu cầu min/max.
Tạo Vali
Bạn có thể tạo Vali trong một Block bằng cách trước tiên nhấp vào biểu tượng “+” ở góc dưới bên phải màn hình. Sau đó, tiếp tục điền tên (có thể là bất kỳ tên nào hoặc tên của Valitype - 1), Công thức và Đơn vị (bắt buộc - 2), Đơn vị hiển thị (tùy chọn - 3), rồi nhấn “Create” hoặc “Create & add New” (xem Hình Adding a Vali). Để xem hướng dẫn về Đơn vị và chuyển đổi đơn vị, vui lòng tham khảo Đơn vị và Chuyển đổi Đơn vị Tự động.
Ngoài ra, bạn có thể quyết định những Block nào sẽ được thêm Vali này (4).
Pro-tip: Trong trường Công thức và Đơn vị, nhấn “\“ để nhận danh sách các kiểu tính toán khả dụng.
Thêm một Vali - Cửa sổ pop-up để thêm các loại Vali khác nhau.
Lưu ý rằng khi tạo một thuộc tính, người dùng có thể tạo nhiều loại Vali khác nhau, ví dụ: Vali thường, Matrix, Text Vali, DateVali hoặc Dataset.
Type |
Use-case |
|---|---|
Vali |
Thuộc tính của Block chỉ có một giá trị duy nhất, ví dụ: khối lượng, chi phí, mật độ, v.v.. ![]() |
Matrix |
Ma trận là một nhóm các Vali riêng lẻ được sắp xếp theo hàng và cột. Matrix Vali thường được dùng khi thuộc tính của các Block có các chế độ khác nhau. Ví dụ: mức tiêu thụ điện năng ở các chế độ khác nhau, giá trị quán tính trên các trục khác nhau. ![]() |
Text Vali |
Một Vali dùng để lưu chuỗi/văn bản, ví dụ: ![]() |
DateVali |
Một Vali dùng để lưu thông tin ngày tháng, ví dụ: ![]() |
Dataset |
Tại đây, người dùng có thể nhập hoặc thêm các giá trị dataset, tạo đồ thị và dùng các giá trị đó trong phép tính của các giá trị khác. |
Thêm công thức
Một Vali có thể được tính bằng công thức sử dụng các biểu thức toán học thông dụng hoặc bằng cách thêm hằng số hay hàm. Một công thức cũng có thể chứa các Vali khác.
Trong trường Công thức và Đơn vị, người dùng có thể tham chiếu đến các Vali có sẵn trong dự án hoặc cả ở các dự án khác. Để thực hiện việc này, họ có thể vào “Formula and Unit” và nhập “$”, một hộp thoại nhỏ sẽ mở ra với các Vali bên trong (xem Hình Calling Valis). Người dùng có thể nhập từ khóa để tìm Vali dễ dàng.
Gọi Vali - Ở bất kỳ đâu trong Requirements & Systems Portal, bạn có thể dùng ký hiệu đô la “$“ để mở một danh sách thả xuống hiển thị mọi đối tượng có thể tham chiếu (ví dụ: Vali, Requirement, v.v.).Nếu người dùng muốn dùng Vali từ một dự án khác, họ có thể cuộn xuống cuối hộp thoại để chọn tùy chọn “show other projects”.
Các loại công thức phổ biến
Bạn có thể
-
dùng một giá trị cố định, chẳng hạn như
42.7kg -
dùng một công thức, chẳng hạn như
5/(3+17.3*9) -
dùng các Vali khác, bằng ký hiệu
$:$car.speed+5
Các phép toán có sẵn trong công thức là:
-
+,-,*,/ -
%(phép chia lấy dư) -
^ -
sqrt() -
exp() -
log10(),ln(),log() -
sin(),cos(),tan() -
asin(),acos(),atan() -
sinh(),cosh(),tanh() -
fabs(): trả về giá trị tuyệt đối -
soc()= "Tổng các phần tử con": tổng của tất cả các Vali cùng loại trong các Block con -
poc()= "Tích các phần tử con": tích của tất cả các Vali cùng loại trong các Block con
Bạn cũng có thể dùng các hàm logic sau trong công thức:
-
if(condition, formula_if_true, formula_if_false) -
max(formula1, formula2) -
min(formula1, formula2)
Các hàm tích hợp sẵn của Requirements & Systems Portal:
-
soc(): viết tắt của "sum of children", cộng tất cả các Vali cùng loại trong các Block ở cấp thấp hơn một bậc -
rssoc():Viết tắt của “root sum squared of children” sqrt(x1^2+x2^2+⋯+xn^2). Ví dụ, nếu bạn có ba khối lượng 2kg, 5kg và 6kg, hàm rssoc sẽ cho kết quả 8.062257 -
aoc(): viết tắt của "average of children", tính giá trị trung bình của các Vali cùng loại trong các Block ở cấp thấp hơn một bậc -
poc(): viết tắt của "product of children", nhân tất cả các Vali cùng loại trong các Block ở cấp thấp hơn một bậc -
average_of_datasets()hoặcaod(): kết quả của Vali là giá trị trung bình tại từng điểm của các dataset thuộc về Vali đó. Nếu chỉ có một dataset, dataset đó sẽ là kết quả và được dùng trong các phép tính tiếp theo -
sum_of_datasets()hoặcsod(): kết quả của Vali là tổng tại từng điểm của các dataset thuộc về Vali đó. Nếu chỉ có một dataset, dataset đó sẽ là kết quả và được dùng trong các phép tính tiếp theo -
property($vali, property_name): Lấy một thuộc tính của Vali. Các giá trị có thể có cho property_name là:-
min
-
max (để lần lượt lấy các yêu cầu min và max)
-
wc_minus
-
wc_plus (để lần lượt lấy các trường hợp xấu nhất theo hướng âm và dương)
-
-
minoc(): Giá trị nhỏ nhất của các phần tử con. Trả về giá trị nhỏ nhất của tất cả các Vali cùng loại trong các Block con -
maxoc(): Giá trị lớn nhất của các phần tử con. Trả về giá trị lớn nhất của tất cả các Vali cùng loại trong các Block con -
round(): Hàm tích hợp sẵn round( ) tuân theo đặc tả của Python's round function, trong đó các giá trị được làm tròn đến bội số gần nhất của 10 với số mũ âm là ndigits
Ví dụ về công thức:
-
$SolarPanel.width * $SolarPanel.length -
max(soc(), $SolarPanel.lowest_mass) -
if($SolarPanel.width*2 > $SolarPanel.length, 10, 5)
Vali Information
Bạn có thể xem thêm thông tin về Vali bằng cách nhấp vào tên của nó. Thao tác này sẽ mở chế độ xem chi tiết (1) và người dùng có thể tìm thấy thông tin (2). Xem Hình Vali Information để biết thêm chi tiết.
Thông tin Vali - Khi nhấp vào một Vali, một cửa sổ có thêm thông tin sẽ mở ra. Tại đây bạn có thể xác định thêm thuộc tính, thêm mô tả và xác định tác động.Trong tab thông tin, người dùng có nhiều tùy chọn để thêm/thay đổi margin/đơn vị và cũng có thể thêm các yêu cầu (min/max). Các yêu cầu (min/max) là các giới hạn bạn đặt cho thuộc tính cụ thể đó. Bất cứ khi nào giá trị hoặc trường hợp xấu nhất tăng hoặc giảm, và nếu các giá trị vượt quá/thấp hơn các giới hạn của yêu cầu, Requirements & Systems Portal sẽ hiển thị cảnh báo bên cạnh tên của Vali. Tham khảo phần Cảnh báo để biết thêm thông tin.
Lưu ý rằng tổng margin hiển thị trong thuộc tính Vali là margin của Block cộng với tổng margin tích lũy của Block con. Để biết thêm thông tin về Margin, vui lòng xem trang trợ giúp của chúng tôi về Margin.
ID: ID là một số ngẫu nhiên được Valiengine tự động thêm vào và được dùng ở Backend. Bạn có thể nhập ID của một Vali vào trường tìm kiếm của Rest API để tìm Vali đó. Vui lòng tham khảo tài liệu Rest API.
Name: tại đây bạn có thể nhập và chỉnh sửa tên của Vali.
Description: trong trường mô tả, bạn có thể nhập mô tả cho Vali. Bạn cũng có thể định dạng và chỉnh sửa tác vụ như minh họa bên dưới.
Các thông tin khác có thể được thêm/xem tại đây bao gồm References, Using và Used by, cũng như Impacts của Vali này.
Lịch sử của Vali
Khi một Vali được thay đổi trực tiếp hoặc gián tiếp, các thay đổi sẽ tự động được lưu trong cơ sở dữ liệu của Requirements & Systems Portal. Tab lịch sử của Vali hiển thị giá trị trước đó, giá trị sau khi thay đổi và ai đã thay đổi các giá trị. Requirements & Systems Portal ghi nhận các thay đổi ngay cả khi Vali bị thay đổi không được tham chiếu trực tiếp đến Vali đó.
Để xem lịch sử thay đổi của một Vali (xem Hình Vali History), nhấp vào tên của Vali (1) và tab chi tiết sẽ mở ra (2). Chọn biểu tượng “History” (2) và bên dưới, bạn sẽ thấy đồ thị hiển thị các thay đổi theo thời gian. Trong “Recent Changes” (3) người dùng có thể thấy một bảng chứa dữ liệu ‘Time’, ‘Value before’, ‘Value after’ và ‘Reason’.
Lịch sử Vali - Trong tab History, sự thay đổi của một Vali theo thời gian được hiển thị dưới dạng đồ họa và bảng biểu.Thông báo khi có thay đổi
Để nhận thông báo khi một Vali nhất định thay đổi, bạn có thể đăng ký theo dõi bằng cách nhấp vào Subscribe trong danh sách thả xuống của nút Action của Vali. Xem Hình Subscribing to a Vali để biết cách thực hiện.
Đăng ký theo dõi một Vali - Khi đăng ký theo dõi một Vali, thông báo tự động sẽ được hiển thị trong tab Notification (biểu tượng chuông ở góc trên bên phải) khi Vali thay đổi.Bạn sẽ thấy một thông báo mới trên biểu tượng chuông thông báo ở góc trên bên phải khi ai đó thay đổi một giá trị mà bạn đã đăng ký theo dõi (4). Sau đó, bạn có thể nhấp vào biểu tượng chuông để xem các thông báo.



