소프트웨어 개발 방법

작가: Laura McKinney
창조 날짜: 6 4 월 2021
업데이트 날짜: 1 칠월 2024
Anonim
소프트웨어 개발 방법론 및 프로세스
동영상: 소프트웨어 개발 방법론 및 프로세스

콘텐츠

소프트웨어 개발자가되는 것은 유리한 경력 계획입니다. 보통은 정말 좋은 기술을 가진 사람들입니다. 하지만 정확히 무엇을하고 있습니까? 당신이 그들을 능가 할 수 없을 가능성이 더 높기 때문에 당신은 그들과 함께해야 할 것입니다. 기술을 좋아하고 사용자와 함께 좋은 소프트웨어를 개발하고 싶습니까? 약간의 브레인 스토밍과 아래 1 단계부터 시작하면 가능합니다.

단계

1/3 부 : 기본 사항 익히기

  1. 어떤 종류의 소프트웨어 개발에 관심이 있는지 결정하십시오. 소프트웨어 개발에는 두 가지 기본 형태가 있습니다. 응용 프로그램 개발개발 시스템. 응용 프로그램 개발은 사용자의 요구를 충족하는 프로그램을 만드는 데 중점을 둡니다. 여기에는 휴대폰 애플리케이션, 고 예산 비디오 게임 또는 엔터프라이즈 급 회계 소프트웨어가 포함됩니다. 시스템 개발은 라이프 사이클 개발을 사용하여 운영 체제를 만들고 유지하는 데 중점을 둡니다. 시스템 개발에는 종종 데이터 보안 및 네트워크 운영 성이 포함됩니다.

  2. 프로그래밍 언어를 직접 배우십시오. 누구나 흥미로운 아이디어를 생각할 수 있지만, 그 아이디어를 구체화 할 수있는 능력은 개발자뿐입니다. 소프트웨어 디자인 관련 작업 만하려는 경우에도 코딩에 익숙하고 기본 프로토 타입을 만들 수 있어야합니다. 스스로 배울 수있는 프로그래밍 언어가 많이 있습니다. 다음은 가장 중요하고 유용한 프로그래밍 언어입니다.
    • C-C는 여전히 사용중인 오래된 프로그래밍 언어 중 하나이며이 목록에있는 대부분의 다른 언어의 기초입니다. C는 저수준 프로그램을 개발하는 데 사용되며 컴퓨터 하드웨어와 매우 호환됩니다.
    • C ++-이것은 C의 객체 지향 버전이며 세계에서 가장 널리 사용되는 프로그래밍 언어입니다. Chrome, Firefox, Photoshop 및 기타 프로그램과 같은 일부 프로그램은 모두 C ++로 제작되었습니다. 이것은 또한 비디오 게임을 만드는 데 사용되는 매우 인기있는 언어입니다. C ++ 개발자는 거의 항상 사냥을하고 있습니다.
    • Java-이것은 C ++ 언어에서 진화 한 버전이며 쉬운 크로스 플랫폼 전환 덕분에 친숙한 언어가되었습니다. 거의 모든 시스템에서 Java Virtual Machine을 사용하여 Java 소프트웨어를 실행할 수 있습니다. 이 언어는 비디오 게임 및 비즈니스 소프트웨어에서 널리 사용됩니다. 많은 사람들이 이것이 기본 언어라고 생각합니다.
    • C #-C #은 Windows 기반 언어이며 Microsoft의 .NET 프레임 워크의 일부입니다. 이 언어는 Java 및 C ++와 밀접한 관련이 있으므로 Java를 배웠다면 C #으로 빠르게 변환 할 수 있습니다. 이 언어는 Windows 또는 Windows Phone 소프트웨어를 만드는 개발자에게 특히 유용합니다.
    • Objective-C-Apple 시스템을 위해 특별히 설계된 C 언어의 또 다른 버전입니다. 이 언어는 iPhone 및 iPad 앱에서 매우 인기가 있습니다. 이것은 프리랜서에게도 훌륭한 언어입니다.
    • Python-배우기 매우 쉬운 언어로 이해하기 가장 쉬운 언어 중 하나로 간주 될 수 있습니다. Python은 웹 개발을 전문으로합니다.
    • PHP-이것은 정확히 소프트웨어 개발 언어는 아니지만 웹 개발에 관심이 있다면 PHP를 배우는 것이 필수적입니다. PHP 개발자에게는 항상 많은 일자리가 있지만 소프트웨어 개발만큼 수익성은 없습니다.

  3. 학습에 도움이되는 자료를 찾으십시오. 대부분의 서점에는 책 프로그래밍 섹션이 있으며 물론 Amazon 및 기타 전자 소매 업체에 대한 많은 책이 있습니다. 잘 만들어진 프로그래밍 책은 최고의 리소스가 될 수 있으며 프로젝트를 진행하는 동안 빠르게 참조 할 수도 있습니다.
    • 서적 외에도 인터넷은 자세한 참고 서적과 지침이있는 무한한 자원입니다. CodeAcademy, Code.org, Bento, Udacity, Udemy, Khan Academy, W3Schools 등과 같은 사이트에서 선택한 언어에 대한 참조를 찾을 수 있습니다.

  4. 수업을 들으세요. 소프트웨어 개발을 수행하기 위해 정식 학위를 취득 할 필요는 없지만 센터에 다니거나 지역 커뮤니티 칼리지에서 일부 수업을 들어도 잃는 것은 없습니다. 장점은 개인지도를 받고 혼자 공부하는 동안 거의 마주 치지 않는 문제를 시험해 볼 수 있다는 것입니다.
    • 수업에 참여하려면 수업료를 지불해야하므로 미지의 것을 배우는 데 도움이되는 수업에만 등록해야합니다.
    • 많은 개발자가 뛰어난 기술만으로 업계에 진출 할 수 있지만 대학에서 4 년을 보낸 후 컴퓨터 과학 학사 학위를 취득하면 눈에 띄게됩니다. 이 학위는 수학 및 논리와 같은 다른 유용한 수업에 참여할 수 있도록 더 넓은 배경을 제공합니다.
  5. 개인적인 이익을위한 프로젝트 수행. 새로운 프로그래밍 기술을 실생활에서 연습하기 전에 몇 가지 프로젝트를 직접 시도해야합니다. 프로그래밍 언어로 문제를 해결하도록 도전하십시오. 이것은 당신의 기술을 향상시키는 데 도움이 될뿐만 아니라 경력 이력서를 아름답게합니다.
    • 예 : 데스크톱 캘린더 앱을 사용하여 작업을 구성하는 대신 직접 디자인 해보세요!
    • 비디오 게임 개발에 관심이 있다면 그래픽이나 복잡한 게임 규칙에 초점을 맞추지 않는 간단한 게임을 만들어보십시오. 대신 게임을 흥미롭고 독특하게 만드는 데 집중하십시오. 직접 만든 미니 게임 모음은 프로필을 멋지게 만들 것입니다.
  6. 질문하다. 인터넷을 사용하는 것은 다른 개발자와 소통 할 수있는 좋은 방법입니다. 프로젝트 중 하나에서 작업하는 데 문제가있는 경우 StackOverflow와 같은 사이트에서 도움을 요청할 수 있습니다. 미묘하게 물어보고 가능한 한 많은 것을 시도했음을 보여주세요.
  7. 매일 연습하십시오. 단 한 시간이라도 매일 열정 프로젝트를 수행하십시오. 이것은 동기를 유지하고 지속적으로 새로운 기술을 배우는 데 도움이됩니다. 많은 개발자가 매일 언어에 노출되도록하여 언어 학습에 성공했습니다.
    • 매일 코딩에 할애 할 수있는 시간을 결정하거나 이행해야하는 기한을 설정하십시오. 주말에 휴식을 취할 수 있도록 평일에 프로젝트를 수행하십시오.
    광고

