본문 바로가기

05번. 3년 후, 기술사/▶ 소프트웨어공학

TDD 테스트 주도 개발은 어떻게 하는 것인가? 테스트 주도 개발은 말 그대로 테스트에 의해서 코드가 만들어지도록 하는 방법이다. 전통적으로 우리는 프로그램 개발을 완료한 후에 테스트를 진행한다. 하지만 TDD는 테스트를 먼저 작성하고 그 테스트를 통과하는 실제코드를 순차적으로 만들어 나간다. . 건물을 지을 때 벽돌을 쌓는 방법을 떠올려 보자. -> 벽돌을 쌓을때는 벽돌을 얼마만큼 쌓을 건지 특정영역에 색깔있는 실로 표시를 해 놓고 벽돌을 쌓다가 실까지 별돌이 채워지면 쌓는 것을 중지한다. TDD로 비유하면 공간에 실로 영역을 표시하는 것을 테스트 코드에, 실제 벽돌을 쌓는 것은 실제 코드에 비유할 수 있다. 벽돌을 쌓을 때 벽돌이 비뚫어지는지 정확히 쌓이는지 실에 의해서 판단이 가능한 것과 같은 이치로 테스.. 더보기
OR MAPPING OR-Mapping의 개요 OR-Mapping의 개념 객체지향 프로그래밍 수행 시 설계할 클래스들과 데이터 저장소로 이용될 RDBMS Table간의 Mapping 기법 OR-Mapping의 필요성 초기 객체지향 전문가들은 객체와 관계형 DB간의 심각한 구조적 불일치를 깨닫고 OODB를 창안 대부분의 프로젝트에서 OODB가 RDB만큼 안정성이 보장되지 않아 Risk가 존재하는 OODB가 확산되지 못함 객체지향 관점의 분석/설계/구현 방법론을 정보시스템 개발에 적용하기 위하여 관계형 DB와의 구조적인 연계(Mapping)를 고려 RDBMS가 OODB로 전이하지 못하는 이유 및 클래스 Relationship의 종류 RDBMS가 OODB로 전이하지 못하는 이유 이유 설명 범용성 다수의 기업체들이 운영(C/S환경.. 더보기
Agile 방법론 Agile 방법론 개발 과정에서의 시스템 변경사항을 유연하고 기민하게 대응할 수 있도록 하는 개발 방법론을 뜻하는 총칭이다. Able to move quickly with skill and control Able to think quickly and intelligently Agile 주요 방법론 XP(eXtreme Programming) : 개발방법론 혹은 개발 기법 중심 SCRUM : 프로젝트 관리 방법론 중심 RUP : 반복, 점진적인 개발방법론을 대표 LSD(Lean Software Development) : 식스시그마 품질 선도 DSDM(Dynamic System Development Method) : 점진적 개발, 일정 확정, 범위예측 FDD(Feature-Driven Development) .. 더보기