본문 바로가기
정보시스템/프로젝트 관리

소프트웨어 개발 방법론

by 3604 2024. 3. 28.
728x90

 출처: https://blog.naver.com/six1xxx9/223346558470

정보시스템 구축 관리 - 소프트웨어 개발 방법론 활용 목차

166. 소프트웨어 개발 방법론

167. S/W 공학의 발전적 추세

168. 비용 산정 기법

169. 비용 산정 기법 - 하향식

170. 비용 산정 기법 - 상향식

171. 수학적 산정 기법

172. 프로젝트 일정 계획

173. 소프트웨어 개발 방법론 결정

174. 소프트웨어 개발 표준

175. 소프트웨어 개발 방법론 테일러링

176. 소프트웨어 개발 프레임워크

[ 중요 개념 ]

컴포넌트 기반 방법론(166), 소프트웨어 재공학(167), CASE(167), LDC 기법, COCOMO 모형, CPM, 프로젝트 관리, CMMI, SPICE, 프레임워크


 

166. 소프트웨어 개발 방법론

소프트웨어 개발 방법론

소프트웨어 개발, 유지보수 등에 필요한 여러 가지 일들의 수행 방법과 이러한 일들을 효율적으로 수행하려는 과정에서 필요한 각종 기법 및 도구를 체계적으로 정리하여 표준화한 것

  • 소프트웨어 개발 방법론의 목적 : 소프트웨어의 생산성, 품질 향상
  • 소프트웨어 개발 방법론의 종류 : 구조적 방법론, 정보공학 방법론, 객체지향 방법론, 컴포넌트 기반(CBD) 방법론, 애자일(Agile) 방법론, 제품 계열 방법론

구조적 방법론

정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리(Process) 중심 방법론

  • 1960년대까지 가장 많이 적용되었던 소프트웨어 개발 방법론
  • 목적 : 쉬운 이해 및 검증이 가능한 프로그램 코드 생성
  • 복잡한 문제를 다루기 위해 분할과 정복(Divide and Conquer) 원리 적용
  • 구조적 방법론의 절차
    • 타당성 검토 단계 -> 계획 단계 -> 요구사항 단계 -> 설계 단계 -> 구현 단계 -> 시험 단계 -> 운용/유지보수 단계

정보공학 방법론

정보 시스템의 개발을 위해 계획, 분석, 설계, 구축에 정형화된 기법들을 상호 연관성 있게 통합 및 적용하는 자료(Data) 중심 방법론

  • 정보 시스템 개발 주기를 이용하여 대규모 정보 시스템을 구축
  • 데이터베이스 설계를 위한 데이터 모델링으로 개체 관계도(ERD; Entity Relationship Diagram) 사용
  • 정보공학 방법론의 절차
    • 정보 전략 계획 수립 단계 -> 업무 영역 분석 단계 -> 업무 시스템 설계 단계 -> 업무 시스템 구축 단계

객체지향 방법론

현실 세계의 개체(Entity)를 기계의 부품처럼 하나의 객체(Object)로 만들어, 소프트웨어를 개발할 때 기계의 부품을 조립하듯이 객체들을 조립해서 필요한 소프트웨어를 구현하는 방법론

  • 구조적 기법의 문제점으로 인한 소프트웨어 위기의 해결책으로 채택
  • 데이터베이스 설계의 표현으로 사용하는 모델링 언어
  • 설계 과정에서 주로 사용되는 모델링 언어 : 패키지 다이어그램(Package Diagram), 배치 다이어그램(Deployment Diagram), 상태 전이도(State Transition Diagram)
  • 객체지향 방법론의 절차
    • 요구 분석 단계 -> 설계 단계 -> 구현 단계 -> 테스트 및 검증 단계 -> 인도 단계

컴포넌트 기반(CBD; Component Based Design) 방법론

기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 방법론

  • 컴포넌트의 재사용(Reusability) 가능
  • 새로운 기능 추가가 간단해 확장성 보장
  • 유지 보수 비용을 최소화, 생산성 및 품질 향상
  • 컴포넌트 기반 방법론의 절차
    • 개발 준비 단계 -> 분석 단계 -> 설계 단계 -> 구현 단계 -> 테스트 단계 -> 전개 단계 -> 인도 단계

애자일(Agile) 방법론

고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기반복하면서 개발 과정을 진행하는 방법론

  • 애자일(Agile) : '민첩한', '기민한'
  • 소규모 프로젝트, 고도로 숙달된 개발자, 급변하는 요구사항에 적합
  • 애자일 방법론의 대표적인 종류 : 익스트림 프로그래밍(XP; eXtreme Programming), 스크럼(Scrum), 칸반(Kanban), 크리스탈(Crystal)
  • 애자일 방법론의 절차
    • 사용자 스토리 -> ( 계획 -> 개발 -> 승인 테스트 ) 반복

제품 계열 방법론

특정 제품에 적용하고 싶은 공통된 기능 정의하여 개발하는 방법론

728x90
반응형