3 단계 중 2 : 프로그램 개발

  1. 아이디어를 브레인 스토밍하기 위해 브레인 스토밍하십시오. 좋은 프로그램은 일반적으로 사용자에게 더 편리한 작업을 수행합니다. 수행하려는 작업에 현재 사용 가능한 소프트웨어를 관찰 한 다음 프로세스를 더 쉽고 원활하게 만드는 솔루션을 생각하십시오. 성공적인 프로그램은 사용자에게 많은 이점을 제공하는 프로그램입니다.
    • 컴퓨터에서 일상적인 작업을 테스트하십시오. 프로그램으로 이러한 작업의 일부를 자동화 할 수있는 방법이 있습니까?
    • 모든 아이디어를 적으십시오. 글을 쓰는 시점에 어리 석거나 이상하게 들리더라도 아이디어는 도움이되거나 가치가있을 수 있습니다.
    • 다른 프로그램에 대해 알아보십시오. 이 프로그램은 무엇을합니까? 어떻게 나아질까요? 무엇을 놓치고 있습니까? 이러한 질문에 답하면 문제를 직접 해결할 수있는 아이디어를 얻을 수 있습니다.
  2. 스케치 텍스트를 작성합니다. 이 문서는 프로젝트를 진행하는 동안 진행할 목표와 개요를 설명합니다. 개발 중에 개요 텍스트를 참조하면 프로젝트를 올바른 방향으로 유지하고 필요한 초점을 맞출 수 있습니다. 자세한 텍스트 작성은이 기사를 참조하십시오.
  3. 프로토 타입을 만듭니다. 이것은 달성하려는 기능을 보여주는 기본 프로그램입니다. 프로토 타입은 작동하는 샘플을 찾을 때까지 반복해서 다시 만들어야하는 빠른 프로그램입니다. 예를 들어, 캘린더 앱을 만드는 경우 데모 템플릿은 기본 캘린더 (정확한 날짜 포함)가 될 수 있으며 캘린더에 이벤트를 추가 할 수 있습니다.
    • 프로토 타입은 문제를 해결하는 새로운 방법을 갑자기 찾거나 나중에 사용하고 싶은 아이디어를 떠 올릴 수 있기 때문에 개발 수명주기 동안 종종 변경됩니다.
    • 프로토 타입이 아름 다울 필요는 없습니다. 사실, 디자인 스타일과 그래픽은 집중해야 할 목록의 맨 아래에 있어야합니다. 캘린더 애플리케이션을 예로 들면 프로토 타입은 일반적으로 텍스트 전용입니다.
  4. 여러 번 테스트 실행. 버그는 모든 개발자가 접할 수있는 것입니다. 코드 오류 및 비정상적인 사용은 완전한 소프트웨어에서 모든 종류의 문제를 일으킬 수 있습니다. 프로젝트 작업을 계속하는 동안 가능한 한 많이 테스트해야합니다. 가능한 모든 프로그램 오류를 찾아 내고 앞으로 프로그램에 동일한 오류가 발생하지 않도록하십시오. 가족과 친구들에게 프로그램을 테스트하고 버그를보고하도록 요청하십시오. 피드백을 제공하는 모든 방법은 개발 프로세스에 도움이 될 수 있습니다.
    • 프로그램에 날짜가 포함되어 있으면 이상한 날짜를 입력 해보십시오. 과거 또는 먼 미래의 날짜로 인해 프로그램이 비정상적으로 실행될 수 있습니다.
    • 잘못된 유형의 변수를 입력하십시오. 예 : 사용자에게 나이를 묻는 양식을 만드는 경우 프로그램에 어떤 일이 발생하는지 확인하기 위해 단어를 입력 해보십시오.
    • 프로그램에 그래픽 인터페이스가있는 경우 모든 항목을 클릭 해보십시오. 이전 화면으로 돌아가거나 버튼을 잘못된 순서로 누르면 어떻게됩니까?
  5. 프로젝트를 수정하십시오. 프로토 타이핑 및 개발 단계에서 스케치 프로젝트를 생성하는 것은 괜찮지 만 다른 사람들이이를 사용하도록 계획하려면 수정하는 데 더 많은 시간을 할애해야합니다. 즉, 메뉴가 올바른 위치에 있는지, UI가 깔끔하고 눈에 잘 보이는지, 감지하기 쉽고 치명적인 버그가 없는지, 완성 된 버전이 보이는지 확인해야합니다. 괜찮을거야.
    • 사용자 인터페이스 디자인과 기능은 매우 어렵고 복잡 할 수 있습니다. 전체 경력을 사용자 인터페이스 디자인에 소비하는 사람들이 있습니다. 프로그램이 사용하기 쉽고보기 쉬운 지 확인하십시오. 전문적인 사용자 인터페이스를 만드는 것은 예산과 개발 팀 없이는 거의 불가능합니다.
    • 예산이 있다면 계약 할 때 UI를 디자인 할 수있는 프리랜서 그래픽 디자이너가 많이 있다는 사실을 알아야합니다. 많은 사람들이 될 것으로 예상되는 대규모 프로젝트가 있다면 좋은 UI 디자이너를 찾아서 팀의 일원이되도록 설득하십시오.
  6. 프로젝트를 GitHub에 제출합니다. GitHub는 다른 사람과 코드를 공유 할 수있는 오픈 소스 커뮤니티입니다. 결과적으로 자신이 작성한 코드에 대해 더 깊이 이해할 수있는 동시에 해결책을 찾기 위해 고군분투하는 다른 사람들을 돕습니다. GitHub는 배울 수있는 훌륭한 저장소이며 경력을 쌓을 수있는 좋은 방법입니다.
  7. 소프트웨어를 배포하십시오. 완전한 소프트웨어를 만든 후에는 소프트웨어 배포 여부를 두 가지 옵션 중에서 선택할 수 있습니다. 현재 생성 한 소프트웨어 유형에 따라 여러 가지 방법으로이 작업을 수행 할 수 있습니다.
    • 소규모 개발자 또는 독립 개발자에게 소프트웨어를 배포하는 가장 인기있는 방법 중 하나는 개인 웹 사이트를 이용하는 것입니다. 몇 가지 스크린 샷 및 사용자 설명서와 함께 모든 기능에 대해 잘 알고 있는지 확인하십시오. 소프트웨어를 판매하는 경우 좋은 인터넷 결제 시스템과 소프트웨어를 배포 할 서버가 있는지 확인하십시오.
    • 특정 장치 또는 운영 체제 용 소프트웨어를 개발하는 경우 디지털 상점을 활용할 수 있습니다. 예를 들어 Android 장치 용 소프트웨어를 개발하는 경우 Google Play Store, Amazon App Store 또는 개인 웹 사이트를 통해 소프트웨어를 판매 할 수 있습니다.
    광고

