표제지
국문요약
목차
1. 서론 8
1-1. 연구 배경 8
1-2. 연구 목적 9
1-3. 논문 구성 10
2. 관련 연구 12
2-1. 객체지향 프로그래밍의 접근 13
2-1-1. 모듈 결합 14
2-1-2. 헝클어진 코드 17
2-1-3. 산재된 코드 20
2-2. 영역지향 프로그래밍의 접근 23
2-2-1. 모듈 결합 문제 23
2-2-2. 헝클어진 코드 문제 26
2-2-3. 산재된 코드 문제 28
3. 영역지향 프로그래밍의 특성 32
3-1. 영역지향 프로그래밍의 정의 33
3-2. 영역지향 프로그래밍의 역사 34
3-3. 영역지향 프로그래밍의 특성 35
3-3-1. 영역 36
3-3-2. 포인트컷 37
3-3-3. 어드바이스 38
3-3-4. 에스팩트 위버 39
4. 복잡도 감소 모형 개발 40
4-1. 그룹웨어 프로젝트 개발 40
4-1-1. 그룹웨어 프로젝트 개발 프로세스 40
4-1-2. 그룹웨어 기획 단계 41
4-1-3. 그룹웨어 설계 및 객체지향 구현단계 42
4-1-4. 그룹웨어 영역지향 프로그래밍 적용 단계 45
4-2. 복잡도 감소 효과 52
4-2-1. 디자인 원칙 효과 증대 52
4-2-2. McCabe의 순환 복잡도 측정 57
4-2-3. 소프트웨어 코드양의 감소 60
5. 결론 61
참고문헌 63
Abstract 68
〈표 2-1〉 수강 신청 프로젝트 구현 13
〈표 3-1〉 포인트컷 선택 표현식 38
〈표 3-2〉 어드바이스 종류 및 기능 39
〈표 4-1〉 영속성 계층 클래스 구현 44
〈표 4-2〉 비즈니스 계층 클래스 구현 45
〈표 4-3〉 기능별 부수적인 로직 사용 유무 48
〈표 4-4〉 클래스별 데이터 접근 권한 48
〈그림 2-1〉 수강 신청 클래스 다이어그램 12
〈그림 2-2〉 로깅 모듈 클래스 다이어그램 14
〈그림 2-3〉 로깅 모듈 클래스와 수강 신청 클래스의 관계 16
〈그림 2-4〉 로깅 모듈 클래스와 결합 관계 17
〈그림 2-5〉 권한 클래스 다이어그램 18
〈그림 2-6〉 권한 클래스와 수강 신청 클래스의 관계 18
〈그림 2-7〉 트랜잭션 매니저 클래스 다이어그램 21
〈그림 2-8〉 트랜잭션 매니저 클래스와 수강 신청 클래스의 관계 21
〈그림 2-9〉 수강 신청 클래스와 LogginModule 영역간의 결합 25
〈그림 2-10〉 수강 신청 클래스와 RollAspect간의 결합 28
〈그림 2-11〉 수강 신청 클래스와 TransactionAspect간의 결합 31
〈그림 3-1〉 객체지향, 절차 지향 메시지 통신 32
〈그림 3-2〉 영역지향 메시지 통신 33
〈그림 3-3〉 영역지향 프로그래밍의 관심사 분리 34
〈그림 3-4〉 영역의 문법 구조 36
〈그림 3-5〉 포인트컷의 문법 구조 37
〈그림 3-6〉 어드바이스의 문법 구조 38
〈그림 3-7〉 에스팩트 위버 실행 구조 39
〈그림 4-1〉 그룹웨어 프로젝트 개발 프로세스 41
〈그림 4-2〉 그룹웨어 클래스 다이어그램 43
〈그림 4-3〉 그룹웨어 비즈니스 로직 순차 다이어그램 46
〈그림 4-4〉 객체지향 프로그래밍의 전사 공지 모듈 패키징 의존 관계 53
〈그림 4-5〉 영역지향 프로그래밍의 전사 공지 모듈 패키징 의존 관계 53