선례 게임 남자에 대 한 남자의 차트입니다. 선례에 대한 설명. 선례 차트 - 케이스 다이어그램을 사용하십시오. 응용 프로그램 상호 작용 모델

선례 - 사용자가 특정, 측정 가능하고 필요한 결과를 얻을 수있는 덕분에 시뮬레이션 된 시스템 (기능의 일부)의 가능성. 전례는 별도의 시스템 서비스를 준수하고 사용 옵션 중 하나를 정의하고 시스템을 사용하여 사용자를 상호 작용하는 일반적인 방법을 설명합니다. 사용 옵션은 일반적으로 외부 시스템 요구 사항을 지정하는 데 사용됩니다.

목적

차트의 주요 목적은 고객, 최종 사용자 및 개발자가 설계된 또는 기존 시스템을 공동으로 토론 할 수있게 해주는 기능 및 행동에 대한 설명입니다.

이전 차트를 사용하여 시스템을 모델링 할 때 시스템 분석가는 다음을 더 탐색합니다.

  • 시스템을 환경에서 분명히 분리하십시오.
  • 배우 (배우), 시스템과의 상호 작용 및 시스템의 예상 기능을 확인합니다.
  • 시스템의 기능에 대한 자세한 설명과 관련된 개념의 주제 영역의 용어집에서 정의합니다 (즉, 선례).

다이어그램에서 작업하면 고객과 작업 할 때 얻은 텍스트 설명으로 시작할 수 있습니다. 비 기능 요구 사항 (예 : 특정 언어 또는 프로그래밍 시스템), 이전 모델을 끌어 올 때 (다른 문서가 컴파일됩니다) 하강합니다.

집단

다이어그램에서 선례 모델을 반영하려면 다음을 수행하십시오.

전례 간의 관계

