개발자꿈나무

개발 지원 도구 본문

CS/소프트웨어공학

개발 지원 도구

망재이 2024. 1. 3. 15:34
  • 통합 개발 환경 (IDE; Integrated Development Environment)
    - 기존 소프트웨어 개발에서는 편집기, 컴파일러, 디버거 등의 다양한 툴을 별도로 사용했으나 현재는 하나의 인터페이스로 통합하여 제공하는 소프트웨어적인 개발 환경
프로그램 개발사 플랫폼
이클립스 (Eclipse) Eclipse Foundation, IBM 크로스 플랫폼
비주얼 스튜디로 (Visual Studio) Microsoft Win32, Win64
엑스 코드 (Xcode) Apple Mac, iPhone
안드로이드 스튜디오 (Android Studio) Google Android
IDEA JetBrains 크로스 플랫폼

* 크로스 플랫폼 : 여러 종류의 시스템에서 공통으로 사용될 수 있는 소프트웨어

  • 통합 개발 환경 도구의 대표적인 기능
    - 코딩 : 프로그래밍 언어로 컴퓨터 프로그램을 만드는 기능
    - 컴파일 : 개발자가 작성한 고급 언어로 된 프로그램을 컴퓨터가 이해할 수 있는 저급 언어로 번역하여 컴퓨터에서 실행 가능한 형태로 변환하는 기능
    - 디버깅 : 소프트웨어나 하드웨어의 오류나 잘못된 동작, 즉 버그를 찾아 수정하는 기능
    - 배포 : 소프트웨어를 사용자에게 전달하는 기능

 

  • 빌드 도구
    - 소스 코드를 소프트웨어로 변환하는 과정에 필요한 전처리, 컴파일 등의 작업들을 수행하는 소프트웨어

    1. Ant (Another Neat Tool)
    - 아파치 소프트웨어 재단에서 개발한 소프트웨어로 자바 프로젝트의 공식적인 빌드 도구
    - XML 기반의 빌드 스크립트를 사용하며, 자유도와 유연성이 높아 복잡한 빌드 환경에서도 대처 가능
    - 정해진 규칙이나 표준이 없어 개발자가 모든 것을 정의하며, 스크립트의 재사용이 어려움

    2. Maven
    - Ant와 동일한 아파치 소프트웨어 재단에서 개발된 것으로 Ant의 대안으로 개발
    - 규칙이나 표준이 존재하여 예외 사항만 기록하면 되며, 컴파일과 빌드를 동시에 수행할 수 있음
    - 의존성을 설정하여 라이브러리를 관리

    3. Gradle
    - 기존의 Ant와 Maven을 보완하여 개발된 빌드 도구
    - 한스 도커 외 6인의 개발자가 모여 공동 개발
    - 안드로이드 스튜디오의 공식 빌드 도구로 채택
    - Maven과 동일하게 의존성을 활용하며, 그루비 기반의 빌드 스크립트를 사용

    * 전처리 : 컴파일에 앞서 코드에 삽입된 주석을 제거하거나 메크로들을 처리하는 과정


  • 기타 협업 도구 (협업 소프트웨어; 그룹웨어)
    - 개발에 참여하는 사람들이 서로 다른 작업 환경에서 원활히 프로젝트를 수행할 수 있도록 도와주는 도구
협업 도구 종류
프로젝트 및 일정 관리 전체 프로젝트와 개별 업무들의 진행 상태, 일정 등을 공유
(구글 캘린더, 분더리스트[Wunderlist], 트렐로[Trello], 지라[Jira], 플로우 등)
정보 공유 및 커뮤니케이션 주제별로 구성원들을 지목하여 방을 개설한 후 정보를 공유하고 대화
파일 관리가 간편하고, 의사소통이 자유로운 것이 특징
(슬랙, 잔디[Jandi], 태스크월드 등)
디자인 디자이너가 설계한 UI나 이미지의 정보들을 코드화하여 개발자에게 전달하는 기능
(스케치, 제플린[Zeplin] 등)
기타 아이디어 고융에 사용되는 에버노트(Evernote)
API를 문서화하여 개발자들 간 협업을 도와주는 스웨거(Swagger)
깃의 웹호스팅 서비스인 깃허브(GitHub)
728x90

'CS > 소프트웨어공학' 카테고리의 다른 글

애플리케이션 테스트의 분류  (0) 2024.01.03
애플리케이션 테스트의 개념 및 기본 원리  (2) 2024.01.03
객체지향 분석 및 설계  (4) 2024.01.02
객체지향 특징  (0) 2024.01.02
객체지향 구성요소  (0) 2024.01.01