일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- DirectX12
- 락
- 다이나믹 프로그래밍
- codility
- 영속성
- 백준
- Direct12
- 멀티프로세서
- 병행성 관련 오류
- DirectX 12
- 렌더링 파이프라인
- directx
- 파일시스템 구현
- 자료구조
- I/O장치
- 다이나믹프로그래밍
- 그리디 알고리즘
- 그리디알고리즘
- 멀티쓰레드
- 알고리즘
- OS
- 동적계획법
- 프로그래머스
- 쓰레드
- 운영체제
- 디자인패턴
- 컨디션 변수
- 병행성
- 타입 객체
- 스케줄링
- Today
- Total
기록공간
4-1-1장. 개발 환경 구축 - B 본문
개발 환경 구축 개요
개발 환경 구축은 응용 소프트웨어 개발을 위해 개발 프로젝트를 이해하고 소프트웨어 및 하드웨어 장비를 구축하는 것을 의미한다.
-
개발 환경은 응용 소프트웨어가 운영될 환경과 유사한 구조로 구축
-
개발 프로젝트의 분석 단계의 산출물을 바탕으로 개발에 필요한 하드웨어와 소프트웨어를 선정
-
하드웨어와 소프트웨어의 성능, 편의성, 라이선스 등의 비즈니스 환경에 적합한 제품들을 최종적으로 결정해여 구축
하드웨어 환경
하드웨어 환경은 사용자와의 인터페이스 역할을 하는 클라이언트(Client) 그리고 클라이언트와 통신하여 서비스를 제공하는 서버(Server)로 구성된다.
-
클라이언트에는 PC, 스마트폰 등이 있음
-
서버는 사용 목적에 따라 웹 서버, 웹 애플리케이션 서버, 데이터베이스 서버, 파일 서버 등으로 나뉨
-
웹 서버(Web Server) : 클라이언트로부터 직접 요청을 받아 처리하는 서버로, 저용량의 정적 파일 들을 제공
-
ex) Apache HTTP Server, Microsoft Internet Information Service, Google Web Service 등
-
-
웹 애플리케이션 서버(WAS : Web Application Server) : 사용자에게 동적 서비스를 제공하기 위해 웹 서버로부터 요청을 받아 데이터 가공 작업을 수행하거나, 웹 서버와 데이터베이스 서버 또는 웹 서버와 파일 서버 사이에서 인터페이스 역할을 수행하는 서버
-
ex) Apache Tomcat, IBM WebSphere, Oracle WebLogic 등
-
-
데이터베이스 서버(DB Server) : 데이터베이스와 이를 관리하는 DBMS를 운영하는 서버
-
MySQL Server, Oracle Server, Microsoft SQL Server 등
-
-
파일 서버(File Server) : 데이터베이스에 저장하기에는 비효율적이거나, 서비스 제공을 목적으로 유지하는 파일들을 저장하는 서버
-
소프트웨어 환경
소프트웨어 환경은 클라이언트와 서버 운영을 위한 시스템 소프트웨어와 개발에 사용되는 개발 소프트웨어로 구성된다.
-
시스템 소프트웨어는 운영체제, 웹 서버 및 WAS 운용을 위한 서버 프로그램, DBMS 등이 있음
-
개발 소프트웨어에는 요구사항 관리 도구, 설계/모델링 도구, 구현 도구, 빌드 도구, 테스트 도구, 형상 관리 도구 등이 있음
-
요구사항 관리 도구 : 요구사항의 수집과 분석, 추적 등을 편리하게 도와주는 소프트웨어
-
ex) JIRA, IBM DOORS, inteGREAT, Reqtify, Trello 등
-
-
설계/모델링 도구 : UML(통합 모델링 언어)을 지원하며, 개발의 전 과정에서 설계 및 모델링을 도와주는 소프트웨어
-
ex) DB Designer, PlantUML, ArgoUML 등
-
-
구현 도구 : 개발 언어를 통해 애플리케이션의 실제 구현을 지원하는 소프트웨어
-
ex) Eclipse, IntelliJ IDEA, Visual Studio, Netbeans, Node.js 등
-
-
빌드 도구 : 구현 도구를 통해 작성된 소스의 빌드 및 배포, 라이브러리 관리를 지원하는 소프트웨어
-
ex) Ant, Gradle, Maven, Jenkins 등
-
-
테스트 도구 : 모듈들이 요구사항에 적합하게 구현되었는지 테스트하는 소프트웨어
-
ex) CppUnit, JUnit, HttpUnit, NUnit, SpringTest 등
-
-
형상 관리 도구 :
산출물들을 버전별로 관리하여 품질 향상을 지원하는 소프트웨어
-
ex) GIT, CVS, Subversion, Mercruial 등
-
-
'자격증공부 > 정보처리기사_필기' 카테고리의 다른 글
4-1-3장. 보안 및 API - C (0) | 2020.09.17 |
---|---|
4-1-2장. 서버 개발 - C (0) | 2020.09.17 |
3-4-7장. 쿼리 성능 최적화 - C (0) | 2020.09.16 |
3-4-6장. ORM(Object-Relational Mapping) - B (0) | 2020.09.16 |
3-4-5장. SQL 테스트 - B (0) | 2020.09.16 |