3/3 부 : 취업

  1. 계절에 따라 일하십시오. 정규직 및 덜 신뢰할 수있는 직업만큼 많은 돈을 벌지는 못하지만 다양한 계절 직업을 취함으로써 이력서를 크게 향상시킬 수 있습니다. Elance 또는 ODesk (현재 "Upwork"라고도 함)와 같은 사이트를 참조하여 일자리를 찾을 수 있습니다. 계약을 고려하는 것은 어려울 수 있지만 첫 직장을 얻은 후에는 훨씬 쉬워 질 것입니다.
    • Hacker News는 프리랜서 및 계약직을 찾는 사람들에게 훌륭한 리소스입니다. "질문"섹션에주의를 기울여야합니다.
    • 때때로 정말로 포기하고 싶지만, 계절에 맞는 일자리를 쉽게 얻을 수 있도록 저렴한 가격을 제공하고, 노동력을 팔지 마십시오. 당신은 더 많은 일을해야하고 당연한 것보다 적게 얻는 상황에 빠지게 될뿐만 아니라, 업계의 다른 사람들이 좌절감을 느끼게하여 커뮤니티와의 연결을 더 어렵게 만듭니다.
    • 좋은 아르바이트를하면 때때로 풀 타임 직업을 얻는 데 도움이됩니다. 따라서 항상 자신의 장점을 보여 주어야합니다!
  2. 가능한 한 많이 소통하십시오. 많은 개발자 컨퍼런스 및 모임에 참여하십시오. 다양한 문제를 해결하고 더 많은 코드를 알 수있을뿐만 아니라 같은 업계의 사람들도 만날 수 있습니다. 프로그래머가 종종 방에서 혼자 일한다고 생각할 수 있지만 실제로 대부분의 풀 타임 개발자는 팀의 일원이며 서로 상호 작용하는 것도 중요합니다. 다른 것.
  3. 정규직에 지원하십시오. 이력서를 기록하기 위해 계절별 작업을 한 후에는 정규직 고용을 위해 이력서와 이력서를 대규모 조직에 보낼 수 있습니다. Monster 및 Indeed 외에도 GitHub Jobs, StackOverflow Job Board, AngelList, CrunchBoard, Hirelite 및 Hacker News를 포함하여 방문해야 할 개발자 별 구인 사이트가 많이 있습니다.
  4. 기술을 다양 화하십시오. 좋은 소프트웨어 개발자는 일반적으로 둘 이상의 언어에 능통합니다. 대부분의 콘텐츠가 직장에서 사용되지만 지식을 넓히고 다른 언어의 기본 사항을 배우기 위해 여유 시간을 가져야합니다. 이를 통해 새로운 프로젝트로의 이동이 훨씬 쉬워지고 고용주로부터 더 많은 관심을받는 훌륭한 후보자가됩니다.
  5. 급여에 대해 걱정하지 마십시오. 처음에는 모든 소프트웨어 개발 작업이 높은 급여를받는 것은 아닙니다. 사실 그런 직업은 없습니다. 그러나 소프트웨어 개발의 장점은 취업 시장이 번성하고 있다는 것입니다. 현재 직장에서 벌어 들인 돈이 충분하지 않다고 생각되면 비교적 쉽게 새 회사에 새 직장을 신청할 수 있습니다 (기술이있는 경우). 은퇴를 위해 열심히 일하는 대신 초기 직업을 필요한 경험으로 생각하십시오. 광고