우아한 테크코스]프리코스 1주차 숫자 야구 - 미션 요구사항 분석(프로그래밍, 과제 진행)

손지민·2023년 10월 21일
0

개요

환경 설정을 끝내고 본격적인 과제를 진행하고자 합니다. 올바르게 제출하지 않으면 다음 단계를 진행하지 못할 수 있다고 하니 정확한 요구사항 분석이 필요해보입니다. 한 줄 한 줄 옮겨 적으면서 모르는 내용에 대한 정보를 기록해가며 이해하고자 합니다.

목표

  • git, 교육 분야별 언어, 그리고 미션 사이클에 익숙해지는 것입니다.

진행 방식

  • 크게 3가지 요구사항을 지켜서 미션을 진행해야합니다.
  1. 기능 요구 수항
  2. 프로그래밍 요구 사항
  3. 과제 진행 요구 사항

기타 준수 사항

  • 미션 제출 방식 2가지 모두 제출해야합니다.
    • GitHub PR 제출 + 우아한 테크코스 지원 플랫폼 제출(두 가지 모두 제출)

1. 기능 요구 사항


2. 프로그래밍 요구 사항(7가지)

1. JDK 17 버전에서 실행 가능해야 한다. (확인 완료)

  • CMD 에서는 java -version 명령어로 확인 가능
  • IntelliJ 에서는 상단 메뉴바 - File - Project Structure - 왼쪽 Project - Project SDK 옆 드롭박스에서 버전 확인 가능

2. 프로그램 실행의 시작점은 Application의 main()이다. (확인 완료)

3. build.gradle 파일을 변경할 수 없고, 외부의 라이브러리를 사용하지 않는다. (확인 완료)

  • build.gradle 파일이란?
    • Gradle 빌드 도구를 사용하여 Java, Kotlin, Groovy 및 다른 프로그래밍 언어로 작성된 프로젝트의 설정 및 빌드 스크립트를 정의하는 파일입니다.
  • Gradle 이란?
    • 오픈 소스 빌드 자동화 도구로서, 소프트웨어 프로젝트의 빌드, 테스트, 배포관리를 위한 강력한 플랫폼입니다. Gradle은 Groovy 또는 Kotlin을 사용하여 프로젝트의 빌드 스크립트를 작성할 수 있으며, 이러한 스크립트를 사용하여 프로젝트를 자동화하고 다양한 작업을 수행할 수 있습니다.
    • 추가 정리 velog 링크

  • 외부의 라이브러리를 사용하지 않는다.
    • 프로그램을 작성할 때 외부 라이브러리, JAR 파일 또는 다른 소프트웨어 구성 요소를 사용해서는 안 됩니다. 프로그램은 순수한 Java 표준 라이브러리와 JDK 17의 기본 클래스 및 패키지만을 사용하여 구현되어야 합니다.
    • Java 프로젝트를 개발하려면 기본 Java 라이브러리 및 JDK의 기본 클래스와 기능만 사용해야 합니다. 모든 코드 및 종속성은 프로젝트 내부에서 직접 구현되어야 합니다. 이것은 프로젝트를 완전히 독립적으로 만들고 외부 종속성에 의존하지 않는 것을 의미합니다.

      JAR 파일
      JAR(Java Archive) 파일은 Java 프로그램의 실행 가능한 패키지로, Java 클래스, 리소스, 라이브러리 및 메타데이터를 하나의 압축된 아카이브 파일에 포함하는 형식입니다.

4. Java 코드 컨벤션 가이드를 준수하며 프로그래밍한다. (확인 완료)

5. 프로그램 종료 시 System.exit()를 호출하지 않는다. (확인 완료)

  • System.exit()는 Java 프로그램을 강제로 종료하는 데 사용되는 메서드입니다. 이 메서드를 호출하면 현재 실행 중인 Java 프로세스가 즉시 종료됩니다. System.exit()의 인수로 전달된 값은 종료 코드(exit code)를 나타내며, 종료 코드는 일반적으로 0(성공) 또는 어떤 오류를 나타내는 숫자로 설정됩니다.

6. 프로그램 구현이 완료되면 ApplicationTest의 모든 테스트가 성공해야 한다. 테스트가 실패할 경우 0점 처리된다. (확인 완료)

  • 이러한 테스트 케이스는 주로 프로그램의 각 기능, 모듈 또는 클래스를 테스트하고 프로그램이 예상대로 작동하는지 확인합니다.
  • src/test/java/baseball/ApplicationTest.java

7. 프로그래밍 요구 사항에서 달리 명시하지 않는 한 파일, 패키지 이름을 수정하거나 이동하지않는다. (확인 완료)

라이브러리

  • camp.nextstep.edu.missionutils에서 제공하는 Randoms 및 Console API를 사용하여 구현해야 한다.
    • Random 값 추출은 camp.nextstep.edu.missionutils.Randoms의 pickNumberInRange()를 활용한다.
    • 사용자가 입력하는 값은 camp.nextstep.edu.missionutils.Console의 readLine()을 활용한다.

3. 과제 진행 요구 사항(3가지)

  • 미션은 java-baseball-6 저장소를 Fork & Clone해 시작한다.(확인 완료)
  • 기능을 구현하기 전 docs/README.md에 구현할 기능 목록을 정리해 추가한다.
  • 과제 진행 및 제출 방법은 프리코스 과제 제출 문서를 참고한다.(확인 완료)

참고 : ChatGPT

profile
Developer

0개의 댓글