728x90

개발 방법론

- 소프트웨어 공학 원리를 소프트웨어 개발 생명 주기에 적용 -> 소프트웨어 개발방법론 = 소프트웨어 공학 + 방법론

- 시스템 개발을 위한 작업 활동, 절차, 산출물, 기법 등 정리

- 품질 높이고 납기일 준수하여 만족도를 높이기 위한 개발 방법

 

 

 

개발 방법론 진화 과정

60 : 대용량 계산 수단. 요구사항도 단순. 군분야에서. 기계어 사용. 개발 방법론 x

70 : 고급언어 사용. 요구사항 발생. 민간 영역으로 확대. 폭포수 방법론 탄생

80 : 대중화. 요구사항 복잡화. SDLC 개발 방법론 대두. c언어 사용

90 : 대형 프로젝트 증가. 위험관리, 요구사항 적합성, 생산성 고려. 객체지향언어 활용

00 : 웹 어플리케이션 중심 변화. 자동화 툴 발전

현대 : 고객 요구사항 + 개발자 편의성 고려한 자동화 툴. 계획부터 테스트까지 개발자 혼자 할수있는 시기

 

 

 

 

개발 방법론 특징

- 개발 단계 정의. 활동, 제품, 검증절차 각 단계 종결 기준 등 상세히 서술

- 방법과 절차 등을 공학적 방법으로 정의

 

 

 

 

개발 방법론 구성

1. 작업 절차 : 작업 단계 체계. 단계 - 활동 - 작업

2. 작업 방법 : 수행에 대한 구체적인 설명. 절차/작업방법

3. 산출물 : 단계별 산출물 목록 및 양식(설계서), 메뉴얼/설정 방법 등

4. 기법과 도구 : 기법 - 소요 기술(객체지향 모델링 기법), 도구 - 지원 도구 혹은 표준 방법(CASE)

 

 

 

 

개발 방법론 종류

1. 구조적 방법론

2, 정보공학 방법론

3. 객체지향 방법론

4. 컴포넌트 기반 방법론

 

 

 

1. 구조적 방법론

- 전체 시스템을 기능에 따라 분할하여 개발. 이를 통합하는 분할 방식의 방법론

 ex) 폭포수 모델

- 순차, 선택, 반복으로 프로그램 로직

- 정형화된 분석 절차에 따라 요구사항 파악하고, 도형중심 다이어그램으로 문서화

- 컨트롤 가능한 모듈로 구조화

- 장점 : 일괄 처리 소프트웨어 개발에 적합. 전형적인 접근법

- 단점 : 데이터 정보 은닉 불가. 재사용 보수성 낮음

 

구조적 방법론 단계별 산출물

1. 계획 : 도메인 분석서, 프로젝트 계획서

2. 분석 : DFD(Data Flow Diagram) - 프로세스들간 데이터 흐름을 표현한 도표

3. 설계 : Structure Chart - 소프트웨어 기능을 계층적으로 표현한 차트, 프로그램 사양서

 

 

 

2. 정보공학 방법론

- 데이터 중심 80년대 자료구조 중심 방법론. 구조적 방법론 극복

 ex) 프로토타입, 정보공학 방법론

- 기업 중심 계획, 데이터 중심 설계, 도형 산출물

- 장점 : 전략적 기회식별 및 방안 제공, 장기적 발전 허용

- 단점 : 장기간 필요, 특정 사업 영역으로부터 독립된 시스템 개발에는 부적합

 

정보공학 방법론 단계별 산출물

1. 계획 :도메인 분석서, 프로젝트 계획서

2. 분석 : ERD, 기능 차트, 이벤트 모델

3. 설계 단계 : 어플리케이션 구조도, 프로그램 사양서, 테이블 정의서 목록

 

 

 

 

3. 객체지향 방법론

- 소프트웨어 생명주기에 객체지향 개념 접목해 일관된 모델로 개발

- 객체, 클레스 및 이들과 관계를 식별하여 설계 모델로 변환

 

객체지향 방법론 원리

1. 업무 요건 정의 : 요구사항 수집 -> 업무요건 정의

2. 객체 지향 분석 : 객체 모델링 -> 동적 모델링 -> 기능 모델링

3. 객체지향 설계 : 시스템 설계 -> 객체 설계 -> 구현

4.테스트/배포 : 테스트 ->패키지 -> 프로젝트 평가

 

객체지향 방법론 산출물

1. 계획 : 비즈니스 프로세스, 컨셉 모델, 프로젝트 계획서

2. 분석 : 유스케이스 다이어그램, 시퀀스 다이어그램, 클래스 다이어그램

3. 설계 : 시퀀스/클래스/컴포넌트 다이어그램

 

 

객체 지향 분석

- 객체 모델링 :시스템 정적 구조. 추상화, 분류화,일반화

- 동적 모델링 : 객체 사이 변화 조사. 상태, 동작

- 기능 모델링 : 입력에 대한 처리 결과 확인

 

객체지향 설계와 분석

- 시스템 설계 : 시스템 구조를 서브시스템으로 분해. 성능 최적화/자원 분배 방안

- 객체 설계 :상세 내역을 모형으로 개발 상세화. 구체적 자료구조와 알고리즘 구현

- 객체 지향 구현 

 

 

 

 

 

4. 컴포넌트 기반 방법론 CBD

- 재사용가능한 컴포넌트 개발, 조합하여 어플리케이션 개발

- 2000년대 컴포넌트 중심 개발 방법론. Agile 방법론

- 객체지향개발방법론 개선, 인터페이스 중시, 컴포넌트 기반 재사용성 중시, 개발시간 단축

 

컴포넌트 기반 방법론 원리

1. 요구 분석 : 요구사항 분석

2. 분석 : 아키텍처 정의, 유스케이스 모델링

3. 설계 : UI 설계, 컴포넌트 정의/설계, DB, 테스ㅡㅌ 설계

4. 개발 : 코딩, 테스트

5. 구현 : 릴리즈, 교육

 

 

컴포넌트 기반 방법론 단계별 산출물

1. 계획 : 비즈니스 프로세스 모델, 프로젝트 모델

2. 분석 : 유스 케이스 다이어그램, 컴포넌트 다이어그램, 재사용 계획서

3. 설계 : 시퀀스 다이어그램, 클래스 다이어그램, 컴포넌트 다이어그램

 

 

컴포넌트 기반 방법론 분류

- 요소 컴포넌트 : 최소단위 컴포턴트

- 기능 컴포넌트 : 요소 컴포넌트를 결합하여 하나의 기능 구현

- 서비스 컴포넌트 : 하나의 사용자 서비스 수행하는 컴포넌트

- 어플리케이션 컴포넌트 : 여러 서비스 수행하는 시스템 컴포넌트

 

 

 

300x250

+ Recent posts