통합 구현 도구
01. IDE 도구
1) IDE 도구의 개념
- IDE(Intergrated Development Environment)는 프로그램 개발에 관련된 모든 정보를 하나의 프로그램 안에서 처리하는 환경을 제공하는 프로그램
- 기존 방식은 코딩 편집기, 컴파일러, 디버깅 등을 별도로 수행하였지만, IDE는 프로그램 개발에 관련된 모든 기능을 하나로 묶어 대화식(GUI 방식)으로 작업을 수행할 수 있도록 제공한 통합 개발 인터페이스 환경
2) IDE 도구의 기능
- 개발 환경 지원
- Java, C++ 등의 언어를 이용하여 프로그램을 개발할 수 있는 환경을 제공
- 컴파일 및 디버깅 기능 지원
- 프로그램 소스 코드가 완성이 되면 컴파일을 할 수 있도록 지원
- 컴파일하여 문법적인 오류를 찾을 수 있도록 지원
- 디버깅을 이용하여 논리적인 오류를 찾을 수 있도록 지원
- 외부 모듈과 통합 기능 지원
- EAI, ESB 등의 외부 인터페이스 모듈과 통합할 수 있는 기능 지원
- EAI : 통신 프로토콜이나 통합 방식을 변경할 수 있는 어댑터를 제공하여 이 기종 시스템 간의 연동을 가능하게 해주는 시스템으로 허브 시스템을 통해 시스템을 통합하는 중앙 집중식 방식
- ESB : 웹 서비스 기반으로 통신이 표준화된었고, 통신은 EAI처럼 별도의 어댑터가 필요 없음
- JDBC, ODBC와 데이터베이스 연동 기능 지원
- JDBC : Java 언어 안에서 데이터베이스를 연결해주는 프로그램
- ODBC : Microsoft에서 데이터베이스를 연결해주는 표준 프로그램
- 형상 관리, 배포 관리 기능 지원
- EAI, ESB 등의 외부 인터페이스 모듈과 통합할 수 있는 기능 지원
3) IDE 도구의 종류
프로그램 | 개발사 | 플랫폼 | 운영체제 | 지원 언어 |
---|---|---|---|---|
이클립스 (Eclipse) |
IBM, 이클립스 재단 | 크로스 플랫폼 | Windows, Linux, Mac OS | Java, C, C++, PHP, JSP |
라자루스 (Lazarus) |
Lazarus Team | 크로스 플랫폼 | Linux 배포판, FreeBSD, Mac OS, Windows | Free Pascal, Pascal SDK |
비주얼 스튜디오 (Visual Studio) |
마이크로소프트 | Win32/64 | Windows | Basic, 닷넷, C++, C, C# |
안드로이드 스튜디오 (Android Studio) |
Android | Windows, Linux, Mac OS | Java, C, C++ | |
엑스 코드 (Xcode) |
Apple | Mac, iPhone | Mac OS, iOS | Java, C, C++, C#, AppleScript |
 IDEA; | Jetbrains | Windows, Linux, Mac OS | Java, JSP, XML, Go, Kotlin, PHP | |
