일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자료구조
- 운영체제
- 락
- 멀티쓰레드
- directx
- Direct12
- DirectX 12
- I/O장치
- 백준
- 쓰레드
- 디자인패턴
- 동적계획법
- 타입 객체
- 알고리즘
- 다이나믹프로그래밍
- 그리디 알고리즘
- 영속성
- 그리디알고리즘
- codility
- 다이나믹 프로그래밍
- 프로그래머스
- OS
- 멀티프로세서
- DirectX12
- 컨디션 변수
- 병행성 관련 오류
- 스케줄링
- 병행성
- 렌더링 파이프라인
- 파일시스템 구현
- Today
- Total
목록Software Engineering (2)
기록공간

일반적인 개발환경은 아래 그림과 같이 나뉘어 진다. 각각 개발 과정에 따라, 각자의 역할과 목적이 다르고, 그에 따른 시스템의 크기도 다르다. 꼭 모든 환경을 갖출 필요는 없기 때문에, 프로젝트에 따라서 각 환경을 합치거나 생략해도 된다. 각 환경에 대한 설명 로컬 개발 환경(Local) 개발을 하기에 앞서, 개발자 개개인의 PC에 개발 및 테스트 환경이 셋업되어 있어야 한다. 각 개발자마다, 설치된 서버 환경을 로컬 개발 환경이라고 한다. (ex. 각 PC에 MySQL(DB)과 Tomcat 등의 소프트웨어를 설치하고, Eclipse와 같은 통합 개발 환경(IDE)과 컴파일러 등이 설치된 환경) 로컬 개발 환경을 구축할시 가장 주의해야 할 점은 모든 개발자가 같은 개발 환경을 사용해야 한다는 것이다. 실..
개요 소프트웨어 공학(Software Engineering)은 소프트웨어를 개발하는데 있어서 필수적인 요소이다. 이를 전혀 고려하지 않고 무작정 개발에 뛰어들면 실패할 가능성이 매우 높다. 실제로 프로젝트에 대한 상세를 대충 구상하고 개발을 시작하면, 얼마안가 생각했던 방향과는 다른 방향으로 흘러간다. 이미 진행된 상황에서 이를 되돌리기는 매우 어렵다. 대규모 프로젝트를 진행하는 기업이 이런 상황이 발생하게 된다면 매우 큰 경제적, 시간적 손실이 발생한다. 이를 사전에 방지하고 좋은 소프트웨어를 효율적으로 개발하기 위해서는 소프트웨어 공학은 매우 중요하다. 소프트웨어를 개발하는 방법 중 하나인 애자일(Agile) 기법은 많은 유명 기업에서 채택하는 방법이다. 이러한 기업들이 왜 애자일 기법으로 개발하는지..