IRONSOFTWAREHOME

Tim Corey의 레슨 01에서 적절한 앱 계획: 통찰력

C# 앱 시작부터 끝까지 레슨 01 - 초기 계획

Tim Corey

16m 21s

애플리케이션을 계획하는 것은 도구를 선택하거나 코드를 작성하는 것이 아니라, 무엇이든 구축되기 전에 문제를 명확하게 이해하는 것입니다. "C# App Start to Finish"의 첫 번째 레슨에서 팀 코리는 초기 계획에 전적으로 집중하고, 왜 이 단계가 나중에 애플리케이션이 성공할지 또는 어려움을 겪을지를 결정하는지를 설명합니다.

이 레슨에서 팀은 문법, 프레임워크 또는 고급 기능에 대해 논의하지 않습니다. 대신, 그는 애플리케이션을 지능적으로 계획하고, 요구 사항을 식별하고, 작업을 논리적인 작업으로 분리하고, 처음부터 올바른 질문을 하는 방법을 설명합니다. 이 기사는 팀 코리의 레슨을 자세히 살펴보고, 그의 설명을 밀접하게 따르며 비디오의 흐름과 추론을 사용하여 이를 확장합니다.

레슨의 맥락과 목표 설정

비디오의 가장 시작에서 팀 코리는 첫 번째 레슨을 소개하고 이 레슨이 초기 계획에 관한 것이라고 설명합니다. 그는 명확하게 목표가 시나리오를 정의하고 개발이 시작되기 전에 애플리케이션이 무엇을 해야 하는지를 이해하는 것이라고 설명합니다.

팀은 이 레슨이 기초적인 것이라고 설명합니다. 이것은 프로젝트에서 이어지는 모든 것의 무대 설정을 합니다. 코딩에 뛰어들기보다는, 그는 시청자들이 작업을 구성하고, 복잡성을 관리하며, 올바르게 계획하여 집중할 수 있도록 하길 원합니다.

계획 전에 시나리오 이해하기

0:53에서, 팀은 전체 프로젝트를 이끌 시나리오를 소개합니다. 친구가 토너먼트 추적기를 요청합니다 - 게임을 관리하고, 매치를 결정하며, 싱글 엘리미네이션 브래킷에서 승자를 추적할 수 있는 애플리케이션.

팀은 이 시나리오가 NCAA March Madness 토너먼트와 유사하다고 설명합니다. 시스템은 자동으로 플레이어에게 그들이 누구와 플레이하는지를 알려주고, 결과를 추적하며, 결국에는 승자를 식별해야 합니다.

그는 이 설명만으로 애플리케이션을 구축하기에는 충분하지 않지만 시작 계획을 세우기에는 충분하다고 강조합니다. 이것은 많은 개발자들이 짧은 설명을 기반으로 모든 것을 이해했다고 가정하는 실수를 합니다.

왜 요구 사항이 코딩보다 앞서는가

1:33에서, 팀은 어떤 앱을 계획하는 첫 번째 실제 단계가 요구 사항을 정의하는 것이라고 설명합니다. 그는 일반적인 초보자 실수인 앱 아이디어가 명확해 보인다고 해서 코딩을 시작하는 것에 대해 경고합니다.

팀은 앱이 간단해 보이더라도 계획 없이 코딩에 뛰어들면 나중에 버그, 재작업 및 혼란을 초래한다고 설명합니다. 그는 강력한 기초가 개발을 더 쉽고 효율적으로 만들기 때문에 코딩을 여러 레슨 동안 의도적으로 지연시킨다고 말합니다.

이 접근 방식은 좋은 프로젝트 관리가 작동하는 방식과 유사합니다 - 실행 전에 작업을 명확히 정의하여 작업이 관리 가능하고 조직됩니다.

앱을 초기 작업 및 책임으로 나누기