C++ 빌더 | 엠바카데로 테크놀러지 | Win32 | Windows | C, C++ |
J 빌더 | 엠바카데로 테크놀러지 | Win32 | Windows | Java |
02. 협업 도구
1) 협업 도구의 개념
- 도구는 하나의 소프트웨어 개발 프로젝트에 참여하는 수십 명에서 수천 명의 개발자가 서로 다른 작업 환경에서도 원활하게 프로젝트를 수행할 수 있도록 도와주는 협업을 위한 도구
- 협업 소프트웨어, 그룹웨어 등으로도 불림
2) 협업 도구의 필요성
- 소프트웨어 개발 시 많은 개발자가 참여하기 때문에 개발자들 간의 협업은 절대적으로 필요함
- 개발자마다 전문 분야, 경험이나 목표가 다르기 때문에 개발자 간의 유대감을 증대시키기 위해서 또는 문제가 발생하지 않도록 지속적으로 대화를 해야 함
- 통합 구현을 위해서는 개발자 간의 협업 및 협업에 필요한 도구도 필요함
- 작업 일정, 아키텍처가 수시로 변경되기 때문에 개발자 간의 효과적인 기술 공유가 필요함
3) 협업 도구의 기능
- 개발자 간 의사 교환
- 개발자 간 작업을 공유할 수 있음
- 오류 현상 인식 공유, 의견 공유, 개선점 공유 등 다양한 의사소통을 할 수 있음
- 일정 및 이슈 공유
- 개발자 간 작업 일정 및 이슈를 공유할 수 있음
- 오류 현상 인식 공우, 일정 공유, 이슈 공유 등 다양한 의사소통을 할 수 있음
- 개발자 간 집단 지성 활용
- 새롭고 독특한 아이디어를 공유할 수 있는 집단 지성이 만들어짐
4) 협업 도구의 분류
1. 문서 공유 도구
- Google Drive
- 개발자 간 문서를 공유하거나 고객과 문서를 공유할 수 있음
- 인터넷 클라우드 서비스를 통해 공동 작업을 할 수 있음
- Slide
- 인터넷상에서 파워포인터 슬라이드들을 만들어 공유할 수 있음
2. 소스 공유 도구
- GitHub
- 프로그램 소스를 공유하고 협업하여 개발할 수 있는 웹 호스팅 서비스
- 이곳에서 많은 오픈소스 개발이 이루어짐
3. 아이디어 공유 도구
- Evernote
- 노트를 작성하는 것과 같이 정보를 축적하고 저장하는 웹 서비스
- 개발자들이 중요한 아이디어를 공유할 수 있음
- 개발 업무에 관련된 기사들을 스크랩하여 공유함
- Invision
- 고객에게 웹 디자인 결과물을 보여줄 때 주로 사용
- 개발자들과 디자이너가 주로 사용하는 공유 공간
- 인터넷상에서 사용하는 프로토타이핑 도구
4. 디자인 공유 도구
- Redpen
- 웹 디자이너들이 주로 사용하는 도구
- 자신의 디자인을 업로드하고 개발자 간에 공동 작업을 수행함
5. 마인드 매핑 도구
- Mind Meister
- 인터넷상에서 수행하는 공동 마인드 Mapping 도구
- 인터넷 클라우드를 통해 자기 생각을 시각화하고 공유하고 발표할 수 있음
- 공동으로 브레인스토밍을 하거나 정보 간의 관계망 그리기를 공동으로 수행함
6. 프로젝트 관리 도구
- Trello
- 인터넷상의 공동 프로젝트 관리 도구
- 웹 기반 프로젝트 관리 비주얼 프로그램
- 프로젝트의 각 과제들을 분류하고 구성원을 배정하여 작업
- Redmind
- 웹 기반의 프로젝트 관리와 버그 추적 기능을 제공하는 도구
- 다수의 프로젝트 관리 도구로 오픈소스 프로그램
- JIRA
- 프로젝트 관리 기능을 제공하는 소프트웨어
- 프로젝트 버그, 이슈 트래킹 기반 협업 도구
- Task World
- 인터넷 클라우드 기반의 프로젝트 관리 소프트웨어, 그룹웨어, 협업 도구
- 프로젝트를 효율적으로 관리하고 투명한 인사 평가를 할 수 있음
- 개발자가 자유롭게 프로젝트 일정과 팀원을 정할 수 있음
7. 일정 관리 도구
- Google Calendar
- 모바일과 PC 연동이 가능한 일정 관리 서비스
- Confluence
- 개발자 간 일정과 문서를 공유할 수 있음
- 작업 문서를 생성하고, 페이지와 파일에서 협업하는 도구
'정보처리기사 > 소프트웨어 개발' 카테고리의 다른 글
통합 구현 3 (0) | 2023.05.16 |
---|---|
통합 구현 2 (0) | 2023.05.14 |
데이터 입출력 구현 8 (0) | 2023.05.13 |
데이터 입출력 구현 7 (1) | 2023.05.13 |
데이터 입출력 구현 6 (1) | 2023.05.12 |