업무/용어 | Posted by 은우 아빠 2008. 9. 23. 00:25

소프트웨어 개발방법론


소프트웨어 개발방법론

모든 조직 사회에는 구성원들이 따라야 하는 제도나 규정 등이 존재하기 마련이다. 이러한 제도와 규정을 이해하고 업무를 처리해 나가다 보면, 가장 효과적으로 일을 처리하는 방법(Method) 과정에서 필요한 지식이 축적되는데, 이를 체계적으로 정의한 것이 방법론(Methodology)이다. 정보 시스템 구축 시에도 정보 시스템의 구축업무 수행에 필요한 자원, 산출물, 참여자 등을 정의하고 이러한 내용을 일관된 흐름으로 체계적으로 정리한 방법론이 소프트웨어 개발 방법론이다.

 

소프트웨어 개발방법론의 정의

-      소프트웨어를 생산하기 위해 반복적으로 수행될 실행 방법을 정리한

-      정보 시스템을 구축하는데 필요한 여러 가지 일들의 수행방법과 이러한 일들을 수행하려는 절차에서 필요한 소프트웨어 공학 원리에 입각한 각종 기법 도구를 기업의 문화를 바탕으로 체계적으로 정리하여 표준화한

 

소프트웨어 개발방법론의 등장 배경

-      소프트웨어 위기 인식에 따른 소프트웨어 공학의 발전

-      소프트웨어 이용범위의 확대 소프트웨어 Project 개념의 등장

-      소프트웨어 Project 규모 복잡도 증가

 

소프트웨어 개발방법론의 필요성

-      소프트웨어 위기를 극복하기 위한 방법론 필요성 증대

-      공정의 가시화와 프로젝트의 효율적 관리 필요

-      개발경험 축적 재활용을 통한 개발생산성 향상

-      소프트웨어 품질의 균일화

-      개발 조직의 의사 소통 활성화

-      시스템 개발 노하우 축적

 

소프트웨어 개발방법론의 구성요소

구성요소

내용

작업절차

-      프로젝트 수행 이루어지는 작업단계의 체계

-      단계별 활동, 활동 세부작업 열거, 활동의 순서 명시

작업방법

-      단계별 수행해야 하는

-      절차/작업 방법

산출물

-      단계별로 만들어야 하는 산출물의 목록 양식

관리

-      프로젝트 진행 기록

-      계획수립, 진행관리, 품질, 외주, 예산, 인력관리 등의 기록

기법

-      단계별로 작업수행 기술 기법의 설명

도구

-      기법 지원도구에 대한 구체적인 사용표준 방법

 

소프트웨어 개발방법론의 종류

개발방법론

구조적 방법론

정보공학 방법론

객체지향 방법론

컴포넌트 기반 방법론

연대

1960 년대 ~ 1980년대 중반

1980년대 중반 ~ 1990년대 중반

1990년대 중반 ~ 2000년대

1990년대 후반 ~ 현재

목표

비즈니스 프로세스 자동화

경영전략적 정보시스템 구축

재사용 시스템

컴포넌트 개발 및 활용

주요모형

프로세스 (기능)

데이터

객체

컴포넌트

주요기술

   

메인프레임 환경

단위업무 전산화

3세대 언어

(COBOL, Fortran, C)

소프트웨어 공학 태동

PC보급확산

전사규모의 정보시스템

관계형 데이터베이스

4세대 언어

(Visual Basic, Power Builder, Delphi)

클라이언트/서버

사용자 중심 설계

통합 CASE

인터넷 이용확산

다양한 SW요구 증대

객체지향 언어

(C++,Java)

UML

분산 객체기술

Round-Trip CASE

비즈니스 기능 단위 컴포넌트

J2EE 기반 기술

COM 기반 기술

웹서비스 기술

기존 시스템 연동 기술

애플리케이션 서버

주요기법

기능모형

(자료흐름도, 자료사전, 기능명세)

프로그램 구조 설계

(구조도, 모듈명세)

데이터 모형

(객체 관계도)

정보전략계획

BRP

분산설계

객체모형

위험관리

반복적/점진적 개발

분석/설계 패턴

설계 개선

(Refactoring)

컴포넌트 명세

컴포넌트 추출

컴포넌트 연동

아키텍처 설계

특징

학습용어

보편적 활용

안정된 개발 방법론

실세계 개념 모형

UML 사용 확산

적기 개발

개발 비용 감소

 

산업구조

소품종 다량생산

다품종 소량생산

인터넷 비즈니스

인터넷 비즈니스

모델링

기능 모델링

데이터 모델링, 프로세스 모델링

객체지향 관점, UML

객체 모델링, 컴포넌트 모델링