P모델링 프레임워크

P-Modeling Framework

P-Modeling Framework는 개발 프로세스 개선을 위한 지침, 방법, 도구 및 템플릿 패키지입니다.P-Modeling 프레임워크는 MSF Agile, MSF CMMI, RUP 등 사용 중인 다른 SDLC에 통합할 수 있습니다.

역사

P-Modeling Framework의 기원은 2001년 Vladimir L. Pavlov가 설계한 "The Babel Experiment"에서 유래했습니다. 프로그램은 학생들이 소프트웨어 개발의 전형적인 "응축된" 버전의 커뮤니케이션 문제를 경험하고 이러한 문제를 극복하기 위해 UML을 적용하는 것을 목적으로 했습니다.문제.

이 실험은 다음과 같은 방법으로 행해졌다.학생들로 구성된 팀은 다음과 같은 제한 요소를 가진 소프트웨어 시스템을 설계하는 과제를 할당받았습니다. UML은 프로젝트를 진행하는 동안 의사소통이 가능한 유일한 언어여야만 했습니다.이 전제는 학생들이 소프트웨어 개발의 전형적인 통신 문제의 "결집된" 버전을 경험하게 하고 이러한 문제를 극복하기 위해 UML을 적용하는 경험을 얻도록 의도되었습니다.이 실험의 결과, 학생들은 꽤 명확하고 간결한 모델을 개발했다.

조금 후, 디자인 세션에서, 두 개의 독립된 팀이 같은 작업을 하고 있었습니다.첫 번째 팀은 위와 같이 UML로 통신 수단을 제한하였고, 다른 팀은 자연어를 사용하여 구두로 의사소통을 할 수 있도록 하였다.가장 제한적인 첫 번째 팀이 다른 팀보다 더 효율적으로 작업을 수행한 것으로 나타났습니다.첫 번째 팀이 만든 UML 다이어그램은 보다 건전하고, 상세하고, 읽기 쉽고, 정교했습니다.

그 후 Vladimir L. Pavlov는 "사일런트" 모델링 세션이 기존 세션보다 생산적인지 여부를 밝히기 위해 여러 가지 추가 실험을 수행했습니다.이러한 실험에서, 침묵하는 팀은 적어도 다른 팀들만큼 효율적인 것으로 보였고, 어떤 경우에는 침묵하는 팀이 전통적인 팀들보다 더 잘했다.

이러한 결과에 대한 해석의 일부는 다음과 같습니다.

  • 자연어 사용 제한은 디자이너의 창의성을 자극하고 일에 집중하도록 강요할 수 있다.
  • 말없는 모드에서 작업하면 설계자가 설계 프로세스의 초기 단계에서 모든 기본 가정을 명시적으로 밝혀내야 할 수 있다.
  • UML은 실제의 요구와 무관한 불필요한 부담('쓰기 전용' 언어로서)으로 취급되지 않습니다.대신 설계자는 모델의 품질과 가독성에 대해 더 큰 우려를 나타내기 시작할 수 있습니다.

그 후, UML을 자연어와 비교하는 방법을 찾기 위해 새로운 실험을 추가로 실시하기 위한 아이디어가 구축되었다.이 실험의 전제는 전문 소프트웨어 설계자 두 팀을 위해 앞으로(자연 언어에서 UML로) 및 뒤로(UML에서 자연 언어로) "번역" 작업을 설정하는 것이었습니다.이 작업은 한 팀이 순번역을 실행하고 다른 팀이 역번역을 수행하는 방식으로 수행됩니다.역번역 결과가 원문과 얼마나 유사한지 관찰하여 UML 모델의 정확성을 검증하는 것이 목적이었다.

실험 결과, 소프트웨어 시스템을 설명하는 정보에 대해 UML은 모델의 내용을 유지하는 데 필요한 충분한 표현력을 가지고 있는 것으로 나타났습니다.UML에서 역번역 후 얻은 텍스트는 의미론적으로 원본과 동등했다.

실험에 따르면 전체 소프트웨어 개발 사이클의 모델은 일련의 번역으로 존재한다고 합니다.이후 실험에서 역번역 검증은 각 개발 단계의 성과물이 이전 단계에서 생성된 모든 것을 잃어버리거나 잘못 해석되지 않도록 보장하는 방법으로 입증되었습니다.이 메서드는 "Reverse Symantic Traceability"로 명명되었습니다.P-Modeling Framework에 대한 확실한 2부 완성으로 입증되었습니다.

기본 원칙

역시멘틱 트레이서빌리티

