객체지향 방법론 – 사업추진절차

객체지향 방법론 – 사업추진절차

대개의 객체지향 개발 방법론분석, 설계, 구현, 테스트 단계로 구성되며, 각 단계는 활동 및 세분화된 작업들을 포함한다. 그 내용을 정리해보면 다음과 같다.

단계 활 동 작 업 내 용
분석 분석준비 ■ 분석자료 수집
■ 조직 구성
■ 분석 절차 및 일정 수립
문제를 체계적으로 파악하기 위한 정보를
수집한다. 분석 작업을 수행하기 위한
팀을 편성하고 작업 일정계획을 수립한다.
사용자
요구사항
분석
■ 사용자 요구사항 정의
■ 시스템 사용자 파악
■ 사용사례 파악
■ 사용사례 기술
■ 사용사례 관계 정의
사용자의 요구사항을 바탕으로 시스템 사용자
및 사용사례를 파악하여 문제영역의 범위를
설정하고, 시스템의 기능을 정의한다.
소프트웨어
아키텍처
분석
■ 분석 서브시스템 정의
■ 분석 서브시스템 구조 정의
사용사례의 기능적 연관성을 중심으로
시스템을 분할하고 분할된 서브 시스템간의 관계를 정의한다.
정적구조
분석
■ 분석클래스 정의
■ 분석클래스 속성 및 연산 정의
■ 분석클래스 관계 정의
사용사례로부터 시스템의 내부 구성객체를
파악하고, 그들 간의 관계를 정의한다.
동적행위
분석
■ 분석클래스 간 상호작용 정의
■ 분석클래스 내부 상태 정의
시스템의 행위내용을 파악하기 위해 내부
구성 객체들 간의 상호작용 및 주요 객체
내부의 상태 변화를 정의한다.
분석
컴포넌트
정의
■ 분석 컴포넌트 정의 독립적이며 재사용 가능한 단위의 내부구성
객체들을 분석 컴포넌트로 정의한다.

 

단계 활 동 작 업 내 용
설계 설계
준비
■ 시스템 구현환경 정의
■ 조직 구성
■ 절차 및 일정 수립
설계단계를 효율적으로 진행할 수 있도록
필요한 팀을 편성하고 작업일정계획을 수립
한다. 또한 시스템의 구현환경을 정의한다.
소프트웨어
아키텍처
설계
■ 설계 서브시스템 정의
■설계 서브시스템 구조 정의
시스템의 구현환경을 고려하여 서브 시스템을
재정의한다.
사용자
인터페이스
설계
■ UI 구조 설계
■UI 객체 정의
■UI 객체 설계
인터페이스 클래스의 내용을 구현환경을 고려
하여 재정의하고, 사용자 인터페이스 시스템
을 설계한다.
DB
설계
■ 엔티티 클래스 설계
■ 논리적 데이터 객체 구조 설계
■ 물리적 데이터 객체 구조 설계
엔티티 클래스의 내용을 구현환경을 고려하여
재정의하고, 데이터베이스의 구조를 설계한다.
제어 설계 ■ 제어객체 정의
■ 제어 객체 설계
컨트롤 클래스의 내용을 구현환경을 고려하여
재정의하고, 시스템의 구현 로직을 설계한다.
시스템
인터페이스
설계
■ 시스템 인터페이스 객체 추출
■ 시스템 인터페이스 미들웨어 컴포넌트 추출
■ 시스템 인터페이스 객체 구조 설계
시스템간의 상호작용을 위한 시스템 인터페이
스 객체를 구현환경을 고려하여 정의하고,
구조를 설계한다.
설계
컴포넌트
정의
■ 설계 컴포넌트 정의 구현환경을 고려하여 분석 컴포넌트를 독립적
으로 재사용할 수 있는 설계 컴포넌트로
재정의한다.
프로세스
설계
■ 프로세스 정의
■ 노드별 프로세스 분산 설계
설계 컴포넌트를 기반으로 독립적인 스레드를
가지는 프로세스를 정의하고, 물리적인
노드에 각 프로세스를 할당한다.

 

단계 활 동 작 업 내 용
구현 구현준비 ■ 작업환경 구축
■ 조직 구성
■ 절차 및 일정 수립
시스템 구현을 효과적으로 진행할 수 있는
팀을 편성하고, 작업일정계획을 수립한다.
또한 시스템을 구현하기 위한 작업환경을
구축한다.
소프트웨어
아키텍처구현
■ 서브 시스템 통합
■ 시스템 통합
서브 시스템을 구성하는 클래스들을 통합
하고, 전체 시스템을 구성하는 서브 시스템을
통합한다.
클래스 구현 ■ 클래스 속성 구현
■ 클래스 연산 구현
각 클래스의 속성 및 연산을 특정 프로그래밍
언어로 구현한다.
프로세스
구현
■ 프로세스별 객체 상호 작용 구현
■ 프로세스별 객체 내부 행위 구현
각 프로세스별로 구성 객체들 간의 상호작용
및 주요객체의 내부행위를 특정 프로그래밍
언어로 구현한다.
컴포넌트
구현
■ 컴포넌트 구현 분석 단계 및 설계단계에서 정의된 컴포넌트
에 대하여 구현부 및 인터페이스를 특정
프로그래밍 언어를 사용하여 구현한다.
테스트 테스트
준비
■ 테스트 요구사항 정의
■ 목표 및 대상설정
■ 조직 구성
■ 방법 및 절차 수립
■ 테스트 일정 수립
테스트단계를 효과적으로 진행할 수 있도록
팀을 편성하고, 작업일정계획을 수립한다.
또한 각 테스트 목표 및 대상을 정의하고
방법 및 절차를 수립한다.
단위 테스트 ■ 테스트 케이스 및 데이터 개발
■ 단위 테스트 실시
■ 결과 검토 및 기록
독립적인 가장 작은 단위의 소프트웨어를
테스트한다.
통합 테스트 ■ 테스트 케이스 및 데이터 개발
■ 통합 테스트 수행
■ 결과 검토 및 기록
통합테스트는 단위 테스트가 완료된 후 수행
되며, 단위 소프트웨어의 통합이 올바르게
되었는지를 테스트한다.
시스템
테스트
■ 테스트 케이스 및 데이터 개발
■ 시스템 테스트 수행
■ 결과 검토 및 기록
단위 소프트웨어의 통합이 완료된 시스템이
하드웨어, 소프트웨어 및 운영환경 내에서
정의된 시스템 요구사항에 따라 완전하게
수행되는지를 테스트한다.