Skip to content

Latest commit

 

History

History
56 lines (51 loc) · 2.97 KB

File metadata and controls

56 lines (51 loc) · 2.97 KB

지하철 노선도 경로 조회 미션

  • 등록된 지하철 노선도에서 경로를 조회하는 기능을 구현한다.

시험에서 지키고자 하는 목록

3차 미션까지 상태 데이터를 얻기 위해 데이터를 꺼내는 문제점을 고치지 못했습니다. 이번 시험에서는 객체의 상태를 알기 위해서는 객체에게 메시지를 보내는 형식으로 꼭 구현해보겠습니다.

  • 제일 먼저 미션의 요구사항 대로 기능 목록 대략적 작성하여 필요한 기능 파악
  • 커밋 시, 블로그에 정리한 커밋 컨벤션 지키기
  • 블로그에 정리한 자바 코딩 컨벤션 지키기
  • MVC 패턴으로 UI 로직과 비즈니스 로직 분리하기
  • 하드코딩 된 값이 없는지 확인하기
  • 변수명이나 메소드 명은 축약하지 않기, 클래스명은 명사로, 메소드는 동사로 이름 짓기
  • java api 사용하기
  • 배열이 아닌 collection 프레임 워크 사용하기

📃 구현할 기능 목록

초기 설정

  • 프로그램 시작 시 역, 노선 등 필요한 정보 셋팅
    • 지하철 역으로 교대역, 강남역, 역삼역, 남부터미널역, 양재역, 양재시민의숲역, 매봉역 등록
    • 지하철 노선으로 2호선, 3호선, 신분당선 등록
    • [] 노선에 역 등록
      • 2호선: 교대역 - ( 2km / 3분 ) - 강남역 - ( 2km / 3분 ) - 역삼역
      • 3호선: 교대역 - ( 3km / 2분 ) - 남부터미널역 - ( 6km / 5분 ) - 양재역 - ( 1km / 1분 ) - 매봉역
      • 신분당선: 강남역 - ( 2km / 8분 ) - 양재역 - ( 10km / 3분 ) - 양재시민의숲역

메인

  • 메인 메뉴 출력
  • 원하는 기능 번호를 입력받기
    • 예외 상황
      • 1, Q 중에 없을 경우
        • 메인 메뉴로 돌아가기
  • 원하는 기능 화면으로 이동
  • 프로그램 종료하기

경로 조회

  • 원하는 기능 번호 입력받기
    • 예외 상황
      • 1, 2, B 중에 없을 경우
        • 경로 조회 화면으로 돌아가기
    • 원하는 기능 불러오기

최단 거리

  • 출발 역 이름 입력받기
    • 예외 상황
      • 역 이름이 문자가 아닐 경우
      • 역 이름이 2자 미만일 경우
      • 마지막 글자가 '역'이 아닌 경우
      • 존재하는 역 이름이 아닐 경우
  • 도착 역 이름 입력받기
    • 예외 상황
      • 역 이름이 문자가 아닐 경우
      • 역 이름이 2자 미만일 경우
      • 마지막 글자가 '역'이 아닌 경우
      • 존재하는 역 이름이 아닐 경우
    • 출발역과 동일한 이름일 경우
    • 출발역과 연결되어있지 않은 경우