Valiassistant를 사용한 Custom 액션 예시
다음은 Custom Actions와 함께 구현할 수 있는 몇 가지 스크립트 예시입니다. AI가 표시될 때마다 스크립트는 요구 사항, 블록 또는 Valis의 정보와 함께 AI에 전송되는 Custom 프롬프트를 사용하며, AI는 데이터를 분석하고 사용자 지정 프롬프트를 고려하여 요구 사항 및 시스템 포털로 다시 답변을 보내면 요구 사항 및 시스템 포털의 개체에 다시 작성할 수 있습니다. 이 예제 스크립트를 요구 사항과 사용 사례에 맞게 자유롭게 조정하세요.
AI 제목 제안
이 스크립트는 AI를 사용하여 개별 요구 사항에 대한 짧지만 정확한 제목을 제안합니다.
사용되는 Custom 프롬프트는 다음과 같습니다:
custom_prompt = "텍스트에 따라 시스템 엔지니어링의 맥락에서 이 요구 사항에 대한 간단한 제목을 제공하세요. 제목에 숫자나 단위를 포함하지 마세요. 제목만 반환하고 다른 텍스트는 반환하지 마세요."
요구 사항 텍스트와 함께 AI에 전송됩니다.
AI 요구 사항 유형 제안
이 스크립트는 AI를 사용하여 요구 사항 텍스트를 기반으로 요구 사항을 "기능", "성능" 또는 "시스템"과 같은 특정 유형으로 분류합니다. 요구 사항 및 시스템 포털의 설정에 정의된 모든 유형이 고려됩니다.
사용되는 Custom 프롬프트입니다:
custom_prompt = "해당 유형으로만 응답하세요. 다음 유형을 고려하세요: {유형_스트링}. 요구 사항 텍스트에 따라 제공된 요구 사항을 제공된 유형 중 하나({types_string})로 분류합니다. 'type' 형식의 유형만 반환하세요."
AI 요구 사항 품질 검사
이 스크립트는 요구 사항 텍스트의 품질을 업계 INCOSE 표준에 따라 검사하고 품질 태그 및 개선 제안의 형태로 정량적 및 정성적 응답을 제공합니다.
사용된 Custom 프롬프트에는 가장 관련성이 높은 INCOSE 규칙이 포함되어 있습니다:
custom_prompt = """
요구 사항 작성 시 다음 INCOSE 표준을 고려하세요:
R1 - 주어, 동사, 목적어 등 구조화된 완전한 문장을 사용하세요.
R2 - 필요 사항 또는 요구 사항의 주 문장 구조에 능동태를 사용하고 책임 주체가 문장의 주어로 명확하게 식별되도록 합니다.
R3 - 필요 또는 요구 사항 진술의 주어와 동사가 필요 또는 요구 사항이 지칭하는 주체에 적합한지 확인합니다.
R5 - 부정관사 'a'가 아닌 정관사 'the'를 사용합니다.
R6 - 수량을 명시할 때는 적절한 단위를 사용합니다. 모든 숫자에는 측정 단위를 명시적으로 명시해야 합니다.
R7 - "일부", "어떤", "허용 가능한", "몇", "많은", "많은", "몇", "거의 항상", "매우 거의", "거의", "약", "거의", "거의", "대략" 등의 모호한 용어의 사용을 피합니다.
R8 - "가능한 한", "가능한 한 적게", "가능한 한", "가능한 한 많이", "필요하다면", "필요한 경우", "필요한 범위까지", "적절한 경우", "필요한 경우", "실용적인 범위까지", "실행 가능한 경우" 등의 이스케이프 조항을 피합니다.
R9- "포함하되 이에 국한되지 않는", "등", "등" 등의 개방형 조항을 피합니다.
R10 - "설계된", "할 수 있는", "할 수 있는" 등의 불필요한 부정사를 피합니다.
R12, 13, 14 - 올바른 문법, 철자법, 구두점을 사용합니다.
R15 - "[X AND Y]", "[X OR Y]", [X XOR Y]", "NOT[X OR Y]"와 같은 논리적 표현을 표현할 때 정의된 규칙을 사용합니다.
R16 - "not"의 사용을 피합니다
R17 - 단위(예: km/hr)를 제외하고 비스듬한("/") 심볼을 사용하지 않습니다
R18 - 관련 하위 절에 의해 조건화되고 자격을 갖춘 단일 생각을 포함하는 단일 문장을 작성합니다.
R19 - "그리고", "또는", "그때", "만약", "그러나", "뿐만 아니라", "또한", "그러나", "여부", "한편", "반면", "반면에" 또는 "달리" 등 절을 연결하는 결합사를 사용하지 마세요.
R20 - 필요성 또는 요구사항의 목적을 나타내는 문구는 피합니다.
R21 - 괄호와 괄호 안에 하위 텍스트를 포함하지 않습니다.
R22 - 집합의 이름을 지정할 때 그룹 명사를 사용하는 대신 명시적으로 집합을 열거합니다.
R24 - 대명사 및 부정 대명사의 사용을 피합니다.
R26 - 100'%' 신뢰도, 100'%' 가용성, 모두, 모든, 항상, 절대 등과 같이 달성할 수 없는 절대값을 사용하지 마세요.
R28 - 특정 조건에 대한 조치 목록을 제시하는 대신 단일 조치에 대해 조건의 명제적 성격을 명시적으로 표현합니다.
R29 - 문제 또는 시스템의 측면에 따라 필요와 요구사항을 분류합니다.
R31 - 설계 입력을 정의할 때 설계를 제약할 근거가 없는 한 해결책을 명시하지 않습니다. '어떻게'라는 해결책보다는 '무엇'이라는 문제에 집중하세요.
R32 - 보편적인 정량화를 의도할 때는 '모두', '모두' 또는 '둘 다' 대신 '각각'을 사용합니다.
R33 - 수량을 적용 대상과 검증 또는 검증 대상에 적합한 범위의 값으로 정의합니다.
R34 - 필요성 또는 요구사항이 명시된 대상에 적합하고 대상의 충족 여부를 검증할 구체적인 측정 가능한 성과 타겟을 제공합니다.
R35 - "결국", "때까지", "이전", "이후", "같이", "한 번", "가장 빠른", "최신", "순간", "동시", "마침내" 등의 무기한 시간적 키워드를 사용하는 대신 시간적 의존성을 명시적으로 정의합니다.
R38 - 약어 사용을 피하세요.
요구사항에 대한 이러한 INCOSE 표준에 따라 0에서 100 사이의 quality_score_of_the_requirement_text와 다음과 같은 형식의 해당 comment_for_improvement가 포함된 사전만 반환합니다:
{'Score': quality_score_of_the_requirement_text, 'Comment': comment_for_improvement}.
"""
분석 모듈의 AI 불일치 보고서
이 스크립트는 ValiAssistant "불일치 찾기" 기능을 실행하고 분석 모듈에 보고서를 출력한 다음 Export 또는 공유할 수 있습니다.
분석 모듈의 영향 분석 보고서
이 스크립트는 선택한 요구 사항에 대한 분석을 수행하여 해당 텍스트 필드의 변경으로 인해 영향을 받는 다른 요구 사항, 블록 및 테스트 실행을 확인합니다. 이 스크립트는 분석 모듈에서 내보내거나 공유할 수 있는 보고서를 준비합니다.
이 영향 분석 스크립트는 AI를 사용하지 않지만 각 관련 개체에 대한 영향의 심각도에 대한 AI 평가를 포함하도록 확장할 수 있습니다.