2011년 6월 3일 금요일

소프트웨어 개발방법론

모든 조직 사회에는 구성원들이 따라야 하는 제도나 규정 등이 존재하기 마련이다. 이러한 제도와 규정을 이해하고 업무를 처리해 나가다 보면, 가장 효과적으로 일을 처리하는 방법(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
객체 모델링, 컴포넌트 모델링

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...