2:06에서 팀은 이미 알고 있는 것을 나열하기 시작합니다. 그는 시스템이 해야 할 일을 설명합니다:

  • 플레이된 게임을 추적합니다

  • 각 게임에서 누가 이겼는지 추적합니다

  • 누가 다음 라운드로 진출하는지를 결정합니다

그는 네 명의 플레이어 예를 사용하여 승자들이 앞으로 나아가는 방법을 설명합니다. 이것은 애플리케이션이 내부 작업과 논리를 관리해야 하는 방법을 명확히 하는 데 도움이 됩니다.

팀은 그런 다음 알려진 요구 사항을 추가합니다:

  • 여러 경쟁자를 지원합니다

  • 토너먼트 계획을 만듭니다

  • 게임을 일정에 맞춥니다

  • 손실 후 플레이어를 제거합니다

  • 최종 승자를 식별합니다

이것들은 애플리케이션의 기본 작업 관리 형성합니다. 팀은 이 목록이 짧더라도 시스템이 책임져야 할 내용을 명확하게 하는 데 도움이 된다고 설명합니다.

왜 질문을 하는 것이 핵심 계획 기술인가

3:32에서 팀은 모든 프로젝트에 숨겨진 요구 사항이 있다고 설명합니다. 이해 관계자가 어렵게 행동하는 것은 아닙니다 - 단순히 기술 용어로 생각하지 않기 때문입니다.

팀은 계획의 일부가 다음을 밝혀내기 위해 질문하는 것이라고 설명합니다:

  • 가장 중요한 것은 무엇인가

  • 중요하지 않은 것은 무엇인가

  • 피해야 할 가정은 무엇인가

이것이 계획이 코드보다 작업 조직, 명확성 및 의사 소통에 관한 것이 되는 지점입니다.

플레이어 수 및 토너먼트 크기 처리

4:15에서 팀은 토너먼트가 몇 명의 선수를 처리해야 하는지를 묻습니다. 그는 이 구조가 시스템의 전체 구조에 영향을 미친다고 설명합니다.

그는 고정 및 가변 플레이어 수를 논의하고, 이진수가 아닌 수가 왜 복잡함을 유발하는지 설명합니다. 이는 어떤 시스템에서든 잘못된 계획이 일정과 워크플로우를 깨트릴 수 있는 것과 유사합니다.

4:51에서, 팀은 플레이어가 충분하지 않은 상황을 어떻게 처리해야 하는지를 논의합니다. 그는 부전을 도입하고, 시스템이 이를 지원하거나 명시적으로 방지해야 한다고 설명합니다.

매치 순서 지정 및 작업 일정

6:13에서 팀은 매치업이 무작위로 지정되어야 하는지 또는 정렬되어야 하는지를 논의합니다. 그는 이 결정이 앱이 내부적으로 작업을 생성하고 일정을 잡는 방법에 영향을 미친다고 설명합니다.

그 후 게임 일정을 짜는 두 가지 가능한 접근 방식을 설명합니다:

  • 플레이어는 원하는 시간에 플레이합니다

  • 특정 시간에 게임이 일정됩니다

팀은 이 결정이 시스템이 시간, 진행 상황 및 흐름을 관리하는 방법에 영향을 미치는 것을 설명합니다 - 이는 기획 앱이 일상 일정을 관리하고 시간 차단을 처리해야 하는 방법과 유사합니다.

진행 상황 및 게임 흐름 제어

7:26에서, 팀은 후반 라운드 게임이 이전 라운드가 완료되기 전에 진행될 수 있는지 여부를 묻습니다. 그는 이를 허용하면 유연성이 생기지만 복잡성도 증가한다고 설명합니다.

이 논의는 규칙이 시스템 행동에 어떻게 영향을 미치는지를 강조합니다. 팀은 이러한 규칙이 처음에 결정되어야만 응용 프로그램이 작업을 올바르게 관리하고 잘못된 작업을 방지할 수 있다고 강조합니다.

