개발 · 프로그래밍

/

개발 · 프로그래밍 기타

소프트웨어 개발 7가지 기본 원칙: 최고의 프로그래머가 되는 방법

소프트웨어 품질은 습관입니다! 이 강의를 통해 기업이 원하는 최고의 프로그래머가 되는 방법을 배울 수 있을 것입니다.

(5.0) 수강평 1개

수강생 36명

Thumbnail

초급자를 위해 준비한
[개발 · 프로그래밍] 강의입니다.

이런 걸
배워요!

  • 최고의 프로그래머가 되는 방법

  • 고품질 소프트웨어를 만드는 원칙

  • 기업이 원하는 프로그래머의 기본 소양

취준생도, 주니어 개발자도 꼭 알아야 할 
개발 역량 점검을 위한 핵심 7원칙 ✅

소프트웨어의 품질은 “습관”입니다.

최고의 프로그래머가 되려면 기본에 충실한 소프트웨어 개발 습관을 가져야 합니다. 

소프트웨어 개발 원칙 7가지

  • 원칙 1. 중요한 요구사항에 집중한다.
  • 원칙 2. 최적의 방법을 찾는다.
  • 원칙 3. 설계로 검증한다.
  • 원칙 4. 코드를 읽어라.
  • 원칙 5. 읽기 쉬운 코드를 작성하라.
  • 원칙 6. 유닛 테스트로 검증한다.
  • 원칙 7. 시스템 테스트를 줄인다.

이 강의에서는 이러한 “기본에 충실한 소프트웨어 개발 습관”에 대해 설명합니다.
이런 내용을 모르는 개발자는 없지만, 실행하는 사람은 많지 않습니다. 
과제를 통해 원칙의 의미를 설명합니다. “이런 원칙이 왜 필요한지?” “어떻게 해야 하는지?”

강의 소개 영상📺을 꼭 시청해주세요.
소프트웨어 아키텍트 경험을 바탕으로 한 핵심을 전해드립니다.

이 강의는 해외 연구소 인력의 SW 개발 역량을 진단, 교육하기 위해 만들어진 문제와 교육 자료를 근거로 기업에서 원하는 고품질 소프트웨어를 개발하기 위해 필요한 개발 역량을 설명합니다.

많은 개발자들이 시스템 테스트에 의존하는 잘못된 개발 습관을 가지고 있습니다. 시스템 테스트가 직관적이고 명확할 수는 있지만 비효율적입니다. 그래서, 시스템 테스트에 의존하는 개발은 소프트웨어 개발자로서 갖춰야 할 기본적인 역량을 높이는 데는 오히려 방해가 됩니다.

기업에서 필요로 하는 고품질 소프트웨어를 개발하는 개발자가 되려면, 시스템 테스트 이전에 어떤 노력을 해야 하는지를 이해하고 실행할 수 있어야 합니다.
이 강의를 통해 기본에 충실한 소프트웨어 개발자에 한 걸음 다가서시길 바랍니다.


학습 내용을 
확인해보세요.

이 강의는 문제의 로마 숫자 계산기를 개발하는 과정을 통해, 소프트웨어 개발의 기본 원칙을 설명합니다.

섹션 1-1. 요구 분석

가장 먼저 로마 숫자 계산기 문제의 요구 사항을 분석합니다. 요구 사항을 명세하고 분석하는 것은 소프트웨어 개발의 첫 단추입니다. 모든 요구 사항을 정확히 이해하고 개발하면 좋을 수 있지만, 오히려 시간 낭비이거나 대충 이해하고 시작하는 경우가 많습니다. 따라서, 중요한 요구사항에 집중해야 합니다.

섹션 1-2. 설계

로마 숫자 계산기 문제의 설계 단계 활동을 설명합니다. 설계의 핵심은 최적 설계입니다. 소프트웨어는 다양한 해결책이 있습니다. 다양한 해결책을 구현하고 검토하는 것은 비효율적입니다. 설계 단계에서 다양한 해결책을 검토하고 최적의 방법을 찾아야 합니다. 

섹션 1-3. 구현

설계된 로마 숫자 계산기를 구현합니다. 코드를 읽고 동작을 상상하며 구현합니다.

섹션 1-4. 테스트

구현된 로마 숫자 계산기를 테스트로 검증합니다. 어떻게 유닛 테스트 Unit Test를 해야 하는지를 설명합니다.

강의를 수강하고 나서, 다시 한 번 로마 숫자 계산기를 개발해 보시면 좋습니다. 그리고, 원칙을 지키는 기본에 충실한 소프트웨어 개발자가 되시길 바랍니다.

📢 수강 전 확인해주세요.

  • 수강 전 반드시 다음 문제를 해결해 보고 강의를 수강하시기 바랍니다. (로마 숫자 계산기)
  • 강의를 수강하기 위해서는 로마 숫자 계산기 문제를 시도할 수 있을 정도의 프로그래밍 실력은 필요합니다. 풀어보고 수강하시면 더욱 더 많은 것을 느끼고 배울 수 있을 것입니다.
  • 강의는 C 언어를 기준으로 진행되어, C를 알고 계시면 좋습니다. 하지만 다른 언어를 사용해서 학습해도 도움이 됩니다. 
  • 강의는 Visual C++를 사용하며, 다른 언어 또는 IDE를 사용해도 좋습니다.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 최고의 프로그래머가 되고 싶은 사람

  • 소프트웨어 개발을 더 잘하고 싶은 사람

  • 고품질 소프트웨어를 개발하는 방법을 알고 싶은 사람

  • 기업에서 원하는 소프트웨어 개발자를 알고 싶은 사람

선수 지식,
필요할까요?

  • 로마 숫자 계산기 문제를 시도할 정도의 프로그래밍 실력

소프트웨어 아키텍트 & 교육가

현) 보이는소프트웨어연구소 대표(2016~현재)
  - 삼성전자 소프트웨어 아키텍트 양성 및 인증
  - 소프트웨어 구조 설계 및 평가 교육 / 컨설팅

중앙대학교 소프트웨어 대학 겸임 교수(2018~2022)
  - 기초 컴퓨터 프로그래밍 - C/C++, JavaScript, Python

삼성전자(2003~2016)

커리큘럼

전체

7개 ∙ (1시간 30분)

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!