2013-07-08 7 views
1

내가하고있는 일은 각 학생의 점수를 얻는 것입니다. 여기서는 학생들을위한 명시적인 생명선 (코스 개체의 학생 목록)을 작성한 다음 추가했습니다 "get (indexValue)"메소드를 사용하여 반복적으로 각 학생을 얻는다는 것을 나타냅니다.개념적으로 루핑 및 시퀀스 다이어그램에서 깨기

문제는 조금 덜 자세하고 개념적 이길 바래서, studeentList 라이프 라인을 사용하여 명시 적으로 정의하지 않고 코스의 모든 학생들에게 반복되는 것을 보여주기 위해 다이어그램을 어떻게 구성해야합니까? 그리고 Java의 목록에서 볼 수 있듯이 "get (indexValue)"메소드를 사용합니다.

더욱 자세한 다이어그램을 가지고 있다면이 표현이 정확합니다. 또한 루프를 깨는 것에 관해서는 (프로그래밍 언어에서 볼 수 있듯이) 루프에서 return 문을 사용했으며, 인터넷에서 "break"조각을 사용하여이 부분을 강조하는 특정 버전을 보았습니다.

Diagram

답변

0

당신은 루프에 포함 된 라이프 라인의 부분 주위에 루프 박스를 넣을 수 있습니다. 루프 노트에서 계속/종료 조건을 입력합니다. "break"또는 "return"UML 구문은 없습니다. 이것이 구현 세부 사항입니다.

그렇다면 각 학생에 대한 정보를 얻으려면 studentList 클래스를 사용하여 루프의 각 학생에 대한 정보를 얻어야한다고 생각합니다. 그러나 각 학생을 다루는 방법에 대한 하나의 시퀀스 다이어그램을 가질 수 있으며 루프와 목록은 필요하지 않습니다.

각 시퀀스 다이어그램에는 전제 조건, 단일 시나리오 및 사후 조건이 있습니다. 다이어그램을 결합하여보다 복잡한 동작 및 의사 결정을 표시 할 수 있습니다.

+0

더 자세히 설명 할 수 있습니다. "그러나 각 학생을 다루는 방법에 대한 시퀀스 다이어그램을 하나 가질 수 있으며 루프 및 목록이 필요하지 않습니다." 또한 목적은이 다이어그램을 더 단순화하고 덜 복잡하게 보이도록 만드는 것입니다 (가능한 경우). – MilindaD

+0

모두 내 말은 루프 내부의 각 학생에게 일어나는 일의 시나리오를 도표화 할 수 있다는 것입니다. 그런 식으로 상위 레벨 다이어그램 (루프 포함)은 학생 당 세부 정보의 하위 레벨과 복잡하지 않습니다. 복잡성을 숨기기 위해 서브 루틴을 사용하는 것과 동일합니다. – Bruce