Engineering/Software Engineering 4

[Software Engineering] GitHub에서 놀자!! (깃허브 사용법)

깃허브(이하 '깃헙')는 개발자들의 놀이터이다. 하지만 놀이기구를 탈 줄 모르는 개발자들이 많아 필자가 깃헙을 사용하면서 터득한 내용들을 공유하려고 한다. 깃헙에서 놀고 싶고 전세계 개발자들과 교류하고 싶은 개발자들은 이 글을 참고하기를 바란다. 혹시 GitHub(깃헙)이 아닌 형상관리 도구인 Git(깃)을 찾는 분이리면 'Git의 개념과 기초 사용법'으로 가길 바란다. https://github.com/MBKwon 1. 놀이터 몰색 우선, 내가 놀고싶은 놀이터를 찾는 일이 필요하다. 내가 사용하는 주요 프로그래밍 언어, 관심있는 플랫폼, 사용중인 라이브러리/프레임워크와의 연관성 등 개발자들은 자신이 놀 놀이터에 관해 호불호가 갈리게 되어 있다. 깃헙에서 자신이 놀고 싶은 놀이터를 찾는 것도 하나의 일이..

[Software Engineering] Git의 개념과 기초 사용법

위의 자료를 이용하여 Git에 관하여 공부하자!! SVN은 보통 저장소가 서버에 존재하게 된다. Git은 저장소가 내 컴퓨터에 존재한다. 그렇기 때문에 속도가 빠르다. 그리고 다른 사람과의 작업을 원한다면 내 컴퓨터의 저장소를 원격 저장소에 연결하면 된다. Commit은 내 컴퓨터의 저장소에 작업 내용을 올리는 것이고 원격 저장소에 작업 내용을 올리는 것은 Push라고 한다. 결과적으로 Git은 밑의 그림처럼 보여진다. 위와 같은 구조로 인하여 Git이 갖는 장점은 무엇보다 빠르다는 것이다. Commit을 로컬 저장소에 하기 때문에 네트워크를 거치지 않고 당연히 빠를 수 밖에 없다. 네트워크가 불가한 상황에서도 작업을 계속할 수 있다. 로컬 저장소를 이용하기 때문이다. 또 하나 알아두어야 할 것은 Sta..

[Software Engineering] 소프트웨어 개발 생명 주기

소프트웨어 개발 생명 주기는 아는 데, SDLC(Software Development Life Cycle)정보처리기사에서도 쉬운 문제로 등장한다. 1. 주먹구구식크기가 매우 작은 소프트웨어 개발에 사용된다. 첫번째 버전 연구 -> 제품개발 ->운영모드/유지보수 2. 폭포수 모델순차적으로 개발하는 전형적인 개발 모델 요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수 3. 원형 모델Proto type을 만들어서 고객과 사용자가 함께 요구사항을 정제하면서 만들어가는 방법 요구사항 정의 -> 원형 설계 -> 원형 개발 -> 고객평가 -> 원형정제 -> (요구사항 수정) -> 엔지니어 제품 -> 제품개발 4. 나선형 모델위험 분석을 추가한 점진적인 개발 방법 계획 및 정의 -> 위험 분석 -> 개발 ..

[Software Engineering] 버전 관리의 이유

버전 관리를 이용해야하는 까닭거의 대부분의 주요 소프트웨어 개발 프로젝트는 아직도 소프트웨어의 설계도라 할 수 있는 소스 코드 작성이 주요한 부분이 되며 이러한 소스 코드는 기업체 또는 연구소의 핵심 역량이 응축된 핵심 자산이다. 따라서 어떠 형태로든 소스 코드를 백업하여 분실의 위험에서 보호하고 개정 전후 내용을 파악하여 추후 발생할지도 모를 오류 수정에 대비하는 절차가 필요하다. 버전 관리 소프트웨어는 조직의 핵심 자산인 소스 코드의 개정과 백업 절차를 자동화하여 오류 수정 과정을 도와줄 수 있는 시스템으로 이미 다수의 국제 협력 개방 소프트웨어 개발 실무에서도 널리 사용되고 있다. 다음은 버전 관리 시스템을 사용하는 원인을 정리한 것이다.무언가 잘못되었을 때 복구를 돕기 위하여프로젝트 진행 중 과거..