스토리 중심의 모델링
Story-driven modeling![]() | 이 글에는 여러 가지 문제가 있다.이 문제를 개선하거나 대화 페이지에서 토의하십시오.(이러한 템플릿 메시지를 제거하는 방법 및 시기 알아보기)
|
스토리 중심의 모델링은[1][2][3] 객체 지향 모델링 기법이다.[4][5]다른 형태의 객체 지향 모델링은 클래스 다이어그램에 초점을 맞춘다.클래스 다이어그램은 프로그램의 정적 구조, 즉 프로그램의 구성 요소와 그것들이 서로 어떻게 관련되는지 설명한다.클래스 다이어그램도 데이터 구조를 모델링하지만 유형과 유형 특징과 같은 다소 추상적인 개념을 강조한다.
추상적인 정적 구조 대신에 스토리 기반 모델링은 구체적인 예제 시나리오와[6] 예제 시나리오의 단계가 어떻게 객체 다이어그램으로 표현될 수 있는지 그리고 시나리오 실행 중에 이러한 객체 다이어그램이 어떻게 진화하는지에 초점을 맞춘다.
소프트웨어 개발 접근법
스토리 중심의 모델링은 다음과 같은 소프트웨어 개발 접근방식을 제안한다.
- 텍스트 시나리오:구현하려는 기능에 대해 가장 일반적인 사례에 대한 텍스트 시나리오 설명을 작성하십시오.한 번에 하나의 예만 보십시오.일반적인 용어 대신 특정 용어와 개별 이름(예: 역할 이름)을 사용하십시오.
- 시나리오 고더치 바비큐
- 시작: 이번 일요일 피터, 푸트리, 펭은 공원에서 고 더치 바비큐 파티를 한다.그들은 회계처리를 하기 위해 그룹 계정 앱을 사용한다.
- 1단계: 피터는 12달러에 고기를 가져온다.피터는 이 항목을 그룹 계정 앱에 추가한다.
- 2단계: 푸트리는 9달러에 샐러드를 가져온다.피터도 이 물건을 덧붙인다.이 앱은 현재 평균 7달러의 점유율을 보이고 있으며, 피터가 5달러, 푸트리가 2달러를 받는 동안 펭은 여전히 이 7달러를 가져와야 한다는 것을 보여준다.
- 3단계: ...
- GUI 모형화:원하는 기능에 대한 그래픽 사용자 인터페이스(GUI)를 설명하려면 몇 가지 와이어프레임 모델 또는 GUI 모형을 시나리오에 추가하십시오.
- 시나리오 고더치 바비큐
- 스토리보드: 다음, 어떤 상황, 즉 어떤 시나리오의 단계가 런타임 객체 구조에 의해 컴퓨터 내에서 어떻게 표현될 수 있는지에 대해 생각해 보십시오.이것은 시나리오에 객체 다이어그램을 추가함으로써 이루어진다.스토리 중심의 모델링에서는 객체 다이어그램이 있는 시나리오를 스토리보드라고도 한다.
- 시나리오 고더치 바비큐
- 클래스 다이어그램 파생:이제 스토리보드에서 사용되는 객체 다이어그램에서 클래스 다이어그램을 도출하는 것은 꽤 간단하다.
참고, 클래스 다이어그램은 모든 객체 다이어그램에 대한 공통 참조 역할을 한다.이것은 전체적으로 동일한 유형과 속성이 사용되도록 보장한다.UML 도구를 사용하여 이 클래스 다이어그램에서 첫 번째 구현을 생성할 수 있다. - 알고리즘 설계:지금까지 애플리케이션에 배포된 개체 구조를 모델링하고 구현해 보십시오.이제 행동, 즉 알고리즘과 메소드 본체를 추가해야 한다.응용 프로그램의 동작을 프로그래밍하는 것은 까다로운 작업이다.그것을 용이하게 하기 위해서, 당신은 먼저 유사코드 표기법으로 그 행동을 개략적으로 설명해야 한다.예를 들어, 오브젝트 게임을 할 수 있다.예를 들어, 당사의 개체 구조와 GroupAccount 개체의 관점에서 모든 사용자의 살도 속성을 업데이트하려면 다음을 수행하십시오.
- 모든 사람의 살도 업데이트:
- 각 항목을 방문하다
- 각 항목에 대해 총 값에 값을 추가하고 항목 수에 1을 추가하십시오.
- 총가치를 인원수로 나누어 각 개인의 평균 몫을 계산하다.
- 한 사람 한 사람 한 사람 한 사람마다 방문하다.
- 한 사람당 살도 리셋을 한다.
- 각 개인마다 이 사람이 구입한 각 항목을 방문하십시오.
- 각 항목에 대해 현재 사람의 살도에 값을 추가한다.
- 한 사람당 살도에서 몫을 빼다.
- 동작 구현:일단 알고리즘 유사 코드를 객체 구조에서 운용 수준으로 세분화하면 객체 모델 구현에서 동일한 작업을 실행하는 소스 코드를 쉽게 도출할 수 있다.
- 테스트:마지막으로 시나리오는 자동 JUnit 시험을 도출하는 데 사용될 수 있다.본 예제에 대한 테스트의 유사 부호는 다음과 같이 보일 수 있다.
- 모든 사람의 살도 업데이트:
- 그룹 계정 개체를 생성하십시오.
- Peter라는 이름의 사람 개체와 Putri라는 이름을 가진 사람 개체와 Peng이라는 이름을 가진 사람 개체를 그룹 계정 개체에 추가한다.
- 구매자 Peter와 함께 항목 객체를 추가하고, Meat를 설명하며, $12를 그룹 계정 객체에 추가한다.
- buyer Putri와 함께 아이템 오브젝트를 추가하고 샐러드를 설명하며 $9를 그룹 계정 오브젝트에 추가한다.
- 호출 방법 그룹 계정 개체에 있는 모든 사람의 saldo 업데이트
- 피터 물건의 살도가 5달러인지 확인하다.
- Putri 객체의 saldo가 $2인지 확인한다.
- Peter 객체의 saldo가 -$7인지 확인
- 모든 살도스의 합계가 0달러인지 확인하다.
- 그러한 자동 시험은 사례 상황에서 행동 구현이 스토리보드에 요약된 것을 실제로 수행하도록 보장한다.이러한 테스트는 매우 간단하고 모든 종류의 버그를 식별하지는 못할 수 있지만, 이러한 테스트는 원하는 동작과 새로운 기능의 사용을 문서화하는 데 매우 유용하며 이러한 테스트는 미래의 변경으로 인해 해당 기능이 손실되지 않도록 보장한다.
요약
스토리 중심의 모델링은 비 IT 전문가와의 협력에 매우 효과가 있는 것으로 입증되었다.[7]다른 영역의 사람들은 일반적으로 일반적인 용어(즉, 클래스)와 일반 규칙(시사코드)으로 그들의 요구를 설명하는데 어려움을 겪는다.마찬가지로, 정상인들은 그들의 요구가 제대로 다루어졌는지 아닌지를 가성을 이해하거나 판단하는데 문제가 있다.그러나, 이 사람들은 그들의 사업을 매우 잘 알고 있고, 구체적인 사례와 시나리오의 도움으로, 보통 사람들은 문제가 있는 사례를 발견하고 그들의 요구가 제대로 해결되었는지 판단하는 것이 매우 쉽다.
스토리 위주 모델링은 1997년 처음 시작된 이후 성숙했다.2013년에는 카셀 대학교, 파더보른 대학교, 타르트 대학교, 앤트워프 대학교, 나자르바예프 대학교 아스타나, 하소 플라트너 연구소 포츠담, 빅토리아 대학교 등에서 가르치기 위해 사용된다.
참고 항목
참조
- ^ Norbisrath, Ulrich; Zündorf, Albert; Jubeh, Ruben (2013). Story Driven Modeling. Amazon Createspace. p. 333. ISBN 9781483949253.
- ^ Zündorf, Albert; Schürr, A.; Winter, A. J. (1999). "Story Driven Modeling". University of Paderborn. Technical Report (tr-ri-99-211).
- ^ Diethelm, Ira; Geiger, L.; Zündorf, A. (January 2004). "Systematic story driven modeling: a case study". Third International Workshop on Scenarios and State Machines: 65–70.
- ^ van Gorp, Pieter (2008). "Evaluation of the Story Driven Modeling Methodology: From Towers to Models". Technical Report University of Antwerp.
- ^ Eickhoff, Christoph; Geiger, N.; Hahn, M.; Zündorf, A. (2012). "Developing Enterprise Web Applications Using the Story Driven Modeling Approach". Current Trends in Web Engineering. LNCS (7059): 196–210.
- ^ Ryser, J.; Glinz, M. (2000). "Improving the Quality of Requirements with Scenarios". Proceedings of the Second World Congress on Software Quality. Yokohama: 55–60.
- ^ Zündorf, Albert; Leohold, J.; Müller, D.; Gemmerich, R.; Reckord, C.; Schneider, C.; Semmelroth, S. (2006). "Using object scenarios for requirements analysis - an experience report". Modellierung 2006: 269–278.