반응형

프로젝트 16

[C#] 7.2 프로젝트 설계 - 클래스 다이어그램

7.2 프로젝트 설계 설계 단계에서는 클래스 다이어그램과 시퀀스 다이어그램을 작성을 할게요. 클래스 다이어그램에서는 프로그램에서 정의해야 할 클래스와 클래스 간의 관계를 정의하고 도식합니다. 그리고 시퀀스 다이어그램은 각 기능이 사용자와 개체들 사이에 어떠한 순서로 메시지를 주고받아 진행되는지를 결정할 것입니다. 이 책에서 시퀀스 다이어그램은 서로 다른 개체 사이에서 주고받는 것만 약속하고 도식하겠습니다. 7.2.1 클래스 다이어그램 작성 먼저, 시나리오를 보면서 클래스로 정의할 것들을 조사해 봅시다. 시나리오에 나타나는 명사들을 먼저 살펴보고 무언가를 수행할 역할이 있다면 클래스로 정의할 후보가 될 것입니다. 그리고 하나의 클래스가 너무 많은 멤버 필드나 너무 많은 역할을 한다면 좀 더 세부적으로 나누..

[C++] 86. 최종 실습 - 다이어그램

[C++] 86. 최종 실습 - 다이어그램이제까지 수행했던 최종 실습의 다이어그램을 다시 한 번 살펴보세요. [그림] EhNara의 유즈케이스 다이어그램 [그램] School의 유즈케이스 다이어그램 [그림] Village의 유즈케이스 다이어그램 [그림] Downtown의 유즈케이스 다이어그램 [그램] 클래스 다이어그램 [그림] 초기화 시퀀스 다이어그램 [그림] 해제화 시퀀스 다이어그램 [그림] 학생 생성 시퀀스 다이어그램 [그림] 학생 이동 시퀀스 다이어그램 [그림] 학교로 학생 이동 시퀀스 다이어그램 [그림] 전체보기 시퀀스 다이어그램 [그림] 학생 복귀 시퀀스 다이어그램 [그림] 강의 시퀀스 다이어그램 [그림] 도서관 가기 시퀀스 다이어그램 [그림] 소등 시퀀스 다이어그램 [그림] 거실로 가기 시퀀스..

[C++] 80. 최종 실습 - 강의 시작

[C++] 80. 최종 실습 - 강의 시작 이번에는 강의 시작 기능에 관해 시퀀스 다이어그램을 작성하고 난 후에 구체적인 코드를 구현합시다. 강의 시작 기능은 학교에 있는 모든 학생의 ListenLecture를 수행하게 합니다. 그런데 각 장소에서는 해당 장소에서 명령할 수 있는 기능만 보이게 한정하였기 때문에 IStudy 인터페이스 형식으로 학생 개체에 접근해야 합니다.모든 장소에는 기반 클래스인 Place에 학생을 보관하는 컬렉션이 있습니다. 따라서 파생 형식인 각 장소에서 학생 개체에 접근하기 위해 컬렉션에 보관한 학생 수와 특정 인덱스의 학생 개체를 구하는 메서드를 제공하세요. class Place { ...중략... protected: ...중략... size_t GetCount()const;/..

[C++] 75. 최종 실습 - 초기화 및 해제화

[C++] 75. 최종 실습 - 초기화 및 해제화 유즈케이스 별로 수행 흐름을 시퀀스로 정의하고 이를 코드로 구현하는 작업을 할 차례입니다. 여기에서는 유즈케이스에는 표현하지 않았지만 EhNara의 초기화 부분과 해제화 부분을 시퀀스 다이어그램으로 작성하고 코드로 옮기는 부분을 먼저 하기로 할게요. 먼저 초기화의 시퀀스 다이어그램을 작성합시다. 시나리오를 보면 EhNara를 생성한 후에 초기화에서는 학생 공장과 학교, 주거지, 다운타운을 생성합니다. 초기화에서 수행할 일은 이것으로 충분합니다. 그런데 학교나 주거지, 다운타운은 학생을 EhNara로 복귀하기 위해 IComeBack 개체가 필요합니다. 따라서 장소의 생성자에는 입력 인자로 IComeBack 개체를 전달해 주어야겠죠.이제 이 부분을 구현해 봅..

[C++] 71. 최종 실습 - EHNARA 뼈대

[C++] 71. 최종 실습 - EHNARA 뼈대 이번 실습에서는 유즈케이스 별로 시퀀스 다이어그램 설계하고 구현하는 것을 반복할 것입니다. 먼저 이제까지 작업한 것을 구현하고 유즈케이스 별로 시퀀스 다이어그램 작성 맟 구현으로 들어갈게요. EhNara의 뼈대를 만들고 난 후에 기본적인 사용자와 상호 작용의 프로토 타이핑을 할게요. 프로젝트에 Program.cpp 파일과 EhNara 클래스를 추가하세요. EhNara 형식 개체는 프로그램에 유일하며 대부분의 콘솔 응용 프로그램은 프로그램 초기화, 사용자와 상호 작용, 해제화 순으로 진행합니다. class EhNara { 단일체를 표현하기 위해 생성자와 소멸자의 접근 지정은 private으로 설정합니다. 대신 유일한 단일개체를 정적 멤버로 선언할게요. st..

[C++] 68. 최종 실습 - 개발 공정 및 시나리오

[C++] 68. 최종 실습 - 개발 공정 및 시나리오 전산 기술은 하루가 다르게 발전하고 새로운 기술이 나오고 있습니다. 그리고 프로젝트의 규모가 점점 늘어나고 있으며 다른 산업 분야와 접목하는 형태로 발전하고 있습니다. 프로그램의 규모가 커지고 많은 인력이 필요한 형태로 변하면서 효과적인 개발 공정과 많은 이해 관계자에게 프로그램의 구조를 설명하고 개발자 사이에 의사 소통할 수 있는 방법들이 생기고 있습니다. 여기에서는 여러 가지 개발 방법론 중에 많은 이들이 사용하는 CBD 개발 방법론을 적용해서 마지막 실습을 진행할게요. 일반적인 CBD 개발 방법론에서는 요구 분석 및 정의 단계, 아키텍쳐 단계, 설계 단계, 구현 단계, 배포 단계로 나누고 있습니다. 이 중에 아키텍쳐 단계는 프로그램을 컴포넌트 ..

반응형