객체지향 방법론 – 사업추진절차
- 2019-08-30
- Posted by: javasolution
- Category: 프로젝트방법론
			댓글 없음 
		
	 
		객체지향 방법론 – 사업추진절차
대개의 객체지향 개발 방법론은 분석, 설계, 구현, 테스트 단계로 구성되며, 각 단계는 활동 및 세분화된 작업들을 포함한다. 그 내용을 정리해보면 다음과 같다.
| 단계 | 활 동 | 작 업 | 내 용 | 
| 분석 | 분석준비 | ■ 분석자료 수집 ■ 조직 구성 ■ 분석 절차 및 일정 수립 | 문제를 체계적으로 파악하기 위한 정보를 수집한다. 분석 작업을 수행하기 위한 팀을 편성하고 작업 일정계획을 수립한다. | 
| 사용자 요구사항 분석 | ■ 사용자 요구사항 정의 ■ 시스템 사용자 파악 ■ 사용사례 파악 ■ 사용사례 기술 ■ 사용사례 관계 정의 | 사용자의 요구사항을 바탕으로 시스템 사용자 및 사용사례를 파악하여 문제영역의 범위를 설정하고, 시스템의 기능을 정의한다. | |
| 소프트웨어 아키텍처 분석 | ■ 분석 서브시스템 정의 ■ 분석 서브시스템 구조 정의 | 사용사례의 기능적 연관성을 중심으로 시스템을 분할하고 분할된 서브 시스템간의 관계를 정의한다. | |
| 정적구조 분석 | ■ 분석클래스 정의 ■ 분석클래스 속성 및 연산 정의 ■ 분석클래스 관계 정의 | 사용사례로부터 시스템의 내부 구성객체를 파악하고, 그들 간의 관계를 정의한다. | |
| 동적행위 분석 | ■ 분석클래스 간 상호작용 정의 ■ 분석클래스 내부 상태 정의 | 시스템의 행위내용을 파악하기 위해 내부 구성 객체들 간의 상호작용 및 주요 객체 내부의 상태 변화를 정의한다. | |
| 분석 컴포넌트 정의 | ■ 분석 컴포넌트 정의 | 독립적이며 재사용 가능한 단위의 내부구성 객체들을 분석 컴포넌트로 정의한다. | 
| 단계 | 활 동 | 작 업 | 내 용 | 
| 설계 | 설계 준비 | ■ 시스템 구현환경 정의 ■ 조직 구성 ■ 절차 및 일정 수립 | 설계단계를 효율적으로 진행할 수 있도록 필요한 팀을 편성하고 작업일정계획을 수립 한다. 또한 시스템의 구현환경을 정의한다. | 
| 소프트웨어 아키텍처 설계 | ■ 설계 서브시스템 정의 ■설계 서브시스템 구조 정의 | 시스템의 구현환경을 고려하여 서브 시스템을 재정의한다. | |
| 사용자 인터페이스 설계 | ■ UI 구조 설계 ■UI 객체 정의 ■UI 객체 설계 | 인터페이스 클래스의 내용을 구현환경을 고려 하여 재정의하고, 사용자 인터페이스 시스템 을 설계한다. | |
| DB 설계 | ■ 엔티티 클래스 설계 ■ 논리적 데이터 객체 구조 설계 ■ 물리적 데이터 객체 구조 설계 | 엔티티 클래스의 내용을 구현환경을 고려하여 재정의하고, 데이터베이스의 구조를 설계한다. | |
| 제어 설계 | ■ 제어객체 정의 ■ 제어 객체 설계 | 컨트롤 클래스의 내용을 구현환경을 고려하여 재정의하고, 시스템의 구현 로직을 설계한다. | |
| 시스템 인터페이스 설계 | ■ 시스템 인터페이스 객체 추출 ■ 시스템 인터페이스 미들웨어 컴포넌트 추출 ■ 시스템 인터페이스 객체 구조 설계 | 시스템간의 상호작용을 위한 시스템 인터페이 스 객체를 구현환경을 고려하여 정의하고, 구조를 설계한다. | |
| 설계 컴포넌트 정의 | ■ 설계 컴포넌트 정의 | 구현환경을 고려하여 분석 컴포넌트를 독립적 으로 재사용할 수 있는 설계 컴포넌트로 재정의한다. | |
| 프로세스 설계 | ■ 프로세스 정의 ■ 노드별 프로세스 분산 설계 | 설계 컴포넌트를 기반으로 독립적인 스레드를 가지는 프로세스를 정의하고, 물리적인 노드에 각 프로세스를 할당한다. | 
| 단계 | 활 동 | 작 업 | 내 용 | 
| 구현 | 구현준비 | ■ 작업환경 구축 ■ 조직 구성 ■ 절차 및 일정 수립 | 시스템 구현을 효과적으로 진행할 수 있는 팀을 편성하고, 작업일정계획을 수립한다. 또한 시스템을 구현하기 위한 작업환경을 구축한다. | 
| 소프트웨어 아키텍처구현 | ■ 서브 시스템 통합 ■ 시스템 통합 | 서브 시스템을 구성하는 클래스들을 통합 하고, 전체 시스템을 구성하는 서브 시스템을 통합한다. | |
| 클래스 구현 | ■ 클래스 속성 구현 ■ 클래스 연산 구현 | 각 클래스의 속성 및 연산을 특정 프로그래밍 언어로 구현한다. | |
| 프로세스 구현 | ■ 프로세스별 객체 상호 작용 구현 ■ 프로세스별 객체 내부 행위 구현 | 각 프로세스별로 구성 객체들 간의 상호작용 및 주요객체의 내부행위를 특정 프로그래밍 언어로 구현한다. | |
| 컴포넌트 구현 | ■ 컴포넌트 구현 | 분석 단계 및 설계단계에서 정의된 컴포넌트 에 대하여 구현부 및 인터페이스를 특정 프로그래밍 언어를 사용하여 구현한다. | |
| 테스트 | 테스트 준비 | ■ 테스트 요구사항 정의 ■ 목표 및 대상설정 ■ 조직 구성 ■ 방법 및 절차 수립 ■ 테스트 일정 수립 | 테스트단계를 효과적으로 진행할 수 있도록 팀을 편성하고, 작업일정계획을 수립한다. 또한 각 테스트 목표 및 대상을 정의하고 방법 및 절차를 수립한다. | 
| 단위 테스트 | ■ 테스트 케이스 및 데이터 개발 ■ 단위 테스트 실시 ■ 결과 검토 및 기록 | 독립적인 가장 작은 단위의 소프트웨어를 테스트한다. | |
| 통합 테스트 | ■ 테스트 케이스 및 데이터 개발 ■ 통합 테스트 수행 ■ 결과 검토 및 기록 | 통합테스트는 단위 테스트가 완료된 후 수행 되며, 단위 소프트웨어의 통합이 올바르게 되었는지를 테스트한다. | |
| 시스템 테스트 | ■ 테스트 케이스 및 데이터 개발 ■ 시스템 테스트 수행 ■ 결과 검토 및 기록 | 단위 소프트웨어의 통합이 완료된 시스템이 하드웨어, 소프트웨어 및 운영환경 내에서 정의된 시스템 요구사항에 따라 완전하게 수행되는지를 테스트한다. | 
 
						 
			 
			 
			 
			



