에이전트에 대한 연구는 최근에 들어와 그 응용분야가 점차 확대되어 가고 있으며, 에이전트를 근간으로 하는 소프트웨어도 점점 복잡화, 대형화되고 있는 추세이다. 이에 따라 에이전트를 근간으로 하는 소프트웨어 개발 방식도 좀더 체계적이며 공학적인 접근이 요구되고 있다. 본 논문에서는 에이전트 기반의 소프트웨어를 효율적으로 모델링하기 위하여 에이전트 추출, 내부 에이전트 모델링과 외부 에이전트 모델링 기법을 제안한다. 에이전트 추출은 실세계에 존재하는 객체들로부터 에이전트를 추출하는 방법을 사용했고, 내부 에이전트 모델링에서는 에이전트의 내부를 목표, 자기정보, 계획 기능으로 나누어 각각의 모델링 방법을 제시했으며, 외부 에이전트 모델링에서는 다중 에이전트 시스템에서 에이전트의 이동성과 에이전트간의 메시지 교환을 중심으로 한 모델링 방법을 제안한다.