Reverse Semantic Traceability는 모든 변환 스텝의 출력을 테스트할 수 있는 품질 관리 방법입니다.다음 단계로 진행하기 전에 현재 아티팩트가 "역설계"되고 복원된 텍스트가 원본과 비교됩니다.이 두 텍스트 사이에 차이가 있는 경우 테스트한 아티팩트가 문제를 제거하기 위해 수정됩니다(또는 초기 텍스트가 수정됨).따라서 모든 단계는 한 걸음 물러서서 개발이 올바른 궤도에 있는지 확인함으로써 확인할 수 있습니다.이렇게 하면 문제를 지연 없이 발견하여 수정할 수 있으므로 문제가 누적되지 않고 개발 사이클의 후속 단계로 넘어가지 않습니다.
이 방법의 이름의 키워드는 "Semantic"입니다.텍스트의 원래 버전과 복원된 버전을 의미론적으로 비교하고, 텍스트에서 사용되는 특정 "단어"가 아니라 텍스트의 "의미"에 초점을 맞추어야 한다는 사실에 기초한다.

Reverse Symantic Traceability 메서드의 얼리 어답터에 의해 보고된 가장 높은 사용 시나리오는 다음과 같습니다.

  • UML 모델 검증: 품질 엔지니어는 도메인에 대한 텍스트 설명을 복원하고 원래 설명과 복원된 설명을 비교합니다.
  • 새로운 요건에 대한 모델 변경 검증: 모델의 원래 버전과 변경된 버전이 지정되면 품질 엔지니어는 요건에 대한 텍스트 설명을 복원하고 원래 설명과 복원된 설명을 비교합니다.
  • 버그 수정 검증: 원래 및 변경된 소스 코드를 지정하면 품질 엔지니어는 수정된 버그에 대한 텍스트 기술, 원래 기술 및 복원된 기술을 비교합니다.
  • 새로운 소프트웨어 엔지니어를 팀으로 통합: 새로운 팀원은 현재 프로젝트의 주요 아티팩트에 대해 Reverse Symantic Traceability를 수행하는 임무를 부여받습니다.

말없는 모델링

원래 학생들에게 UML을 사용하여 객체 지향 분석 및 설계를 가르치는 고급 교육으로 발명된 스피치리스 모델링은 본질적으로 자연 언어를 포함한 커뮤니케이션 수단을 사용하는 데 제약이 있습니다.이와 같이 설계자 팀은 설계 세션 중에 커뮤니케이션에 사용할 수 있는 유일한 언어로 모델링 언어를 사용해야 합니다.

소프트웨어 개발 라이프 사이클(SDLC)에의 P-Modeling 프레임워크의 통합

조직에서 사용되는 개발 프로세스의 종류(폭포, 스파이럴, 다양한 반복 증분 등)에 관계없이 P-Modeling Framework 원칙을 적용할 수 있는 소프트웨어 설계, 품질 관리, 인력 관리, 리스크 관리, 커뮤니케이션 관리특정 프로세스가 있습니다.프로젝트 초기 단계에서 품질관리 활동이 경미하거나 (중요한) 부재 중일 때 개별적으로 실시합니다.

요건 및 제한

  1. 모든 P-Modeling Session 구성원은 그래픽 모델링 언어를 유창하게 구사해야 합니다.
  2. 본격적인 P-모델링 세션에는 최소 8명의 자격요원이 필요합니다.
  3. 효율적인 RST 세션을 위해 최소 3명의 자격요원이 필요합니다.
  4. P-모델링 프레임워크는 요구사항 또는 클라이언트 요청에서 모호하고 모순적이며 불완전한 측면을 탐지할 수 있는 기능을 제공하지 않습니다.
  5. 말없는 모델링 세션은 참가자들의 많은 에너지와 노력을 필요로 합니다.

비판

P-Modeling Framework는 분명히 더 개선할 여지가 있다.예를 들어 다음과 같습니다.

  • P-모델링 세션에서는 원래 아티팩트에 대한 지식이 없는 추가 리소스가 필요하며 프로그래머를 위해 추가 워크로드를 추가해야 합니다.
  • RST를 실행하는 동안 텍스트는 수동으로 비교해야 합니다.이는 프레임워크에 자동화가 부족함을 의미합니다.
  • RST가 가져올 수 있는 결과 중 하나는 사람들이 "RST를 위해 설계"하는 경우입니다. 즉, 새로운 가치를 추가하지 않고 쉽게 재구성할 수 있는 방식으로 아티팩트를 만듭니다.
  • P-Modeling Framework의 효과에 대한 신뢰할 수 있는 통계적 증거는 없습니다.
  • "사일런트 설계 세션"의 적용 범위는 매우 좁습니다.그래픽 모델링 언어로 시스템을 문서화할 수 있고 필요한 시스템 및 조직에만 해당됩니다.이는 다음과 같은 경우에는 해당되지 않습니다.
    • 이 회사에는 "그래픽 모델링 언어를 구사할 수 있는" 충분한 개발자가 없으며, 이를 언제 어떻게 적용해야 할지 잘 알고 있지 않습니다. 이는 매우 높은 자격을 의미합니다.
    • 회사에서는 그래픽 모델링 언어를 광범위하게 사용하지 않습니다.
  • P-Modeling Sessions는 좋은 디자인과 나쁜 디자인을 구분하는 데 도움이 되지 않습니다.

레퍼런스

외부 링크