소프트웨어 개발 방법론: 두 판 사이의 차이

IT 위키
편집 요약 없음
28번째 줄: 28번째 줄:
** 쉽고 표준화된 표기법 존재
** 쉽고 표준화된 표기법 존재
** 분산객체 기술의 완벽한 지원
** 분산객체 기술의 완벽한 지원
** DBMS의 원활한 연계 등 아직 개선의 여지가 많음
** 분석 설계 및 구현 단계들 사이에 의미적 갭(semantic gap)이 작다


* 라이프사이클 : 반복적 개발
* 라이프사이클 : 반복적 개발
* 개발방식 : BOTTOM‐UP
* 개발방식 : BOTTOM‐UP
* 단계별 산출물
* '''단계'''
** 계획 : 비즈니스 프로세스, 개념 모델, 프로젝트 계획서 등
** '''계획'''
** 분석 : 유즈케이스 다이어그램, 시퀀스 다이어그램, 클래스 다이어그램 등
*** 주어진 문제 안에서 객체들을 발견하고 객체들의 상관관계를 분석
** 설계 : 시퀀스 다이어그램, 클래스 다이어그램, 컴포넌트 다이어그램, 배포 다이어그램 등
*** 산출물: 비즈니스 프로세스, 개념 모델, 프로젝트 계획서 등
** '''분석'''
*** 산출물: 유즈케이스 다이어그램, 시퀀스 다이어그램, 클래스 다이어그램 등
** '''설계'''
*** 객체들을 클래스로 정의하고 상관관계를 상속 단계로 정의
*** 산출물: 시퀀스 다이어그램, 클래스 다이어그램, 컴포넌트 다이어그램, 배포 다이어그램 등
** '''구현'''
***  정의된 클래스들에 대해 특정언어를 이용하여 1:1로 정의


===CBD 방법론===
===CBD 방법론===

2019년 5월 18일 (토) 01:39 판

소프트웨어 개발 방법론은 소프트웨어 공학 원리를 소프트웨어 개발 생명주기에 적용한 개념으로 정보시스템 개발을 위한 작업활동, 절차, 산출물, 기법 등을 체계적으로 정리한 것을 말한다.

1 종류

1.1 구조적 방법론

정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 체계적인 방법으로 비즈니스 프로세스 자동화를 목표로 하고 있으며, 프로세스 중심의 개발 방법

  • 특징
    • 데이터 흐름 지향, 즉 프로세스 위주의 분석과 설계 방식
    • 모듈의 분할과 정복에 의한 하향식 설계 방식
    • SDLC의 구조를 가진 폭포수 모델이 기본
    • 소프트웨어의 개발이 목표인 프로세스와 산출물의 구성
    • 데이터의 구성에 대한 설계 방안이 부족
    • 프로젝트 관리 및 조직, 역할 등 방법론적 다른 요소들의 정의가 없음
  • 라이프사이클 : 폭포수 모델
  • 개발방식 : TOP‐DOWN
  • 단계별 산출물
    • 계획 : 도메인 분석, 프로젝트 계획서 등
    • 분석 : DFD(Data Flow Diagram) 등
    • 설계 : Structure Chart, 프로그램 사양서 등

1.2 객체지향 방법론

분석, 설계 및 개발에 있어서 객체지향 기법을 활용하여 시스템을 구축하는 방법

  • 특징
    • 반복적이고 점증적인(Iterative and Incremental) 개발 방식
    • 재사용성의 강조
    • 쉽고 표준화된 표기법 존재
    • 분산객체 기술의 완벽한 지원
    • 분석 설계 및 구현 단계들 사이에 의미적 갭(semantic gap)이 작다
  • 라이프사이클 : 반복적 개발
  • 개발방식 : BOTTOM‐UP
  • 단계
    • 계획
      • 주어진 문제 안에서 객체들을 발견하고 객체들의 상관관계를 분석
      • 산출물: 비즈니스 프로세스, 개념 모델, 프로젝트 계획서 등
    • 분석
      • 산출물: 유즈케이스 다이어그램, 시퀀스 다이어그램, 클래스 다이어그램 등
    • 설계
      • 객체들을 클래스로 정의하고 상관관계를 상속 단계로 정의
      • 산출물: 시퀀스 다이어그램, 클래스 다이어그램, 컴포넌트 다이어그램, 배포 다이어그램 등
    • 구현
      • 정의된 클래스들에 대해 특정언어를 이용하여 1:1로 정의

1.3 CBD 방법론

재사용이 가능한 컴포넌트의 개발 또는 사용컴포넌트를 조합하여 애플리케이션 개발 생산성과 품질을 높이고, 시스템 유지보수 비용을 최소화할 수 있는 방법이다

  • 특징
    • 컴포넌트 기반 개발
    • 반복 점진적 개발프로세스 제공
    • 표준화된 산출물 작성, 컴포넌트 제작 기법을 통한 재사용성 향상
  • 라이프사이클 : 반복적 개발
  • 개발방식 : BOTTOM‐UP
  • 단계별 산출물
    • 계획 : 비즈니스 프로세스, 개념 모델, 프로젝트 계획서 등
    • 분석 : 유즈케이스 다이어그램, 유즈케이스 명세서, 요구사항 추적표 등
    • 설계 : 사용자 인터페이스 설계서, 컴포넌트 설계서, ERD 기술서, 데이터베이스 설계서 등

2 출처