결과 및 작업 세부사항 저장

8:22에서 팀은 시스템이 단순히 승자를 저장해야 하는지 또는 점수도 저장해야 하는지를 묻습니다. 그는 더 많은 세부사항을 저장하면 가치를 더하지만 복잡성도 증가한다고 설명합니다.

이는 시스템이 추적해야 할 정보를 너무 많이 감당하지 않도록 미리 결정해야 한다는 계획상의 원칙을 반영합니다.

인터페이스에 대한 가정 피하기

8:54에서 팀은 또 다른 초보자 실수인 프론트 엔드 유형을 가정하는 것에 대해 경고합니다.

그는 묻지 않으면:

  • 데스크탑 앱인가?

  • 웹사이트?

  • 모바일 앱?

개발자는 추측해야 한다고 설명합니다. 팀은 추측은 재작업으로 이어진다고 강조합니다. 계획은 이를 방지합니다.

데이터 저장소, 돈, 및 보고

9:37에서 팀은 데이터 저장소를 소개합니다. 그는 데이터가 어디에 존재하는지를 묻는 것이 이해 관계자와 중요한 대화를 촉발한다고 설명합니다.

나중에 그는 다음을 논의합니다:

  • 참가비

  • 상금

  • 지급

  • 결과 보고

이러한 기능은 즉시 필요하지 않을 수도 있지만 팀은 계획이 프로젝트의 장기 방향을 정의하는 데 도움이 된다고 설명합니다.

접근 레벨, 알림 및 팀

12:11에서 팀은 누가 결과를 입력할 수 있는지 및 다른 접근 레벨이 있는지를 논의합니다. 이는 누가 어떤 작업을 수행할 수 있는지를 통제하는 것입니다.

12:51에서, 그는 시스템이 다가오는 게임에 대한 사용자 알림을 제공해야 하는지를 묻고, 이 질문이 종종 미래의 기능 아이디어를 드러낸다고 설명합니다.

13:42에서 팀은 경쟁자가 개인인지 팀인지 묻습니다. 그는 이것이 시스템에서 참가자들이 어떻게 표현되는지에 영향을 미친다고 설명합니다.

팀의 최종 계획 조언

15:20에서 팀은 중요한 알림으로 마무리합니다: 완벽할 필요는 없습니다. 그러나 가능한 한 많은 정보를 사전에 수집해야 합니다.

그는 좋은 계획이 개발자들이 조직을 유지하고 복잡성을 관리하며 자신 있게 앞으로 나아갈 수 있도록 도와준다고 설명합니다. 목표는 명확성입니다 - 완벽함이 아닙니다.

팀은 이러한 질문에 대한 답변이 애플리케이션의 전체 방향을 안내할 레슨 2를 예고하며 끝맺습니다.

마무리 생각

레슨 01에서 팀 코리는 앱을 계획하는 것이 코드를 작성하기 전에 작업, 구조 및 흐름을 이해하는 것이라고 보여줍니다. 요구 사항을 정의하고 신중한 질문을 통해 개발자는 효율적인 개발, 더 적은 버그 및 더 나은 결과를 얻을 수 있는 준비를 합니다. 이 레슨은 모든 성공적인 애플리케이션에 적용되는 사고방식을 확립합니다: 먼저 계획하고, 그 다음에 구축합니다.

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

무료 30일 체험 키를 즉시 받으세요.

Your trial license will be sent to your email address

제한 없음. 100% 무제한 이용. 신용카드 불필요.

bullet_checked신용카드나 계정 생성은 필요하지 않습니다.제한 없음. 100% 무제한 이용. 신용카드 불필요.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
부담 없는 무료 상담을 받아보세요
아래 양식을 작성하시거나 sales@ironsoftware.com으로 이메일을 보내주세요.
고객님의 정보는 항상 비밀로 유지됩니다.
전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.
Iron Software의 고객 로고
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.