선례 모델의 중복 정보의 일부는 이전과 같은 관계를 표시하여 제거 할 수 있습니다.

  • 선례의 일반화 - 미숙 한 삼각형이있는 화살표 (삼각형은보다 일반적인 선례에 배치됩니다),
  • 전례를 활성화합니다 - 스테레오 타입 "포함"이있는 점선 화살표,
  • 선례의 확장 - 스테레오 타입 "확장"이있는 점선 화살표 (화살표는 확장 가능한 우례를 지정하여 추가 섹션에서 지정할 수 있습니다. 확장 포인트 그리고 덧글의 형태로, 확장 조건

규칙

옵션 작업을 수행 할 때 몇 가지 간단한 규칙을 기억하는 것이 중요합니다.

  • 각 선례는 적어도 하나의 행동에 적용됩니다.
  • 각 선례는 개시자가 있습니다.
  • 각 선례는 관련 결과를 초래합니다.

기사 "그림 우선"에 대한 리뷰 쓰기

메모

전신의 차트를 특징 짓는 발췌

- 내 무의식, 당신의 거룩함을 용서하지만, 내 부분에 실수를 피하기 위해, 당신이 말하고 싶었던 것을 더 정확하게 설명하지 마십시오. - 나는 아주 신중하게 대답했다.
카라프는 부드럽게 미소 지으며, 그녀의 우아하고 얇은 손가락으로 내 떨리는 손을 잡아서 조용히 말했습니다.
"당신은 지구상의 첫 번째 여성, Madonna Isidor, 누가, 내 개념에서 진짜 사랑을받을 자격이 있습니다 ... 그리고 당신은 매우 흥미로운 대담 자입니다." 당신의 자리가 사라진 민감한 것보다 당신의 자리가 왕위에 있다고 생각하지 않습니까? "IT, ISIDOR에 대해 생각해보십시오. 나는 너에게 나의 우정을 제공하지 않는다. 그러나 나의 우정은 매우 믿고 ... 그리고 나는 당신에게 그것을 증명하고 싶습니다. 그러나 모든 것이 당신의 의사 결정에 달려 있습니다. 자연스럽게 ... - 그리고 나의 가장 큰 놀라움에 추가 : - 당신이 뭔가를 읽고 싶다면 저녁까지 여기에 머물 수 있습니다. 여기서 흥미로운 일을 많이 찾을 것이라고 생각합니다. 끝나면 종소리를 부르면 하녀가 당신에게 길을 다시 보여줄 것입니다.
카라파는 침착하고 그의 승리에 대한 그의 완전한 자신감에 대해 말했습니다 ... 그는 심지어 "흥미로운"문장을 포기할 수있는 순간을 허용하지 않았습니다. 특히 희망없는 상황에서. 그러나 나는 자연스럽게 나는 그를 거절 할 것이기 때문에 정확하게 가장 무서웠다. 이 일을하는 방법 만, 나는 사소한 아이디어가 없었습니다 ...
나는 주변을 둘러 보았다 - 가장 오래된 책의 수동으로 바느질 한 바느질, 늦은 피부에있는 파피루스와 원고, 이미 인쇄 된 책,이 도서관은 세계 지혜의 창세지였습니다. 독창적 인 인간의 생각 !!! 그것은 명백하게 보았던 가장 가치있는 도서관이었습니다! .. 나는 완전히 기절했고, 수천 명의 "말하기"양의 볼륨으로 붐비고,이 저주의 저주와 함께이 저주와 함께 어떻게 될 수 있는지 이해할 수 없었습니다. "진정한 종교 활동을 위해"실제적인 종사본을 위해이 책은 사람들이 화재에 불타고있는 가장 순수한 이단이되어야했으며, 교회에 대한 끔찍한 범죄로 분류 된 가장 순수한 이단이되어야했습니다! .. 여기서, 교황 지하실 에서이 가장 가장 가치있는 책은 보존되어 있으며, 이는 "영혼의 구속과 정화"라는 이름으로 마지막으로 잎으로 태워졌습니다. , "아버지의 종사자"가 일하는 모든 일은 끔찍한 베일이있는 거짓말이었습니다! 그리고이 무자비한 거짓말은 깊고 단단히 인간의 마음의 신자들에게 깊고 단단히 앉아있었습니다! .. 나는 교회가 그의 신앙에 진실한 것에 대해 절대적으로 확신한다고 생각합니다. '나는 이상한 것처럼 보일 것처럼 보일 것입니다. 그는 항상 깨끗하고 높고 높은 무언가에 대한 사람의 신앙을 구현하고, 구원의 이름으로, 그의 영혼은 찾았습니다. 나는 지식을 전적으로 믿었으므로 "신자"가 아니 었습니다. 그러나 나는 다른 사람들의 신념을 항상 존경하며, 나의 개념에서, 사람은 자신의 운명을 보낼 곳을 선택할 수있는 권리를 가지고 있으며, 다른 사람의 다른 사람의 삶을 어떻게 살아야했는지 강요 당하지 않아야합니다. 이제 나는 내가 틀렸다는 것을 분명히 보았습니다 ... Lgal의 교회, 사망하고 폭력적이며, 부상당한 인간의 영혼으로서 "사소한"이라고 믿지 않고 ...
마치 내가 열정적으로 보이지 않았던 것처럼, 그것은 실제로 돌아갈 시간이었습니다. 그날, 불행히도, 그 당시에는 위로하는 것을 상상하지 않았습니다 ...
교회의 거룩한 아버지, Giovanni Pietro Karafa 나를 사랑했습니다! .. 오, 신들, 어떻게 그가 나를 싫어해야합니까? 그리고 그가 곧 내 대답을 듣는 때 얼마나 많은 증오가 얼마나 더 강한가?
나는이 사람을 이해할 수 없었다. 그 앞에서, 거의 모든 인간의 영혼이 나에게 열려있는 책 이었지만, 언제나 자유롭게 읽을 수있었습니다. 그는 완전히 예측할 수 없었고, 끔찍한 결과를 수반 할 수있는 그의 감정에 대한 정신의 변화를 잡는 것은 불가능했습니다. 나는 내가 아직도 얼마나 많이들을 수 있는지 알지 못했고, 나는 그가 나를 지속시키려는 얼마나 오래 의도한 것인지 알지 못했다. 내 인생은이 광신적 인 아빠와 잔인한 아빠에 완전히 의존했지만, 나는 단지 한 가지를 알고있었습니다. 나는 거짓말을하려고하지 않았습니다. 어떤 의미, 내 인생은 그렇게 많이 남아 있지 않았습니다 ...

컴퓨터 프로그램이있는 레미 큐브 (왼쪽) Grossmaster Norimoto Shady에 대한 미친 돌

1994 년 컴퓨터는 1997 년 체크인에서 세계 챔피언을 이길 수 있습니다. 오늘날 컴퓨터는 모든 사람들을 전체 정보로 모든 인기 게임에서 절대적으로 초과합니다.

2500 년의 역사를 가진 고전적인 게임에서 매우 간단한 규칙이지만 컴퓨터 프로그램은 최고의 그랜드 마스터에 대한 승리에도 가깝게 닿지 않고 유선을 씁니다.

고대의 게임은 "동부 체스"로 간주 될 수 있습니다. 체스와 마찬가지로, 이것은 모든 플레이어가 게임의 상태에 대한 모든 정보를 제공하고 개별 행동으로 게임에 영향을 미치는 모든 플레이어가있을 것입니다. 여기서 성공은 행운이나 반응 속도에 의존하지 않습니다.

컴퓨터의 계산력이 증가 했음에도 불구하고 (오늘날 체스에서의 세계 챔피언이 가정용 PC를 잃을 가능성이 높습니다), 전문가 수준의 게임 알고리즘은 해결되지 않고 AI의 가장 흥미로운 업무 중 하나입니다. 문제는 또한 게임에 제 9 개를 등반 할 수있는 매우 적은 것입니다. 이렇게하려면 몇 년 동안 일본이나 한국에서 공부해야합니다. 9 년부터 지금 Go Academy at Academy에서 공부하기 위해 가정에서 재능있는 아이들이 있습니다.

고급 연인은 거의 항상 특정 수준의 게임에 갇혀 있으며 결과를 향상시킬 수 없습니다. "이 자물쇠를 제거해야하며 동일한 문제가있는 프로그램의 개발에 필요한"특정 정신 점프가 필요합니다. "라고 David Photlands (David Fotland), 70 년대의 Hewlett Packard의 PA-RISC 프로세서의 주 개발자. 그는 개발 프로세서에서 Go 프로그램을 테스트했습니다. - 질문은 전체 보드를 평가하는 방법이며 파편을 분리하지는 않습니다. "

이 게임은 오랫동안 동쪽에서뿐만 아니라 서쪽에서도, 특히 수학자와 물리학 자 중에서도 인기가있었습니다. 예를 들어, 아인슈타인은 종종 재생되며 유명한 수학 John Nash와 Alan Turing을 맛 보았습니다.

이동 중에는 컴퓨터 프로그램이 45 년 동안 개발 중이며이 문제는 체크 된 프로그램만큼이나 많은 관심을 받았습니다. 첫 번째는 1968 년에 Alfred Zobrist 이론의 이론의 천재를 보냈습니다. 그녀는 단지 규칙을 만난 절대 초보자를 이길 수 있습니다 (컴퓨터 컴퓨터의 첫 번째 게임을 기록하십시오). 시작은 낙관적 인 것처럼 보였습니다. 향후 4 년 동안 엄청난 양의 시간과 지적 노력이 소비되었지만 프로그램의 계산력에서 진행 상황을 고려하여 고급 아마추어조차도 극복 할 수 없었습니다.

이유는 체스와 비교하면 이해 될 수 있습니다. 체스 파티가 시작될 때, Belykh는 20 개의 가능한 움직임과 검은 색 - 20 개의 답변을 가지고 있습니다. 보드를 첫 번째 턴온 후 400 개의 다른 위치가있을 수 있습니다. 이제 숫자를 비교하십시오 : 19x19 칠판에 361 개의 초기 이동 가능성이 있으며 흰색 360 응답 옵션이 있습니다. 이것은 첫 번째 라운드 후에 만 \u200b\u200b129,960 개의 가능한 조합을 의미합니다.

소위 "브랜치 팩터"는 각 라운드에서 사용할 수있는 평균 이동 수입니다. 체스에서 35는 350입니다. 강력한 분기가있는 게임은 MiniMax 규칙을 사용하여 가능한 트리를 만들기 위해 표준 알고리즘의 작업을 수행합니다. 조합. 모든 것이 아닌 분석을 고려하지만 더 깊은 분석을위한 유망한 분기만을 고려합니다. 체커와 체스에서 일하는 것은가는 안에서 작동하지 않습니다. 가능한 조합의 나무에서 유망한 가지의 선택은 종종 완전히 신비한 과정입니다. 플레이어조차도 어떻게하는지 이해하지 못합니다. "이사회를보고 알고 있습니다."라고 말합니다.

다시 말하지만, 체스에서는 적어도 수치의 수에 따라 누가 승리하는지 이해할 수 있습니다. 전문가만이 상황을 해석 할 수 있습니다.

게임에서의 평균 이동 수 : 체스 - 약 40, GO-200, 지점 계수 와이 통계가 컴퓨터의 무능력에 의해 명확해진다.

재능있는 프랑스 프로그래머 레미 콜롬 (Rémi Coulom)은 최소 및 몬테 카를로 방법을 결합하려고 추측했을 때 2006 년 Crazy Stone 프로그램과의 첫 성공을 획득했습니다. 브랜치 트리를 계산하기위한 새로운 알고리즘, 그는 Monte Carlo Tree Search 또는 MCTS를 불렀습니다. 프랑스 인은 2007 년과 2008 년 UEC CUP 컴퓨터 프로그램에서 우승했으나 그를 명성을 가져 오지 않았으며 레미는 개발을 던졌다. 그러나 2010 년에는 일본 개발자 불균형으로부터 제안을 받았으며 2011 년 미친 돌 첫 번째 상업용 버전이 출판되었습니다. 2013 년 Reni Reni는 챔피언십으로 돌아 왔습니다.

그러나 2014 년에는 실패가있었습니다. 젠 프로그램에 대한 최종 대결에서 청중은 세 번째 뇌졸중 후 이상한 일이 일어나고 있음을 이해했습니다. 젠 프로그램은 모서리에있는 두 개의 돌의 표준 설정 이후 갑자기 세 번째 돌을 중심 근처에서 설정합니다. 아무도 연주하지 않으므로 분명히 "비인간"결정이었습니다. 곧, 미친 돌의 승리의 기대치의 수준은 부수적으로 높은 값까지 60 % 이상 증가했습니다. 명백하게,이 프로그램은 안전하지 않지만 오른쪽 상단 구석의 안전한 돌 그룹을 고려했습니다. 성공적인 전략은 이사회의 올바른 평가에 직접적이므로 관객은 미친 돌의 가능한 패배에 대해 속삭이기 시작했습니다. 그래서 그것은 나왔습니다 : 186 년, 미친 돌 패배를 인정하고 젠은 새로운 UEC 컵 챔피언이되었습니다.

그러나 오두막은 복수의 가능성이 남아 있습니다. 결선 주의자로서 그는 진짜 그랜드 마스터 인을 4 개의 돌 형태로 플레이 할 권리를 받았습니다. 올해 노르 니토 요디는 토너먼트에 도착했습니다. 일본의 그랜드는 전통적인 녹색 기모노에서 테이블에 앉았다. 레미 큐브 - 프레임과 파란색 스웨터가없는 안경, 그가 과거 챔피언십에 있었던 것.

주석: 이 과정의 주제는 UML이 통합 된 모델링 언어입니다. 이전 강의에서는 언어를 사용하는 역사, 약속, 정의의 구조, 용어 및 표기법에 대해서는 UML이 무엇인지에 대해 설명했습니다. UML 모델은 차트 세트임을 알았습니다. 이 강의에서 우리는 그러한 질문을 고려할 것입니다 : 여러 가지 유형의 다이어그램이있는 이유; 다이어그램의 유형; oop 및 charts의 건설 순서

이 강의 주요 재료에 대한 논의를 진행하기 전에 일반적으로 몇 가지 다이어그램이 있는지에 대해 이야기 해 봅시다. 모든 시스템 모델 (소프트웨어뿐만 아니라)의 모델을 개발하면 항상 생성 또는 업데이트 앞에 선행됩니다. 이것은 적어도 해결 된 작업을 더 명확하게 상상하기 위해 적어도 필요합니다. 사려 깊은 모델은 매우 중요하며 개발 팀 내에서 상호 작용하고 고객과의 이해를 위해서. 결국에는 코드에서 구현하기 전에 프로젝트의 "건축 일관성"을 확인할 수 있습니다.

우리는 복잡한 시스템의 모델을 구축합니다. 왜냐하면 우리는 그들을 완전히 묘사 할 수 없기 때문입니다. "한눈에". 따라서 우리는 시스템의 필수 속성만을 할당하고 이러한 속성을 표시하는 모델을 구축합니다. 객체 지향 분석 방법을 사용하면 실제 복잡한 시스템을 가장 적절하게 설명 할 수 있습니다. 그러나 시스템의 복잡성이 증가함에 따라 훌륭한 모델링 기술이 필요합니다. 이전 강의에서 말한 것처럼 통합 기술은 "표준"기술로 사용됩니다. 모델링 언어 (통합 된 모델링 언어, UML)은 시스템의 사양, 시각화, 설계 및 문서화를위한 그래픽 언어입니다. UML을 사용하면 생성되는 시스템의 자세한 모델을 개발할 수 있으며 개념뿐만 아니라 구현의 특정 기능을 반영 할 수 있습니다. UML의 일부로 시스템에 대한 모든 아이디어는 다이어그램이라고하는 특수 그래픽 구조의 형태로 기록됩니다.

노트...에 우리는 모든 것을 고려하지는 않지만 다이어그램의 유형 만 고려하지 않을 것입니다. 예를 들어, 구성 요소 다이어그램은 다이어그램 유형에 대한 간략한 개요만이 강의에서만 고려되지 않습니다. 특정 응용 프로그램 모델에 대한 다이어그램 유형의 수는 제한되지 않습니다. 간단한 응용 프로그램의 경우 예외없이 모든 유형의 다이어그램을 빌드 할 필요가 없습니다. 그들 중 일부는 결석하지 않을 수 있으며,이 사실은 오류로 간주되지 않습니다. 특정 종의 다이어그램이 특정 프로젝트의 특성에 따라 다르다는 것을 이해하는 것이 중요합니다. 다른 (여기서는 논의되지 않은) 정보에 대한 정보 다이어그램의 유형은 UML 표준에서 찾을 수 있습니다.

왜 여러 가지 유형의 차트가 필요합니까?

시작하기 위해 우리는 용어를 정의합니다. 이 강의의 서문에서 우리는 시스템, 모델 및 차트의 개념을 반복적으로 사용했습니다. 저자는 우리 각자 가이 개념의 의미를 직관적으로 이해할 수 있지만 완전한 선명도를 만들고, 용어집에서 다시 살펴보고 다음을 읽으십시오.

체계 - 기능의 전반적인 목표에 의해 연합 된 상호 연결된 관리 서브 시스템의 조합.

예, 너무 유익하지 않습니다. 그러면 서브 시스템은 무엇입니까? 상황을 명확히하기 위해서는 고전을 참조하십시오.

체계 특정 목표를 달성하고 다른 모델의 전체를 통해 설명 된 서브 시스템 세트를 호출하고 다른 관점에서 다른 모델의 전체를 통해 설명합니다.

글쎄, 아무 것도 상관하지 마십시오. 서브 시스템의 정의를 찾아야합니다. 그것은 또한 그것을 말합니다 서브 시스템 - 이것은 요소의 조합이며 그 중 일부는 다른 요소의 동작의 사양을 설정합니다. Jan Sommerville 은이 개념을 이런 식으로 설명합니다.

서브 시스템 -이 기능은 다른 하위 시스템의 서비스에 의존하지 않는 시스템입니다. 소프트웨어 시스템은 상대적으로 독립적 인 서브 시스템 세트의 형태로 구성됩니다. 서브 시스템 간의 상호 작용도 정의됩니다.

또한 너무 이해할 수는 없지만 이미 더 나은 것입니다. "인간"언어로 말하면 시스템은 상대적으로 자급 자족하는 단순한 엔티티의 세트 형태로 표시됩니다. 이것은 프로그램 개발 과정에서 표준 "큐브"- 시각적 구성 요소에서 그래픽 인터페이스를 구축하거나, 프로그램 텍스트 자체가 기능적 기반에 따라 결합 된 모듈로 나누어지면서 프로그램 텍스트 자체가 포함되므로 그래픽 인터페이스를 구축 할 수 있습니다. 그리고 그들은 다음과 같은 프로그램 인 재사용 할 수 있습니다.

시스템의 개념을 알아 냈습니다. 시스템을 설계하는 과정에서 고려됩니다 다른 관점에서 모델의 도움으로 다양한 표현이 다이어그램의 형태로 나타납니다. 다시 말하지만, 독자는 개념의 의미에 대한 질문이있을 수 있습니다. 모델차트...에 우리는 아름답지만 너무 이해할 수는 없습니다 의미 닫힌 시스템 추상화로서 모델 상황을 명확히하는 것은 거의 없으므로 "자신의 말로"설명하십시오. "

모델 -이 작업에 가장 중요한 시스템 특성 만 표시하는 특정 (자료 또는 아닌) 객체입니다. 모델은 다른 재료 및 무형, 인공 및 자연, 장식 및 수학적 ...

우리는 몇 가지 예를 제공합니다. 익숙한 플라스틱 장난감 트럭 우리는 그러한 흥분으로 어린 시절에서 놀고 있었고, 그것은 아무것도 아니다. 재료 인공 장식 진짜 자동차의 모델. 물론 "자동차"에서는 엔진이 없으며, 우리는 가솔린 탱크로 그것을 채우지 않고, 그것은 그것이 작동하지 않습니다 (또한,이 장난감이 완전히 수행되는 모델). 그것은 자녀에게 차를 알리기 때문에 차의 아이디어를 제공합니다. 4 개의 바퀴, 신체, 문, 창문의 존재, 갈 수있는 능력 등.

의학 연구에서 동물 경험은 종종 인간의 의학 약품의 임상 시험이 선행됩니다. 이 경우 동물은 자연 재료 남자 모델.

위의 방정식은 또한 모델이지만, 이것은 수학적 모델이며 중력의 작용 하에서 재료 점의 움직임을 설명합니다.

차트가 무엇인지 말하기 만하면됩니다. 도표 - 이것은 많은 요소를 그래픽으로 표현합니다. 일반적으로 꼭지점 (엔티티) 및 리브 (관계)가있는 그래프 형태로 묘사됩니다. 다이어그램의 예를 설정할 수 있습니다. 이것은 학교 수년 이후의 수년간의 학교의 블록 다이어그램과 사용자 설명서에서 볼 수있는 다양한 장비의 설치 계획과 Windows 콘솔에서 트리 명령을 실행하여 볼 수있는 디스크의 트리 및 디렉토리의 설치 계획입니다. 그리고 다른 많은 것. 차트의 일상 생활에서 우리는 모든면에서 우리를 둘러싸고, 그림이 우리가 텍스트보다 쉽게 \u200b\u200b쉽게 인식하기 때문에 ...

그러나 소프트웨어의 디자인 (뿐만 아니라). 이 업계에서 다이어그램은 다른 시점에서 시스템으로 시각화 할 수 있습니다....에 예를 들어, 다이어그램 중 하나는 사용자와의 상호 작용을 시스템과의 상호 작용을 기술 할 수 있으며, 다른 하나는 동작 중에 상태 상태의 변화를 나타내며, 세 번째는 시스템 요소의 상호 작용 등을 나타냅니다. 복소 시스템을 표현할 수 있습니다. 작고 거의 독립적 인 모델 다이어그램 세트의 형태로 시스템을 설명하고 완전한 프리젠 테이션을 얻기에 충분합니다. 각각의 제시는 시스템 기능의 일부 특정 측면에 초점을 맞추고 다르게 표시되기 때문입니다. 추상화 수준...에 즉, 각 모델은 설계된 시스템에서 특정 개인 관점에 해당합니다.

이전 단락에서 우리는 모델의 개념을 매우 신속하게 비용이 들었습니다. 위의 정의의 맥락에서 단일 다이어그램은 모델이 아닙니다...에 차트는 모델을 시각화하는 수단이며,이 두 가지 개념을 구별해야합니다. 뿐 다이어그램 세트는 시스템 모델입니다 그리고 그것의 가장 완벽한 다이어그램은 문맥에서 제거되지만 하나의 다이어그램을 설명합니다.

다이어그램의 유형

UML 1.5 정의 12 가지 유형의 다이어그램세 그룹으로 나누어 짐 :

  • 4 가지 유형의 다이어그램은 정적 응용 프로그램 구조를 나타냅니다.
  • 5는 시스템의 행동 측면을 나타냅니다.
  • 세 가지는 시스템 기능의 물리적 측면 (구현 차트)을 포즈합니다.

UML 2.1의 현재 버전은 너무 많이 변경되지 않았습니다. 차트는 바깥쪽으로 약간 변경됩니다 (프레임 및 기타 시각적 개선이 나타나서), 표기법은 약간 향상되었으며, 일부 다이어그램은 새로운 이름을 수신했습니다.

그러나 정확한 수 정식 다이어그램 우리가 그 중 전부를 고려하지 않으므로 일부는 특정 응용 프로그램의 특정 모델에 대한 다이어그램 수가 엄격히 고정되지 않기 때문에 일부는 우리에게 상관없이 우리에게 상관없이 문제가되지 않습니다. 간단한 응용 프로그램의 경우 예외 차트없이 모든 것을 구축 할 필요가 없습니다. 예를 들어 로컬 응용 프로그램의 경우 배포 다이어그램을 작성할 필요가 없습니다. 다이어그램 목록이 개발중인 프로젝트의 특성에 따라 다르며 개발자 자신이 결정하는 것을 이해하는 것이 중요합니다. 호기심이 많은 리더가 여전히 모든 UML 다이어그램에 대해 알고 싶다면 UML 표준 (http://www.omg.org/technology/documents/modeling_spec_catalog.htm#uml)으로 이동합니다. 이 과정의 목적은 UML의 모든 가능성을 절대적으로 설명하지 않고이 기술에 대한 초기 아이디어를 제공하는 것만이어야합니다.

따라서 다음과 같은 유형의 차트를 간략하게 고려할 것입니다.

  • 이전의 차트;
  • 클래스 다이어그램;
  • 개체 다이어그램;
  • 시퀀스 다이어그램;
  • 상호 작용 다이어그램;
  • 상태 다이어그램;
  • 그림 활동;
  • 배포 다이어그램.

우리는 다음 강의 에서이 다이어그램 중 일부에 대해 이야기 할 것입니다. 그 동안 우리는 세부 사항에 집중하지 않으며 적어도 차트 유형을 시각적으로 구별하는 것을 적어도 시각적으로 구분하는 목적을 지정하고 주요 유형의 다이어그램의 약속에 대한 초기 아이디어를 제공합니다. 그래서, 시작하자.

선례 차트 (사용 사례 다이어그램 사용)

모든 (소프트웨어 포함) 시스템은 사람들이 사용하고 다른 시스템과 상호 작용할 수있는 작업 과정에서 그들의 작업 과정에서 설계되었습니다. 시스템이 작업 과정에서 상호 작용하는 본질을 etchomers.또한 각각의 ecect는 시스템이 엄격하게 정의 될 것이라는 것을 기대하고 예측할 수 있습니다. 에테르의 엄격한 정의를 주도록하려고 노력해 봅시다. 이렇게하려면 UML에서 멋진 시각적 사전을 사용합니다. Zicom Mentor.:

ector (배우) - 이전 또는 엔티티 (시스템, 서브 시스템 또는 클래스)와 상호 작용할 때 수행되는 다양한 논리적으로 관련된 역할이 있습니다. Extender는 엔티티 밖에서 무언가를 나타내는 사람 또는 다른 시스템, 하위 시스템 또는 클래스 일 수 있습니다.

그래픽으로 비어 있으면 " 남자 "어린 시절에 그려진 것과 유사하여 가족 구성원을 묘사 한 것과 유사합니다. 해당 스테레오 타입으로 클래스의 상징그림에 표시됩니다. 두 프리젠 테이션 양식 모두 동일한 의미를 가지며 다이어그램에서 사용할 수 있습니다. "스테레오 팅"양식은 시스템 확장 또는 Extender가 속성을 갖고 표시 해야하는 경우에 더 자주 사용됩니다 (그림 2.1).

세심한 독자는 즉시 질문 할 수 있습니다. 그리고 이유는 무엇인가?~을 빼앗아가는 것 나는 동의한다, "egratect"라는 단어는 러시아 사람의 소문을 조금 자른다. 우리 가이 말을하는 이유는 간단합니다 - 추출기는 단어에서 형성됩니다. 동작.그 번역 된 수단 행위...에 단어 "ecter"라는 문자 그대로 번역 - 배우 - 너무 길고 사용하기에 불편합니다. 따라서 우리는 그런 식으로 정확히 말할 것입니다.


무화과. 2.1.

동일한 세심한 독자가 정의에서 "선례"라는 단어가 깜박이었습니다. 그게 뭐야? 이 질문은 우리가 지금 말하고 있다는 것을 기억한다면이 질문이 더 많이 관심을 가지겠습니다. 이전의 차트...에 그래서,

선례 (사용 사례) - 사용자의 관점에서 시스템의 행동의 개별 측면에 대한 설명 (버스).

정의는 상당히 이해할 수 있고 철저한 것이지만, 당신은 그것을 사용하여 조금 명확히 할 수 있습니다. Zicom Mentor. "옴:

선례 (유스 케이스) - 관찰 된 Extender 결과로 이어지는 시스템에 의해 수행되는 연속 이벤트 (옵션 포함) 세트에 대한 설명. 전례는 ECTOCA와 시스템 간의 상호 작용을 설명하는 본질의 행동을 나타냅니다. 선례는 어떤 결과가 어떻게 달성되었지만 "그"만 수행됩니다.

우선 순례는 그 이름이 표시된 타원 형태로 매우 간단합니다. 선행 및 연장은 라인을 사용하여 연결됩니다...에 종종 끝에, 선이 묘사됩니다. 2.3.

  • 투영 된 시스템의 행동에 대한 일반적인 요구 사항의 형성;
  • 후속 세부 사항을위한 개념 모델 시스템 개발;
  • 시스템 및 시스템 사용자와의 상호 작용을위한 문서의 준비.
  • 더 자세한 분석을 위해 보드 게임 규칙은 게임 플레이의 주요 단계를 설명하는 방식 블록의 형태로 제시되었습니다. 일반적인 계획은 그림 1.1에 나와 있습니다.

    무화과. 1.1.

    이 구성표에는 다음 하위 프로세스가 포함됩니다.

    1. 초기화. 첫 번째 진행 상황의 권리를 결정하고 모든 플레이어에게 초기 카드 수를 발행하기위한 알고리즘을 포함합니다.

    2. 발달의 단계. 동물 및 그 특성의 형태로 테이블에 카드를 배치하기위한 알고리즘이 들어 있습니다.

    3. 피드베이스의 정의의 위상. 그것은 "동력상"에서 플레이어가 사용할 수있는 식품 칩의 수를 결정하기위한 알고리즘을 포함합니다.

    4. 동력 위상. 먹이 알고리즘과 동물성의 사용을 포함합니다.

    5. 위상 멸종하고 새로운 카드를 얻습니다. 불결한 동물을 재설정하고 새 카드의 수와 발급을 결정하기위한 알고리즘을 포함합니다.

    6. 게임 완성. 이 구성표에는 점 계산 및 승자를 결정하기위한 알고리즘이 들어 있습니다.

    하위 프로세스의 상세한 샘플은 부록 B에 있습니다. 게임 규칙에 대한 알고리즘 설명.

    요구 사항 사양

    개발중인 게임은 보드 게임 진화의 완전한 아날로그이므로 먼저 전체 게임 프로세스가 원본 (데스크톱) 게임의 규칙에 따라 준수하고 발생해야합니다.

    비즈니스 요구 사항 :

    컴퓨터에 대한 게임;

    플레이어 수를 선택하십시오.

    기능 요구 사항:

    게임 규칙의 관점에서 시스템의 요구 사항 :

    카드를 줘라.

    게임 필드에 누워있는 모든 속성을 가진 플레이어와 동물의 손에있는 현재 카드에 현재 카드에 최신 정보를 저장하십시오.

    뇌졸중의 우선 순위를 계산하십시오;

    첫 번째 이동으로 권리를 정의하고 전송하십시오.

    다른 속성 간의 상호 작용을 계산하는 단계;

    플레이어 수에 따라 피드베이스를 결정하십시오.

    카드를 재설정 할 카드를 넣으십시오.

    플레이어 방전지도에 대한 정보를 저장하십시오.

    플레이어의 관점에서 시스템의 요구 사항 :

    새로운 게임을 시작하십시오.

    동물 형태로지도를 넣으십시오.

    카드를 재산으로 두십시오.

    건너 뛰기;

    피드베이스에서 음식 칩을 가져 가라.

    동물에 음식 칩을 넣으십시오.

    적용 속성 활성화;

    게임을 마칩니다.

    모델 사용 옵션

    건물 선례 차트

    요구 사항의 시각화는 다음을 사용하여 구현됩니다사용 사례 다이어그램 (그림 1.2 참조).


    무화과. 1.2.

    선행 문서화

    선행 문서는 아래에 테이블에 제시됩니다 (참조...에 표 1.1. - 1.15).

    1.1. 선례 "새 게임 만들기".

    표 1.2. 선례하는 "매개 변수 설정".

    간단한 설명

    이전에 사용자는 사용자가 작성중인 게임의 매개 변수를 지정하고 게임 플레이를 시작할 수 있습니다.

    수행자들

    찬송 한 것으로 알려줍니다

    사용자가 "새 게임"버튼을 누르십시오

    주요 흐름

    1. 플레이어는 사용 된 카드 세트를 선택합니다.

    표준 세트 (84 카드) - 기본값.

    "시간 비행 시간"(+42 맵)을 보충하십시오.

    2. 플레이어는 플레이어 수를 선택합니다.

    2 명의 플레이어 - 기본적으로.

    3 명의 선수.

    4 명의 선수.

    3. 플레이어는 "게임 만들기"버튼을 클릭합니다.

    4. 봇 (컴퓨터 관리) 플레이어가 생성 된 게임에 지정된 게임으로 추가됩니다.

    대체 스트림

    전진

    매개 변수가 구성됩니다.

    간단한 설명

    집행자

    찬송 한 것으로 알려줍니다

    주요 흐름

    2. 시스템에는 플레이어가 TXT 형식으로 파일을 저장할 위치를 선택할 수있는 기능이 주어지는 창을 표시합니다.

    3. 플레이어는 경로, 파일 이름을 선택하고 저장을 확인합니다.

    4. 시스템은 게임을 디스크에 저장하고 플레이어에 메시지를 제공합니다.

    5. 시스템이 게임을 계속할 것을 제공합니다.

    대체 스트림

    A1. 디스크에 충분한 공간이 아닙니다.

    ㅏ. 시스템은 녹음을위한 디스크 공간이 충분하지 않은 메시지를 표시합니다.

    전진

    구성 및 현재 게임 상태는 하드 디스크 파일에 저장됩니다.

    표 1.4. 투사 "게임 계속".

    간단한 설명

    선례는 이전에 저장 한 게임을 계속할 수 있습니다.

    집행자

    찬송 한 것으로 알려줍니다

    저장된 게임 구성이있는 파일 디스크에서의 가용성.

    주요 흐름

    1. 플레이어가 시스템을 시작합니다.

    2. 플레이어는 "게임 계속"버튼을 클릭합니다.

    3. 시스템은 플레이어가 저장된 게임 파일을 선택할 수있는 기능을 제공하는 창을 표시합니다.

    4. 플레이어가 파일을 선택하고 개구부를 확인합니다.

    A1. 잘못된 구조 파일.

    5. 시스템은 파일에서 플레이어의 구성, 상태 및 수를 복원하고 재생 필드를로드합니다.

    대체 스트림

    A1. 잘못된 구조 파일.

    ㅏ. 시스템에 파일이 손상된 메시지가 표시됩니다.

    비. 시스템이 3 점으로 되돌아갑니다.

    전진

    게임 구성이 복원됩니다.

    표 1.5. PRERENDER "게임 마무리".

    표 1.6. 환경 설정 "재생".

    간단한 설명

    선례는 게임 플레이입니다.

    집행자

    찬송 한 것으로 알려줍니다

    전례 "새 게임 생성"이 수행됩니다.

    주요 흐름

    게임의 시작 :

    1. 시스템은 스트로크의 우선 순위를 결정합니다 (DSH를 기반으로 드로우를 수행합니다).

    2. 시스템은 첫 번째 획의 오른쪽을 그리기 결과로 선택한 플레이어로 전송합니다.

    3. 새 게임을 위해 선례하는 "지도 가져 오기"가 수행됩니다.

    개발 단계 :

    A2. 플레이어가 이미 이동을 놓쳤습니다.

    5. 플레이어가 움직이게합니다.

    A3. 플레이어는 가기로 결정합니다.

    A4. 플레이어에는 손에 카드가 없습니다.

    6. 시스템은 라인을 다른 플레이어로 전송합니다.

    피드베이스를 정의하는 단계 :

    7. DSH를 사용하는 시스템은 전원 위상에서 사용할 수있는 식품 칩 수를 결정합니다.

    8. 음식 칩은 경기장에 나타납니다.

    위상 전력 :

    A7. 플레이어가 이미 이동을 놓쳤습니다.

    9. 플레이어가 움직이게합니다.

    A9. 플레이어는 가기로 결정합니다.

    A5. 플레이어는 "건너 뛰기"버튼을 클릭합니다.

    10. 시스템은 다음 플레이어에서 대기열을 전송합니다.

    위상 멸종 :

    11. 우선 순위 "카드"가 멸종 단계에서 수행됩니다.

    게임 완료 :

    12. 시스템은 플레이어가 득점 한 포인트를 계산합니다.

    13. 시스템은 모든 플레이어의 전체 결과를 표시합니다.

    14. "새 게임 만들기"버튼이 "메뉴에 종료"가 나타납니다.

    대체 스트림

    A1. 모든 플레이어는 카드를 받았습니다.

    ㅏ.게임은 3 단계로갑니다.

    A2. 플레이어가 이미 이동을 놓쳤습니다.

    A3. 플레이어에는 손에 카드가 없습니다.

    A4. 플레이어는 가기로 결정합니다.

    ㅏ. 개발 단계에서 선례하는 "이동"이 수행됩니다.

    A5. 플레이어는 "건너 뛰기"버튼을 클릭합니다.

    ㅏ. 전례 "스트로크 건너 뛰기"가 수행됩니다.

    A6. 모든 플레이어는 개발 단계에서 스트로크를 놓쳤습니다.

    ㅏ. 게임은 5 단계로갑니다.

    A7. 플레이어가 이미 이동을 놓쳤습니다.

    ㅏ. 전례는 8 단계로 이동합니다.

    A8. 플레이어에는 테이블에 카드가 없습니다.

    ㅏ. 전례 "스트로크 건너 뛰기"가 수행됩니다.

    A9. 플레이어는 가기로 결정합니다.

    ㅏ. 전원 위상에 대한 "스트로크 만들기"가 수행됩니다.

    A10. 모든 플레이어는 동력 단계를 놓 쳤습니다.

    ㅏ. 게임은 9 단계로갑니다.

    A11. 멸종 단계에서 선례하는 "지도 가져 오기"가 완료되었습니다.

    A11.1. 선수들 중 누구도 새로운 카드를받지 못했습니다.

    ㅏ. 첫 번째 턴 오른쪽은 다음 플레이어로 이동합니다.

    비. 게임은 3 단계로 돌아갑니다.

    A11.1. 어떤 플레이어가 멸종 단계에서 새로운 카드를받지 못했습니다.

    ㅏ. 게임은 10 단계로갑니다.

    A12. 플레이어는 모든 안경보다 더 득점했습니다.

    ㅏ. 선례하는 "WIN"이 수행됩니다.

    A13. 플레이어는 다른 플레이어와 함께 동일한 수의 포인트를 득점했지만 나머지 플레이어보다 더 많이 득점했습니다.

    ㅏ. 시스템은 추가로 재설정 플레이어의 동물에 대한 포인트를 계산합니다.

    비. 플레이어가 라이벌보다 더 많은 점수를 득점 한 경우, 선례하는 "승리"가 수행됩니다.

    씨. 플레이어가 상대방보다 적은 점수를 획득 한 경우, 선례하는 "재생"이 수행됩니다.

    A14. 플레이어는 다른 플레이어보다 적은 점을 득점했습니다.

    A15. 플레이어는 "새 게임 만들기"버튼을 누릅니다.

    ㅏ. 전례 "게임 생성"이 수행됩니다.

    A16. 플레이어는 "메뉴로 이동"버튼을 누릅니다.

    ㅏ.선례하는 "완료 게임"이 수행됩니다.

    확장 포인트

    · 우선 "승리".

    · 우선 "잃는"

    전진

    게임 파티를 연주했습니다.

    표 1.7. 우선 순위 "카드 가져 오기".

    간단한 설명

    선행을 통해 플레이어가 데크에서 새 카드를받을 수 있습니다.

    찬송 한 것으로 알려줍니다

    전례 "새 게임 생성"이 수행됩니다.

    주요 흐름

    새로운 게임을 위해 :

    1. 시스템은 일반적인 데크에서 6 개의 카드 플레이어를 발행합니다.

    멸종 단계에서 :

    A1. 모든 플레이어는 필요한 수의 카드 수를 받거나 데크의 카드를 종료했습니다.

    A2. uncorded Player 동물은 재설정에 배치되고 발급에 필요한지도 수를 결정합니다.

    1. 시스템은 플레이어를 재설정 할 수없는 동물을 배치합니다.

    2. 시스템은 살아남은 플레이어 + 1의 수와 동일한 발행에 필요한 카드 수를 결정합니다.

    3. 시스템은 플레이어가 필요한 수량에서 카드를 하나의 카드를 제공합니다.

    4. 시스템은 다음 플레이어의 대기열을 전송합니다.

    5. 우선 순위 "카드"가 멸종 단계에서 수행됩니다.

    대체 스트림

    A1. 모든 플레이어는 원하는 카드 수를 받거나 데크의 카드를 종료했습니다.

    ㅏ. 선례가 끝납니다.

    A2. uncorded Animals Player는 재설정에 배치되고 생존 동물의 수를 결정합니다.

    ㅏ. 전례는 3 단계로 이동합니다.

    A3. 플레이어는 생존 동물이없고 손에 카드가 없습니다.

    A3.1. 데크에는 카드가 없습니다.

    ㅏ. 시스템은 6을 발행하는 데 필요한 카드 수를 결정합니다.

    A3.1. 데크에는 카드가 없습니다.

    ㅏ. 선례하는 "재생"이 수행됩니다.

    비. 전례는 4 단계로 이동합니다.

    A4. 플레이어는 필요한 모든 카드 수를 발행했습니다.

    ㅏ. 전례는 4 단계로 이동합니다.

    전진

    플레이어는 새 카드를 받았습니다.

    표 1.8. PRERENDER "WIN".

    1.9. "놀이"전에.

    표 1.10. PRERENDER "건너 뛰기".

    간단한 설명

    선행자의 움직임을 건너 뜁니다.

    찬송 한 것으로 알려줍니다

    플레이어는 이동할 권리가 있습니다.

    주요 흐름

    1. 시스템이 플레이어의 과정을 완료합니다. 현재 단계에서 플레이어는 더 이상 올바른 이동을받지 않습니다.

    대체 스트림

    A1. 게임은 영양의 단계에 있으며, 사료 데이터베이스에 칩이 있으며 플레이어는 불확실한 인벤토리가있는 동물이나 동물이 냉장되지 않습니다.

    ㅏ. 시스템은 플레이어가 이동을 놓칠 수없는 메시지를 표시합니다. 그것은 음식 칩을 가져갈 의무가 있습니다.

    비. 선례가 끝납니다.

    전진

    플레이어가 움직이지 않고 더 이상 현재 단계로 이동하지 못할 수 없습니다.

    1.11. 무역 "이동하십시오."

    간단한 설명

    선례는 플레이어가 움직이게 할 수 있습니다.

    찬송 한 것으로 알려줍니다

    플레이어는 이동할 권리가 있습니다.

    주요 흐름

    개발 단계 :

    위상 전력 :

    A5. 플레이어는 속성을 적용합니다.

    대체 스트림

    A1. 플레이어가지도를 동물 형태로 둡니다.

    ㅏ. 전례는 "동물 형태로지도를 넣으십시오".

    A2. 플레이어는 카드를 재산으로합니다.

    ㅏ. 선례는 "카드를 재산으로 넣으십시오"로 수행됩니다.

    비. 선례가 "움직이십시오"라는 끝이 끝납니다.

    A3. 피드 데이터베이스에는 식품 칩이 없습니다. 플레이어에는 적용 할 수있는 속성이 없습니다.

    ㅏ. 전례 "스트로크 건너 뛰기"가 수행됩니다.

    A4. 플레이어는 피드베이스에서 식품 칩을 사용합니다.

    ㅏ. 우선 순위 "식품 칩 가져 오기"가 수행됩니다.

    A5. 플레이어는 속성을 적용합니다.

    ㅏ. 선례하는 "Apply Property"가 수행됩니다.

    A5.1. 플레이어에는 적용 할 수있는 속성이 없습니다.

    ㅏ. 선례가 "움직이십시오"라는 끝이 끝납니다.

    전진

    플레이어는 현재 단계의 과정을 만듭니다.

    표 1.12. PRERENDER "맵을 동물 형태로 둡니다."

    간단한 설명

    선례는 플레이어가 새로운 동물을 만드는 것을 허용합니다.

    찬송 한 것으로 알려줍니다

    플레이어는 올바른 뇌졸중을 가지고 있습니다.

    주요 흐름

    A1. 플레이어가 카드를 출시했습니다.

    2. 플레이어는지도를 재생 필드의 자유로운 장소로 끌어옵니다.

    3. 시스템은 그 장소를 강조 표시하고 카드가 동물 선수의 형태로 놓을 것이라는 플레이어에게 알려줍니다.

    A2. 지도는 경기장이나 적의 필드의 다른 카드 위에 위치합니다.

    4. 플레이어가지도를 해제합니다.

    5.지도는 동물 이미지가있는 플레이어의 경기장에 있습니다.

    대체 스트림

    A1. 플레이어가 카드를 출시했습니다.

    A2. 플레이어는 자신의 경기장이나 적 들판의 다른 카드를 통해지도를 발표했습니다.

    ㅏ. 전례가 3 단계의 "지도를 속성으로 넣으십시오"실행됩니다.

    A3. 플레이어는 상대방의 경기장 위에 카드를 발표했습니다.

    전진

    현재 플레이어의 경기장에 동물지도가 나타납니다.

    표 1.13. 우발적 인 "지도를 재산으로 넣으십시오."

    간단한 설명

    선례는 선수가 선택한 동물성을 넣을 수 있습니다.

    찬송 한 것으로 알려줍니다

    플레이어는 올바른 뇌졸중을 가지고 있습니다.

    주요 흐름

    1. 플레이어는 선택한 맵을 클릭하고 그것을 보유합니다.

    A1. 플레이어가 카드를 출시했습니다.

    2. 플레이어는 자신의 경기장에서 동물의지도를 끌고 있습니다.

    3. 시스템은 동물 카드를 강조 표시 하고이 동물의 재산으로 카드가 있음을 플레이어에게 알립니다.

    4. 플레이어가지도를 해제합니다.

    5. 선택한 동물을 통해 재산의 이름과 기능이 나타납니다.

    대체 스트림

    A1. 플레이어가 카드를 출시했습니다.

    ㅏ. 카드는 위치를 바꾸지 않고 플레이어의 "손"에 남아 있습니다.

    A2. 플레이어는 자신의 경기장의 빈 장소에 카드를 발표했습니다.

    ㅏ. PRESEDENT "동물 형태로지도를 넣는"단계 3 단계로 수행됩니다.

    A3. 플레이어는 상대방의 경기장의 빈 장소에지도를 발표했습니다.

    ㅏ. 지도는 플레이어의 "손"으로 돌아갑니다.

    A4. 플레이어는 적의 동물 위에 카드를 발표했습니다.

    ㅏ. 속성을 다른 플레이어에게 적용 할 수있는 경우 이전에 5 단계로 이동합니다.

    비. 속성을 다른 플레이어에서 사용할 수없는 경우 시스템은 플레이어 에게이 속성이 동물에만 적용될 수 있음을 알려줍니다. 카드는 플레이어의 "손"으로 돌아갑니다.

    A5. 지도의 속성은 쌍을 나타냅니다.

    ㅏ. 시스템은 선택한 동물에 속성을 적용하고 두 번째 동물 플레이어를 지정하는 요청을 요청합니다.

    비. 플레이어는 2e 동물을 나타냅니다.

    씨. 시스템에는 서로 옆에 지정된 카드가 있습니다.

    디. 선택한 동물을 통해 이러한 속성 간의 속성의 이름과 연결 라인이 나타납니다.

    A5.1. 플레이어는 1 개의 동물 만 있습니다.

    ㅏ. 시스템은 플레이어에게 쌍 속성을 배치 할 수 없으므로 플레이어에 충분한 동물 카드가 없습니다.

    비. 지도는 플레이어의 "손"으로 돌아갑니다.

    A6. 지도에는 선택할 수있는 2 개의 등록 정보가 있습니다.

    ㅏ. 시스템은 속성 옵션이있는 모달 창을 표시합니다.

    비. 플레이어는 선택한 속성을 누릅니다.

    씨. 전례는 5 단계로 진행합니다.

    A7. 하나의 동물 카드에 속성을 두 번 적용 할 수 없습니다.

    ㅏ. 시스템은 플레이어에게 동일한 동물에 두 번 배치 할 수 없음을 플레이어에게 알려줍니다.

    전진

    플레이어의 플레이어의 재생 필드에서는 소유하는 속성의 이름과 기능이 추가됩니다.

    표 1.14. PRERENDER "식품 칩을 찍으십시오".

    간단한 설명

    선례는 플레이어가 그의 동물 중 하나를 먹일 것을 허용합니다.

    찬송 한 것으로 알려줍니다

    플레이어는 올바른 뇌졸중을 가지고 있습니다.

    주요 흐름

    1. 플레이어는 피드 데이터베이스에서 식품 칩을 누르고 그것을 보유하고 있습니다.

    A1. 플레이어는 칩을 출시했습니다.

    2. 플레이어는 자신의 경기장에서 동물의 음식 칩을 끌고 있습니다.

    3. 시스템은 동물 맵을 강조 표시하고 플레이어 에게이 동물이 음식의 주식에 +1을 얻을 것이라는 것을 플레이어에게 알립니다.

    4. 플레이어는 식품 칩을 사용합니다.

    5. 선택한 동물은 식품 칩을 얻는 것에 대한 마크를 설정하고, 식품 공급은 +1 단위로 보충됩니다.

    대체 스트림

    A1. 플레이어는 칩을 출시했습니다.

    ㅏ. 칩은 피드 데이터베이스에 위치를 변경하지 않고 남아 있습니다.

    A2. 플레이어의 동물은 이미 급지되었습니다.

    ㅏ. 시스템은 동물 카드를 강조 표시하고 플레이어 에게이 동물이 새로운 식품 칩을 얻을 수 없기 때문에 그것은 완전히 먹이졌습니다.

    비. 플레이어가 식품 칩을 해제하면 칩이 피드베이스로 돌아갑니다.

    A3. 플레이어는 그의 경기장 밖에서 음식 칩을 출시했습니다.

    A4. 플레이어는 자신의 경기장에서 동물지도 외부의 칩을 출시했습니다.

    ㅏ. 트릭은 사료 기반으로 되돌아갑니다.

    전진

    현재의 동물 플레이어는 1 단위의 음식의 주식을 보충합니다.

    표 1.15. PRERENDER "Apply Property".

    간단한 설명

    선례는 플레이어가 그의 동물의 재산을 활성화 할 수있게합니다.

    찬송 한 것으로 알려줍니다

    플레이어는 올바른 뇌졸중을 가지고 있습니다.

    주요 흐름

    1. 시스템은 활성화 될 수있는 동물의 속성을 강조 표시합니다.

    2. 플레이어가 사용 가능한 속성을 누릅니다.

    3. 시스템은 선택한 속성을 처리하고 재생 필드에 응용 프로그램의 결과를 표시하거나 플레이어를보고합니다.

    대체 스트림

    A1. "Predator"를 사용했습니다.

    ㅏ. 시스템은 공격 할 수있는 동물을 강조 표시합니다.

    비. 플레이어는 공격 할 동물을 선택합니다.

    씨. 시스템은이 동물의 보호 특성을 확인합니다.

    디. 보호 속성이있는 경우 시스템은 누구의 동물을 공격하는 플레이어의 이동을 변환합니다. 속성을 선택한 후 이동은 공격 플레이어로 되돌아 가고 전례는 3 단계로 돌아갑니다.

    이자형. 특성이 없거나 작동하지 않으면 동물은 먹는 것으로 간주되어 현장에서 사라집니다. 동물 공격 플레이어는 2 단위의 음식을받습니다.

    A2. 이 속성은 라운드 당 한 번 적용 할 수 있습니다.

    ㅏ. 시스템은 사용 된 것과 같이 속성을 표시합니다. 이러한 속성은 더 이상이 라운드에서 사용할 수 없습니다.

    전진

    플레이어에 속한 속성이 활성화됩니다.

    다음 음표는 초급 비즈니스 분석가, 시스템 분석가, 학생뿐만 아니라 학생들에게 유용합니다.

    사용 사례는 무엇입니까?

    인터뷰에서 때로는 다음과 같은 정의를들을 수 있습니다. "이것은 작은 남자와 타원이있는 UML 다이어그램입니다." 그것이 무엇인지 알아 내고 간단한 예를 고려해 보겠습니다.

    유스 케이스 참가자 (규칙 - 사용자 및 시스템)의 상호 작용 스크립트를 설명합니다. 참가자는 2 이상이 될 수 있습니다. 사용자는 사람과 다른 시스템으로 작용할 수 있습니다.

    저는 Covern의 책에서 정의를 좋아합니다 (나는 모든 분석가들에게 모든 분석가에게 조언합니다). "사용 옵션은 그 행동 체계의 참가자 간의 합의를 기록합니다. 사용 옵션은 다양한 조건에서 주인이라고 불리는 참가자 중 하나의 요청에 대한 응답으로 시스템의 동작을 설명합니다. "

    인생에서는 다음 이름이있었습니다 : 옵션, 사용자, 시나리오, 선례, 사용 스크립트 사용.

    텍스트 vs 차트 / 계획

    더 나은 설명은 무엇입니까 : 텍스트 또는 다이어그램? 당신과 당신의 팀을 선택하십시오. 첫 해 동안, 나는 다이어그램이나 차트 + 텍스트 설명을 그들에게 사용했습니다. 이제 시나리오에 대한 텍스트 설명을 선호하며 이유를 설명합니다 :

    • 이러한 형식은 고객에게 더 이해할 수 있습니다 (그리고 그들은 또한 사용 옵션을 읽고 조정하는 것을 선호합니다).
    • 텍스트는 다이어그램 및 텍스트보다 쉽고 빠르게 편집됩니다.

    물론 프로젝트에서 추가적인 이점이 명백한 경우 -이를 사용해야합니다.

    누구와 어떤 경우에 필요한 시나리오가 필요합니다

    - 개발자. 이벤트의 주요 및 대체 흐름을 사용하여 분기 요구 사항을 설명하는 경우 매우 편리합니다. 모든 것이 분명하고 이해할 수 있습니다 : 누가, 언제 언제 어떤 원인과 결과로 일어나는 일입니다. 마지막 프로젝트 관리자에서는 접근 방식 : 최소한의 설명, 최대 통신. 그러나 여러 가지 정교한 시나리오의 경우 개발자들은 자세한 설명을 요청하도록 요청했으며 젊은이들은 접근했습니다.

    - 고객. 인간 언어에 의해 기술 된 고객은 고객이 그가 기다리고있는 것이 정확히 무엇이 기다리고 있거나 수정하는지 확인할 수 있습니다.

    - 테스터. 거의 기성품 테스트 케이스 :-)

    - 전체 프로젝트 팀. 스크립트가 조정되어야하며 각 회의에서 스크립트의 대체 변형의 파라 - 트리플이 다르게 들리므로 이벤트의 흐름을 엄격하게 설명하는 데 도움이됩니다.

    프로세스의 다른 참가자뿐만 아니라.

    어떤 경우에 필요한 경우 :

    고품질의 고품질이 필요한 경우, 요구 사항의 완전한 사양 - 스위트 룸은이 모든 것을 완벽하게 도와줍니다. 이러한 시스템이 있으며, 데이터 모델이 포함 된 사양 요구 사항, 인터페이스 설명, 다른 시스템 및 하늘과의 통합 - 아주 좋은 옵션입니다.

    시스템을 지원합니다. 오류를 드러내려면 무슨 일이 잘못되었는지 이해합니다.

    기능의 일부를 설명 해야하는 경우 사용자의 인터페이스 등의 작업 등 스크립트의 형태로. 그런 다음 junction 템플릿을 기본으로 가져 와서 스크립트를 설명하는 데 사용할 수 있습니다. 예를 들어, 모바일 응용 프로그램에 대한 요구 사항의 기초는 사용자 인터페이스에 대한 설명입니다. 그러나 일부 기능의 실행은 플레이트를 사용하여 추가적으로 설명 해야하는 많은 뉘앙스가 있어야합니다. "조치 - 응답 시스템"을 사용하거나 그러한 기호를 스크립트로 결합하십시오.

    그들을 설명하는 방법

    몇 가지 예를 살펴 보겠습니다. 그들은 스스로 말하고 있습니다.

    예제 1. 사용자 계정 잠금 해제 (대체 이벤트 흐름없이 간단한 예제).

    캐릭터 사용자, 시스템
    사용자 : 시스템에서 승인하고 작업을 시작합니다.
    시스템 : 사용자와 그 권한을 식별하십시오.

    성공적인 시나리오 :

    1. 사용자가 시스템을 시작합니다. 시스템은 사용자 세션을 열고 로그인 및 암호를 입력하는 것을 제안합니다.
    2. 사용자는 로그인 및 암호를 입력합니다.
    3. 시스템은 사용자 이름과 암호를 확인합니다.
    4. 시스템은 권한 기록 (사용자, 로그인, 날짜, 워크 스테이션의 IP 주소)에 항목을 만듭니다.
    5. 시스템은 성공적인 권한 부여에 대한 사용자 메시지를 발행합니다 ( 메시지에 링크하십시오).
    결과 사용자가 성공적으로 승인되며 시스템과 함께 작동 할 수 있습니다.
    확장 :
    *그러나 데이터베이스에 액세스 할 수 없습니다.
    시스템이 메시지를 발행합니다 ( 메시지에 링크하십시오).
    결과 : 사용자가 입력 할 수 없습니다.
    1A. 이 IP 주소의 보안 설정에서 로그인 금지가 있습니다.
    결과 : 로그인 양식이 제공되지 않으면 시스템이 사용자에게 메시지를 발행합니다 ( 메시지에 링크하십시오).
    도 2a. 사용자는 다음을 선택합니다. "암호를 상기시킵니다."
    "암호 알림"스크립트가 호출됩니다.
    도 3a 입력 된 로그인 및 암호를 가진 사용자를 찾을 수 없습니다.
    결과 : 승인 실패.
    시스템이 메시지를 발행합니다 ( 메시지에 링크하십시오).
    2 단계로 이동하십시오.
    3B. 로그인하려는 실패한 시도의 수는 설정에서 최대 설정에 도달했습니다.
    결과 : 사용자가 입력 할 수 없습니다.
    메시지가 발행됩니다 : ( 메시지에 링크하십시오).
    사용자의 IP 주소의 입력은 설정에 설정된 시간 동안 잠겨 있습니다.

    중요한 순간

    분명히 예시적인 예 1이 간단한 텍스트로 고통스럽게 기술 될 수 있다면, 예 2는 시나리오로서 훨씬 더 잘 인식된다. 그러나 모든 기능이 확장 된 형태로 설명 된 경우, 한 쌍의 단계에서 매우 간단한 시나리오조차도 가라 앉은 시나리오를 더 잘 설명합니다. 사양을 단일 스타일로 만드십시오.

    스크립트에 대한 모호하지 않은 이해에 필요한 최소 단어 및 항목 수를 사용하십시오. 사용자가 너무 오래 꺼지면 아마도 그것을 여러 가지로 부게하는 것이 좋습니다. 매우 긴 시나리오를 사용하면 많은 수의 확장 기능이 있으므로 일하는 것이 매우 불편합니다.

    두 개 이상의 시나리오에서 동일한 단계 세트가 반복되는 경우이 단계를 별도의 스크립트로 만들고 참조하는 것이 좋습니다. 문서가 더 쉽습니다. 그리고이 단계에서 무언가가 변경되면 한 곳에서 변경하기에 충분합니다.

    시스템이 사용자에게 문제가 발생하는 메시지, 표준 텍스트 등의 목록 문서의 한 곳을 조정하고 다른 스위트에서 원하는 항목을 참조하는 것이 편리합니다. 왜냐하면 스크립트의 메시지는 종종 복제됩니다.

    개발자 또는 고객에게 제공하기 전에 스크립트로 문서를 다시 읽으십시오. 더 나은 여러 번 더 좋습니다. 항상 더 간결하게 작성할 수있는 순간이 항상 있거나 일부 불일치가 감지됩니다. 또는 임의의 "복사 - 붙여 넣기". 다른 사람들의 시간과 머리를 존중하십시오.

    그건 그렇고, "복사 - 붙여 넣기"에 대해서. 사용자의 설명을위한 빈 플레이트는 "복사"의 의미입니다.

    위의 예에서 알 수 있듯이, 단계 1a, 1B 등으로 확장자 번호 1의 확장이 표시됩니다. 확장 * A는 특정 시나리오의 전반적인 확장이며 특정 제품이 아닙니다.

    옳고 유용한 시나리오! 질문, 예제, 제안, 의견을 환영합니다. 주의 해 주셔서 감사합니다.

    기사를 작성할 때, 나는 Alistair Kobern "의 기능 요구 사항을 설명하는 현대적인 방법으로 자료를 사용했습니다.